class AutotestGit
Public Instance Methods
git_update?()
click to toggle source
# File lib/autotest-git.rb, line 8 def git_update? git = Git.open(".") sha = git.object("HEAD").sha return false if sha == @sha @sha = sha true end
run_tests()
click to toggle source
# File lib/autotest-git.rb, line 16 def run_tests hook :run_command new_mtime = self.find_files_to_test return unless new_mtime self.last_mtime = new_mtime cmd = self.make_test_cmd self.files_to_test return if cmd.empty? # check if commited return unless git_update? puts cmd unless options[:quiet] old_sync = $stdout.sync $stdout.sync = true self.results = [] line = [] begin open "| #{cmd}", "r" do |f| until f.eof? do c = f.getc or break if RUBY19 then print c else putc c end line << c if c == ?\n then self.results << if RUBY19 then line.join else line.pack "c*" end line.clear end end end ensure $stdout.sync = old_sync end hook :ran_command self.results = self.results.join handle_results self.results end