diff --git a/ChangeLog b/ChangeLog index 22711fd6f1..c14562ed73 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Thu Dec 29 22:36:16 2011 CHIKANAGA Tomoyuki + + * lib/test/unit.rb (Test::Unit::Runner::Worker#_run_parallels): fix + premature exit when all workers' status are :ready or :prepare. + [ruby-dev:45061] [Bug #5822] + Thu Dec 29 01:51:13 2011 CHIKANAGA Tomoyuki * include/ruby/ruby.h: fix #error pragma. LLP64 platform is supported. diff --git a/lib/test/unit.rb b/lib/test/unit.rb index eb0666a0e6..00313a3237 100644 --- a/lib/test/unit.rb +++ b/lib/test/unit.rb @@ -457,7 +457,9 @@ module Test bang = $1 worker.status = :ready if @tasks.empty? - break unless @workers.find{|x| x.status == :running } + unless @workers.find{|x| [:running, :prepare].include? x.status} + break + end else if @options[:separate] && bang.empty? @workers_hash.delete worker.io