Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(140)

Side by Side Diff: base/time/time_unittest.cc

Issue 1122153002: Fixit: Fork base::TimeTicks --> TimeTicks + ThreadTicks + TraceTicks (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@FIXIT_timeclasses_1of2
Patch Set: REBASE after it passed CQ but did not commit to tree Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « base/time/time_posix.cc ('k') | base/time/time_win.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
OLDNEW
« no previous file with comments | « base/time/time_posix.cc ('k') | base/time/time_win.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698