summaryrefslogtreecommitdiff
path: root/tests/string_test.cpp
diff options
context:
space:
mode:
authorColin Cross <ccross@android.com>2021-07-28 11:18:11 -0700
committerColin Cross <ccross@android.com>2021-08-12 11:13:11 -0700
commit7da20341e91a4ece30f628fb91fbc6056c9c8a7c (patch)
tree51db1cace0a75ac9e33aef1efb36e3f1d6832c67 /tests/string_test.cpp
parent4c92da431155174c6bfef91c227fe34becb340c0 (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.cpp10
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) {