summaryrefslogtreecommitdiffstats
path: root/googletest/test/googletest-death-test-test.cc
diff options
context:
space:
mode:
Diffstat (limited to 'googletest/test/googletest-death-test-test.cc')
-rw-r--r--googletest/test/googletest-death-test-test.cc32
1 files changed, 8 insertions, 24 deletions
diff --git a/googletest/test/googletest-death-test-test.cc b/googletest/test/googletest-death-test-test.cc
index e7e0cd7..62a84b4 100644
--- a/googletest/test/googletest-death-test-test.cc
+++ b/googletest/test/googletest-death-test-test.cc
@@ -668,35 +668,19 @@ TEST_F(TestForDeathTest, TestExpectDebugDeath) {
# if GTEST_OS_WINDOWS
-// Tests that EXPECT_DEBUG_DEATH works as expected when in debug mode
-// the Windows CRT crashes the process with an assertion failure.
+// https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/crtsetreportmode
+// In debug mode, the calls to _CrtSetReportMode and _CrtSetReportFile enable
+// the dumping of assertions to stderr. Tests that EXPECT_DEATH works as
+// expected when in CRT debug mode (compiled with /MTd or /MDd, which defines
+// _DEBUG) the Windows CRT crashes the process with an assertion failure.
// 1. Asserts on death.
// 2. Has no side effect (doesn't pop up a window or wait for user input).
-//
-// And in opt mode, it:
-// 1. Has side effects but does not assert.
+#ifdef _DEBUG
TEST_F(TestForDeathTest, CRTDebugDeath) {
- int sideeffect = 0;
-
- // Put the regex in a local variable to make sure we don't get an "unused"
- // warning in opt mode.
- const char* regex = "dup.* : Assertion failed";
-
- EXPECT_DEBUG_DEATH(DieInCRTDebugElse12(&sideeffect), regex)
+ EXPECT_DEATH(DieInCRTDebugElse12(nullptr), "dup.* : Assertion failed")
<< "Must accept a streamed message";
-
-# ifdef NDEBUG
-
- // Checks that the assignment occurs in opt mode (sideeffect).
- EXPECT_EQ(12, sideeffect);
-
-# else
-
- // Checks that the assignment does not occur in dbg mode (no sideeffect).
- EXPECT_EQ(0, sideeffect);
-
-# endif
}
+#endif // _DEBUG
# endif // GTEST_OS_WINDOWS