| Index: base/test/launcher/test_results_tracker.cc
|
| diff --git a/base/test/launcher/test_results_tracker.cc b/base/test/launcher/test_results_tracker.cc
|
| index 3e680939b79541bb147a7db31e03d420414a328f..9841e5c9f06569bfc497028ca2684d215277d0d1 100644
|
| --- a/base/test/launcher/test_results_tracker.cc
|
| +++ b/base/test/launcher/test_results_tracker.cc
|
| @@ -12,6 +12,7 @@
|
| #include "base/json/json_file_value_serializer.h"
|
| #include "base/json/string_escape.h"
|
| #include "base/logging.h"
|
| +#include "base/strings/string_util.h"
|
| #include "base/strings/stringprintf.h"
|
| #include "base/test/launcher/test_launcher.h"
|
| #include "base/values.h"
|
| @@ -47,6 +48,12 @@ void PrintTests(InputIterator first,
|
| fflush(stdout);
|
| }
|
|
|
| +std::string TestNameWithoutDisabledPrefix(const std::string& test_name) {
|
| + std::string test_name_no_disabled(test_name);
|
| + ReplaceSubstringsAfterOffset(&test_name_no_disabled, 0, "DISABLED_", "");
|
| + return test_name_no_disabled;
|
| +}
|
| +
|
| } // namespace
|
|
|
| TestResultsTracker::TestResultsTracker() : iteration_(-1), out_(NULL) {
|
| @@ -155,6 +162,18 @@ void TestResultsTracker::OnTestIterationStarting() {
|
| per_iteration_data_.push_back(PerIterationData());
|
| }
|
|
|
| +void TestResultsTracker::AddTest(const std::string& test_name) {
|
| + // Record disabled test names without DISABLED_ prefix so that they are easy
|
| + // to compare with regular test names, e.g. before or after disabling.
|
| + all_tests_.insert(TestNameWithoutDisabledPrefix(test_name));
|
| +}
|
| +
|
| +void TestResultsTracker::AddDisabledTest(const std::string& test_name) {
|
| + // Record disabled test names without DISABLED_ prefix so that they are easy
|
| + // to compare with regular test names, e.g. before or after disabling.
|
| + disabled_tests_.insert(TestNameWithoutDisabledPrefix(test_name));
|
| +}
|
| +
|
| void TestResultsTracker::AddTestResult(const TestResult& result) {
|
| DCHECK(thread_checker_.CalledOnValidThread());
|
|
|
| @@ -252,6 +271,24 @@ bool TestResultsTracker::SaveSummaryAsJSON(const FilePath& path) const {
|
| global_tags->AppendString(*i);
|
| }
|
|
|
| + ListValue* all_tests = new ListValue;
|
| + summary_root->Set("all_tests", all_tests);
|
| +
|
| + for (std::set<std::string>::const_iterator i = all_tests_.begin();
|
| + i != all_tests_.end();
|
| + ++i) {
|
| + all_tests->AppendString(*i);
|
| + }
|
| +
|
| + ListValue* disabled_tests = new ListValue;
|
| + summary_root->Set("disabled_tests", disabled_tests);
|
| +
|
| + for (std::set<std::string>::const_iterator i = disabled_tests_.begin();
|
| + i != disabled_tests_.end();
|
| + ++i) {
|
| + disabled_tests->AppendString(*i);
|
| + }
|
| +
|
| ListValue* per_iteration_data = new ListValue;
|
| summary_root->Set("per_iteration_data", per_iteration_data);
|
|
|
|
|