do { \
class GTestExpectFatalFailureHelper {\
public:\
static void Execute() { statement; }\
};\
::testing::TestPartResultArray gtest_failures;\
::testing::internal::SingleFailureChecker gtest_checker(\
{\
::testing::ScopedFakeTestPartResultReporter gtest_reporter(\
::testing::ScopedFakeTestPartResultReporter:: \
INTERCEPT_ALL_THREADS, >est_failures);\
GTestExpectFatalFailureHelper::Execute();\
}\
155#define EXPECT_FATAL_FAILURE_ON_ALL_THREADS(statement, substr) \
156 do { \
157 class GTestExpectFatalFailureHelper {\
158 public:\
159 static void Execute() { statement; }\
160 };\
161 ::testing::TestPartResultArray gtest_failures;\
162 ::testing::internal::SingleFailureChecker gtest_checker(\
163 >est_failures, ::testing::TestPartResult::kFatalFailure, (substr));\
164 {\
165 ::testing::ScopedFakeTestPartResultReporter gtest_reporter(\
166 ::testing::ScopedFakeTestPartResultReporter:: \
167 INTERCEPT_ALL_THREADS, >est_failures);\
168 GTestExpectFatalFailureHelper::Execute();\
169 }\
170 } while (::testing::internal::AlwaysFalse())