# File test/unit/ui/testrunnermediator.rb, line 42 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)) } 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