38 #ifndef GOOGLETEST_INCLUDE_GTEST_GTEST_DEATH_TEST_H_ 39 #define GOOGLETEST_INCLUDE_GTEST_GTEST_DEATH_TEST_H_ 41 #include "gtest/internal/gtest-death-test-internal.h" 50 GTEST_DECLARE_string_(death_test_style);
52 #if GTEST_HAS_DEATH_TEST 61 GTEST_API_
bool InDeathTestChild();
172 # define ASSERT_EXIT(statement, predicate, matcher) \ 173 GTEST_DEATH_TEST_(statement, predicate, matcher, GTEST_FATAL_FAILURE_) 177 # define EXPECT_EXIT(statement, predicate, matcher) \ 178 GTEST_DEATH_TEST_(statement, predicate, matcher, GTEST_NONFATAL_FAILURE_) 183 # define ASSERT_DEATH(statement, matcher) \ 184 ASSERT_EXIT(statement, ::testing::internal::ExitedUnsuccessfully, matcher) 188 # define EXPECT_DEATH(statement, matcher) \ 189 EXPECT_EXIT(statement, ::testing::internal::ExitedUnsuccessfully, matcher) 194 class GTEST_API_ ExitedWithCode {
196 explicit ExitedWithCode(
int exit_code);
197 ExitedWithCode(
const ExitedWithCode&) =
default;
198 void operator=(
const ExitedWithCode& other) =
delete;
199 bool operator()(
int exit_status)
const;
201 const int exit_code_;
204 # if !GTEST_OS_WINDOWS && !GTEST_OS_FUCHSIA 208 class GTEST_API_ KilledBySignal {
210 explicit KilledBySignal(
int signum);
211 bool operator()(
int exit_status)
const;
215 # endif // !GTEST_OS_WINDOWS 262 # define EXPECT_DEBUG_DEATH(statement, regex) \ 263 GTEST_EXECUTE_STATEMENT_(statement, regex) 265 # define ASSERT_DEBUG_DEATH(statement, regex) \ 266 GTEST_EXECUTE_STATEMENT_(statement, regex) 270 # define EXPECT_DEBUG_DEATH(statement, regex) \ 271 EXPECT_DEATH(statement, regex) 273 # define ASSERT_DEBUG_DEATH(statement, regex) \ 274 ASSERT_DEATH(statement, regex) 276 # endif // NDEBUG for EXPECT_DEBUG_DEATH 277 #endif // GTEST_HAS_DEATH_TEST 314 # define GTEST_UNSUPPORTED_DEATH_TEST(statement, regex, terminator) \ 315 GTEST_AMBIGUOUS_ELSE_BLOCKER_ \ 316 if (::testing::internal::AlwaysTrue()) { \ 317 GTEST_LOG_(WARNING) \ 318 << "Death tests are not supported on this platform.\n" \ 319 << "Statement '" #statement "' cannot be verified."; \ 320 } else if (::testing::internal::AlwaysFalse()) { \ 321 ::testing::internal::RE::PartialMatch(".*", (regex)); \ 322 GTEST_SUPPRESS_UNREACHABLE_CODE_WARNING_BELOW_(statement); \ 332 #if GTEST_HAS_DEATH_TEST 333 # define EXPECT_DEATH_IF_SUPPORTED(statement, regex) \ 334 EXPECT_DEATH(statement, regex) 335 # define ASSERT_DEATH_IF_SUPPORTED(statement, regex) \ 336 ASSERT_DEATH(statement, regex) 338 # define EXPECT_DEATH_IF_SUPPORTED(statement, regex) \ 339 GTEST_UNSUPPORTED_DEATH_TEST(statement, regex, ) 340 # define ASSERT_DEATH_IF_SUPPORTED(statement, regex) \ 341 GTEST_UNSUPPORTED_DEATH_TEST(statement, regex, return) 346 #endif // GOOGLETEST_INCLUDE_GTEST_GTEST_DEATH_TEST_H_ Definition: gmock-actions.h:154