[libc][NFC] Add a death test API adaptation macro

Fuchsia's zxtest has a slightly different death test definition, and
this macro makes our death test API work on Fuchsia.

Reviewed By: sivachandra

Differential Revision: https://reviews.llvm.org/D95648

GitOrigin-RevId: c73c23f2a91f5a454d782da9918e2160cfe66087
diff --git a/test/src/assert/assert_test.cpp b/test/src/assert/assert_test.cpp
index b22f498..7760476 100644
--- a/test/src/assert/assert_test.cpp
+++ b/test/src/assert/assert_test.cpp
@@ -21,7 +21,7 @@
         close(2);
         assert(0);
       },
-      -1);
+      WITH_SIGNAL(-1));
 }
 
 #define NDEBUG
diff --git a/test/src/fenv/enabled_exceptions_test.cpp b/test/src/fenv/enabled_exceptions_test.cpp
index e9c2ae8..8b8649d 100644
--- a/test/src/fenv/enabled_exceptions_test.cpp
+++ b/test/src/fenv/enabled_exceptions_test.cpp
@@ -51,6 +51,6 @@
           // exception.
           __llvm_libc::feraiseexcept(e);
         },
-        SIGFPE);
+        WITH_SIGNAL(SIGFPE));
   }
 }
diff --git a/test/src/signal/raise_test.cpp b/test/src/signal/raise_test.cpp
index 4ec1ee2..282cedc 100644
--- a/test/src/signal/raise_test.cpp
+++ b/test/src/signal/raise_test.cpp
@@ -18,5 +18,5 @@
 
   // SIGKILL is chosen because other fatal signals could be caught by sanitizers
   // for example and incorrectly report test failure.
-  EXPECT_DEATH([] { __llvm_libc::raise(SIGKILL); }, SIGKILL);
+  EXPECT_DEATH([] { __llvm_libc::raise(SIGKILL); }, WITH_SIGNAL(SIGKILL));
 }
diff --git a/test/src/signal/sigaction_test.cpp b/test/src/signal/sigaction_test.cpp
index dab2295..4baf093 100644
--- a/test/src/signal/sigaction_test.cpp
+++ b/test/src/signal/sigaction_test.cpp
@@ -53,7 +53,7 @@
   action.sa_handler = SIG_DFL;
   EXPECT_THAT(__llvm_libc::sigaction(SIGUSR1, &action, nullptr), Succeeds());
 
-  EXPECT_DEATH([] { __llvm_libc::raise(SIGUSR1); }, SIGUSR1);
+  EXPECT_DEATH([] { __llvm_libc::raise(SIGUSR1); }, WITH_SIGNAL(SIGUSR1));
 }
 
 TEST(LlvmLibcSigaction, Ignore) {
diff --git a/test/src/signal/sigdelset_test.cpp b/test/src/signal/sigdelset_test.cpp
index b490a08..c4947a3 100644
--- a/test/src/signal/sigdelset_test.cpp
+++ b/test/src/signal/sigdelset_test.cpp
@@ -32,5 +32,5 @@
   EXPECT_THAT(__llvm_libc::sigfillset(&set), Succeeds());
   EXPECT_THAT(__llvm_libc::sigdelset(&set, SIGUSR1), Succeeds());
   EXPECT_THAT(__llvm_libc::sigprocmask(SIG_SETMASK, &set, nullptr), Succeeds());
-  EXPECT_DEATH([] { __llvm_libc::raise(SIGUSR1); }, SIGUSR1);
+  EXPECT_DEATH([] { __llvm_libc::raise(SIGUSR1); }, WITH_SIGNAL(SIGUSR1));
 }
diff --git a/test/src/signal/sigprocmask_test.cpp b/test/src/signal/sigprocmask_test.cpp
index 2b3a8f7..e646362 100644
--- a/test/src/signal/sigprocmask_test.cpp
+++ b/test/src/signal/sigprocmask_test.cpp
@@ -53,7 +53,7 @@
   sigset_t sigset;
   EXPECT_EQ(__llvm_libc::sigemptyset(&sigset), 0);
   EXPECT_EQ(__llvm_libc::sigprocmask(SIG_SETMASK, &sigset, nullptr), 0);
-  EXPECT_DEATH([] { __llvm_libc::raise(SIGUSR1); }, SIGUSR1);
+  EXPECT_DEATH([] { __llvm_libc::raise(SIGUSR1); }, WITH_SIGNAL(SIGUSR1));
   EXPECT_EQ(__llvm_libc::sigaddset(&sigset, SIGUSR1), 0);
   EXPECT_EQ(__llvm_libc::sigprocmask(SIG_SETMASK, &sigset, nullptr), 0);
   EXPECT_EXITS([] { __llvm_libc::raise(SIGUSR1); }, 0);
diff --git a/test/src/stdlib/abort_test.cpp b/test/src/stdlib/abort_test.cpp
index 8762f2f..759fb02 100644
--- a/test/src/stdlib/abort_test.cpp
+++ b/test/src/stdlib/abort_test.cpp
@@ -14,5 +14,5 @@
 TEST(LlvmLibcStdlib, abort) {
   // -1 matches against any signal, which is necessary for now until
   // __llvm_libc::abort() unblocks SIGABRT.
-  EXPECT_DEATH([] { __llvm_libc::abort(); }, -1);
+  EXPECT_DEATH([] { __llvm_libc::abort(); }, WITH_SIGNAL(-1));
 }
diff --git a/utils/UnitTest/FuchsiaTest.h b/utils/UnitTest/FuchsiaTest.h
index b7b5b48..4b3d535 100644
--- a/utils/UnitTest/FuchsiaTest.h
+++ b/utils/UnitTest/FuchsiaTest.h
@@ -11,4 +11,6 @@
 
 #include <zxtest/zxtest.h>
 
+#define WITH_SIGNAL(X) #X
+
 #endif // LLVM_LIBC_UTILS_UNITTEST_FUCHSIATEST_H
diff --git a/utils/UnitTest/LibcTest.h b/utils/UnitTest/LibcTest.h
index adf86da..a0ecf5a 100644
--- a/utils/UnitTest/LibcTest.h
+++ b/utils/UnitTest/LibcTest.h
@@ -273,4 +273,6 @@
       return;                                                                  \
   } while (0)
 
+#define WITH_SIGNAL(X) X
+
 #endif // LLVM_LIBC_UTILS_UNITTEST_LIBCTEST_H