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/dirent_test.cpp b/tests/dirent_test.cpp
index 56929d1..1155a4e 100644
--- a/tests/dirent_test.cpp
+++ b/tests/dirent_test.cpp
@@ -82,6 +82,7 @@
 }
 
 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 @@
   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, scandirat_ENOENT) {
+#if !defined(MUSL)
   int root_fd = open("/", O_DIRECTORY | O_RDONLY);
   ASSERT_NE(-1, root_fd);
   dirent** entries;
@@ -147,9 +152,13 @@
   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 @@
   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 @@
   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 @@
   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;