Project

General

Profile

Bug #6897 ยป 0001-Fix-parallel-test-no-retry-option.patch

h.shirosaki (Hiroshi Shirosaki), 08/21/2012 12:16 AM

View differences:

lib/test/unit.rb
_run_suites(suites, type)
end
end
unless @options[:retry]
del_status_line or puts
end
unless rep.empty?
rep.each do |r|
r[:report].each do |f|
report.push(puke(*f)) if f
puke(*f) if f
end
end
@errors += rep.map{|x| x[:result][0] }.inject(:+)
@failures += rep.map{|x| x[:result][1] }.inject(:+)
@skips += rep.map{|x| x[:result][2] }.inject(:+)
if @options[:retry]
@errors += rep.map{|x| x[:result][0] }.inject(:+)
@failures += rep.map{|x| x[:result][1] }.inject(:+)
@skips += rep.map{|x| x[:result][2] }.inject(:+)
end
end
unless @warnings.empty?
warn ""
......
new(*args).run
end
end
class ProxyException < Exception
def initialize(e)
@class = e.class.name
@message = e.message
@backtrace = e.backtrace
end
# these methods are used in MiniTest::Unit#puke
attr_accessor :class, :message, :backtrace
end
end
end
lib/test/unit/parallel.rb
end
def puke(klass, meth, e)
if !e.is_a?(MiniTest::Assertion) && e.is_a?(Exception)
# Create a fake Exception to avoid Marshal.load
# of Exception subclass failing.
e = ProxyException.new(e)
end
@partial_report << [klass.name, meth, e]
super
end
    (1-1/1)