ruby-changes:19242
From: nobu <ko1@a...>
Date: Fri, 15 Apr 2011 17:01:44 +0900 (JST)
Subject: [ruby-changes:19242] Ruby:r31281 (trunk): * lib/test/unit.rb (Test::Unit::Runner#_run_parallel): check if worker
nobu 2011-04-14 22:48:00 +0900 (Thu, 14 Apr 2011) New Revision: 31281 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=31281 Log: * lib/test/unit.rb (Test::Unit::Runner#_run_parallel): check if worker is signaled and use its exit status. Modified files: trunk/ChangeLog trunk/lib/test/unit.rb Index: ChangeLog =================================================================== --- ChangeLog (revision 31280) +++ ChangeLog (revision 31281) @@ -1,5 +1,8 @@ -Thu Apr 14 22:47:49 2011 Nobuyoshi Nakada <nobu@r...> +Thu Apr 14 22:47:54 2011 Nobuyoshi Nakada <nobu@r...> + * lib/test/unit.rb (Test::Unit::Runner#_run_parallel): check if worker + is signaled and use its exit status. + * lib/test/unit.rb (Test::Unit::Runner::Worker#dead): no longer @in and @out are separated. Index: lib/test/unit.rb =================================================================== --- lib/test/unit.rb (revision 31280) +++ lib/test/unit.rb (revision 31281) @@ -329,7 +329,7 @@ @@installed_at_exit = true end - def after_worker_down(worker, e=nil, c=1) + def after_worker_down(worker, e=nil, c=false) return unless @opts[:parallel] return if @interrupt if e @@ -404,11 +404,12 @@ watchdog = Thread.new do while stat = Process.wait2 break if @interrupt # Break when interrupt - w = (@workers + @dead_workers).find{|x| stat[0] == x.pid }.dup + pid, stat = stat + w = (@workers + @dead_workers).find{|x| pid == x.pid }.dup next unless w unless w.status == :quit # Worker down - w.dead(nil, stat[1].to_i) + w.dead(nil, !stat.signaled? && stat.exitstatus) end end end -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/