Build bionic unit tests for musl
Modify bionic unit tests that are built for glibc so that they also
build against musl. They don't all pass though:
With glibc:
2 SLOW TESTS
4 TIMEOUT TESTS
313 FAILED TESTS
YOU HAVE 2 DISABLED TESTS
With musl:
11 SLOW TESTS
11 TIMEOUT TESTS
363 FAILED TESTS
YOU HAVE 2 DISABLED TESTS
Bug: 190084016
Test: m bionic-unit-tests-glibc with musl
Test: atest bionic-unit-tests-static
Test: atest --host bionic-unit-tests-glibc with glibc
Change-Id: I79b6eab04fed3cc4392450df5eef2579412edfe1
diff --git a/tests/signal_test.cpp b/tests/signal_test.cpp
index ffbb667..08c21b4 100644
--- a/tests/signal_test.cpp
+++ b/tests/signal_test.cpp
@@ -554,8 +554,12 @@
}
TEST(signal, sys_siglist) {
+#if !defined(MUSL)
ASSERT_TRUE(sys_siglist[0] == nullptr);
ASSERT_STREQ("Hangup", sys_siglist[SIGHUP]);
+#else
+ GTEST_SKIP() << "musl doesn't have sys_siglist";
+#endif
}
TEST(signal, limits) {
@@ -582,7 +586,7 @@
TEST(signal, sigqueue) {
ScopedSignalHandler ssh(SIGALRM, SigqueueSignalHandler, SA_SIGINFO);
- sigval_t sigval = {.sival_int = 1};
+ sigval sigval = {.sival_int = 1};
errno = 0;
ASSERT_EQ(0, sigqueue(getpid(), SIGALRM, sigval));
ASSERT_EQ(0, errno);
@@ -590,17 +594,22 @@
}
TEST(signal, pthread_sigqueue_self) {
+#if !defined(MUSL)
ScopedSignalHandler ssh(SIGALRM, SigqueueSignalHandler, SA_SIGINFO);
- sigval_t sigval = {.sival_int = 1};
+ sigval sigval = {.sival_int = 1};
errno = 0;
ASSERT_EQ(0, pthread_sigqueue(pthread_self(), SIGALRM, sigval));
ASSERT_EQ(0, errno);
ASSERT_EQ(1, g_sigqueue_signal_handler_call_count);
+#else
+ GTEST_SKIP() << "musl doesn't have pthread_sigqueue";
+#endif
}
TEST(signal, pthread_sigqueue_other) {
+#if !defined(MUSL)
ScopedSignalHandler ssh(SIGALRM, SigqueueSignalHandler, SA_SIGINFO);
- sigval_t sigval = {.sival_int = 1};
+ sigval sigval = {.sival_int = 1};
sigset_t mask;
sigfillset(&mask);
@@ -621,6 +630,9 @@
ASSERT_EQ(0, errno);
pthread_join(thread, nullptr);
ASSERT_EQ(1, g_sigqueue_signal_handler_call_count);
+#else
+ GTEST_SKIP() << "musl doesn't have pthread_sigqueue";
+#endif
}
TEST(signal, sigwait_SIGALRM) {
@@ -633,7 +645,7 @@
ASSERT_EQ(0, sigprocmask(SIG_BLOCK, &just_SIGALRM, nullptr));
// Raise SIGALRM.
- sigval_t sigval = {.sival_int = 1};
+ sigval sigval = {.sival_int = 1};
ASSERT_EQ(0, sigqueue(getpid(), SIGALRM, sigval));
// Get pending SIGALRM.
@@ -652,7 +664,7 @@
ASSERT_EQ(0, sigprocmask64(SIG_BLOCK, &just_SIGRTMIN, nullptr));
// Raise SIGRTMIN.
- sigval_t sigval = {.sival_int = 1};
+ sigval sigval = {.sival_int = 1};
ASSERT_EQ(0, sigqueue(getpid(), SIGRTMIN, sigval));
// Get pending SIGRTMIN.
@@ -671,7 +683,7 @@
ASSERT_EQ(0, sigprocmask(SIG_BLOCK, &just_SIGALRM, nullptr));
// Raise SIGALRM.
- sigval_t sigval = {.sival_int = 1};
+ sigval sigval = {.sival_int = 1};
ASSERT_EQ(0, sigqueue(getpid(), SIGALRM, sigval));
// Get pending SIGALRM.
@@ -693,7 +705,7 @@
ASSERT_EQ(0, sigprocmask64(SIG_BLOCK, &just_SIGRTMIN, nullptr));
// Raise SIGRTMIN.
- sigval_t sigval = {.sival_int = 1};
+ sigval sigval = {.sival_int = 1};
ASSERT_EQ(0, sigqueue(getpid(), SIGRTMIN, sigval));
// Get pending SIGRTMIN.
@@ -715,7 +727,7 @@
ASSERT_EQ(0, sigprocmask(SIG_BLOCK, &just_SIGALRM, nullptr));
// Raise SIGALRM.
- sigval_t sigval = { .sival_int = 1 };
+ sigval sigval = { .sival_int = 1 };
ASSERT_EQ(0, sigqueue(getpid(), SIGALRM, sigval));
// Get pending SIGALRM.
@@ -736,7 +748,7 @@
ASSERT_EQ(0, sigprocmask64(SIG_BLOCK, &just_SIGRTMIN, nullptr));
// Raise SIGALRM.
- sigval_t sigval = { .sival_int = 1 };
+ sigval sigval = { .sival_int = 1 };
ASSERT_EQ(0, sigqueue(getpid(), SIGRTMIN, sigval));
// Get pending SIGALRM.