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

ruby-changes:24333

From: nobu <ko1@a...>
Date: Sat, 14 Jul 2012 16:17:00 +0900 (JST)
Subject: [ruby-changes:24333] nobu:r36384 (trunk): test/unit.rb: extract launch_worker

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

  New Revision: 36384

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

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

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

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 36383)
+++ ChangeLog	(revision 36384)
@@ -1,5 +1,7 @@
-Sat Jul 14 16:16:17 2012  Nobuyoshi Nakada  <nobu@r...>
+Sat Jul 14 16:16:22 2012  Nobuyoshi Nakada  <nobu@r...>
 
+	* lib/test/unit.rb (Test::Unit::Runner#launch_worker): extract.
+
 	* lib/test/unit.rb (Test::Unit::Runner#start_watchdog): extract.
 
 	* lib/test/unit.rb (Test::Unit::Runner#_run_parallel): move
Index: lib/test/unit.rb
===================================================================
--- lib/test/unit.rb	(revision 36383)
+++ lib/test/unit.rb	(revision 36384)
@@ -452,6 +452,19 @@
         @ios = @workers.map(&:io)
       end
 
+      def launch_worker
+        begin
+          worker = Worker.launch(@options[:ruby],@args)
+        rescue => e
+          abort "ERROR: Failed to launch job process - #{e.class}: #{e.message}"
+        end
+        worker.hook(:dead) do |w,info|
+          after_worker_quit w
+          after_worker_down w, *info if !info.empty? && !worker.quit_called
+        end
+        worker
+      end
+
       def start_watchdog
         Thread.new do
           while stat = Process.wait2
@@ -487,20 +500,7 @@
 
         begin
           # Array of workers.
-          launch_worker = Proc.new {
-            begin
-              worker = Worker.launch(@options[:ruby],@args)
-            rescue => e
-              warn "ERROR: Failed to launch job process - #{e.class}: #{e.message}"
-              exit 1
-            end
-            worker.hook(:dead) do |w,info|
-              after_worker_quit w
-              after_worker_down w, *info if !info.empty? && !worker.quit_called
-            end
-            worker
-          }
-          @workers = @options[:parallel].times.map(&launch_worker)
+          @workers = @options[:parallel].times.map {launch_worker}
 
           # Thread: watchdog
           watchdog = start_watchdog
@@ -527,7 +527,7 @@
                     @workers_hash.delete worker.io
                     @workers.delete worker
                     @ios.delete worker.io
-                    new_worker = launch_worker.call()
+                    new_worker = launch_worker
                     worker.quit
                     @workers << new_worker
                     @ios << new_worker.io

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

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