32 #ifndef GTEST_INCLUDE_GTEST_GTEST_TEST_PART_H_
33 #define GTEST_INCLUDE_GTEST_GTEST_TEST_PART_H_
37 #include "gtest/internal/gtest-internal.h"
38 #include "gtest/internal/gtest-string.h"
63 TestPartResult(
Type a_type,
const char* a_file_name,
int a_line_number,
64 const char* a_message)
66 file_name_(a_file_name ==
nullptr ?
"" : a_file_name),
67 line_number_(a_line_number),
68 summary_(ExtractSummary(a_message)),
69 message_(a_message) {}
76 const char* file_name()
const {
77 return file_name_.empty() ? nullptr : file_name_.c_str();
82 int line_number()
const {
return line_number_; }
85 const char*
summary()
const {
return summary_.c_str(); }
88 const char*
message()
const {
return message_.c_str(); }
94 bool passed()
const {
return type_ == kSuccess; }
97 bool nonfatally_failed()
const {
return type_ == kNonFatalFailure; }
100 bool fatally_failed()
const {
return type_ == kFatalFailure; }
103 bool failed()
const {
return fatally_failed() || nonfatally_failed(); }
131 TestPartResultArray() {}
137 const TestPartResult& GetTestPartResult(
int index)
const;
143 std::vector<TestPartResult> array_;
149 class GTEST_API_ TestPartResultReporterInterface {
151 virtual ~TestPartResultReporterInterface() {}
153 virtual void ReportTestPartResult(
const TestPartResult&
result) = 0;
165 :
public TestPartResultReporterInterface {
167 HasNewFatalFailureHelper();
168 ~HasNewFatalFailureHelper()
override;
169 void ReportTestPartResult(
const TestPartResult&
result)
override;
170 bool has_new_fatal_failure()
const {
return has_new_fatal_failure_; }
172 bool has_new_fatal_failure_;
173 TestPartResultReporterInterface* original_reporter_;
184 #endif // GTEST_INCLUDE_GTEST_GTEST_TEST_PART_H_