|
# 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
|