OLD | NEW |
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2009 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 "net/base/load_log_unittest.h" | 5 #include "net/base/load_log_unittest.h" |
6 #include "net/base/load_log_util.h" | 6 #include "net/base/load_log_util.h" |
7 #include "testing/gtest/include/gtest/gtest.h" | 7 #include "testing/gtest/include/gtest/gtest.h" |
8 | 8 |
9 namespace net { | 9 namespace net { |
10 namespace { | 10 namespace { |
11 | 11 |
12 TEST(LoadLogUtilTest, Basic) { | 12 TEST(LoadLogUtilTest, Basic) { |
13 scoped_refptr<LoadLog> log(new LoadLog); | 13 scoped_refptr<LoadLog> log(new LoadLog(10)); |
14 | 14 |
15 log->Add(MakeTime(1), LoadLog::TYPE_HOST_RESOLVER_IMPL, LoadLog::PHASE_BEGIN); | 15 log->Add(MakeTime(1), LoadLog::TYPE_HOST_RESOLVER_IMPL, LoadLog::PHASE_BEGIN); |
16 log->Add(MakeTime(5), LoadLog::TYPE_HOST_RESOLVER_IMPL_OBSERVER_ONSTART, | 16 log->Add(MakeTime(5), LoadLog::TYPE_HOST_RESOLVER_IMPL_OBSERVER_ONSTART, |
17 LoadLog::PHASE_BEGIN); | 17 LoadLog::PHASE_BEGIN); |
18 log->Add(MakeTime(8), LoadLog::TYPE_HOST_RESOLVER_IMPL_OBSERVER_ONSTART, | 18 log->Add(MakeTime(8), LoadLog::TYPE_HOST_RESOLVER_IMPL_OBSERVER_ONSTART, |
19 LoadLog::PHASE_END); | 19 LoadLog::PHASE_END); |
20 log->Add(MakeTime(12), LoadLog::TYPE_CANCELLED, LoadLog::PHASE_NONE); | 20 log->Add(MakeTime(12), LoadLog::TYPE_CANCELLED, LoadLog::PHASE_NONE); |
21 log->Add(MakeTime(131), LoadLog::TYPE_HOST_RESOLVER_IMPL, LoadLog::PHASE_END); | 21 log->Add(MakeTime(131), LoadLog::TYPE_HOST_RESOLVER_IMPL, LoadLog::PHASE_END); |
22 | 22 |
23 EXPECT_EQ( | 23 EXPECT_EQ( |
24 "t= 1: +HOST_RESOLVER_IMPL [dt=130]\n" | 24 "t= 1: +HOST_RESOLVER_IMPL [dt=130]\n" |
25 "t= 5: +HOST_RESOLVER_IMPL_OBSERVER_ONSTART [dt= 3]\n" | 25 "t= 5: +HOST_RESOLVER_IMPL_OBSERVER_ONSTART [dt= 3]\n" |
26 "t= 8: -HOST_RESOLVER_IMPL_OBSERVER_ONSTART\n" | 26 "t= 8: -HOST_RESOLVER_IMPL_OBSERVER_ONSTART\n" |
27 "t= 12: CANCELLED\n" | 27 "t= 12: CANCELLED\n" |
28 "t=131: -HOST_RESOLVER_IMPL", | 28 "t=131: -HOST_RESOLVER_IMPL", |
29 LoadLogUtil::PrettyPrintAsEventTree(log)); | 29 LoadLogUtil::PrettyPrintAsEventTree(log)); |
30 } | 30 } |
31 | 31 |
32 TEST(LoadLogUtilTest, UnmatchedOpen) { | 32 TEST(LoadLogUtilTest, UnmatchedOpen) { |
33 scoped_refptr<LoadLog> log(new LoadLog); | 33 scoped_refptr<LoadLog> log(new LoadLog(10)); |
34 | 34 |
35 log->Add(MakeTime(3), LoadLog::TYPE_HOST_RESOLVER_IMPL, LoadLog::PHASE_BEGIN); | 35 log->Add(MakeTime(3), LoadLog::TYPE_HOST_RESOLVER_IMPL, LoadLog::PHASE_BEGIN); |
36 // Note that there is no matching call to PHASE_END for all of the following. | 36 // Note that there is no matching call to PHASE_END for all of the following. |
37 log->Add(MakeTime(6), LoadLog::TYPE_HOST_RESOLVER_IMPL_OBSERVER_ONSTART, | 37 log->Add(MakeTime(6), LoadLog::TYPE_HOST_RESOLVER_IMPL_OBSERVER_ONSTART, |
38 LoadLog::PHASE_BEGIN); | 38 LoadLog::PHASE_BEGIN); |
39 log->Add(MakeTime(7), LoadLog::TYPE_HOST_RESOLVER_IMPL_OBSERVER_ONSTART, | 39 log->Add(MakeTime(7), LoadLog::TYPE_HOST_RESOLVER_IMPL_OBSERVER_ONSTART, |
40 LoadLog::PHASE_BEGIN); | 40 LoadLog::PHASE_BEGIN); |
41 log->Add(MakeTime(8), LoadLog::TYPE_HOST_RESOLVER_IMPL_OBSERVER_ONSTART, | 41 log->Add(MakeTime(8), LoadLog::TYPE_HOST_RESOLVER_IMPL_OBSERVER_ONSTART, |
42 LoadLog::PHASE_BEGIN); | 42 LoadLog::PHASE_BEGIN); |
43 log->Add(MakeTime(10), LoadLog::TYPE_CANCELLED, LoadLog::PHASE_NONE); | 43 log->Add(MakeTime(10), LoadLog::TYPE_CANCELLED, LoadLog::PHASE_NONE); |
44 log->Add(MakeTime(16), LoadLog::TYPE_HOST_RESOLVER_IMPL, LoadLog::PHASE_END); | 44 log->Add(MakeTime(16), LoadLog::TYPE_HOST_RESOLVER_IMPL, LoadLog::PHASE_END); |
45 | 45 |
46 EXPECT_EQ( | 46 EXPECT_EQ( |
47 "t= 3: +HOST_RESOLVER_IMPL [dt=13]\n" | 47 "t= 3: +HOST_RESOLVER_IMPL [dt=13]\n" |
48 "t= 6: +HOST_RESOLVER_IMPL_OBSERVER_ONSTART [dt=10]\n" | 48 "t= 6: +HOST_RESOLVER_IMPL_OBSERVER_ONSTART [dt=10]\n" |
49 "t= 7: +HOST_RESOLVER_IMPL_OBSERVER_ONSTART [dt= 9]\n" | 49 "t= 7: +HOST_RESOLVER_IMPL_OBSERVER_ONSTART [dt= 9]\n" |
50 "t= 8: +HOST_RESOLVER_IMPL_OBSERVER_ONSTART [dt= 8]\n" | 50 "t= 8: +HOST_RESOLVER_IMPL_OBSERVER_ONSTART [dt= 8]\n" |
51 "t=10: CANCELLED\n" | 51 "t=10: CANCELLED\n" |
52 "t=16: -HOST_RESOLVER_IMPL", | 52 "t=16: -HOST_RESOLVER_IMPL", |
53 LoadLogUtil::PrettyPrintAsEventTree(log)); | 53 LoadLogUtil::PrettyPrintAsEventTree(log)); |
54 } | 54 } |
55 | 55 |
| 56 TEST(LoadLogUtilTest, DisplayOfTruncated) { |
| 57 size_t kMaxNumEntries = 5; |
| 58 scoped_refptr<LoadLog> log(new LoadLog(kMaxNumEntries)); |
| 59 |
| 60 // Add a total of 10 events. This means that 5 will be truncated. |
| 61 log->Add(MakeTime(0), LoadLog::TYPE_TCP_CONNECT, LoadLog::PHASE_BEGIN); |
| 62 for (size_t i = 1; i < 8; ++i) { |
| 63 log->Add(MakeTime(i), LoadLog::TYPE_CANCELLED, LoadLog::PHASE_NONE); |
| 64 } |
| 65 log->Add(MakeTime(9), LoadLog::TYPE_TCP_CONNECT, LoadLog::PHASE_END); |
| 66 |
| 67 EXPECT_EQ( |
| 68 "t=0: +TCP_CONNECT [dt=9]\n" |
| 69 "t=1: CANCELLED\n" |
| 70 "t=2: CANCELLED\n" |
| 71 "t=3: CANCELLED\n" |
| 72 " ... Truncated 4 entries ...\n" |
| 73 "t=9: -TCP_CONNECT", |
| 74 LoadLogUtil::PrettyPrintAsEventTree(log)); |
| 75 } |
| 76 |
56 } // namespace | 77 } // namespace |
57 } // namespace net | 78 } // namespace net |
OLD | NEW |