OLD | NEW |
| (Empty) |
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 | |
3 // found in the LICENSE file. | |
4 | |
5 #include "net/tools/quic/quic_epoll_clock.h" | |
6 | |
7 #include "net/tools/quic/test_tools/mock_epoll_server.h" | |
8 #include "testing/gmock/include/gmock/gmock.h" | |
9 | |
10 namespace net { | |
11 namespace tools { | |
12 namespace test { | |
13 | |
14 TEST(QuicEpollClockTest, ApproximateNowInUsec) { | |
15 MockEpollServer epoll_server; | |
16 QuicEpollClock clock(&epoll_server); | |
17 | |
18 epoll_server.set_now_in_usec(1000000); | |
19 EXPECT_EQ(1000000, | |
20 clock.ApproximateNow().Subtract(QuicTime::Zero()).ToMicroseconds()); | |
21 | |
22 epoll_server.AdvanceBy(5); | |
23 EXPECT_EQ(1000005, | |
24 clock.ApproximateNow().Subtract(QuicTime::Zero()).ToMicroseconds()); | |
25 } | |
26 | |
27 TEST(QuicEpollClockTest, NowInUsec) { | |
28 MockEpollServer epoll_server; | |
29 QuicEpollClock clock(&epoll_server); | |
30 | |
31 epoll_server.set_now_in_usec(1000000); | |
32 EXPECT_EQ(1000000, | |
33 clock.Now().Subtract(QuicTime::Zero()).ToMicroseconds()); | |
34 | |
35 epoll_server.AdvanceBy(5); | |
36 EXPECT_EQ(1000005, | |
37 clock.Now().Subtract(QuicTime::Zero()).ToMicroseconds()); | |
38 } | |
39 | |
40 TEST(QuicEpollClockTest, WallNow) { | |
41 MockEpollServer epoll_server; | |
42 QuicEpollClock clock(&epoll_server); | |
43 | |
44 base::Time start = base::Time::Now(); | |
45 QuicWallTime now = clock.WallNow(); | |
46 base::Time end = base::Time::Now(); | |
47 | |
48 // If end > start, then we can check now is between start and end. | |
49 if (end > start) { | |
50 EXPECT_LE(static_cast<uint64>(start.ToTimeT()), now.ToUNIXSeconds()); | |
51 EXPECT_LE(now.ToUNIXSeconds(), static_cast<uint64>(end.ToTimeT())); | |
52 } | |
53 } | |
54 | |
55 } // namespace test | |
56 } // namespace tools | |
57 } // namespace net | |
OLD | NEW |