34 #ifndef GOOGLETEST_INCLUDE_GTEST_GTEST_TEST_PART_H_
35 #define GOOGLETEST_INCLUDE_GTEST_GTEST_TEST_PART_H_
39 #include "gtest/internal/gtest-internal.h"
40 #include "gtest/internal/gtest-string.h"
65 TestPartResult(
Type a_type,
const char* a_file_name,
int a_line_number,
66 const char* a_message)
68 file_name_(a_file_name ==
nullptr ?
"" : a_file_name),
69 line_number_(a_line_number),
70 summary_(ExtractSummary(a_message)),
71 message_(a_message) {}
78 const char* file_name()
const {
79 return file_name_.empty() ? nullptr : file_name_.c_str();
84 int line_number()
const {
return line_number_; }
87 const char*
summary()
const {
return summary_.c_str(); }
90 const char*
message()
const {
return message_.c_str(); }
96 bool passed()
const {
return type_ == kSuccess; }
99 bool nonfatally_failed()
const {
return type_ == kNonFatalFailure; }
102 bool fatally_failed()
const {
return type_ == kFatalFailure; }
105 bool failed()
const {
return fatally_failed() || nonfatally_failed(); }
133 TestPartResultArray() {}
139 const TestPartResult& GetTestPartResult(
int index)
const;
145 std::vector<TestPartResult> array_;
151 class GTEST_API_ TestPartResultReporterInterface {
153 virtual ~TestPartResultReporterInterface() {}
155 virtual void ReportTestPartResult(
const TestPartResult&
result) = 0;
167 :
public TestPartResultReporterInterface {
169 HasNewFatalFailureHelper();
170 ~HasNewFatalFailureHelper()
override;
171 void ReportTestPartResult(
const TestPartResult&
result)
override;
172 bool has_new_fatal_failure()
const {
return has_new_fatal_failure_; }
174 bool has_new_fatal_failure_;
175 TestPartResultReporterInterface* original_reporter_;
186 #endif // GOOGLETEST_INCLUDE_GTEST_GTEST_TEST_PART_H_