| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "base/time/time.h" | 5 #include "base/time/time.h" |
| 6 | 6 |
| 7 #include <stdint.h> | 7 #include <stdint.h> |
| 8 #include <time.h> | 8 #include <time.h> |
| 9 #include <limits> | 9 #include <limits> |
| 10 #include <string> | 10 #include <string> |
| (...skipping 672 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 683 HighResClockTest(&TimeTicks::Now); | 683 HighResClockTest(&TimeTicks::Now); |
| 684 } | 684 } |
| 685 | 685 |
| 686 // Fails frequently on Android http://crbug.com/352633 with: | 686 // Fails frequently on Android http://crbug.com/352633 with: |
| 687 // Expected: (delta_thread.InMicroseconds()) > (0), actual: 0 vs 0 | 687 // Expected: (delta_thread.InMicroseconds()) > (0), actual: 0 vs 0 |
| 688 #if defined(OS_ANDROID) | 688 #if defined(OS_ANDROID) |
| 689 #define MAYBE_ThreadNow DISABLED_ThreadNow | 689 #define MAYBE_ThreadNow DISABLED_ThreadNow |
| 690 #else | 690 #else |
| 691 #define MAYBE_ThreadNow ThreadNow | 691 #define MAYBE_ThreadNow ThreadNow |
| 692 #endif | 692 #endif |
| 693 TEST(TimeTicks, MAYBE_ThreadNow) { | 693 TEST(ThreadTicks, MAYBE_ThreadNow) { |
| 694 if (TimeTicks::IsThreadNowSupported()) { | 694 if (ThreadTicks::IsSupported()) { |
| 695 TimeTicks begin = TimeTicks::Now(); | 695 TimeTicks begin = TimeTicks::Now(); |
| 696 TimeTicks begin_thread = TimeTicks::ThreadNow(); | 696 ThreadTicks begin_thread = ThreadTicks::Now(); |
| 697 // Make sure that ThreadNow value is non-zero. | 697 // Make sure that ThreadNow value is non-zero. |
| 698 EXPECT_GT(begin_thread, TimeTicks()); | 698 EXPECT_GT(begin_thread, ThreadTicks()); |
| 699 // Sleep for 10 milliseconds to get the thread de-scheduled. | 699 // Sleep for 10 milliseconds to get the thread de-scheduled. |
| 700 base::PlatformThread::Sleep(base::TimeDelta::FromMilliseconds(10)); | 700 base::PlatformThread::Sleep(base::TimeDelta::FromMilliseconds(10)); |
| 701 TimeTicks end_thread = TimeTicks::ThreadNow(); | 701 ThreadTicks end_thread = ThreadTicks::Now(); |
| 702 TimeTicks end = TimeTicks::Now(); | 702 TimeTicks end = TimeTicks::Now(); |
| 703 TimeDelta delta = end - begin; | 703 TimeDelta delta = end - begin; |
| 704 TimeDelta delta_thread = end_thread - begin_thread; | 704 TimeDelta delta_thread = end_thread - begin_thread; |
| 705 // Make sure that some thread time have elapsed. | 705 // Make sure that some thread time have elapsed. |
| 706 EXPECT_GT(delta_thread.InMicroseconds(), 0); | 706 EXPECT_GT(delta_thread.InMicroseconds(), 0); |
| 707 // But the thread time is at least 9ms less than clock time. | 707 // But the thread time is at least 9ms less than clock time. |
| 708 TimeDelta difference = delta - delta_thread; | 708 TimeDelta difference = delta - delta_thread; |
| 709 EXPECT_GE(difference.InMicroseconds(), 9000); | 709 EXPECT_GE(difference.InMicroseconds(), 9000); |
| 710 } | 710 } |
| 711 } | 711 } |
| 712 | 712 |
| 713 TEST(TimeTicks, NowFromSystemTraceTime) { | 713 TEST(TraceTicks, NowFromSystemTraceTime) { |
| 714 // Re-use HighRes test for now since clock properties are identical. | 714 // Re-use HighRes test for now since clock properties are identical. |
| 715 HighResClockTest(&TimeTicks::NowFromSystemTraceTime); | 715 using NowFunction = TimeTicks (*)(void); |
| 716 HighResClockTest(reinterpret_cast<NowFunction>(&TraceTicks::Now)); |
| 716 } | 717 } |
| 717 | 718 |
| 718 TEST(TimeTicks, SnappedToNextTickBasic) { | 719 TEST(TimeTicks, SnappedToNextTickBasic) { |
| 719 base::TimeTicks phase = base::TimeTicks::FromInternalValue(4000); | 720 base::TimeTicks phase = base::TimeTicks::FromInternalValue(4000); |
| 720 base::TimeDelta interval = base::TimeDelta::FromMicroseconds(1000); | 721 base::TimeDelta interval = base::TimeDelta::FromMicroseconds(1000); |
| 721 base::TimeTicks timestamp; | 722 base::TimeTicks timestamp; |
| 722 | 723 |
| 723 // Timestamp in previous interval. | 724 // Timestamp in previous interval. |
| 724 timestamp = base::TimeTicks::FromInternalValue(3500); | 725 timestamp = base::TimeTicks::FromInternalValue(3500); |
| 725 EXPECT_EQ(4000, | 726 EXPECT_EQ(4000, |
| (...skipping 367 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1093 | 1094 |
| 1094 TEST(TimeTicksLogging, DoesNotMakeStreamBad) { | 1095 TEST(TimeTicksLogging, DoesNotMakeStreamBad) { |
| 1095 std::ostringstream oss; | 1096 std::ostringstream oss; |
| 1096 oss << TimeTicks(); | 1097 oss << TimeTicks(); |
| 1097 EXPECT_TRUE(oss.good()); | 1098 EXPECT_TRUE(oss.good()); |
| 1098 } | 1099 } |
| 1099 | 1100 |
| 1100 } // namespace | 1101 } // namespace |
| 1101 | 1102 |
| 1102 } // namespace base | 1103 } // namespace base |
| OLD | NEW |