# File lib/test/unit/testsuite.rb, line 46
      def run(result, &progress_block)
        @start_time = Time.now
        yield(STARTED, name)
        yield(STARTED_OBJECT, self)
        run_startup(result)
        while test = @tests.shift
          @n_tests += test.size
          test.run(result, &progress_block)
          @passed = false unless test.passed?
        end
        run_shutdown(result)
      ensure
        @elapsed_time = Time.now - @start_time
        yield(FINISHED, name)
        yield(FINISHED_OBJECT, self)
      end