tesseract v5.3.3.20231005
testing::internal::JsonUnitTestResultPrinter Class Reference
Inheritance diagram for testing::internal::JsonUnitTestResultPrinter:
testing::EmptyTestEventListener testing::TestEventListener

Public Member Functions

 JsonUnitTestResultPrinter (const char *output_file)
 
void OnTestIterationEnd (const UnitTest &unit_test, int iteration) override
 
- Public Member Functions inherited from testing::EmptyTestEventListener
void OnTestProgramStart (const UnitTest &) override
 
void OnTestIterationStart (const UnitTest &, int) override
 
void OnEnvironmentsSetUpStart (const UnitTest &) override
 
void OnEnvironmentsSetUpEnd (const UnitTest &) override
 
void OnTestSuiteStart (const TestSuite &) override
 
void OnTestCaseStart (const TestCase &) override
 
void OnTestStart (const TestInfo &) override
 
void OnTestPartResult (const TestPartResult &) override
 
void OnTestEnd (const TestInfo &) override
 
void OnTestSuiteEnd (const TestSuite &) override
 
void OnTestCaseEnd (const TestCase &) override
 
void OnEnvironmentsTearDownStart (const UnitTest &) override
 
void OnEnvironmentsTearDownEnd (const UnitTest &) override
 
void OnTestIterationEnd (const UnitTest &, int) override
 
void OnTestProgramEnd (const UnitTest &) override
 
- Public Member Functions inherited from testing::TestEventListener
virtual ~TestEventListener ()
 
virtual void OnTestProgramStart (const UnitTest &unit_test)=0
 
virtual void OnTestIterationStart (const UnitTest &unit_test, int iteration)=0
 
virtual void OnEnvironmentsSetUpStart (const UnitTest &unit_test)=0
 
virtual void OnEnvironmentsSetUpEnd (const UnitTest &unit_test)=0
 
virtual void OnTestSuiteStart (const TestSuite &)
 
virtual void OnTestCaseStart (const TestCase &)
 
virtual void OnTestStart (const TestInfo &test_info)=0
 
virtual void OnTestPartResult (const TestPartResult &test_part_result)=0
 
virtual void OnTestEnd (const TestInfo &test_info)=0
 
virtual void OnTestSuiteEnd (const TestSuite &)
 
virtual void OnTestCaseEnd (const TestCase &)
 
virtual void OnEnvironmentsTearDownStart (const UnitTest &unit_test)=0
 
virtual void OnEnvironmentsTearDownEnd (const UnitTest &unit_test)=0
 
virtual void OnTestIterationEnd (const UnitTest &unit_test, int iteration)=0
 
virtual void OnTestProgramEnd (const UnitTest &unit_test)=0
 

Static Public Member Functions

static void PrintJsonTestList (::std::ostream *stream, const std::vector< TestSuite * > &test_suites)
 

Detailed Description

Definition at line 4427 of file gtest.cc.

Constructor & Destructor Documentation

◆ JsonUnitTestResultPrinter()

testing::internal::JsonUnitTestResultPrinter::JsonUnitTestResultPrinter ( const char *  output_file)
explicit

Definition at line 4491 of file gtest.cc.

4492 : output_file_(output_file) {
4493 if (output_file_.empty()) {
4494 GTEST_LOG_(FATAL) << "JSON output file may not be null";
4495 }
4496}
@ FATAL
Definition: log.h:28
#define GTEST_LOG_(severity)
Definition: gtest-port.h:984

Member Function Documentation

◆ OnTestIterationEnd()

void testing::internal::JsonUnitTestResultPrinter::OnTestIterationEnd ( const UnitTest unit_test,
int  iteration 
)
overridevirtual

Reimplemented from testing::EmptyTestEventListener.

Definition at line 4498 of file gtest.cc.

4499 {
4500 FILE* jsonout = OpenFileForWriting(output_file_);
4501 std::stringstream stream;
4502 PrintJsonUnitTest(&stream, unit_test);
4503 fprintf(jsonout, "%s", StringStreamToString(&stream).c_str());
4504 fclose(jsonout);
4505}
GTEST_API_ std::string StringStreamToString(::std::stringstream *stream)
Definition: gtest.cc:2164

◆ PrintJsonTestList()

void testing::internal::JsonUnitTestResultPrinter::PrintJsonTestList ( ::std::ostream *  stream,
const std::vector< TestSuite * > &  test_suites 
)
static

Definition at line 4826 of file gtest.cc.

4827 {
4828 const std::string kTestsuites = "testsuites";
4829 const std::string kIndent = Indent(2);
4830 *stream << "{\n";
4831 int total_tests = 0;
4832 for (auto test_suite : test_suites) {
4833 total_tests += test_suite->total_test_count();
4834 }
4835 OutputJsonKey(stream, kTestsuites, "tests", total_tests, kIndent);
4836
4837 OutputJsonKey(stream, kTestsuites, "name", "AllTests", kIndent);
4838 *stream << kIndent << "\"" << kTestsuites << "\": [\n";
4839
4840 for (size_t i = 0; i < test_suites.size(); ++i) {
4841 if (i != 0) {
4842 *stream << ",\n";
4843 }
4844 PrintJsonTestSuite(stream, *test_suites[i]);
4845 }
4846
4847 *stream << "\n"
4848 << kIndent << "]\n"
4849 << "}\n";
4850}

The documentation for this class was generated from the following file: