mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
Imported minitest 1.4.2 r5269.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23854 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
06e3782978
commit
03f53e3c46
2 changed files with 45 additions and 5 deletions
|
@ -1,3 +1,8 @@
|
|||
Thu Jun 25 18:41:51 2009 Ryan Davis <ryand-ruby@zenspider.com>
|
||||
|
||||
* lib/minitest/*.rb: Imported minitest 1.4.2 r5269.
|
||||
* test/minitest/*.rb: ditto.
|
||||
|
||||
Thu Jun 25 17:58:39 2009 Yukihiro Matsumoto <matz@ruby-lang.org>
|
||||
|
||||
* io.c (argf_binmode_m): should call rb_io_ascii8bit_binmode() to
|
||||
|
|
|
@ -319,10 +319,11 @@ module MiniTest
|
|||
end
|
||||
|
||||
class Unit
|
||||
VERSION = "1.4.0"
|
||||
VERSION = "1.4.2"
|
||||
|
||||
attr_accessor :report, :failures, :errors, :skips
|
||||
attr_accessor :test_count, :assertion_count
|
||||
attr_accessor :start_time
|
||||
|
||||
@@installed_at_exit ||= false
|
||||
@@out = $stdout
|
||||
|
@ -400,10 +401,16 @@ module MiniTest
|
|||
|
||||
@@out.puts
|
||||
|
||||
format = "%d tests, %d assertions, %d failures, %d errors, %d skips"
|
||||
@@out.puts format % [test_count, assertion_count, failures, errors, skips]
|
||||
status
|
||||
|
||||
return failures + errors if @test_count > 0 # or return nil...
|
||||
rescue Interrupt
|
||||
abort 'Interrupted'
|
||||
end
|
||||
|
||||
def status io = @@out
|
||||
format = "%d tests, %d assertions, %d failures, %d errors, %d skips"
|
||||
io.puts format % [test_count, assertion_count, failures, errors, skips]
|
||||
end
|
||||
|
||||
def run_test_suites filter = /./
|
||||
|
@ -415,10 +422,10 @@ module MiniTest
|
|||
inst._assertions = 0
|
||||
@@out.print "#{suite}##{test}: " if @verbose
|
||||
|
||||
t = Time.now if @verbose
|
||||
@start_time = Time.now
|
||||
result = inst.run(self)
|
||||
|
||||
@@out.print "%.2f s: " % (Time.now - t) if @verbose
|
||||
@@out.print "%.2f s: " % (Time.now - @start_time) if @verbose
|
||||
@@out.print result
|
||||
@@out.puts if @verbose
|
||||
@test_count += 1
|
||||
|
@ -432,22 +439,38 @@ module MiniTest
|
|||
class TestCase
|
||||
attr_reader :__name__
|
||||
|
||||
PASSTHROUGH_EXCEPTIONS = [NoMemoryError, SignalException, Interrupt,
|
||||
SystemExit]
|
||||
|
||||
SUPPORTS_INFO_SIGNAL = Signal.list['INFO']
|
||||
|
||||
def run runner
|
||||
trap 'INFO' do
|
||||
warn '%s#%s %.2fs' % [self.class, self.__name__,
|
||||
(Time.now - runner.start_time)]
|
||||
runner.status $stderr
|
||||
end if SUPPORTS_INFO_SIGNAL
|
||||
|
||||
result = '.'
|
||||
begin
|
||||
@passed = nil
|
||||
self.setup
|
||||
self.__send__ self.__name__
|
||||
@passed = true
|
||||
rescue *PASSTHROUGH_EXCEPTIONS
|
||||
raise
|
||||
rescue Exception => e
|
||||
@passed = false
|
||||
result = runner.puke(self.class, self.__name__, e)
|
||||
ensure
|
||||
begin
|
||||
self.teardown
|
||||
rescue *PASSTHROUGH_EXCEPTIONS
|
||||
raise
|
||||
rescue Exception => e
|
||||
result = runner.puke(self.class, self.__name__, e)
|
||||
end
|
||||
trap 'INFO', 'DEFAULT' if SUPPORTS_INFO_SIGNAL
|
||||
end
|
||||
result
|
||||
end
|
||||
|
@ -499,3 +522,15 @@ module MiniTest
|
|||
end # class TestCase
|
||||
end # class Test
|
||||
end # module Mini
|
||||
|
||||
if $DEBUG then
|
||||
# this helps me ferret out porting issues
|
||||
module Test; end
|
||||
module Test::Unit; end
|
||||
class Test::Unit::TestCase
|
||||
def self.inherited x
|
||||
raise "You're running minitest and test/unit in the same process: #{x}"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
|
Loading…
Reference in a new issue