35 #ifndef GTEST_INCLUDE_GTEST_GTEST_SPI_H_
36 #define GTEST_INCLUDE_GTEST_GTEST_SPI_H_
101 const string& substr);
138 #define EXPECT_FATAL_FAILURE(statement, substr) \
140 class GTestExpectFatalFailureHelper {\
142 static void Execute() { statement; }\
144 ::testing::TestPartResultArray gtest_failures;\
145 ::testing::internal::SingleFailureChecker gtest_checker(\
146 >est_failures, ::testing::TestPartResult::kFatalFailure, (substr));\
148 ::testing::ScopedFakeTestPartResultReporter gtest_reporter(\
149 ::testing::ScopedFakeTestPartResultReporter:: \
150 INTERCEPT_ONLY_CURRENT_THREAD, >est_failures);\
151 GTestExpectFatalFailureHelper::Execute();\
153 } while (::testing::internal::AlwaysFalse())
155 #define EXPECT_FATAL_FAILURE_ON_ALL_THREADS(statement, substr) \
157 class GTestExpectFatalFailureHelper {\
159 static void Execute() { statement; }\
161 ::testing::TestPartResultArray gtest_failures;\
162 ::testing::internal::SingleFailureChecker gtest_checker(\
163 >est_failures, ::testing::TestPartResult::kFatalFailure, (substr));\
165 ::testing::ScopedFakeTestPartResultReporter gtest_reporter(\
166 ::testing::ScopedFakeTestPartResultReporter:: \
167 INTERCEPT_ALL_THREADS, >est_failures);\
168 GTestExpectFatalFailureHelper::Execute();\
170 } while (::testing::internal::AlwaysFalse())
204 #define EXPECT_NONFATAL_FAILURE(statement, substr) \
206 ::testing::TestPartResultArray gtest_failures;\
207 ::testing::internal::SingleFailureChecker gtest_checker(\
208 >est_failures, ::testing::TestPartResult::kNonFatalFailure, \
211 ::testing::ScopedFakeTestPartResultReporter gtest_reporter(\
212 ::testing::ScopedFakeTestPartResultReporter:: \
213 INTERCEPT_ONLY_CURRENT_THREAD, >est_failures);\
214 if (::testing::internal::AlwaysTrue()) { statement; }\
216 } while (::testing::internal::AlwaysFalse())
218 #define EXPECT_NONFATAL_FAILURE_ON_ALL_THREADS(statement, substr) \
220 ::testing::TestPartResultArray gtest_failures;\
221 ::testing::internal::SingleFailureChecker gtest_checker(\
222 >est_failures, ::testing::TestPartResult::kNonFatalFailure, \
225 ::testing::ScopedFakeTestPartResultReporter gtest_reporter(\
226 ::testing::ScopedFakeTestPartResultReporter::INTERCEPT_ALL_THREADS, \
228 if (::testing::internal::AlwaysTrue()) { statement; }\
230 } while (::testing::internal::AlwaysFalse())
232 #endif // GTEST_INCLUDE_GTEST_GTEST_SPI_H_