| // Copyright 2018 The Fuchsia Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "src/lib/timekeeper/system_clock.h" |
| |
| #include <gtest/gtest.h> |
| |
| namespace timekeeper { |
| |
| namespace { |
| |
| TEST(SystemClockTest, MonotonicClock) { |
| SystemClock clock; |
| |
| auto time1 = clock.Now(); |
| auto time2 = clock.Now(); |
| |
| EXPECT_GE(time2, time1); |
| } |
| |
| TEST(SystemClockTest, UTCClock) { |
| SystemClock clock; |
| |
| zx::time_utc time1; |
| ASSERT_EQ(ZX_OK, clock.Now(&time1)); |
| |
| EXPECT_GT(time1, zx::time_utc(0)); |
| } |
| |
| TEST(SystemClockTest, ThreadClock) { |
| SystemClock clock; |
| |
| zx::time_thread time1, time2; |
| ASSERT_EQ(ZX_OK, clock.Now(&time1)); |
| ASSERT_EQ(ZX_OK, clock.Now(&time2)); |
| |
| EXPECT_GE(time2, time1); |
| } |
| |
| TEST(SystemClockTest, UtcNow) { |
| SystemClock clock; |
| |
| zx::time_utc time1; |
| ASSERT_EQ(ZX_OK, clock.UtcNow(&time1)); |
| |
| EXPECT_GT(time1, zx::time_utc(0)); |
| } |
| |
| } // namespace |
| } // namespace timekeeper |