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

ruby-changes:24332

From: nobu <ko1@a...>
Date: Sat, 14 Jul 2012 16:16:56 +0900 (JST)
Subject: [ruby-changes:24332] nobu:r36383 (trunk): test/unit.rb: extract start_watchdog

nobu	2012-07-14 16:16:19 +0900 (Sat, 14 Jul 2012)

  New Revision: 36383

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=36383

  Log:
    test/unit.rb: extract start_watchdog
    
    * lib/test/unit.rb (Test::Unit::Runner#start_watchdog): extract.

  Modified files:
    trunk/ChangeLog
    trunk/lib/test/unit.rb

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 36382)
+++ ChangeLog	(revision 36383)
@@ -1,5 +1,7 @@
-Sat Jul 14 16:16:12 2012  Nobuyoshi Nakada  <nobu@r...>
+Sat Jul 14 16:16:17 2012  Nobuyoshi Nakada  <nobu@r...>
 
+	* lib/test/unit.rb (Test::Unit::Runner#start_watchdog): extract.
+
 	* lib/test/unit.rb (Test::Unit::Runner#_run_parallel): move
 	  initializations with nothing to release outside begin/ensure.
 
Index: lib/test/unit.rb
===================================================================
--- lib/test/unit.rb	(revision 36382)
+++ lib/test/unit.rb	(revision 36383)
@@ -452,6 +452,22 @@
         @ios = @workers.map(&:io)
       end
 
+      def start_watchdog
+        Thread.new do
+          while stat = Process.wait2
+            break if @interrupt # Break when interrupt
+            pid, stat = stat
+            w = (@workers + @dead_workers).find{|x| pid == x.pid }
+            next unless w
+            w = w.dup
+            if w.status != :quit && !w.quit_called?
+              # Worker down
+              w.died(nil, !stat.signaled? && stat.exitstatus)
+            end
+          end
+        end
+      end
+
       def _run_parallel suites, type, result
         if @options[:parallel] < 1
           warn "Error: parameter of -j option should be greater than 0."
@@ -487,20 +503,7 @@
           @workers = @options[:parallel].times.map(&launch_worker)
 
           # Thread: watchdog
-          watchdog = Thread.new do
-            while stat = Process.wait2
-              break if @interrupt # Break when interrupt
-              pid, stat = stat
-              w = (@workers + @dead_workers).find{|x| pid == x.pid }
-              next unless w
-              w = w.dup
-              if w.status != :quit && !w.quit_called?
-                # Worker down
-                w.died(nil, !stat.signaled? && stat.exitstatus)
-              end
-            end
-          end
-
+          watchdog = start_watchdog
           @workers_hash = Hash[@workers.map {|w| [w.io,w] }] # out-IO => worker
           @ios = @workers.map{|w| w.io } # Array of worker IOs
 

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

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