class MiniTest::Unit::TestCase

def run runner

def run runner
  trap 'INFO' do
    warn '%s#%s %.2fs' % [self.class, self.__name__,
      (Time.now - runner.start_time)]
    runner.status $stderr
  end
  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'
  end
  result
end