18: def run runner
19: assertion_counter = AssertionCounter.new(self)
20: result = '.'
21: name = (self.respond_to?(:name) ? self.name : self.__name__)
22: begin
23: begin
24: @passed = nil
25: self.setup
26: self.__send__ name
27: mocha_verify(assertion_counter)
28: @passed = true
29: rescue Exception => e
30: @passed = false
31: result = runner.puke(self.class, name, Mocha::Integration::MiniTest.translate(e))
32: ensure
33: begin
34: self.teardown
35: rescue Exception => e
36: result = runner.puke(self.class, name, Mocha::Integration::MiniTest.translate(e))
37: end
38: end
39: ensure
40: mocha_teardown
41: end
42: result
43: end