Augment uncaught-exception.test fuzzer test to be msvc-compatible (#125924)
Today, the `uncaught-exception.test` fuzzer test checks for the string "libFuzzer: deadly signal" in the program output as the result of an uncaught exception. Although this is correct for `clang`, `msvc` reports a different error message: "libFuzzer: uncaught C++ exception". Since `msvc` reuses the `libFuzzer` infrastructure for ASan regression testing, it would help us greatly if the test handled the `msvc` divergence more gracefully. **This PR:** augments this test so check for a different string (namely "libFuzzer: uncaught C++ exception") if the compiler target matches the `msvc` naming scheme. I understand if this is outside the scope of support for LLVM as well, and I'm also open for different approaches here. Thanks!
This commit is contained in:
@@ -4,7 +4,10 @@
|
||||
REQUIRES: windows
|
||||
RUN: %cpp_compiler %S/UncaughtException.cpp -o %t-UncaughtException
|
||||
|
||||
RUN: not %run %t-UncaughtException 2>&1 | FileCheck %s
|
||||
# Clang will fail the test with 'deadly signal', but other compilers may fail with different error messages.
|
||||
# For example, msvc fails with 'uncaught C++ exception'. So the error we check depends on the compiler target.
|
||||
RUN: not %run %t-UncaughtException 2>&1 | FileCheck %s --check-prefixes=CHECK-CRASH,%if target={{.*-windows-msvc.*}} %{CHECK-MSVC%} %else %{CHECK-ERROR%}
|
||||
|
||||
CHECK: ERROR: libFuzzer: deadly signal
|
||||
CHECK: Test unit written to ./crash
|
||||
CHECK-ERROR: ERROR: libFuzzer: deadly signal
|
||||
CHECK-MSVC: ERROR: libFuzzer: uncaught C++ exception
|
||||
CHECK-CRASH: Test unit written to ./crash
|
||||
|
||||
Reference in New Issue
Block a user