void SDKUnitTestListener::OnTestIterationEnd(const UnitTest& unit_test, int /*iteration*/) { // Print stored test results PrintTestResults(); // Print final results Msg( "[==========] "); Msg("%s from %s ran.", FormatTestCount(unit_test.test_to_run_count()).c_str(), FormatTestCaseCount(unit_test.test_case_to_run_count()).c_str()); if (GTEST_FLAG(print_time)) { Msg(" (%s ms total)", internal::StreamableToString(unit_test.elapsed_time()).c_str()); } Msg("\n"); Msg( "[ PASSED ] "); Msg("%s.\n", FormatTestCount(unit_test.successful_test_count()).c_str()); int num_failures = unit_test.failed_test_count(); if (!unit_test.Passed()) { const int failed_test_count = unit_test.failed_test_count(); Msg( "[ FAILED ] "); Msg("%s, listed below:\n", FormatTestCount(failed_test_count).c_str()); PrintFailedTests(unit_test); Msg("\n%2d FAILED %s\n", num_failures, num_failures == 1 ? "TEST" : "TESTS"); } int num_disabled = unit_test.disabled_test_count(); if (num_disabled && !GTEST_FLAG(also_run_disabled_tests)) { if (!num_failures) { Msg("\n"); // Add a spacer if no FAILURE banner is displayed. } Msg( " YOU HAVE %d DISABLED %s\n\n", num_disabled, num_disabled == 1 ? "TEST" : "TESTS"); } }
// Called after all tests ended void AlternatePrinter::OnTestProgramEnd(const UnitTest& unit_test) { fprintf(stdout, "TEST %s\n\n", unit_test.Passed() ? "PASSED" : "FAILED"); fflush(stdout); }