Index: base/test/gtest_xml_unittest_result_printer.cc |
diff --git a/base/test/gtest_xml_unittest_result_printer.cc b/base/test/gtest_xml_unittest_result_printer.cc |
index 6ce4fdecf3fcddd2487f5e529e56f86d00f1a2e3..31ac4ad39c70490f810083f6622021a2a34e1b9f 100644 |
--- a/base/test/gtest_xml_unittest_result_printer.cc |
+++ b/base/test/gtest_xml_unittest_result_printer.cc |
@@ -35,6 +35,14 @@ bool XmlUnitTestResultPrinter::Initialize(const FilePath& output_file_path) { |
return true; |
} |
+void XmlUnitTestResultPrinter::OnAssert(const char* file, |
+ int line, |
+ const std::string& summary, |
+ const std::string& message) { |
+ WriteTestPartResult(file, line, testing::TestPartResult::kFatalFailure, |
+ summary, message); |
+} |
+ |
void XmlUnitTestResultPrinter::OnTestCaseStart( |
const testing::TestCase& test_case) { |
fprintf(output_file_, " <testsuite>\n"); |
@@ -66,7 +74,10 @@ void XmlUnitTestResultPrinter::OnTestEnd(const testing::TestInfo& test_info) { |
" <failure message=\"\" type=\"\"></failure>\n"); |
} |
for (int i = 0; i < test_info.result()->total_part_count(); ++i) { |
- WriteTestPartResult(test_info.result()->GetTestPartResult(i)); |
+ const auto& test_part_result = test_info.result()->GetTestPartResult(i); |
+ WriteTestPartResult(test_part_result.file_name(), |
+ test_part_result.line_number(), test_part_result.type(), |
+ test_part_result.summary(), test_part_result.message()); |
} |
fprintf(output_file_, " </testcase>\n"); |
fflush(output_file_); |
@@ -79,9 +90,13 @@ void XmlUnitTestResultPrinter::OnTestCaseEnd( |
} |
void XmlUnitTestResultPrinter::WriteTestPartResult( |
- const testing::TestPartResult& test_part_result) { |
+ const char* file, |
+ int line, |
+ testing::TestPartResult::Type result_type, |
+ const std::string& summary, |
+ const std::string& message) { |
const char* type = "unknown"; |
- switch (test_part_result.type()) { |
+ switch (result_type) { |
case testing::TestPartResult::kSuccess: |
type = "success"; |
break; |
@@ -92,10 +107,8 @@ void XmlUnitTestResultPrinter::WriteTestPartResult( |
type = "fatal_failure"; |
break; |
} |
- std::string summary = test_part_result.summary(); |
std::string summary_encoded; |
Base64Encode(summary, &summary_encoded); |
- std::string message = test_part_result.message(); |
std::string message_encoded; |
Base64Encode(message, &message_encoded); |
fprintf(output_file_, |
@@ -103,8 +116,7 @@ void XmlUnitTestResultPrinter::WriteTestPartResult( |
" <summary>%s</summary>\n" |
" <message>%s</message>\n" |
" </x-test-result-part>\n", |
- type, test_part_result.file_name(), test_part_result.line_number(), |
- summary_encoded.c_str(), message_encoded.c_str()); |
+ type, file, line, summary_encoded.c_str(), message_encoded.c_str()); |
fflush(output_file_); |
} |