sleep/usleep: switch to trivial implementations.

Upstream keeps rearranging the deckchairs for these, so let's just
switch to the [roughly] one-liners rather than track that...

Test: treehugger
Change-Id: If655cf7a7f316657de44d41fadd43a8c55ee6f23
diff --git a/tests/unistd_test.cpp b/tests/unistd_test.cpp
index 10c1710..99d92e6 100644
--- a/tests/unistd_test.cpp
+++ b/tests/unistd_test.cpp
@@ -33,6 +33,8 @@
 #include <sys/wait.h>
 #include <unistd.h>
 
+#include <chrono>
+
 #include <android-base/file.h>
 #include <android-base/strings.h>
 
@@ -46,6 +48,8 @@
 #define UNISTD_DEATHTEST unistd_DeathTest
 #endif
 
+using namespace std::chrono_literals;
+
 static void* get_brk() {
   return sbrk(0);
 }
@@ -1516,3 +1520,17 @@
   swab("hello", buf, -1);
   ASSERT_EQ('x', buf[0]);
 }
+
+TEST(UNISTD_TEST, usleep) {
+  auto t0 = std::chrono::steady_clock::now();
+  ASSERT_EQ(0, usleep(5000));
+  auto t1 = std::chrono::steady_clock::now();
+  ASSERT_GE(t1-t0, 5000us);
+}
+
+TEST(UNISTD_TEST, sleep) {
+  auto t0 = std::chrono::steady_clock::now();
+  ASSERT_EQ(0U, sleep(1));
+  auto t1 = std::chrono::steady_clock::now();
+  ASSERT_GE(t1-t0, 1s);
+}