Index: base/test/unit_test_launcher.cc |
diff --git a/base/test/unit_test_launcher.cc b/base/test/unit_test_launcher.cc |
index cc7f5b9a83ea2700e0ee6a9ebf7bf06a1654044f..aeddde149ce7d290a2b2addddc822a1fa386bc32 100644 |
--- a/base/test/unit_test_launcher.cc |
+++ b/base/test/unit_test_launcher.cc |
@@ -99,6 +99,14 @@ class UnitTestLauncherDelegate : public TestLauncherDelegate { |
TestResultCallback callback; |
}; |
+ virtual std::string GetTestNameForFiltering( |
+ const testing::TestCase* test_case, |
+ const testing::TestInfo* test_info) OVERRIDE { |
+ DCHECK(thread_checker_.CalledOnValidThread()); |
+ |
+ return std::string(test_case->name()) + "." + test_info->name(); |
+ } |
+ |
virtual bool ShouldRunTest(const testing::TestCase* test_case, |
const testing::TestInfo* test_info) OVERRIDE { |
DCHECK(thread_checker_.CalledOnValidThread()); |
@@ -167,6 +175,7 @@ class UnitTestLauncherDelegate : public TestLauncherDelegate { |
void GTestCallback(const std::vector<TestLaunchInfo>& tests, |
const FilePath& output_file, |
int exit_code, |
+ const TimeDelta& elapsed_time, |
bool was_timeout, |
const std::string& output) { |
DCHECK(thread_checker_.CalledOnValidThread()); |
@@ -190,35 +199,6 @@ class UnitTestLauncherDelegate : public TestLauncherDelegate { |
DeleteFile(output_file.DirName(), true); |
} |
- static void MaybePrintTestOutputSnippet(const TestResult& result, |
- const std::string& full_output) { |
- if (result.status == TestResult::TEST_SUCCESS) |
- return; |
- |
- size_t run_pos = full_output.find(std::string("[ RUN ] ") + |
- result.GetFullName()); |
- if (run_pos == std::string::npos) |
- return; |
- |
- size_t end_pos = full_output.find(std::string("[ FAILED ] ") + |
- result.GetFullName(), |
- run_pos); |
- if (end_pos != std::string::npos) { |
- size_t newline_pos = full_output.find("\n", end_pos); |
- if (newline_pos != std::string::npos) |
- end_pos = newline_pos + 1; |
- } |
- |
- std::string snippet(full_output.substr(run_pos)); |
- if (end_pos != std::string::npos) |
- snippet = full_output.substr(run_pos, end_pos - run_pos); |
- |
- // TODO(phajdan.jr): Indent each line of the snippet so it's more |
- // noticeable. |
- fprintf(stdout, "%s", snippet.c_str()); |
- fflush(stdout); |
- } |
- |
static bool ProcessTestResults( |
const std::vector<TestLaunchInfo>& tests, |
const base::FilePath& output_file, |
@@ -255,7 +235,7 @@ class UnitTestLauncherDelegate : public TestLauncherDelegate { |
test_result.status = TestResult::TEST_TIMEOUT; |
} |
} |
- MaybePrintTestOutputSnippet(test_result, output); |
+ PrintTestOutputSnippetOnFailure(test_result, output); |
tests[i].callback.Run(test_result); |
called_any_callback = true; |
} else if (had_interrupted_test) { |
@@ -268,7 +248,7 @@ class UnitTestLauncherDelegate : public TestLauncherDelegate { |
test_result.test_case_name = tests[i].test_case_name; |
test_result.test_name = tests[i].test_name; |
test_result.status = TestResult::TEST_UNKNOWN; |
- MaybePrintTestOutputSnippet(test_result, output); |
+ PrintTestOutputSnippetOnFailure(test_result, output); |
tests[i].callback.Run(test_result); |
called_any_callback = true; |
} |