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

Side by Side Diff: net/websockets/websocket_throttle_unittest.cc

Issue 4192012: Convert implicit scoped_refptr constructor calls to explicit ones, part 1 (Closed) Base URL: http://git.chromium.org/git/chromium.git
Patch Set: fix presubmit Created 10 years, 1 month 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
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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 <string> 5 #include <string>
6 6
7 #include "base/message_loop.h" 7 #include "base/message_loop.h"
8 #include "googleurl/src/gurl.h" 8 #include "googleurl/src/gurl.h"
9 #include "net/base/address_list.h" 9 #include "net/base/address_list.h"
10 #include "net/base/sys_addrinfo.h" 10 #include "net/base/sys_addrinfo.h"
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
76 } 76 }
77 }; 77 };
78 78
79 TEST_F(WebSocketThrottleTest, Throttle) { 79 TEST_F(WebSocketThrottleTest, Throttle) {
80 DummySocketStreamDelegate delegate; 80 DummySocketStreamDelegate delegate;
81 81
82 // For host1: 1.2.3.4, 1.2.3.5, 1.2.3.6 82 // For host1: 1.2.3.4, 1.2.3.5, 1.2.3.6
83 struct addrinfo* addr = AddAddr(1, 2, 3, 4, NULL); 83 struct addrinfo* addr = AddAddr(1, 2, 3, 4, NULL);
84 addr = AddAddr(1, 2, 3, 5, addr); 84 addr = AddAddr(1, 2, 3, 5, addr);
85 addr = AddAddr(1, 2, 3, 6, addr); 85 addr = AddAddr(1, 2, 3, 6, addr);
86 scoped_refptr<WebSocketJob> w1 = new WebSocketJob(&delegate); 86 scoped_refptr<WebSocketJob> w1(new WebSocketJob(&delegate));
87 scoped_refptr<SocketStream> s1 = 87 scoped_refptr<SocketStream> s1(
88 new SocketStream(GURL("ws://host1/"), w1.get()); 88 new SocketStream(GURL("ws://host1/"), w1.get()));
89 w1->InitSocketStream(s1.get()); 89 w1->InitSocketStream(s1.get());
90 WebSocketThrottleTest::MockSocketStreamConnect(s1, addr); 90 WebSocketThrottleTest::MockSocketStreamConnect(s1, addr);
91 DeleteAddrInfo(addr); 91 DeleteAddrInfo(addr);
92 92
93 DVLOG(1) << "socket1"; 93 DVLOG(1) << "socket1";
94 TestCompletionCallback callback_s1; 94 TestCompletionCallback callback_s1;
95 // Trying to open connection to host1 will start without wait. 95 // Trying to open connection to host1 will start without wait.
96 EXPECT_EQ(OK, w1->OnStartOpenConnection(s1, &callback_s1)); 96 EXPECT_EQ(OK, w1->OnStartOpenConnection(s1, &callback_s1));
97 97
98 // Now connecting to host1, so waiting queue looks like 98 // Now connecting to host1, so waiting queue looks like
99 // Address | head -> tail 99 // Address | head -> tail
100 // 1.2.3.4 | w1 100 // 1.2.3.4 | w1
101 // 1.2.3.5 | w1 101 // 1.2.3.5 | w1
102 // 1.2.3.6 | w1 102 // 1.2.3.6 | w1
103 103
104 // For host2: 1.2.3.4 104 // For host2: 1.2.3.4
105 addr = AddAddr(1, 2, 3, 4, NULL); 105 addr = AddAddr(1, 2, 3, 4, NULL);
106 scoped_refptr<WebSocketJob> w2 = new WebSocketJob(&delegate); 106 scoped_refptr<WebSocketJob> w2(new WebSocketJob(&delegate));
107 scoped_refptr<SocketStream> s2 = 107 scoped_refptr<SocketStream> s2(
108 new SocketStream(GURL("ws://host2/"), w2.get()); 108 new SocketStream(GURL("ws://host2/"), w2.get()));
109 w2->InitSocketStream(s2.get()); 109 w2->InitSocketStream(s2.get());
110 WebSocketThrottleTest::MockSocketStreamConnect(s2, addr); 110 WebSocketThrottleTest::MockSocketStreamConnect(s2, addr);
111 DeleteAddrInfo(addr); 111 DeleteAddrInfo(addr);
112 112
113 DVLOG(1) << "socket2"; 113 DVLOG(1) << "socket2";
114 TestCompletionCallback callback_s2; 114 TestCompletionCallback callback_s2;
115 // Trying to open connection to host2 will wait for w1. 115 // Trying to open connection to host2 will wait for w1.
116 EXPECT_EQ(ERR_IO_PENDING, w2->OnStartOpenConnection(s2, &callback_s2)); 116 EXPECT_EQ(ERR_IO_PENDING, w2->OnStartOpenConnection(s2, &callback_s2));
117 // Now waiting queue looks like 117 // Now waiting queue looks like
118 // Address | head -> tail 118 // Address | head -> tail
119 // 1.2.3.4 | w1 w2 119 // 1.2.3.4 | w1 w2
120 // 1.2.3.5 | w1 120 // 1.2.3.5 | w1
121 // 1.2.3.6 | w1 121 // 1.2.3.6 | w1
122 122
123 // For host3: 1.2.3.5 123 // For host3: 1.2.3.5
124 addr = AddAddr(1, 2, 3, 5, NULL); 124 addr = AddAddr(1, 2, 3, 5, NULL);
125 scoped_refptr<WebSocketJob> w3 = new WebSocketJob(&delegate); 125 scoped_refptr<WebSocketJob> w3(new WebSocketJob(&delegate));
126 scoped_refptr<SocketStream> s3 = 126 scoped_refptr<SocketStream> s3(
127 new SocketStream(GURL("ws://host3/"), w3.get()); 127 new SocketStream(GURL("ws://host3/"), w3.get()));
128 w3->InitSocketStream(s3.get()); 128 w3->InitSocketStream(s3.get());
129 WebSocketThrottleTest::MockSocketStreamConnect(s3, addr); 129 WebSocketThrottleTest::MockSocketStreamConnect(s3, addr);
130 DeleteAddrInfo(addr); 130 DeleteAddrInfo(addr);
131 131
132 DVLOG(1) << "socket3"; 132 DVLOG(1) << "socket3";
133 TestCompletionCallback callback_s3; 133 TestCompletionCallback callback_s3;
134 // Trying to open connection to host3 will wait for w1. 134 // Trying to open connection to host3 will wait for w1.
135 EXPECT_EQ(ERR_IO_PENDING, w3->OnStartOpenConnection(s3, &callback_s3)); 135 EXPECT_EQ(ERR_IO_PENDING, w3->OnStartOpenConnection(s3, &callback_s3));
136 // Address | head -> tail 136 // Address | head -> tail
137 // 1.2.3.4 | w1 w2 137 // 1.2.3.4 | w1 w2
138 // 1.2.3.5 | w1 w3 138 // 1.2.3.5 | w1 w3
139 // 1.2.3.6 | w1 139 // 1.2.3.6 | w1
140 140
141 // For host4: 1.2.3.4, 1.2.3.6 141 // For host4: 1.2.3.4, 1.2.3.6
142 addr = AddAddr(1, 2, 3, 4, NULL); 142 addr = AddAddr(1, 2, 3, 4, NULL);
143 addr = AddAddr(1, 2, 3, 6, addr); 143 addr = AddAddr(1, 2, 3, 6, addr);
144 scoped_refptr<WebSocketJob> w4 = new WebSocketJob(&delegate); 144 scoped_refptr<WebSocketJob> w4(new WebSocketJob(&delegate));
145 scoped_refptr<SocketStream> s4 = 145 scoped_refptr<SocketStream> s4(
146 new SocketStream(GURL("ws://host4/"), w4.get()); 146 new SocketStream(GURL("ws://host4/"), w4.get()));
147 w4->InitSocketStream(s4.get()); 147 w4->InitSocketStream(s4.get());
148 WebSocketThrottleTest::MockSocketStreamConnect(s4, addr); 148 WebSocketThrottleTest::MockSocketStreamConnect(s4, addr);
149 DeleteAddrInfo(addr); 149 DeleteAddrInfo(addr);
150 150
151 DVLOG(1) << "socket4"; 151 DVLOG(1) << "socket4";
152 TestCompletionCallback callback_s4; 152 TestCompletionCallback callback_s4;
153 // Trying to open connection to host4 will wait for w1, w2. 153 // Trying to open connection to host4 will wait for w1, w2.
154 EXPECT_EQ(ERR_IO_PENDING, w4->OnStartOpenConnection(s4, &callback_s4)); 154 EXPECT_EQ(ERR_IO_PENDING, w4->OnStartOpenConnection(s4, &callback_s4));
155 // Address | head -> tail 155 // Address | head -> tail
156 // 1.2.3.4 | w1 w2 w4 156 // 1.2.3.4 | w1 w2 w4
157 // 1.2.3.5 | w1 w3 157 // 1.2.3.5 | w1 w3
158 // 1.2.3.6 | w1 w4 158 // 1.2.3.6 | w1 w4
159 159
160 // For host5: 1.2.3.6 160 // For host5: 1.2.3.6
161 addr = AddAddr(1, 2, 3, 6, NULL); 161 addr = AddAddr(1, 2, 3, 6, NULL);
162 scoped_refptr<WebSocketJob> w5 = new WebSocketJob(&delegate); 162 scoped_refptr<WebSocketJob> w5(new WebSocketJob(&delegate));
163 scoped_refptr<SocketStream> s5 = 163 scoped_refptr<SocketStream> s5(
164 new SocketStream(GURL("ws://host5/"), w5.get()); 164 new SocketStream(GURL("ws://host5/"), w5.get()));
165 w5->InitSocketStream(s5.get()); 165 w5->InitSocketStream(s5.get());
166 WebSocketThrottleTest::MockSocketStreamConnect(s5, addr); 166 WebSocketThrottleTest::MockSocketStreamConnect(s5, addr);
167 DeleteAddrInfo(addr); 167 DeleteAddrInfo(addr);
168 168
169 DVLOG(1) << "socket5"; 169 DVLOG(1) << "socket5";
170 TestCompletionCallback callback_s5; 170 TestCompletionCallback callback_s5;
171 // Trying to open connection to host5 will wait for w1, w4 171 // Trying to open connection to host5 will wait for w1, w4
172 EXPECT_EQ(ERR_IO_PENDING, w5->OnStartOpenConnection(s5, &callback_s5)); 172 EXPECT_EQ(ERR_IO_PENDING, w5->OnStartOpenConnection(s5, &callback_s5));
173 // Address | head -> tail 173 // Address | head -> tail
174 // 1.2.3.4 | w1 w2 w4 174 // 1.2.3.4 | w1 w2 w4
175 // 1.2.3.5 | w1 w3 175 // 1.2.3.5 | w1 w3
176 // 1.2.3.6 | w1 w4 w5 176 // 1.2.3.6 | w1 w4 w5
177 177
178 // For host6: 1.2.3.6 178 // For host6: 1.2.3.6
179 addr = AddAddr(1, 2, 3, 6, NULL); 179 addr = AddAddr(1, 2, 3, 6, NULL);
180 scoped_refptr<WebSocketJob> w6 = new WebSocketJob(&delegate); 180 scoped_refptr<WebSocketJob> w6(new WebSocketJob(&delegate));
181 scoped_refptr<SocketStream> s6 = 181 scoped_refptr<SocketStream> s6(
182 new SocketStream(GURL("ws://host6/"), w6.get()); 182 new SocketStream(GURL("ws://host6/"), w6.get()));
183 w6->InitSocketStream(s6.get()); 183 w6->InitSocketStream(s6.get());
184 WebSocketThrottleTest::MockSocketStreamConnect(s6, addr); 184 WebSocketThrottleTest::MockSocketStreamConnect(s6, addr);
185 DeleteAddrInfo(addr); 185 DeleteAddrInfo(addr);
186 186
187 DVLOG(1) << "socket6"; 187 DVLOG(1) << "socket6";
188 TestCompletionCallback callback_s6; 188 TestCompletionCallback callback_s6;
189 // Trying to open connection to host6 will wait for w1, w4, w5 189 // Trying to open connection to host6 will wait for w1, w4, w5
190 EXPECT_EQ(ERR_IO_PENDING, w6->OnStartOpenConnection(s6, &callback_s6)); 190 EXPECT_EQ(ERR_IO_PENDING, w6->OnStartOpenConnection(s6, &callback_s6));
191 // Address | head -> tail 191 // Address | head -> tail
192 // 1.2.3.4 | w1 w2 w4 192 // 1.2.3.4 | w1 w2 w4
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
279 DVLOG(1) << "Done"; 279 DVLOG(1) << "Done";
280 MessageLoopForIO::current()->RunAllPending(); 280 MessageLoopForIO::current()->RunAllPending();
281 } 281 }
282 282
283 TEST_F(WebSocketThrottleTest, NoThrottleForDuplicateAddress) { 283 TEST_F(WebSocketThrottleTest, NoThrottleForDuplicateAddress) {
284 DummySocketStreamDelegate delegate; 284 DummySocketStreamDelegate delegate;
285 285
286 // For localhost: 127.0.0.1, 127.0.0.1 286 // For localhost: 127.0.0.1, 127.0.0.1
287 struct addrinfo* addr = AddAddr(127, 0, 0, 1, NULL); 287 struct addrinfo* addr = AddAddr(127, 0, 0, 1, NULL);
288 addr = AddAddr(127, 0, 0, 1, addr); 288 addr = AddAddr(127, 0, 0, 1, addr);
289 scoped_refptr<WebSocketJob> w1 = new WebSocketJob(&delegate); 289 scoped_refptr<WebSocketJob> w1(new WebSocketJob(&delegate));
290 scoped_refptr<SocketStream> s1 = 290 scoped_refptr<SocketStream> s1(
291 new SocketStream(GURL("ws://localhost/"), w1.get()); 291 new SocketStream(GURL("ws://localhost/"), w1.get()));
292 w1->InitSocketStream(s1.get()); 292 w1->InitSocketStream(s1.get());
293 WebSocketThrottleTest::MockSocketStreamConnect(s1, addr); 293 WebSocketThrottleTest::MockSocketStreamConnect(s1, addr);
294 DeleteAddrInfo(addr); 294 DeleteAddrInfo(addr);
295 295
296 DVLOG(1) << "socket1"; 296 DVLOG(1) << "socket1";
297 TestCompletionCallback callback_s1; 297 TestCompletionCallback callback_s1;
298 // Trying to open connection to localhost will start without wait. 298 // Trying to open connection to localhost will start without wait.
299 EXPECT_EQ(OK, w1->OnStartOpenConnection(s1, &callback_s1)); 299 EXPECT_EQ(OK, w1->OnStartOpenConnection(s1, &callback_s1));
300 300
301 DVLOG(1) << "socket1 close"; 301 DVLOG(1) << "socket1 close";
302 w1->OnClose(s1.get()); 302 w1->OnClose(s1.get());
303 s1->DetachDelegate(); 303 s1->DetachDelegate();
304 DVLOG(1) << "Done"; 304 DVLOG(1) << "Done";
305 MessageLoopForIO::current()->RunAllPending(); 305 MessageLoopForIO::current()->RunAllPending();
306 } 306 }
307 307
308 } 308 }
OLDNEW
« no previous file with comments | « net/url_request/view_cache_helper_unittest.cc ('k') | remoting/host/heartbeat_sender_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698