base: make boot_clock work on host linux, hide it on non-linux.
boot_clock was previously returning zero on any platform that doesn't
define __ANDROID__, including host bionic. Instead of returning a bogus
value, just hide it on non-Linux platforms.
Bug: http://b/37758947
Test: libbase_test32/64 on linux
Change-Id: I96e1d8b92dc44c6308408900cf0d27e1e7db5569
diff --git a/chrono_utils_test.cpp b/chrono_utils_test.cpp
index 057132d..1f1ce15 100644
--- a/chrono_utils_test.cpp
+++ b/chrono_utils_test.cpp
@@ -16,6 +16,7 @@
#include "android-base/chrono_utils.h"
+#include <err.h>
#include <time.h>
#include <chrono>
@@ -25,9 +26,12 @@
namespace android {
namespace base {
+#if defined(__linux__)
std::chrono::seconds GetBootTimeSeconds() {
struct timespec now;
- clock_gettime(CLOCK_BOOTTIME, &now);
+ if (clock_gettime(CLOCK_BOOTTIME, &now) != 0) {
+ err(1, "clock_gettime failed");
+ }
auto now_tp = boot_clock::time_point(std::chrono::seconds(now.tv_sec) +
std::chrono::nanoseconds(now.tv_nsec));
@@ -41,6 +45,7 @@
std::chrono::duration_cast<std::chrono::seconds>(boot_clock::now().time_since_epoch());
EXPECT_EQ(now, boot_seconds);
}
+#endif // defined(__linux__)
} // namespace base
-} // namespace android
\ No newline at end of file
+} // namespace android