Chromium Code Reviews| Index: base/test/gtest_util.h |
| diff --git a/base/test/gtest_util.h b/base/test/gtest_util.h |
| index f353d8364307dfc39269d71e6d84a448f6cb93b7..7753dd2e22260193f3dcf49301d38d3ae3ecff3d 100644 |
| --- a/base/test/gtest_util.h |
| +++ b/base/test/gtest_util.h |
| @@ -10,6 +10,26 @@ |
| #include <vector> |
| #include "base/compiler_specific.h" |
| +#include "base/logging.h" |
| +#include "build/build_config.h" |
| +#include "testing/gtest/include/gtest/gtest.h" |
| + |
| +// EXPECT/ASSERT_DCHECK_DEATH is intended to replace EXPECT/ASSERT_DEBUG_DEATH |
| +// when the death is expected to be caused by a DCHECK. Contrary to |
| +// EXPECT/ASSERT_DEBUG_DEATH however, it doesn't execute the statement in non- |
| +// dcheck builds as DCHECKs are intended to catch things that should never |
| +// happen and as such executing the statement results in undefined behavior |
| +// (|statement| is compiled in unsupported configurations nonetheless). |
| +// Death tests misbehave on Android. |
| +#if DCHECK_IS_ON() && defined(GTEST_HAS_DEATH_TEST) && !defined(OS_ANDROID) |
| +#define EXPECT_DCHECK_DEATH(statement, regex) EXPECT_DEATH(statement, regex) |
| +#define ASSERT_DCHECK_DEATH(statement, regex) ASSERT_DEATH(statement, regex) |
| +#else |
| +#define EXPECT_DCHECK_DEATH(statement, regex) \ |
| + GTEST_UNSUPPORTED_DEATH_TEST(statement, regex, ) |
| +#define ASSERT_DCHECK_DEATH(statement, regex) \ |
| + GTEST_UNSUPPORTED_DEATH_TEST(statement, regex, return) |
|
gab
2016/07/20 21:21:08
This won't compile, locally I moved this from test
|
| +#endif |
| namespace base { |