# File lib/mocha/integration/mini_test/version_230_to_251.rb, line 14
14:         def run runner
15:           trap 'INFO' do
16:             time = runner.start_time ? Time.now - runner.start_time : 0
17:             warn "%s#%s %.2fs" % [self.class, self.__name__, time]
18:             runner.status $stderr
19:           end if ::MiniTest::Unit::TestCase::SUPPORTS_INFO_SIGNAL
20: 
21:           assertion_counter = AssertionCounter.new(self)
22:           result = ""
23:           begin
24:             begin
25:               @passed = nil
26:               self.setup
27:               self.run_setup_hooks
28:               self.__send__ self.__name__
29:               mocha_verify(assertion_counter)
30:               result = "." unless io?
31:               @passed = true
32:             rescue *::MiniTest::Unit::TestCase::PASSTHROUGH_EXCEPTIONS
33:               raise
34:             rescue Exception => e
35:               @passed = false
36:               result = runner.puke self.class, self.__name__, Mocha::Integration::MiniTest.translate(e)
37:             ensure
38:               begin
39:                 self.run_teardown_hooks
40:                 self.teardown
41:               rescue *::MiniTest::Unit::TestCase::PASSTHROUGH_EXCEPTIONS
42:                 raise
43:               rescue Exception => e
44:                 result = runner.puke self.class, self.__name__, Mocha::Integration::MiniTest.translate(e)
45:               end
46:               trap 'INFO', 'DEFAULT' if ::MiniTest::Unit::TestCase::SUPPORTS_INFO_SIGNAL
47:             end
48:           ensure
49:             mocha_teardown
50:           end
51:           result
52:         end