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

Side by Side Diff: net/base/net_log_util_unittest.cc

Issue 848006: Generalize the net module's LoadLog facility from a passive container, to an event stream (NetLog). (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Split up RequestTracker into ConnectJobTracker+RequestTracker+RequestTrackerBase, address comments Created 10 years, 9 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 | Annotate | Revision Log
« no previous file with comments | « net/base/net_log_util.cc ('k') | net/ftp/ftp_network_transaction.h » ('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) 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/net_log_unittest.h"
6 #include "net/base/load_log_util.h" 6 #include "net/base/net_log_util.h"
7 #include "net/base/net_errors.h" 7 #include "net/base/net_errors.h"
8 #include "testing/gtest/include/gtest/gtest.h" 8 #include "testing/gtest/include/gtest/gtest.h"
9 9
10 namespace net { 10 namespace net {
11 namespace { 11 namespace {
12 12
13 TEST(LoadLogUtilTest, Basic) { 13 NetLog::Entry MakeEventEntry(int t,
14 scoped_refptr<LoadLog> log(new LoadLog(10)); 14 NetLog::EventType event_type,
15 NetLog::EventPhase event_phase) {
16 NetLog::Entry entry;
17 entry.type = NetLog::Entry::TYPE_EVENT;
18 entry.time = MakeTime(t);
19 entry.event = NetLog::Event(event_type, event_phase);
20 return entry;
21 }
15 22
16 log->Add(LoadLog::Entry(MakeTime(1), 23 NetLog::Entry MakeStringEntry(int t, const std::string& string) {
17 LoadLog::Event(LoadLog::TYPE_HOST_RESOLVER_IMPL, 24 NetLog::Entry entry;
18 LoadLog::PHASE_BEGIN))); 25 entry.type = NetLog::Entry::TYPE_STRING;
19 log->Add( 26 entry.time = MakeTime(t);
20 LoadLog::Entry( 27 entry.string = string;
21 MakeTime(5), 28 return entry;
22 LoadLog::Event(LoadLog::TYPE_HOST_RESOLVER_IMPL_OBSERVER_ONSTART, 29 }
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
30 log->Add(LoadLog::Entry(MakeTime(12), 31 NetLog::Entry MakeErrorCodeEntry(int t, int error_code) {
31 LoadLog::Event(LoadLog::TYPE_CANCELLED, 32 NetLog::Entry entry;
32 LoadLog::PHASE_NONE))); 33 entry.type = NetLog::Entry::TYPE_ERROR_CODE;
34 entry.time = MakeTime(t);
35 entry.error_code = error_code;
36 return entry;
37 }
33 38
34 log->Add(LoadLog::Entry(MakeTime(131), 39 TEST(NetLogUtilTest, Basic) {
35 LoadLog::Event(LoadLog::TYPE_HOST_RESOLVER_IMPL, 40 std::vector<NetLog::Entry> log;
36 LoadLog::PHASE_END))); 41
42 log.push_back(MakeEventEntry(1, NetLog::TYPE_HOST_RESOLVER_IMPL,
43 NetLog::PHASE_BEGIN));
44 log.push_back(
45 MakeEventEntry(5, NetLog::TYPE_HOST_RESOLVER_IMPL_OBSERVER_ONSTART,
46 NetLog::PHASE_BEGIN));
47 log.push_back(
48 MakeEventEntry(8, NetLog::TYPE_HOST_RESOLVER_IMPL_OBSERVER_ONSTART,
49 NetLog::PHASE_END));
50
51 log.push_back(MakeEventEntry(12, NetLog::TYPE_CANCELLED,
52 NetLog::PHASE_NONE));
53
54 log.push_back(MakeEventEntry(131, NetLog::TYPE_HOST_RESOLVER_IMPL,
55 NetLog::PHASE_END));
37 56
38 EXPECT_EQ( 57 EXPECT_EQ(
39 "t= 1: +HOST_RESOLVER_IMPL [dt=130]\n" 58 "t= 1: +HOST_RESOLVER_IMPL [dt=130]\n"
40 "t= 5: HOST_RESOLVER_IMPL_OBSERVER_ONSTART [dt= 3]\n" 59 "t= 5: HOST_RESOLVER_IMPL_OBSERVER_ONSTART [dt= 3]\n"
41 "t= 12: CANCELLED\n" 60 "t= 12: CANCELLED\n"
42 "t=131: -HOST_RESOLVER_IMPL", 61 "t=131: -HOST_RESOLVER_IMPL",
43 LoadLogUtil::PrettyPrintAsEventTree(log)); 62 NetLogUtil::PrettyPrintAsEventTree(log, 0));
44 } 63 }
45 64
46 TEST(LoadLogUtilTest, Basic2) { 65 TEST(NetLogUtilTest, Basic2) {
47 scoped_refptr<LoadLog> log(new LoadLog(10)); 66 std::vector<NetLog::Entry> log;
48 67
49 log->Add(LoadLog::Entry(MakeTime(1), 68 log.push_back(MakeEventEntry(1, NetLog::TYPE_HOST_RESOLVER_IMPL,
50 LoadLog::Event(LoadLog::TYPE_HOST_RESOLVER_IMPL, 69 NetLog::PHASE_BEGIN));
51 LoadLog::PHASE_BEGIN)));
52 70
53 log->Add(LoadLog::Entry(MakeTime(12), "Sup foo")); 71 log.push_back(MakeStringEntry(12, "Sup foo"));
54 log->Add(LoadLog::Entry(MakeTime(12), ERR_UNEXPECTED)); 72 log.push_back(MakeErrorCodeEntry(12, ERR_UNEXPECTED));
55 log->Add(LoadLog::Entry(MakeTime(14), "Multiline\nString")); 73 log.push_back(MakeStringEntry(14, "Multiline\nString"));
56 74
57 log->Add(LoadLog::Entry(MakeTime(131), 75 log.push_back(MakeEventEntry(131, NetLog::TYPE_HOST_RESOLVER_IMPL,
58 LoadLog::Event(LoadLog::TYPE_HOST_RESOLVER_IMPL, 76 NetLog::PHASE_END));
59 LoadLog::PHASE_END)));
60 77
61 EXPECT_EQ( 78 EXPECT_EQ(
62 "t= 1: +HOST_RESOLVER_IMPL [dt=130]\n" 79 "t= 1: +HOST_RESOLVER_IMPL [dt=130]\n"
63 "t= 12: \"Sup foo\"\n" 80 "t= 12: \"Sup foo\"\n"
64 "t= 12: error code: -9 (net::ERR_UNEXPECTED)\n" 81 "t= 12: error code: -9 (net::ERR_UNEXPECTED)\n"
65 "t= 14: \"Multiline\n" 82 "t= 14: \"Multiline\n"
66 "String\"\n" 83 "String\"\n"
67 "t=131: -HOST_RESOLVER_IMPL", 84 "t=131: -HOST_RESOLVER_IMPL",
68 LoadLogUtil::PrettyPrintAsEventTree(log)); 85 NetLogUtil::PrettyPrintAsEventTree(log, 0));
69 } 86 }
70 87
71 TEST(LoadLogUtilTest, UnmatchedOpen) { 88 TEST(NetLogUtilTest, UnmatchedOpen) {
72 scoped_refptr<LoadLog> log(new LoadLog(10)); 89 std::vector<NetLog::Entry> log;
73 90
74 log->Add(LoadLog::Entry(MakeTime(3), 91 log.push_back(MakeEventEntry(3, NetLog::TYPE_HOST_RESOLVER_IMPL,
75 LoadLog::Event(LoadLog::TYPE_HOST_RESOLVER_IMPL, 92 NetLog::PHASE_BEGIN));
76 LoadLog::PHASE_BEGIN)));
77 // Note that there is no matching call to PHASE_END for all of the following. 93 // Note that there is no matching call to PHASE_END for all of the following.
78 log->Add( 94 log.push_back(
79 LoadLog::Entry( 95 MakeEventEntry(
80 MakeTime(6), 96 6, NetLog::TYPE_HOST_RESOLVER_IMPL_OBSERVER_ONSTART,
81 LoadLog::Event(LoadLog::TYPE_HOST_RESOLVER_IMPL_OBSERVER_ONSTART, 97 NetLog::PHASE_BEGIN));
82 LoadLog::PHASE_BEGIN))); 98 log.push_back(
83 log->Add( 99 MakeEventEntry(7, NetLog::TYPE_HOST_RESOLVER_IMPL_OBSERVER_ONSTART,
84 LoadLog::Entry( 100 NetLog::PHASE_BEGIN));
85 MakeTime(7), 101 log.push_back(
86 LoadLog::Event(LoadLog::TYPE_HOST_RESOLVER_IMPL_OBSERVER_ONSTART, 102 MakeEventEntry(8, NetLog::TYPE_HOST_RESOLVER_IMPL_OBSERVER_ONSTART,
87 LoadLog::PHASE_BEGIN))); 103 NetLog::PHASE_BEGIN));
88 log->Add( 104 log.push_back(MakeEventEntry(10, NetLog::TYPE_CANCELLED,
89 LoadLog::Entry( 105 NetLog::PHASE_NONE));
90 MakeTime(8), 106 log.push_back(MakeEventEntry(16, NetLog::TYPE_HOST_RESOLVER_IMPL,
91 LoadLog::Event(LoadLog::TYPE_HOST_RESOLVER_IMPL_OBSERVER_ONSTART, 107 NetLog::PHASE_END));
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 108
100 EXPECT_EQ( 109 EXPECT_EQ(
101 "t= 3: +HOST_RESOLVER_IMPL [dt=13]\n" 110 "t= 3: +HOST_RESOLVER_IMPL [dt=13]\n"
102 "t= 6: +HOST_RESOLVER_IMPL_OBSERVER_ONSTART [dt=10]\n" 111 "t= 6: +HOST_RESOLVER_IMPL_OBSERVER_ONSTART [dt=10]\n"
103 "t= 7: +HOST_RESOLVER_IMPL_OBSERVER_ONSTART [dt= 9]\n" 112 "t= 7: +HOST_RESOLVER_IMPL_OBSERVER_ONSTART [dt= 9]\n"
104 "t= 8: +HOST_RESOLVER_IMPL_OBSERVER_ONSTART [dt= 8]\n" 113 "t= 8: +HOST_RESOLVER_IMPL_OBSERVER_ONSTART [dt= 8]\n"
105 "t=10: CANCELLED\n" 114 "t=10: CANCELLED\n"
106 "t=16: -HOST_RESOLVER_IMPL", 115 "t=16: -HOST_RESOLVER_IMPL",
107 LoadLogUtil::PrettyPrintAsEventTree(log)); 116 NetLogUtil::PrettyPrintAsEventTree(log, 0));
108 } 117 }
109 118
110 TEST(LoadLogUtilTest, DisplayOfTruncated) { 119 TEST(NetLogUtilTest, DisplayOfTruncated) {
111 size_t kMaxNumEntries = 5; 120 std::vector<NetLog::Entry> log;
112 scoped_refptr<LoadLog> log(new LoadLog(kMaxNumEntries));
113 121
114 // Add a total of 10 events. This means that 5 will be truncated. 122 log.push_back(MakeEventEntry(0,
115 log->Add(LoadLog::Entry(MakeTime(0), 123 NetLog::TYPE_TCP_CONNECT,
116 LoadLog::Event(LoadLog::TYPE_TCP_CONNECT, 124 NetLog::PHASE_BEGIN));
117 LoadLog::PHASE_BEGIN))); 125 for (size_t i = 1; i <= 3; ++i) {
118 for (size_t i = 1; i < 8; ++i) { 126 log.push_back(MakeEventEntry(i,
119 log->Add(LoadLog::Entry(MakeTime(i), 127 NetLog::TYPE_CANCELLED,
120 LoadLog::Event(LoadLog::TYPE_CANCELLED, 128 NetLog::PHASE_NONE));
121 LoadLog::PHASE_NONE)));
122 } 129 }
123 log->Add(LoadLog::Entry(MakeTime(9), 130 log.push_back(MakeEventEntry(9,
124 LoadLog::Event(LoadLog::TYPE_TCP_CONNECT, 131 NetLog::TYPE_TCP_CONNECT,
125 LoadLog::PHASE_END))); 132 NetLog::PHASE_END));
126 133
127 EXPECT_EQ( 134 EXPECT_EQ(
128 "t=0: +TCP_CONNECT [dt=9]\n" 135 "t=0: +TCP_CONNECT [dt=9]\n"
129 "t=1: CANCELLED\n" 136 "t=1: CANCELLED\n"
130 "t=2: CANCELLED\n" 137 "t=2: CANCELLED\n"
131 "t=3: CANCELLED\n" 138 "t=3: CANCELLED\n"
132 " ... Truncated 4 entries ...\n" 139 " ... Truncated 4 entries ...\n"
133 "t=9: -TCP_CONNECT", 140 "t=9: -TCP_CONNECT",
134 LoadLogUtil::PrettyPrintAsEventTree(log)); 141 NetLogUtil::PrettyPrintAsEventTree(log, 4));
135 } 142 }
136 143
137 } // namespace 144 } // namespace
138 } // namespace net 145 } // namespace net
OLDNEW
« no previous file with comments | « net/base/net_log_util.cc ('k') | net/ftp/ftp_network_transaction.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698