summaryrefslogtreecommitdiff
path: root/tests/dirent_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/dirent_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/dirent_test.cpp')
-rw-r--r--tests/dirent_test.cpp16
1 files changed, 14 insertions, 2 deletions
diff --git a/tests/dirent_test.cpp b/tests/dirent_test.cpp
index 56929d138..1155a4e90 100644
--- a/tests/dirent_test.cpp
+++ b/tests/dirent_test.cpp
@@ -82,6 +82,7 @@ TEST(dirent, scandir_scandir64) {
}
TEST(dirent, scandirat_scandirat64) {
+#if !defined(MUSL)
// Get everything from /proc/self...
dirent** entries;
int entry_count = scandir("/proc/self", &entries, nullptr, alphasort);
@@ -111,6 +112,9 @@ TEST(dirent, scandirat_scandirat64) {
ASSERT_EQ(name_set, name_set_at64);
ASSERT_EQ(unsorted_name_list, unsorted_name_list_at);
ASSERT_EQ(unsorted_name_list, unsorted_name_list_at64);
+#else
+ GTEST_SKIP() << "musl doesn't have scandirat or scandirat64";
+#endif
}
static int is_version_filter(const dirent* de) {
@@ -140,6 +144,7 @@ TEST(dirent, scandir64_ENOENT) {
}
TEST(dirent, scandirat_ENOENT) {
+#if !defined(MUSL)
int root_fd = open("/", O_DIRECTORY | O_RDONLY);
ASSERT_NE(-1, root_fd);
dirent** entries;
@@ -147,9 +152,13 @@ TEST(dirent, scandirat_ENOENT) {
ASSERT_EQ(-1, scandirat(root_fd, "does-not-exist", &entries, nullptr, nullptr));
ASSERT_EQ(ENOENT, errno);
close(root_fd);
+#else
+ GTEST_SKIP() << "musl doesn't have scandirat or scandirat64";
+#endif
}
TEST(dirent, scandirat64_ENOENT) {
+#if !defined(MUSL)
int root_fd = open("/", O_DIRECTORY | O_RDONLY);
ASSERT_NE(-1, root_fd);
dirent64** entries;
@@ -157,6 +166,9 @@ TEST(dirent, scandirat64_ENOENT) {
ASSERT_EQ(-1, scandirat64(root_fd, "does-not-exist", &entries, nullptr, nullptr));
ASSERT_EQ(ENOENT, errno);
close(root_fd);
+#else
+ GTEST_SKIP() << "musl doesn't have scandirat or scandirat64";
+#endif
}
TEST(dirent, fdopendir_invalid) {
@@ -228,7 +240,7 @@ TEST(dirent, readdir) {
CheckProcSelf(name_set);
}
-TEST(dirent, readdir64) {
+TEST(dirent, readdir64_smoke) {
DIR* d = opendir("/proc/self");
ASSERT_TRUE(d != nullptr);
std::set<std::string> name_set;
@@ -263,7 +275,7 @@ TEST(dirent, readdir_r) {
CheckProcSelf(name_set);
}
-TEST(dirent, readdir64_r) {
+TEST(dirent, readdir64_r_smoke) {
DIR* d = opendir("/proc/self");
ASSERT_TRUE(d != nullptr);
std::set<std::string> name_set;