diff options
-rw-r--r-- | ChangeLog | 9 | ||||
-rw-r--r-- | lib/test/unit.rb | 9 | ||||
-rw-r--r-- | lib/test/unit/parallel.rb | 2 |
3 files changed, 19 insertions, 1 deletions
@@ -1,3 +1,12 @@ +Tue Aug 21 10:52:08 2012 NAKAMURA Usaku <usa@ruby-lang.org> + + * test/unit/test.rb (Test::Unit::ProxyError): new exception class to + wrap exceptions raised in workers in parallel test mode. + + * test/unit/parallel.rb (Test::Unit::Worker#puke): use above warpper + exception. + [Bug #6882] [ruby-dev:46054] + Tue Aug 21 10:40:06 2012 Koichi Sasada <ko1@atdot.net> * test_continuation.rb (tracing_with_thread_set_trace_func): diff --git a/lib/test/unit.rb b/lib/test/unit.rb index a0902acb8b..c29facca71 100644 --- a/lib/test/unit.rb +++ b/lib/test/unit.rb @@ -824,6 +824,15 @@ module Test new(*args).run end end + + class ProxyError < StandardError + def initialize(ex) + @message = ex.message + @backtrace = ex.backtrace + end + + attr_accessor :message, :backtrace + end end end diff --git a/lib/test/unit/parallel.rb b/lib/test/unit/parallel.rb index 32f15382ec..921c6b0b02 100644 --- a/lib/test/unit/parallel.rb +++ b/lib/test/unit/parallel.rb @@ -155,7 +155,7 @@ module Test end def puke(klass, meth, e) - @partial_report << [klass.name, meth, e] + @partial_report << [klass.name, meth, e.is_a?(MiniTest::Assertion) ? e : ProxyError.new(e)] super end end |