diff --git a/ChangeLog b/ChangeLog index cefe507be3..056f2cfe6a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +Sat Jun 16 07:11:52 2012 Nobuyoshi Nakada + + * lib/test/unit.rb (Test::Unit::Runner#puke): modify only result and + drop useless reports, not override entirely. + + * lib/test/unit/parallel.rb (Test::Unit::Worker#_run_suite): report + unformatted results. formatting messages is not a workers task. + + * lib/test/unit/parallel.rb (Test::Unit::Worker#puke): store raw + results. + Sat Jun 16 01:27:14 2012 Aaron Patterson * ext/psych/lib/psych.rb: bumping psych to 1.3.3 diff --git a/lib/test/unit.rb b/lib/test/unit.rb index 9d676b18ff..7b3554cbed 100644 --- a/lib/test/unit.rb +++ b/lib/test/unit.rb @@ -735,21 +735,13 @@ module Test # TODO: # this overriding is for minitest feature that skip messages are # hidden when not verbose (-v), note this is temporally. - e = case e - when MiniTest::Skip then - @skips += 1 - return "." if /no message given\z/ =~ e.message - "Skipped:\n#{meth}(#{klass}) [#{location e}]:\n#{e.message}\n" - when MiniTest::Assertion then - @failures += 1 - "Failure:\n#{meth}(#{klass}) [#{location e}]:\n#{e.message}\n" - else - @errors += 1 - bt = MiniTest::filter_backtrace(e.backtrace).join "\n " - "Error:\n#{meth}(#{klass}):\n#{e.class}: #{e.message}\n #{bt}\n" - end - @report << e - e[0, 1] + n = report.size + rep = super + if MiniTest::Skip === e and /no message given\z/ =~ e.message + report.slice!(n..-1) + rep = "." + end + rep end def initialize # :nodoc: diff --git a/lib/test/unit/parallel.rb b/lib/test/unit/parallel.rb index 16f8861ae8..9e44b91187 100644 --- a/lib/test/unit/parallel.rb +++ b/lib/test/unit/parallel.rb @@ -25,7 +25,7 @@ module Test end def _run_suite(suite, type) - r = report.dup + @partial_report = [] orig_testout = MiniTest::Unit.output i,o = IO.pipe @@ -63,7 +63,8 @@ module Test end i.close - result << (report - r) + result << @partial_report + @partial_report = nil result << [@errors-e,@failures-f,@skips-s] result << ($: - @old_loadpath) result << suite.name @@ -144,6 +145,11 @@ module Test @stdout.close if @stdout end end + + def puke(klass, meth, e) + @partial_report << [klass.name, meth, e] + super + end end end end