Index: base/test/gtest_xml_util.h |
diff --git a/base/test/gtest_xml_util.h b/base/test/gtest_xml_util.h |
index 0aecfb1997746b8b9d0236d4ce7587ce049b60c4..79527e5f94aaa6805964644082dbd0c1bfd96ae3 100644 |
--- a/base/test/gtest_xml_util.h |
+++ b/base/test/gtest_xml_util.h |
@@ -7,18 +7,45 @@ |
#include <vector> |
+#include "base/basictypes.h" |
#include "base/compiler_specific.h" |
+#include "testing/gtest/include/gtest/gtest.h" |
namespace base { |
class FilePath; |
struct TestResult; |
+// Generates an XML output file. Format is very close to GTest, but has |
+// extensions needed by the test launcher. |
+class XmlUnitTestResultPrinter : public testing::EmptyTestEventListener { |
+ public: |
+ XmlUnitTestResultPrinter(); |
+ virtual ~XmlUnitTestResultPrinter(); |
+ |
+ // Must be called before adding as a listener. Returns true on success. |
+ bool Initialize(const FilePath& output_file_path) WARN_UNUSED_RESULT; |
+ |
+ private: |
+ // testing::EmptyTestEventListener: |
+ virtual void OnTestCaseStart(const testing::TestCase& test_case) OVERRIDE; |
+ virtual void OnTestStart(const testing::TestInfo& test_info) OVERRIDE; |
+ virtual void OnTestEnd(const testing::TestInfo& test_info) OVERRIDE; |
+ virtual void OnTestCaseEnd(const testing::TestCase& test_case) OVERRIDE; |
+ |
+ FILE* output_file_; |
+ |
+ DISALLOW_COPY_AND_ASSIGN(XmlUnitTestResultPrinter); |
+}; |
+ |
// Produces a vector of test results based on GTest output file. |
// Returns true iff the output file exists and has been successfully parsed. |
+// On successful return |crashed| is set to true if the test results |
+// are valid but incomplete. |
bool ProcessGTestOutput(const base::FilePath& output_file, |
- std::vector<TestResult>* results) WARN_UNUSED_RESULT; |
+ std::vector<TestResult>* results, |
+ bool* crashed) WARN_UNUSED_RESULT; |
} // namespace base |
-#endif // BASE_TEST_GTEST_XML_UTIL_H_ |
+#endif // BASE_TEST_GTEST_XML_UTIL_H_ |