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

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

Issue 118100: Avoid doing concurrent DNS resolves of the same hostname (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Get compiling on mac Created 11 years, 6 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
OLDNEW
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2008 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/address_list.h" 5 #include "net/base/address_list.h"
6 #include "net/base/client_socket_factory.h" 6 #include "net/base/client_socket_factory.h"
7 #include "net/base/host_resolver.h" 7 #include "net/base/host_resolver.h"
8 #include "net/base/io_buffer.h" 8 #include "net/base/io_buffer.h"
9 #include "net/base/net_errors.h" 9 #include "net/base/net_errors.h"
10 #include "net/base/ssl_client_socket.h" 10 #include "net/base/ssl_client_socket.h"
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
70 #endif 70 #endif
71 71
72 TEST_F(SSLClientSocketTest, MAYBE_Connect) { 72 TEST_F(SSLClientSocketTest, MAYBE_Connect) {
73 StartOKServer(); 73 StartOKServer();
74 74
75 net::AddressList addr; 75 net::AddressList addr;
76 net::HostResolver resolver; 76 net::HostResolver resolver;
77 TestCompletionCallback callback; 77 TestCompletionCallback callback;
78 78
79 int rv = resolver.Resolve(server_.kHostName, server_.kOKHTTPSPort, 79 int rv = resolver.Resolve(server_.kHostName, server_.kOKHTTPSPort,
80 &addr, NULL); 80 &addr, NULL, NULL);
81 EXPECT_EQ(net::OK, rv); 81 EXPECT_EQ(net::OK, rv);
82 82
83 net::ClientSocket *transport = new net::TCPClientSocket(addr); 83 net::ClientSocket *transport = new net::TCPClientSocket(addr);
84 rv = transport->Connect(&callback); 84 rv = transport->Connect(&callback);
85 if (rv == net::ERR_IO_PENDING) 85 if (rv == net::ERR_IO_PENDING)
86 rv = callback.WaitForResult(); 86 rv = callback.WaitForResult();
87 EXPECT_EQ(net::OK, rv); 87 EXPECT_EQ(net::OK, rv);
88 88
89 scoped_ptr<net::SSLClientSocket> sock( 89 scoped_ptr<net::SSLClientSocket> sock(
90 socket_factory_->CreateSSLClientSocket(transport, 90 socket_factory_->CreateSSLClientSocket(transport,
(...skipping 17 matching lines...) Expand all
108 } 108 }
109 109
110 TEST_F(SSLClientSocketTest, MAYBE_ConnectExpired) { 110 TEST_F(SSLClientSocketTest, MAYBE_ConnectExpired) {
111 StartExpiredServer(); 111 StartExpiredServer();
112 112
113 net::AddressList addr; 113 net::AddressList addr;
114 net::HostResolver resolver; 114 net::HostResolver resolver;
115 TestCompletionCallback callback; 115 TestCompletionCallback callback;
116 116
117 int rv = resolver.Resolve(server_.kHostName, server_.kBadHTTPSPort, 117 int rv = resolver.Resolve(server_.kHostName, server_.kBadHTTPSPort,
118 &addr, NULL); 118 &addr, NULL, NULL);
119 EXPECT_EQ(net::OK, rv); 119 EXPECT_EQ(net::OK, rv);
120 120
121 net::ClientSocket *transport = new net::TCPClientSocket(addr); 121 net::ClientSocket *transport = new net::TCPClientSocket(addr);
122 rv = transport->Connect(&callback); 122 rv = transport->Connect(&callback);
123 if (rv == net::ERR_IO_PENDING) 123 if (rv == net::ERR_IO_PENDING)
124 rv = callback.WaitForResult(); 124 rv = callback.WaitForResult();
125 EXPECT_EQ(net::OK, rv); 125 EXPECT_EQ(net::OK, rv);
126 126
127 scoped_ptr<net::SSLClientSocket> sock( 127 scoped_ptr<net::SSLClientSocket> sock(
128 socket_factory_->CreateSSLClientSocket(transport, 128 socket_factory_->CreateSSLClientSocket(transport,
(...skipping 16 matching lines...) Expand all
145 } 145 }
146 146
147 TEST_F(SSLClientSocketTest, MAYBE_ConnectMismatched) { 147 TEST_F(SSLClientSocketTest, MAYBE_ConnectMismatched) {
148 StartMismatchedServer(); 148 StartMismatchedServer();
149 149
150 net::AddressList addr; 150 net::AddressList addr;
151 net::HostResolver resolver; 151 net::HostResolver resolver;
152 TestCompletionCallback callback; 152 TestCompletionCallback callback;
153 153
154 int rv = resolver.Resolve(server_.kMismatchedHostName, server_.kOKHTTPSPort, 154 int rv = resolver.Resolve(server_.kMismatchedHostName, server_.kOKHTTPSPort,
155 &addr, NULL); 155 &addr, NULL, NULL);
156 EXPECT_EQ(net::OK, rv); 156 EXPECT_EQ(net::OK, rv);
157 157
158 net::ClientSocket *transport = new net::TCPClientSocket(addr); 158 net::ClientSocket *transport = new net::TCPClientSocket(addr);
159 rv = transport->Connect(&callback); 159 rv = transport->Connect(&callback);
160 if (rv == net::ERR_IO_PENDING) 160 if (rv == net::ERR_IO_PENDING)
161 rv = callback.WaitForResult(); 161 rv = callback.WaitForResult();
162 EXPECT_EQ(net::OK, rv); 162 EXPECT_EQ(net::OK, rv);
163 163
164 scoped_ptr<net::SSLClientSocket> sock( 164 scoped_ptr<net::SSLClientSocket> sock(
165 socket_factory_->CreateSSLClientSocket(transport, 165 socket_factory_->CreateSSLClientSocket(transport,
(...skipping 21 matching lines...) Expand all
187 // - Server sends data unexpectedly. 187 // - Server sends data unexpectedly.
188 188
189 TEST_F(SSLClientSocketTest, MAYBE_Read) { 189 TEST_F(SSLClientSocketTest, MAYBE_Read) {
190 StartOKServer(); 190 StartOKServer();
191 191
192 net::AddressList addr; 192 net::AddressList addr;
193 net::HostResolver resolver; 193 net::HostResolver resolver;
194 TestCompletionCallback callback; 194 TestCompletionCallback callback;
195 195
196 int rv = resolver.Resolve(server_.kHostName, server_.kOKHTTPSPort, 196 int rv = resolver.Resolve(server_.kHostName, server_.kOKHTTPSPort,
197 &addr, &callback); 197 &addr, &callback, NULL);
198 EXPECT_EQ(net::ERR_IO_PENDING, rv); 198 EXPECT_EQ(net::ERR_IO_PENDING, rv);
199 199
200 rv = callback.WaitForResult(); 200 rv = callback.WaitForResult();
201 EXPECT_EQ(net::OK, rv); 201 EXPECT_EQ(net::OK, rv);
202 202
203 net::ClientSocket *transport = new net::TCPClientSocket(addr); 203 net::ClientSocket *transport = new net::TCPClientSocket(addr);
204 rv = transport->Connect(&callback); 204 rv = transport->Connect(&callback);
205 if (rv == net::ERR_IO_PENDING) 205 if (rv == net::ERR_IO_PENDING)
206 rv = callback.WaitForResult(); 206 rv = callback.WaitForResult();
207 EXPECT_EQ(net::OK, rv); 207 EXPECT_EQ(net::OK, rv);
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
248 } 248 }
249 249
250 TEST_F(SSLClientSocketTest, MAYBE_Read_SmallChunks) { 250 TEST_F(SSLClientSocketTest, MAYBE_Read_SmallChunks) {
251 StartOKServer(); 251 StartOKServer();
252 252
253 net::AddressList addr; 253 net::AddressList addr;
254 net::HostResolver resolver; 254 net::HostResolver resolver;
255 TestCompletionCallback callback; 255 TestCompletionCallback callback;
256 256
257 int rv = resolver.Resolve(server_.kHostName, server_.kOKHTTPSPort, 257 int rv = resolver.Resolve(server_.kHostName, server_.kOKHTTPSPort,
258 &addr, NULL); 258 &addr, NULL, NULL);
259 EXPECT_EQ(net::OK, rv); 259 EXPECT_EQ(net::OK, rv);
260 260
261 net::ClientSocket *transport = new net::TCPClientSocket(addr); 261 net::ClientSocket *transport = new net::TCPClientSocket(addr);
262 rv = transport->Connect(&callback); 262 rv = transport->Connect(&callback);
263 if (rv == net::ERR_IO_PENDING) 263 if (rv == net::ERR_IO_PENDING)
264 rv = callback.WaitForResult(); 264 rv = callback.WaitForResult();
265 EXPECT_EQ(net::OK, rv); 265 EXPECT_EQ(net::OK, rv);
266 266
267 scoped_ptr<net::SSLClientSocket> sock( 267 scoped_ptr<net::SSLClientSocket> sock(
268 socket_factory_->CreateSSLClientSocket(transport, 268 socket_factory_->CreateSSLClientSocket(transport,
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
304 } 304 }
305 305
306 TEST_F(SSLClientSocketTest, MAYBE_Read_Interrupted) { 306 TEST_F(SSLClientSocketTest, MAYBE_Read_Interrupted) {
307 StartOKServer(); 307 StartOKServer();
308 308
309 net::AddressList addr; 309 net::AddressList addr;
310 net::HostResolver resolver; 310 net::HostResolver resolver;
311 TestCompletionCallback callback; 311 TestCompletionCallback callback;
312 312
313 int rv = resolver.Resolve(server_.kHostName, server_.kOKHTTPSPort, 313 int rv = resolver.Resolve(server_.kHostName, server_.kOKHTTPSPort,
314 &addr, NULL); 314 &addr, NULL, NULL);
315 EXPECT_EQ(net::OK, rv); 315 EXPECT_EQ(net::OK, rv);
316 316
317 net::ClientSocket *transport = new net::TCPClientSocket(addr); 317 net::ClientSocket *transport = new net::TCPClientSocket(addr);
318 rv = transport->Connect(&callback); 318 rv = transport->Connect(&callback);
319 if (rv == net::ERR_IO_PENDING) 319 if (rv == net::ERR_IO_PENDING)
320 rv = callback.WaitForResult(); 320 rv = callback.WaitForResult();
321 EXPECT_EQ(net::OK, rv); 321 EXPECT_EQ(net::OK, rv);
322 322
323 scoped_ptr<net::SSLClientSocket> sock( 323 scoped_ptr<net::SSLClientSocket> sock(
324 socket_factory_->CreateSSLClientSocket(transport, 324 socket_factory_->CreateSSLClientSocket(transport,
(...skipping 23 matching lines...) Expand all
348 // Do a partial read and then exit. This test should not crash! 348 // Do a partial read and then exit. This test should not crash!
349 scoped_refptr<net::IOBuffer> buf = new net::IOBuffer(512); 349 scoped_refptr<net::IOBuffer> buf = new net::IOBuffer(512);
350 rv = sock->Read(buf, 512, &callback); 350 rv = sock->Read(buf, 512, &callback);
351 EXPECT_TRUE(rv >= 0 || rv == net::ERR_IO_PENDING); 351 EXPECT_TRUE(rv >= 0 || rv == net::ERR_IO_PENDING);
352 352
353 if (rv == net::ERR_IO_PENDING) 353 if (rv == net::ERR_IO_PENDING)
354 rv = callback.WaitForResult(); 354 rv = callback.WaitForResult();
355 355
356 EXPECT_NE(rv, 0); 356 EXPECT_NE(rv, 0);
357 } 357 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698