From f6237470a3f5ce801b5df2500f3d0ffb1aec4515 Mon Sep 17 00:00:00 2001 From: Yabin Cui Date: Thu, 26 Feb 2015 19:03:54 -0800 Subject: Make bionic gtest main be compatible with gtest output format for cts test. Bug: 17589740 Change-Id: Ifab521da379a33bf0a7bf11c21386f936f0d494c --- tests/gtest_main.cpp | 33 ++++++++++++++++++++++++++++++--- 1 file changed, 30 insertions(+), 3 deletions(-) (limited to 'tests/gtest_main.cpp') diff --git a/tests/gtest_main.cpp b/tests/gtest_main.cpp index 664e4a1d3..b1953fc29 100644 --- a/tests/gtest_main.cpp +++ b/tests/gtest_main.cpp @@ -295,6 +295,32 @@ static void OnTestIterationStartPrint(const std::vector& testcase_list fflush(stdout); } +// bionic cts test needs gtest output format. +#if defined(USING_GTEST_OUTPUT_FORMAT) + +static void OnTestEndPrint(const TestCase& testcase, size_t test_id) { + ColoredPrintf(COLOR_GREEN, "[ RUN ] "); + printf("%s\n", testcase.GetTestName(test_id).c_str()); + + const std::string& test_output = testcase.GetTest(test_id).GetTestOutput(); + printf("%s", test_output.c_str()); + + TestResult result = testcase.GetTestResult(test_id); + if (result == TEST_SUCCESS) { + ColoredPrintf(COLOR_GREEN, "[ OK ] "); + } else { + ColoredPrintf(COLOR_RED, "[ FAILED ] "); + } + printf("%s", testcase.GetTestName(test_id).c_str()); + if (testing::GTEST_FLAG(print_time)) { + printf(" (%" PRId64 " ms)", testcase.GetTestTime(test_id) / 1000000); + } + printf("\n"); + fflush(stdout); +} + +#else // !defined(USING_GTEST_OUTPUT_FORMAT) + static void OnTestEndPrint(const TestCase& testcase, size_t test_id) { TestResult result = testcase.GetTestResult(test_id); if (result == TEST_SUCCESS) { @@ -307,16 +333,17 @@ static void OnTestEndPrint(const TestCase& testcase, size_t test_id) { printf("%s", testcase.GetTestName(test_id).c_str()); if (testing::GTEST_FLAG(print_time)) { - printf(" (%" PRId64 " ms)\n", testcase.GetTestTime(test_id) / 1000000); - } else { - printf("\n"); + printf(" (%" PRId64 " ms)", testcase.GetTestTime(test_id) / 1000000); } + printf("\n"); const std::string& test_output = testcase.GetTest(test_id).GetTestOutput(); printf("%s", test_output.c_str()); fflush(stdout); } +#endif // !defined(USING_GTEST_OUTPUT_FORMAT) + static void OnTestIterationEndPrint(const std::vector& testcase_list, size_t /*iteration*/, int64_t elapsed_time_ns) { -- cgit v1.2.3