[libc-commits] [libc] c73c23f - [libc][NFC] Add a death test API adaptation macro
Michael Jones via libc-commits
libc-commits at lists.llvm.org
Mon Feb 1 11:19:11 PST 2021
Author: Michael Jones
Date: 2021-02-01T19:19:04Z
New Revision: c73c23f2a91f5a454d782da9918e2160cfe66087
URL: https://github.com/llvm/llvm-project/commit/c73c23f2a91f5a454d782da9918e2160cfe66087
DIFF: https://github.com/llvm/llvm-project/commit/c73c23f2a91f5a454d782da9918e2160cfe66087.diff
LOG: [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
Added:
Modified:
libc/test/src/assert/assert_test.cpp
libc/test/src/fenv/enabled_exceptions_test.cpp
libc/test/src/signal/raise_test.cpp
libc/test/src/signal/sigaction_test.cpp
libc/test/src/signal/sigdelset_test.cpp
libc/test/src/signal/sigprocmask_test.cpp
libc/test/src/stdlib/abort_test.cpp
libc/utils/UnitTest/FuchsiaTest.h
libc/utils/UnitTest/LibcTest.h
Removed:
################################################################################
diff --git a/libc/test/src/assert/assert_test.cpp b/libc/test/src/assert/assert_test.cpp
index b22f4984de99..77604768d476 100644
--- a/libc/test/src/assert/assert_test.cpp
+++ b/libc/test/src/assert/assert_test.cpp
@@ -21,7 +21,7 @@ TEST(LlvmLibcAssert, Enabled) {
close(2);
assert(0);
},
- -1);
+ WITH_SIGNAL(-1));
}
#define NDEBUG
diff --git a/libc/test/src/fenv/enabled_exceptions_test.cpp b/libc/test/src/fenv/enabled_exceptions_test.cpp
index e9c2ae86b8c0..8b8649df3ae9 100644
--- a/libc/test/src/fenv/enabled_exceptions_test.cpp
+++ b/libc/test/src/fenv/enabled_exceptions_test.cpp
@@ -51,6 +51,6 @@ TEST(LlvmLibcExceptionStatusTest, RaiseAndCrash) {
// exception.
__llvm_libc::feraiseexcept(e);
},
- SIGFPE);
+ WITH_SIGNAL(SIGFPE));
}
}
diff --git a/libc/test/src/signal/raise_test.cpp b/libc/test/src/signal/raise_test.cpp
index 4ec1ee20b4d6..282cedc8b89c 100644
--- a/libc/test/src/signal/raise_test.cpp
+++ b/libc/test/src/signal/raise_test.cpp
@@ -18,5 +18,5 @@ TEST(LlvmLibcSignalTest, Raise) {
// 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/libc/test/src/signal/sigaction_test.cpp b/libc/test/src/signal/sigaction_test.cpp
index dab22956ed9e..4baf093deadc 100644
--- a/libc/test/src/signal/sigaction_test.cpp
+++ b/libc/test/src/signal/sigaction_test.cpp
@@ -53,7 +53,7 @@ TEST(LlvmLibcSigaction, CustomAction) {
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/libc/test/src/signal/sigdelset_test.cpp b/libc/test/src/signal/sigdelset_test.cpp
index b490a0881831..c4947a38b384 100644
--- a/libc/test/src/signal/sigdelset_test.cpp
+++ b/libc/test/src/signal/sigdelset_test.cpp
@@ -32,5 +32,5 @@ TEST(LlvmLibcSigdelset, UnblockOne) {
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/libc/test/src/signal/sigprocmask_test.cpp b/libc/test/src/signal/sigprocmask_test.cpp
index 2b3a8f7cc303..e6463627ea9e 100644
--- a/libc/test/src/signal/sigprocmask_test.cpp
+++ b/libc/test/src/signal/sigprocmask_test.cpp
@@ -53,7 +53,7 @@ TEST_F(LlvmLibcSignalTest, BlockUnblock) {
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/libc/test/src/stdlib/abort_test.cpp b/libc/test/src/stdlib/abort_test.cpp
index 8762f2ff611e..759fb0223b80 100644
--- a/libc/test/src/stdlib/abort_test.cpp
+++ b/libc/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/libc/utils/UnitTest/FuchsiaTest.h b/libc/utils/UnitTest/FuchsiaTest.h
index b7b5b48538b8..4b3d535eaeb3 100644
--- a/libc/utils/UnitTest/FuchsiaTest.h
+++ b/libc/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/libc/utils/UnitTest/LibcTest.h b/libc/utils/UnitTest/LibcTest.h
index adf86da7f4b5..a0ecf5a0b586 100644
--- a/libc/utils/UnitTest/LibcTest.h
+++ b/libc/utils/UnitTest/LibcTest.h
@@ -273,4 +273,6 @@ constexpr bool same_prefix(char const *lhs, char const *rhs, int const len) {
return; \
} while (0)
+#define WITH_SIGNAL(X) X
+
#endif // LLVM_LIBC_UTILS_UNITTEST_LIBCTEST_H
More information about the libc-commits
mailing list