diff options
author | Colin Cross <ccross@android.com> | 2021-07-28 11:18:11 -0700 |
---|---|---|
committer | Colin Cross <ccross@android.com> | 2021-08-12 11:13:11 -0700 |
commit | 7da20341e91a4ece30f628fb91fbc6056c9c8a7c (patch) | |
tree | 51db1cace0a75ac9e33aef1efb36e3f1d6832c67 /tests/string_test.cpp | |
parent | 4c92da431155174c6bfef91c227fe34becb340c0 (diff) |
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
Diffstat (limited to 'tests/string_test.cpp')
-rw-r--r-- | tests/string_test.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/tests/string_test.cpp b/tests/string_test.cpp index 22be85241..d19b60d39 100644 --- a/tests/string_test.cpp +++ b/tests/string_test.cpp @@ -95,6 +95,7 @@ TEST(STRING_TEST, strerror_concurrent) { } TEST(STRING_TEST, gnu_strerror_r) { +#if !defined(MUSL) char buf[256]; // Note that glibc doesn't necessarily write into the buffer. @@ -122,6 +123,9 @@ TEST(STRING_TEST, gnu_strerror_r) { ASSERT_STREQ("U", buf); // The GNU strerror_r doesn't set errno (the POSIX one sets it to ERANGE). ASSERT_EQ(0, errno); +#else + GTEST_SKIP() << "musl doesn't have GNU strerror_r"; +#endif } TEST(STRING_TEST, strsignal) { @@ -1473,14 +1477,17 @@ TEST(STRING_TEST, strrchr_overread) { RunSingleBufferOverreadTest(DoStrrchrTest); } +#if !defined(MUSL) static void TestBasename(const char* in, const char* expected_out) { errno = 0; const char* out = basename(in); ASSERT_STREQ(expected_out, out) << in; ASSERT_EQ(0, errno) << in; } +#endif TEST(STRING_TEST, __gnu_basename) { +#if !defined(MUSL) TestBasename("", ""); TestBasename("/usr/lib", "lib"); TestBasename("/usr/", ""); @@ -1490,6 +1497,9 @@ TEST(STRING_TEST, __gnu_basename) { TestBasename("..", ".."); TestBasename("///", ""); TestBasename("//usr//lib//", ""); +#else + GTEST_SKIP() << "musl doesn't have GNU basename"; +#endif } TEST(STRING_TEST, strnlen_147048) { |