OLD | NEW |
| (Empty) |
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 | |
3 // found in the LICENSE file. | |
4 | |
5 #include "net/base/load_log_unittest.h" | |
6 #include "net/base/load_log_util.h" | |
7 #include "net/base/net_errors.h" | |
8 #include "testing/gtest/include/gtest/gtest.h" | |
9 | |
10 namespace net { | |
11 namespace { | |
12 | |
13 TEST(LoadLogUtilTest, Basic) { | |
14 scoped_refptr<LoadLog> log(new LoadLog(10)); | |
15 | |
16 log->Add(LoadLog::Entry(MakeTime(1), | |
17 LoadLog::Event(LoadLog::TYPE_HOST_RESOLVER_IMPL, | |
18 LoadLog::PHASE_BEGIN))); | |
19 log->Add( | |
20 LoadLog::Entry( | |
21 MakeTime(5), | |
22 LoadLog::Event(LoadLog::TYPE_HOST_RESOLVER_IMPL_OBSERVER_ONSTART, | |
23 LoadLog::PHASE_BEGIN))); | |
24 log->Add( | |
25 LoadLog::Entry( | |
26 MakeTime(8), | |
27 LoadLog::Event(LoadLog::TYPE_HOST_RESOLVER_IMPL_OBSERVER_ONSTART, | |
28 LoadLog::PHASE_END))); | |
29 | |
30 log->Add(LoadLog::Entry(MakeTime(12), | |
31 LoadLog::Event(LoadLog::TYPE_CANCELLED, | |
32 LoadLog::PHASE_NONE))); | |
33 | |
34 log->Add(LoadLog::Entry(MakeTime(131), | |
35 LoadLog::Event(LoadLog::TYPE_HOST_RESOLVER_IMPL, | |
36 LoadLog::PHASE_END))); | |
37 | |
38 EXPECT_EQ( | |
39 "t= 1: +HOST_RESOLVER_IMPL [dt=130]\n" | |
40 "t= 5: HOST_RESOLVER_IMPL_OBSERVER_ONSTART [dt= 3]\n" | |
41 "t= 12: CANCELLED\n" | |
42 "t=131: -HOST_RESOLVER_IMPL", | |
43 LoadLogUtil::PrettyPrintAsEventTree(log)); | |
44 } | |
45 | |
46 TEST(LoadLogUtilTest, Basic2) { | |
47 scoped_refptr<LoadLog> log(new LoadLog(10)); | |
48 | |
49 log->Add(LoadLog::Entry(MakeTime(1), | |
50 LoadLog::Event(LoadLog::TYPE_HOST_RESOLVER_IMPL, | |
51 LoadLog::PHASE_BEGIN))); | |
52 | |
53 log->Add(LoadLog::Entry(MakeTime(12), "Sup foo")); | |
54 log->Add(LoadLog::Entry(MakeTime(12), ERR_UNEXPECTED)); | |
55 log->Add(LoadLog::Entry(MakeTime(14), "Multiline\nString")); | |
56 | |
57 log->Add(LoadLog::Entry(MakeTime(131), | |
58 LoadLog::Event(LoadLog::TYPE_HOST_RESOLVER_IMPL, | |
59 LoadLog::PHASE_END))); | |
60 | |
61 EXPECT_EQ( | |
62 "t= 1: +HOST_RESOLVER_IMPL [dt=130]\n" | |
63 "t= 12: \"Sup foo\"\n" | |
64 "t= 12: error code: -9 (net::ERR_UNEXPECTED)\n" | |
65 "t= 14: \"Multiline\n" | |
66 "String\"\n" | |
67 "t=131: -HOST_RESOLVER_IMPL", | |
68 LoadLogUtil::PrettyPrintAsEventTree(log)); | |
69 } | |
70 | |
71 TEST(LoadLogUtilTest, UnmatchedOpen) { | |
72 scoped_refptr<LoadLog> log(new LoadLog(10)); | |
73 | |
74 log->Add(LoadLog::Entry(MakeTime(3), | |
75 LoadLog::Event(LoadLog::TYPE_HOST_RESOLVER_IMPL, | |
76 LoadLog::PHASE_BEGIN))); | |
77 // Note that there is no matching call to PHASE_END for all of the following. | |
78 log->Add( | |
79 LoadLog::Entry( | |
80 MakeTime(6), | |
81 LoadLog::Event(LoadLog::TYPE_HOST_RESOLVER_IMPL_OBSERVER_ONSTART, | |
82 LoadLog::PHASE_BEGIN))); | |
83 log->Add( | |
84 LoadLog::Entry( | |
85 MakeTime(7), | |
86 LoadLog::Event(LoadLog::TYPE_HOST_RESOLVER_IMPL_OBSERVER_ONSTART, | |
87 LoadLog::PHASE_BEGIN))); | |
88 log->Add( | |
89 LoadLog::Entry( | |
90 MakeTime(8), | |
91 LoadLog::Event(LoadLog::TYPE_HOST_RESOLVER_IMPL_OBSERVER_ONSTART, | |
92 LoadLog::PHASE_BEGIN))); | |
93 log->Add(LoadLog::Entry(MakeTime(10), | |
94 LoadLog::Event(LoadLog::TYPE_CANCELLED, | |
95 LoadLog::PHASE_NONE))); | |
96 log->Add(LoadLog::Entry(MakeTime(16), | |
97 LoadLog::Event(LoadLog::TYPE_HOST_RESOLVER_IMPL, | |
98 LoadLog::PHASE_END))); | |
99 | |
100 EXPECT_EQ( | |
101 "t= 3: +HOST_RESOLVER_IMPL [dt=13]\n" | |
102 "t= 6: +HOST_RESOLVER_IMPL_OBSERVER_ONSTART [dt=10]\n" | |
103 "t= 7: +HOST_RESOLVER_IMPL_OBSERVER_ONSTART [dt= 9]\n" | |
104 "t= 8: +HOST_RESOLVER_IMPL_OBSERVER_ONSTART [dt= 8]\n" | |
105 "t=10: CANCELLED\n" | |
106 "t=16: -HOST_RESOLVER_IMPL", | |
107 LoadLogUtil::PrettyPrintAsEventTree(log)); | |
108 } | |
109 | |
110 TEST(LoadLogUtilTest, DisplayOfTruncated) { | |
111 size_t kMaxNumEntries = 5; | |
112 scoped_refptr<LoadLog> log(new LoadLog(kMaxNumEntries)); | |
113 | |
114 // Add a total of 10 events. This means that 5 will be truncated. | |
115 log->Add(LoadLog::Entry(MakeTime(0), | |
116 LoadLog::Event(LoadLog::TYPE_TCP_CONNECT, | |
117 LoadLog::PHASE_BEGIN))); | |
118 for (size_t i = 1; i < 8; ++i) { | |
119 log->Add(LoadLog::Entry(MakeTime(i), | |
120 LoadLog::Event(LoadLog::TYPE_CANCELLED, | |
121 LoadLog::PHASE_NONE))); | |
122 } | |
123 log->Add(LoadLog::Entry(MakeTime(9), | |
124 LoadLog::Event(LoadLog::TYPE_TCP_CONNECT, | |
125 LoadLog::PHASE_END))); | |
126 | |
127 EXPECT_EQ( | |
128 "t=0: +TCP_CONNECT [dt=9]\n" | |
129 "t=1: CANCELLED\n" | |
130 "t=2: CANCELLED\n" | |
131 "t=3: CANCELLED\n" | |
132 " ... Truncated 4 entries ...\n" | |
133 "t=9: -TCP_CONNECT", | |
134 LoadLogUtil::PrettyPrintAsEventTree(log)); | |
135 } | |
136 | |
137 } // namespace | |
138 } // namespace net | |
OLD | NEW |