Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(497)

Unified Diff: base/test/test_launcher.cc

Issue 23757033: GTTF: Support running browser tests in parallel (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 7 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: base/test/test_launcher.cc
diff --git a/base/test/test_launcher.cc b/base/test/test_launcher.cc
index ff884c8113018b56acef4e4a6c630bac95b142fc..70663be26824cfb721ed9b04cb9ffe03a7b6e990 100644
--- a/base/test/test_launcher.cc
+++ b/base/test/test_launcher.cc
@@ -483,10 +483,13 @@ void RunTests(TestLauncherDelegate* launcher_delegate,
continue;
}
+ std::string filtering_test_name =
+ launcher_delegate->GetTestNameForFiltering(test_case, test_info);
+
// Skip the test that doesn't match the filter string (if given).
if ((!positive_filter.empty() &&
- !MatchesFilter(test_name, positive_filter)) ||
- MatchesFilter(test_name, negative_filter)) {
+ !MatchesFilter(filtering_test_name, positive_filter)) ||
+ MatchesFilter(filtering_test_name, negative_filter)) {
continue;
}
@@ -569,6 +572,35 @@ TestResult::TestResult() : status(TEST_UNKNOWN) {
TestLauncherDelegate::~TestLauncherDelegate() {
}
+void PrintTestOutputSnippetOnFailure(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);
+}
+
int LaunchChildGTestProcess(const CommandLine& command_line,
const std::string& wrapper,
base::TimeDelta timeout,

Powered by Google App Engine
This is Rietveld 408576698