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

ruby-changes:24679

From: sorah <ko1@a...>
Date: Mon, 20 Aug 2012 11:07:35 +0900 (JST)
Subject: [ruby-changes:24679] sorah:r36730 (trunk): * lib/test/unit.rb, lib/test/unit/parallel.rb:

sorah	2012-08-20 11:07:24 +0900 (Mon, 20 Aug 2012)

  New Revision: 36730

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

  Log:
    * lib/test/unit.rb, lib/test/unit/parallel.rb:
      generate error message (String) in parallel.rb instead of
      marshalling Exception. Fixes [Bug #6882] [ruby-dev:46054]

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

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 36729)
+++ ChangeLog	(revision 36730)
@@ -1,3 +1,9 @@
+Mon Aug 20 10:51:01 2012  Shota Fukumori  <sorah@t...>
+
+	* lib/test/unit.rb, lib/test/unit/parallel.rb:
+	  generate error message (String) in parallel.rb instead of
+	  marshalling Exception. Fixes [Bug #6882] [ruby-dev:46054]
+
 Sun Aug 19 01:24:32 2012  Ayumu AIZAWA  <ayumu.aizawa@g...>
 
 	* enum.c: fix docs. https://github.com/ruby/ruby/pull/129 by
Index: lib/test/unit/parallel.rb
===================================================================
--- lib/test/unit/parallel.rb	(revision 36729)
+++ lib/test/unit/parallel.rb	(revision 36730)
@@ -137,7 +137,10 @@
         rescue Errno::EPIPE
         rescue Exception => e
           begin
-            _report "bye", Marshal.dump(e)
+            trace = e.backtrace
+            err = ["#{trace.shift}: #{e.message} (#{e.class})"] + trace.map{|t| t.prepend("\t") }
+
+            _report "bye", Marshal.dump(err.join("\n"))
           rescue Errno::EPIPE;end
           exit
         ensure
Index: lib/test/unit.rb
===================================================================
--- lib/test/unit.rb	(revision 36729)
+++ lib/test/unit.rb	(revision 36730)
@@ -370,11 +370,7 @@
       def after_worker_down(worker, e=nil, c=false)
         return unless @options[:parallel]
         return if @interrupt
-        if e
-          b = e.backtrace
-          warn "#{b.shift}: #{e.message} (#{e.class})"
-          STDERR.print b.map{|s| "\tfrom #{s}"}.join("\n")
-        end
+        warn e if e
         @need_quit = true
         warn ""
         warn "Some worker was crashed. It seems ruby interpreter's bug"

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

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