Chromium Code Reviews| 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 <time.h> | 7 #include <time.h> |
| 8 | 8 |
| 9 #include "base/compiler_specific.h" | 9 #include "base/compiler_specific.h" |
| 10 #include "base/logging.h" | 10 #include "base/logging.h" |
| (...skipping 621 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 632 } | 632 } |
| 633 | 633 |
| 634 TEST(TimeTicks, HighResNow) { | 634 TEST(TimeTicks, HighResNow) { |
| 635 HighResClockTest(&TimeTicks::HighResNow); | 635 HighResClockTest(&TimeTicks::HighResNow); |
| 636 } | 636 } |
| 637 | 637 |
| 638 TEST(TimeTicks, ThreadNow) { | 638 TEST(TimeTicks, ThreadNow) { |
| 639 if (TimeTicks::IsThreadNowSupported()) { | 639 if (TimeTicks::IsThreadNowSupported()) { |
| 640 TimeTicks begin = TimeTicks::Now(); | 640 TimeTicks begin = TimeTicks::Now(); |
| 641 TimeTicks begin_thread = TimeTicks::ThreadNow(); | 641 TimeTicks begin_thread = TimeTicks::ThreadNow(); |
| 642 // Sleep for 10 milliseconds to get the thread de-scheduled | 642 // Make sure that ThreadNow value is non-zero. |
| 643 EXPECT_GT(begin_thread, TimeTicks()); | |
| 644 // Sleep for 10 milliseconds to get the thread de-scheduled. | |
| 643 base::PlatformThread::Sleep(base::TimeDelta::FromMilliseconds(10)); | 645 base::PlatformThread::Sleep(base::TimeDelta::FromMilliseconds(10)); |
| 644 TimeTicks end_thread = TimeTicks::ThreadNow(); | 646 TimeTicks end_thread = TimeTicks::ThreadNow(); |
| 645 TimeTicks end = TimeTicks::Now(); | 647 TimeTicks end = TimeTicks::Now(); |
| 646 TimeDelta delta = end - begin; | 648 TimeDelta delta = end - begin; |
| 647 TimeDelta delta_thread = end_thread - begin_thread; | 649 TimeDelta delta_thread = end_thread - begin_thread; |
| 650 // Make sure that some thread time have elapsed. | |
|
Nico
2013/11/05 23:20:06
s/have/has/
| |
| 651 EXPECT_GT(delta_thread.InMicroseconds(), 0); | |
| 652 // But the thread time is at least 9ms less than clock time. | |
| 648 TimeDelta difference = delta - delta_thread; | 653 TimeDelta difference = delta - delta_thread; |
| 649 EXPECT_GE(difference.InMicroseconds(), 9000); | 654 EXPECT_GE(difference.InMicroseconds(), 9000); |
| 650 } | 655 } |
| 651 } | 656 } |
| 652 | 657 |
| 653 TEST(TimeTicks, NowFromSystemTraceTime) { | 658 TEST(TimeTicks, NowFromSystemTraceTime) { |
| 654 // Re-use HighResNow test for now since clock properties are identical. | 659 // Re-use HighResNow test for now since clock properties are identical. |
| 655 HighResClockTest(&TimeTicks::NowFromSystemTraceTime); | 660 HighResClockTest(&TimeTicks::NowFromSystemTraceTime); |
| 656 } | 661 } |
| 657 | 662 |
| (...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 706 exploded.minute = 0; | 711 exploded.minute = 0; |
| 707 exploded.second = 0; | 712 exploded.second = 0; |
| 708 exploded.millisecond = 0; | 713 exploded.millisecond = 0; |
| 709 Time t = Time::FromUTCExploded(exploded); | 714 Time t = Time::FromUTCExploded(exploded); |
| 710 // Unix 1970 epoch. | 715 // Unix 1970 epoch. |
| 711 EXPECT_EQ(GG_INT64_C(11644473600000000), t.ToInternalValue()); | 716 EXPECT_EQ(GG_INT64_C(11644473600000000), t.ToInternalValue()); |
| 712 | 717 |
| 713 // We can't test 1601 epoch, since the system time functions on Linux | 718 // We can't test 1601 epoch, since the system time functions on Linux |
| 714 // only compute years starting from 1900. | 719 // only compute years starting from 1900. |
| 715 } | 720 } |
| OLD | NEW |