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