diff options
author | Josh Gao <jmgao@google.com> | 2017-04-28 12:39:48 -0700 |
---|---|---|
committer | Josh Gao <jmgao@google.com> | 2017-04-28 13:00:00 -0700 |
commit | ae29339ca138648eeaee68f801feb02d85ee2abf (patch) | |
tree | fae72a160e4812f326207e25b40a167980d649fd /base/chrono_utils_test.cpp | |
parent | 263e1e95093b9f66b7d62cbd622e09b6a8b9252f (diff) |
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
Diffstat (limited to 'base/chrono_utils_test.cpp')
-rw-r--r-- | base/chrono_utils_test.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/base/chrono_utils_test.cpp b/base/chrono_utils_test.cpp index 057132d9f9..1f1ce15b16 100644 --- a/base/chrono_utils_test.cpp +++ b/base/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 @@ TEST(ChronoUtilsTest, BootClockNowSeconds) { 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 |