gtest_death.h File Reference
`#include "base/logging.h"`
`#include "build/build_config.h"`
`#include "gtest/gtest.h"`

## Macros

#define | ASSERT_DEATH_CRASH(statement, regex)
| Wraps the gtest `ASSERT_DEATH_IF_SUPPORTED()` macro to make assertions about death caused by crashes. More...
#define | EXPECT_DEATH_CRASH(statement, regex)
| Wraps the gtest `EXPECT_DEATH_IF_SUPPORTED()` macro to make assertions about death caused by crashes. More...
#define | ASSERT_DEATH_CHECK(statement, regex) ASSERT_DEATH_CRASH(statement, regex)
| Wraps the ASSERT_DEATH_CRASH() macro to make assertions about death caused by `CHECK()` failures. More...
#define | EXPECT_DEATH_CHECK(statement, regex) EXPECT_DEATH_CRASH(statement, regex)
| Wraps the EXPECT_DEATH_CRASH() macro to make assertions about death caused by `CHECK()` failures. More...

## Macro Definition Documentation

## ASSERT_DEATH_CHECK

#define ASSERT_DEATH_CHECK | ( |  | statement,
|  |  | regex
| ) |  | ASSERT_DEATH_CRASH(statement, regex)

Wraps the ASSERT_DEATH_CRASH() macro to make assertions about death caused by `CHECK()` failures.

In an in-Chromium build in the official configuration, `CHECK()` does not print its condition or streamed messages. In that case, this macro uses an empty regex pattern when calling ASSERT_DEATH_CRASH() to avoid looking for any particular output on the standard error stream. In other build configurations, the regex pattern is left intact.

On macOS, `CHECK()` failures normally show up as crashes to the system’s crash reporter, but it is undesirable for intentional ASSERT_DEATH_CHECK() crashes to be handled by any crash reporter, so this is implemented in terms of ASSERT_DEATH_CRASH() instead of `ASSERT_DEATH()`.

See also
  EXPECT_DEATH_CHECK()

## ASSERT_DEATH_CRASH

#define ASSERT_DEATH_CRASH | ( |  | statement,
|  |  | regex
| ) |  |

Value:
do { \
crashpad::test::ExceptionSwallower exception_swallower; \
ASSERT_DEATH_IF_SUPPORTED( \
crashpad::test::ExceptionSwallower::SwallowExceptions(); \
{ statement; }, regex); \
} while (false)
crashpad::test::ExceptionSwallower::SwallowExceptions
static void SwallowExceptions()
In a test child process, arranges to swallow EXC_CRASH and EXC_CORPSE_NOTIFY exceptions.
Definition: exception_swallower.cc:152

Wraps the gtest `ASSERT_DEATH_IF_SUPPORTED()` macro to make assertions about death caused by crashes.

On macOS, this macro prevents the system’s crash reporter from handling crashes that occur in statement. Crashes are normally visible to the system’s crash reporter, but it is undesirable for intentional ASSERT_DEATH_CRASH() crashes to be handled by any crash reporter.

`ASSERT_DEATH_IF_SUPPORTED()` is used instead of `ASSERT_DEATH()` to support platforms where death tests are not implemented by gtest (e.g. Fuchsia). On platforms where death tests are not implemented, a warning will be logged and the remainder of the test body skipped.

See also
  ASSERT_DEATH_CHECK()
  EXPECT_DEATH_CRASH()

## EXPECT_DEATH_CHECK

#define EXPECT_DEATH_CHECK | ( |  | statement,
|  |  | regex
| ) |  | EXPECT_DEATH_CRASH(statement, regex)

Wraps the EXPECT_DEATH_CRASH() macro to make assertions about death caused by `CHECK()` failures.

In an in-Chromium build in the official configuration, `CHECK()` does not print its condition or streamed messages. In that case, this macro uses an empty regex pattern when calling EXPECT_DEATH_CRASH() to avoid looking for any particular output on the standard error stream. In other build configurations, the regex pattern is left intact.

On macOS, `CHECK()` failures normally show up as crashes to the system’s crash reporter, but it is undesirable for intentional EXPECT_DEATH_CHECK() crashes to be handled by any crash reporter, so this is implemented in terms of EXPECT_DEATH_CRASH() instead of `EXPECT_DEATH()`.

See also
  ASSERT_DEATH_CHECK()

## EXPECT_DEATH_CRASH

#define EXPECT_DEATH_CRASH | ( |  | statement,
|  |  | regex
| ) |  |

Value:
do { \
crashpad::test::ExceptionSwallower exception_swallower; \
EXPECT_DEATH(crashpad::test::ExceptionSwallower::SwallowExceptions(); \
{ statement; }, \
regex); \
} while (false)
crashpad::test::ExceptionSwallower::SwallowExceptions
static void SwallowExceptions()
In a test child process, arranges to swallow EXC_CRASH and EXC_CORPSE_NOTIFY exceptions.
Definition: exception_swallower.cc:152

Wraps the gtest `EXPECT_DEATH_IF_SUPPORTED()` macro to make assertions about death caused by crashes.

On macOS, this macro prevents the system’s crash reporter from handling crashes that occur in statement. Crashes are normally visible to the system’s crash reporter, but it is undesirable for intentional EXPECT_DEATH_CRASH() crashes to be handled by any crash reporter.

`EXPECT_DEATH_IF_SUPPORTED()` is used instead of `EXPECT_DEATH()` to support platforms where death tests are not implemented by gtest (e.g. Fuchsia). On platforms where death tests are not implemented, a warning will be logged and the remainder of the test body skipped.

See also
  EXPECT_DEATH_CHECK()
  ASSERT_DEATH_CRASH()