lib/pork.rb in pork-1.2.4 vs lib/pork.rb in pork-1.3.0

- old
+ new

@@ -45,33 +45,40 @@ puts "\nterminated by signal #{sig}" exit 255 end end - def self.run + def self.execute Random.srand(ENV['PORK_SEED'].to_i) if ENV['PORK_SEED'] seed if ENV['PORK_TEST'] require 'pork/mode/shuffled' - if paths = Executor[ENV['PORK_TEST']] - @stat = Executor.execute(Pork.execute_mode, stat, paths) + if tests = Executor[ENV['PORK_TEST']] + paths, imps = + tests.group_by{ |p| p.kind_of?(Array) }.values_at(true, false) + @stat = Executor.execute(execute_mode, stat, paths) if paths + @stat = imps.inject(stat){ |s, i| i.execute(execute_mode, s) } if imps else puts "Cannot find test: #{ENV['PORK_TEST']}" exit 254 end else - @stat = Executor.execute(Pork.execute_mode, stat) + @stat = Executor.execute(execute_mode, stat) end end + def self.run + execute_mode(ENV['PORK_MODE']) + trap + execute + stat.report + end + def self.autorun auto=true @auto = auto @autorun ||= at_exit do next unless @auto - execute_mode(ENV['PORK_MODE']) - trap run - stat.report exit stat.failures + stat.errors + ($! && 1).to_i end end end