# File test/unit/ui/testrunnermediator.rb, line 40
                                def run_suite
                                        @@run = true
                                        begin_time = Time.now
                                        notify_listeners(RESET, @suite.size)
                                        notify_listeners(STATUS_CHANGED, Status.new(Status::STARTED_RUNNING, "Started"))
                                        result = create_result
                                        result_listener = result.add_listener(TestResult::CHANGED) {
                                                | updated_result |
                                                notify_listeners(RESULT_CHANGED, updated_result)
                                        }
                                        fault_listener = result.add_listener(TestResult::FAULT) {
                                                | fault |
                                                notify_listeners(FAULT_ADDED, fault)
                                        }
                                        @suite.run(result) {
                                                | progress |
                                                notify_listeners(STATUS_CHANGED, Status.new(Status::FINISHED_TEST, progress))
                                        }
                                        if (result.run_count == 0)
                                                result.add_failure(Failure.new("run", "No tests were run."))
                                        end
                                        result.remove_listener(TestResult::FAULT, fault_listener)
                                        result.remove_listener(TestResult::CHANGED, result_listener)
                                        end_time = Time.now
                                        elapsed_time = end_time - begin_time
                                        notify_listeners(STATUS_CHANGED, Status.new(Status::FINISHED_RUNNING, "Finished in #{elapsed_time} seconds."))
                                        return result
                                end