From 7da20341e91a4ece30f628fb91fbc6056c9c8a7c Mon Sep 17 00:00:00 2001 From: Colin Cross Date: Wed, 28 Jul 2021 11:18:11 -0700 Subject: 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 --- tests/stdlib_test.cpp | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) (limited to 'tests/stdlib_test.cpp') diff --git a/tests/stdlib_test.cpp b/tests/stdlib_test.cpp index 6c7966d72..5b8183458 100644 --- a/tests/stdlib_test.cpp +++ b/tests/stdlib_test.cpp @@ -454,7 +454,7 @@ TEST_F(stdlib_DeathTest, getenv_after_main_thread_exits) { ASSERT_EXIT(TestBug57421_main(), ::testing::ExitedWithCode(0), ""); } -TEST(stdlib, mkostemp64) { +TEST(stdlib, mkostemp64_smoke) { MyTemporaryFile tf([](char* path) { return mkostemp64(path, O_CLOEXEC); }); ASSERT_TRUE(CloseOnExec(tf.fd)); } @@ -464,7 +464,7 @@ TEST(stdlib, mkostemp) { ASSERT_TRUE(CloseOnExec(tf.fd)); } -TEST(stdlib, mkstemp64) { +TEST(stdlib, mkstemp64_smoke) { MyTemporaryFile tf(mkstemp64); struct stat64 sb; ASSERT_EQ(0, fstat64(tf.fd, &sb)); @@ -632,6 +632,13 @@ TEST(unistd, _Exit) { AssertChildExited(pid, 99); } +#if defined(MUSL) +// musl doesn't have getpt +int getpt() { + return posix_openpt(O_RDWR|O_NOCTTY); +} +#endif + TEST(stdlib, pty_smoke) { // getpt returns a pty with O_RDWR|O_NOCTTY. int fd = getpt(); @@ -961,8 +968,8 @@ TEST(stdlib, getloadavg) { } TEST(stdlib, getprogname) { -#if defined(__GLIBC__) - GTEST_SKIP() << "glibc doesn't have getprogname()"; +#if defined(__GLIBC__) || defined(MUSL) + GTEST_SKIP() << "glibc and musl don't have getprogname()"; #else // You should always have a name. ASSERT_TRUE(getprogname() != nullptr); @@ -972,8 +979,8 @@ TEST(stdlib, getprogname) { } TEST(stdlib, setprogname) { -#if defined(__GLIBC__) - GTEST_SKIP() << "glibc doesn't have setprogname()"; +#if defined(__GLIBC__) || defined(MUSL) + GTEST_SKIP() << "glibc and musl don't have setprogname()"; #else // setprogname() only takes the basename of what you give it. setprogname("/usr/bin/muppet"); -- cgit v1.2.3