|
|
|
@ -2679,18 +2679,18 @@ void TestInfo::Run() { |
|
|
|
|
factory_, &internal::TestFactoryBase::CreateTest, |
|
|
|
|
"the test fixture's constructor"); |
|
|
|
|
|
|
|
|
|
// Runs the test only if the test object was created and its
|
|
|
|
|
// constructor didn't generate a fatal failure.
|
|
|
|
|
if ((test != NULL) && !Test::HasFatalFailure()) { |
|
|
|
|
// Runs the test if the constructor didn't generate a fatal failure.
|
|
|
|
|
// Note that the object will not be null
|
|
|
|
|
if (!Test::HasFatalFailure()) { |
|
|
|
|
// This doesn't throw as all user code that can throw are wrapped into
|
|
|
|
|
// exception handling code.
|
|
|
|
|
test->Run(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Deletes the test object.
|
|
|
|
|
impl->os_stack_trace_getter()->UponLeavingGTest(); |
|
|
|
|
internal::HandleExceptionsInMethodIfSupported( |
|
|
|
|
test, &Test::DeleteSelf_, "the test fixture's destructor"); |
|
|
|
|
// Deletes the test object.
|
|
|
|
|
impl->os_stack_trace_getter()->UponLeavingGTest(); |
|
|
|
|
internal::HandleExceptionsInMethodIfSupported( |
|
|
|
|
test, &Test::DeleteSelf_, "the test fixture's destructor"); |
|
|
|
|
|
|
|
|
|
result_.set_elapsed_time(internal::GetTimeInMillis() - start); |
|
|
|
|
|
|
|
|
|