Index: base/time_unittest.cc |
diff --git a/base/time_unittest.cc b/base/time_unittest.cc |
index 9823147a33dac223d224726b3c988676cf8e7be6..b4b166be75ee1c9deaeab9bcb07b09f4ab7e1eaa 100644 |
--- a/base/time_unittest.cc |
+++ b/base/time_unittest.cc |
@@ -464,7 +464,7 @@ TEST(TimeTicks, Deltas) { |
} |
} |
-TEST(TimeTicks, HighResNow) { |
+static void HighResClockTest(TimeTicks (*GetTicks)()) { |
#if defined(OS_WIN) |
// HighResNow doesn't work on some systems. Since the product still works |
// even if it doesn't work, it makes this entire test questionable. |
@@ -486,12 +486,12 @@ TEST(TimeTicks, HighResNow) { |
int retries = 100; // Arbitrary. |
TimeDelta delta; |
while (!success && retries--) { |
- TimeTicks ticks_start = TimeTicks::HighResNow(); |
+ TimeTicks ticks_start = GetTicks(); |
// Loop until we can detect that the clock has changed. Non-HighRes timers |
// will increment in chunks, e.g. 15ms. By spinning until we see a clock |
// change, we detect the minimum time between measurements. |
do { |
- delta = TimeTicks::HighResNow() - ticks_start; |
+ delta = GetTicks() - ticks_start; |
} while (delta.InMilliseconds() == 0); |
if (delta.InMicroseconds() <= kTargetGranularityUs) |
@@ -503,6 +503,15 @@ TEST(TimeTicks, HighResNow) { |
EXPECT_TRUE(success); |
} |
+TEST(TimeTicks, HighResNow) { |
+ HighResClockTest(&TimeTicks::HighResNow); |
+} |
+ |
+TEST(TimeTicks, NowFromSystemTraceTime) { |
+ // Re-use HighResNow test for now since clock properties are identical. |
+ HighResClockTest(&TimeTicks::NowFromSystemTraceTime); |
+} |
+ |
TEST(TimeDelta, FromAndIn) { |
EXPECT_TRUE(TimeDelta::FromDays(2) == TimeDelta::FromHours(48)); |
EXPECT_TRUE(TimeDelta::FromHours(3) == TimeDelta::FromMinutes(180)); |