aboutsummaryrefslogtreecommitdiff
path: root/tests/unistd_test.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/unistd_test.cpp')
-rw-r--r--tests/unistd_test.cpp38
1 files changed, 7 insertions, 31 deletions
diff --git a/tests/unistd_test.cpp b/tests/unistd_test.cpp
index 6d7e6878f..7d1e6128b 100644
--- a/tests/unistd_test.cpp
+++ b/tests/unistd_test.cpp
@@ -183,7 +183,7 @@ TEST(UNISTD_TEST, truncate) {
ASSERT_EQ(123, sb.st_size);
}
-TEST(UNISTD_TEST, truncate64_smoke) {
+TEST(UNISTD_TEST, truncate64) {
TemporaryFile tf;
ASSERT_EQ(0, close(tf.fd));
ASSERT_EQ(0, truncate64(tf.path, 123));
@@ -203,7 +203,7 @@ TEST(UNISTD_TEST, ftruncate) {
ASSERT_EQ(123, sb.st_size);
}
-TEST(UNISTD_TEST, ftruncate64_smoke) {
+TEST(UNISTD_TEST, ftruncate64) {
TemporaryFile tf;
ASSERT_EQ(0, ftruncate64(tf.fd, 123));
ASSERT_EQ(0, close(tf.fd));
@@ -688,9 +688,9 @@ __attribute__((noinline)) static void HwasanVforkTestChild() {
__attribute__((noinline)) static void HwasanReadMemory(const char* p, size_t size) {
// Read memory byte-by-byte. This will blow up if the pointer tag in p does not match any memory
// tag in [p, p+size).
- char z;
+ volatile char z;
for (size_t i = 0; i < size; ++i) {
- DoNotOptimize(z = p[i]);
+ z = p[i];
}
}
@@ -739,7 +739,7 @@ TEST(UNISTD_TEST, gethostname) {
// Does uname(2) agree?
utsname buf;
ASSERT_EQ(0, uname(&buf));
- ASSERT_EQ(0, strncmp(hostname, buf.nodename, sizeof(buf.nodename)));
+ ASSERT_EQ(0, strncmp(hostname, buf.nodename, SYS_NMLN));
ASSERT_GT(strlen(hostname), 0U);
// Do we correctly detect truncation?
@@ -852,9 +852,7 @@ TEST(UNISTD_TEST, _POSIX_options) {
EXPECT_EQ(_POSIX_VERSION, _POSIX_MONOTONIC_CLOCK);
#endif
EXPECT_GT(_POSIX_NO_TRUNC, 0);
-#if !defined(ANDROID_HOST_MUSL)
EXPECT_EQ(_POSIX_VERSION, _POSIX_PRIORITY_SCHEDULING);
-#endif
EXPECT_EQ(_POSIX_VERSION, _POSIX_RAW_SOCKETS);
EXPECT_EQ(_POSIX_VERSION, _POSIX_READER_WRITER_LOCKS);
EXPECT_EQ(_POSIX_VERSION, _POSIX_REALTIME_SIGNALS);
@@ -863,10 +861,8 @@ TEST(UNISTD_TEST, _POSIX_options) {
EXPECT_EQ(_POSIX_VERSION, _POSIX_SEMAPHORES);
EXPECT_GT(_POSIX_SHELL, 0);
EXPECT_EQ(_POSIX_VERSION, _POSIX_SPAWN);
-#if !defined(ANDROID_HOST_MUSL)
EXPECT_EQ(-1, _POSIX_SPORADIC_SERVER);
EXPECT_EQ(_POSIX_VERSION, _POSIX_SYNCHRONIZED_IO);
-#endif
EXPECT_EQ(_POSIX_VERSION, _POSIX_THREADS);
EXPECT_EQ(_POSIX_VERSION, _POSIX_THREAD_ATTR_STACKADDR);
EXPECT_EQ(_POSIX_VERSION, _POSIX_THREAD_ATTR_STACKSIZE);
@@ -875,37 +871,27 @@ TEST(UNISTD_TEST, _POSIX_options) {
#endif
EXPECT_EQ(_POSIX_VERSION, _POSIX_THREAD_PRIORITY_SCHEDULING);
EXPECT_EQ(_POSIX_VERSION, _POSIX_THREAD_PROCESS_SHARED);
-#if !defined(ANDROID_HOST_MUSL)
EXPECT_EQ(-1, _POSIX_THREAD_ROBUST_PRIO_PROTECT);
-#endif
EXPECT_EQ(_POSIX_VERSION, _POSIX_THREAD_SAFE_FUNCTIONS);
-#if !defined(ANDROID_HOST_MUSL)
EXPECT_EQ(-1, _POSIX_THREAD_SPORADIC_SERVER);
-#endif
EXPECT_EQ(_POSIX_VERSION, _POSIX_TIMEOUTS);
EXPECT_EQ(_POSIX_VERSION, _POSIX_TIMERS);
-#if !defined(ANDROID_HOST_MUSL)
EXPECT_EQ(-1, _POSIX_TRACE);
EXPECT_EQ(-1, _POSIX_TRACE_EVENT_FILTER);
EXPECT_EQ(-1, _POSIX_TRACE_INHERIT);
EXPECT_EQ(-1, _POSIX_TRACE_LOG);
EXPECT_EQ(-1, _POSIX_TYPED_MEMORY_OBJECTS);
-#endif
EXPECT_NE(-1, _POSIX_VDISABLE);
EXPECT_EQ(_POSIX_VERSION, _POSIX2_VERSION);
EXPECT_EQ(_POSIX_VERSION, _POSIX2_C_BIND);
-#if !defined(ANDROID_HOST_MUSL)
EXPECT_EQ(_POSIX_VERSION, _POSIX2_CHAR_TERM);
-#endif
EXPECT_EQ(700, _XOPEN_VERSION);
EXPECT_EQ(1, _XOPEN_ENH_I18N);
-#if !defined(ANDROID_HOST_MUSL)
EXPECT_EQ(1, _XOPEN_REALTIME);
EXPECT_EQ(1, _XOPEN_REALTIME_THREADS);
EXPECT_EQ(1, _XOPEN_SHM);
-#endif
EXPECT_EQ(1, _XOPEN_UNIX);
#if defined(__BIONIC__)
@@ -1529,21 +1515,11 @@ TEST(UNISTD_TEST, execvp_libcore_test_55017) {
}
TEST(UNISTD_TEST, exec_argv0_null) {
- // http://b/33276926 and http://b/227498625.
- //
- // With old kernels, bionic will see the null pointer and use "<unknown>" but
- // with new (5.18+) kernels, the kernel will already have substituted the
- // empty string, so we don't make any assertion here about what (if anything)
- // comes before the first ':'.
- //
- // If this ever causes trouble, we could change bionic to replace _either_ the
- // null pointer or the empty string. We could also use the actual name from
- // readlink() on /proc/self/exe if we ever had reason to disallow programs
- // from trying to hide like this.
+ // http://b/33276926
char* args[] = {nullptr};
char* envs[] = {nullptr};
ASSERT_EXIT(execve("/system/bin/run-as", args, envs), testing::ExitedWithCode(1),
- ": usage: run-as");
+ "<unknown>: usage: run-as");
}
TEST(UNISTD_TEST, fexecve_failure) {