lib/pork/mode/parallel.rb in pork-1.0.3 vs lib/pork/mode/parallel.rb in pork-1.0.4
- old
+ new
@@ -4,12 +4,15 @@
module Pork
module Parallel
def parallel cores=8, stat=Stat.new
all_tests.keys.shuffle.each_slice(cores).map do |names|
- Thread.new{ names.each{ |n| isolate(n, stat) } }
- end.each(&:join)
- stat
+ Thread.new do
+ s = Stat.new
+ names.each{ |n| isolate(n, s) }
+ s
+ end
+ end.map(&:value).inject(stat, &:merge)
end
end
Executor.extend(Parallel)
end