[前][次][番号順一覧][スレッド一覧]

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/

[前][次][番号順一覧][スレッド一覧]