summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-06-15 22:11:55 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-06-15 22:11:55 +0000
commit7ed81c28e0a7f8a484f830724e2e7d16a1d9af6f (patch)
tree00dcf9cc1a38a12a5369ae6387d37b7f75ab058f /lib
parent1eeaab8a39d704c465ad1f9fe8c67aed304ae5cc (diff)
lib/test/unit: refactoring puke
* 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. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36105 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib')
-rw-r--r--lib/test/unit.rb22
-rw-r--r--lib/test/unit/parallel.rb10
2 files changed, 15 insertions, 17 deletions
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