From cf6dd937ab2ff62d29b34d62411cfd03d3822021 Mon Sep 17 00:00:00 2001 From: "Kochetkov, Yuriy" Date: Wed, 2 Mar 2022 15:42:07 +0300 Subject: [PATCH] Add test for `FatalConditionHandler` and stack unwinding Signed-off-by: Kochetkov, Yuriy --- tests/SelfTest/UsageTests/Misc.tests.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/tests/SelfTest/UsageTests/Misc.tests.cpp b/tests/SelfTest/UsageTests/Misc.tests.cpp index cf608dd9..33734d43 100644 --- a/tests/SelfTest/UsageTests/Misc.tests.cpp +++ b/tests/SelfTest/UsageTests/Misc.tests.cpp @@ -537,4 +537,16 @@ TEST_CASE("Validate SEH behavior - unhandled", "[.approvals][FatalConditionHandl // Validate that Catch2 framework correctly handles tests raising and not handling SEH exceptions. throw_no_catch(); } + +static LONG CALLBACK dummyExceptionFilter(PEXCEPTION_POINTERS ExceptionInfo) { + return EXCEPTION_CONTINUE_SEARCH; +} + +TEST_CASE("Validate SEH behavior - no crash for stack unwinding", "[approvals][!throws][!shouldfail][FatalConditionHandler][CATCH_PLATFORM_WINDOWS]") +{ + // Trigger stack unwinding with SEH top-level filter changed and validate the test fails expectedly with no application crash + SetUnhandledExceptionFilter(dummyExceptionFilter); + throw 1; +} + #endif