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/