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

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

Issue 87073: Extend the use of IOBuffers to the code underneath... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 years, 8 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/ssl_client_socket_nss.cc ('k') | net/base/ssl_client_socket_win.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) 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/net_errors.h" 8 #include "net/base/net_errors.h"
9 #include "net/base/ssl_client_socket.h" 9 #include "net/base/ssl_client_socket.h"
10 #include "net/base/ssl_config_service.h" 10 #include "net/base/ssl_config_service.h"
(...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after
213 rv = sock->Connect(&callback); 213 rv = sock->Connect(&callback);
214 if (rv != net::OK) { 214 if (rv != net::OK) {
215 ASSERT_EQ(net::ERR_IO_PENDING, rv); 215 ASSERT_EQ(net::ERR_IO_PENDING, rv);
216 216
217 rv = callback.WaitForResult(); 217 rv = callback.WaitForResult();
218 EXPECT_EQ(net::OK, rv); 218 EXPECT_EQ(net::OK, rv);
219 } 219 }
220 EXPECT_TRUE(sock->IsConnected()); 220 EXPECT_TRUE(sock->IsConnected());
221 221
222 const char request_text[] = "GET / HTTP/1.0\r\n\r\n"; 222 const char request_text[] = "GET / HTTP/1.0\r\n\r\n";
223 rv = sock->Write(request_text, arraysize(request_text) - 1, &callback); 223 scoped_refptr<net::IOBuffer> request_buffer =
224 new net::IOBuffer(arraysize(request_text) - 1);
225 memcpy(request_buffer->data(), request_text, arraysize(request_text) - 1);
226
227 rv = sock->Write(request_buffer, arraysize(request_text) - 1, &callback);
224 EXPECT_TRUE(rv >= 0 || rv == net::ERR_IO_PENDING); 228 EXPECT_TRUE(rv >= 0 || rv == net::ERR_IO_PENDING);
225 229
226 if (rv == net::ERR_IO_PENDING) { 230 if (rv == net::ERR_IO_PENDING) {
227 rv = callback.WaitForResult(); 231 rv = callback.WaitForResult();
228 EXPECT_EQ(static_cast<int>(arraysize(request_text) - 1), rv); 232 EXPECT_EQ(static_cast<int>(arraysize(request_text) - 1), rv);
229 } 233 }
230 234
231 char buf[4096]; 235 scoped_refptr<net::IOBuffer> buf = new net::IOBuffer(4096);
232 for (;;) { 236 for (;;) {
233 rv = sock->Read(buf, sizeof(buf), &callback); 237 rv = sock->Read(buf, 4096, &callback);
234 EXPECT_TRUE(rv >= 0 || rv == net::ERR_IO_PENDING); 238 EXPECT_TRUE(rv >= 0 || rv == net::ERR_IO_PENDING);
235 239
236 if (rv == net::ERR_IO_PENDING) 240 if (rv == net::ERR_IO_PENDING)
237 rv = callback.WaitForResult(); 241 rv = callback.WaitForResult();
238 242
239 EXPECT_GE(rv, 0); 243 EXPECT_GE(rv, 0);
240 if (rv <= 0) 244 if (rv <= 0)
241 break; 245 break;
242 } 246 }
243 } 247 }
(...skipping 21 matching lines...) Expand all
265 269
266 rv = sock->Connect(&callback); 270 rv = sock->Connect(&callback);
267 if (rv != net::OK) { 271 if (rv != net::OK) {
268 ASSERT_EQ(net::ERR_IO_PENDING, rv); 272 ASSERT_EQ(net::ERR_IO_PENDING, rv);
269 273
270 rv = callback.WaitForResult(); 274 rv = callback.WaitForResult();
271 EXPECT_EQ(net::OK, rv); 275 EXPECT_EQ(net::OK, rv);
272 } 276 }
273 277
274 const char request_text[] = "GET / HTTP/1.0\r\n\r\n"; 278 const char request_text[] = "GET / HTTP/1.0\r\n\r\n";
275 rv = sock->Write(request_text, arraysize(request_text) - 1, &callback); 279 scoped_refptr<net::IOBuffer> request_buffer =
280 new net::IOBuffer(arraysize(request_text) - 1);
281 memcpy(request_buffer->data(), request_text, arraysize(request_text) - 1);
282
283 rv = sock->Write(request_buffer, arraysize(request_text) - 1, &callback);
276 EXPECT_TRUE(rv >= 0 || rv == net::ERR_IO_PENDING); 284 EXPECT_TRUE(rv >= 0 || rv == net::ERR_IO_PENDING);
277 285
278 if (rv == net::ERR_IO_PENDING) { 286 if (rv == net::ERR_IO_PENDING) {
279 rv = callback.WaitForResult(); 287 rv = callback.WaitForResult();
280 EXPECT_EQ(static_cast<int>(arraysize(request_text) - 1), rv); 288 EXPECT_EQ(static_cast<int>(arraysize(request_text) - 1), rv);
281 } 289 }
282 290
283 char buf[1]; 291 scoped_refptr<net::IOBuffer> buf = new net::IOBuffer(1);
284 for (;;) { 292 for (;;) {
285 rv = sock->Read(buf, sizeof(buf), &callback); 293 rv = sock->Read(buf, 1, &callback);
286 EXPECT_TRUE(rv >= 0 || rv == net::ERR_IO_PENDING); 294 EXPECT_TRUE(rv >= 0 || rv == net::ERR_IO_PENDING);
287 295
288 if (rv == net::ERR_IO_PENDING) 296 if (rv == net::ERR_IO_PENDING)
289 rv = callback.WaitForResult(); 297 rv = callback.WaitForResult();
290 298
291 EXPECT_GE(rv, 0); 299 EXPECT_GE(rv, 0);
292 if (rv <= 0) 300 if (rv <= 0)
293 break; 301 break;
294 } 302 }
295 } 303 }
(...skipping 21 matching lines...) Expand all
317 325
318 rv = sock->Connect(&callback); 326 rv = sock->Connect(&callback);
319 if (rv != net::OK) { 327 if (rv != net::OK) {
320 ASSERT_EQ(net::ERR_IO_PENDING, rv); 328 ASSERT_EQ(net::ERR_IO_PENDING, rv);
321 329
322 rv = callback.WaitForResult(); 330 rv = callback.WaitForResult();
323 EXPECT_EQ(net::OK, rv); 331 EXPECT_EQ(net::OK, rv);
324 } 332 }
325 333
326 const char request_text[] = "GET / HTTP/1.0\r\n\r\n"; 334 const char request_text[] = "GET / HTTP/1.0\r\n\r\n";
327 rv = sock->Write(request_text, arraysize(request_text) - 1, &callback); 335 scoped_refptr<net::IOBuffer> request_buffer =
336 new net::IOBuffer(arraysize(request_text) - 1);
337 memcpy(request_buffer->data(), request_text, arraysize(request_text) - 1);
338
339 rv = sock->Write(request_buffer, arraysize(request_text) - 1, &callback);
328 EXPECT_TRUE(rv >= 0 || rv == net::ERR_IO_PENDING); 340 EXPECT_TRUE(rv >= 0 || rv == net::ERR_IO_PENDING);
329 341
330 if (rv == net::ERR_IO_PENDING) { 342 if (rv == net::ERR_IO_PENDING) {
331 rv = callback.WaitForResult(); 343 rv = callback.WaitForResult();
332 EXPECT_EQ(static_cast<int>(arraysize(request_text) - 1), rv); 344 EXPECT_EQ(static_cast<int>(arraysize(request_text) - 1), rv);
333 } 345 }
334 346
335 // Do a partial read and then exit. This test should not crash! 347 // Do a partial read and then exit. This test should not crash!
336 char buf[512]; 348 scoped_refptr<net::IOBuffer> buf = new net::IOBuffer(512);
337 rv = sock->Read(buf, sizeof(buf), &callback); 349 rv = sock->Read(buf, 512, &callback);
338 EXPECT_TRUE(rv >= 0 || rv == net::ERR_IO_PENDING); 350 EXPECT_TRUE(rv >= 0 || rv == net::ERR_IO_PENDING);
339 351
340 if (rv == net::ERR_IO_PENDING) 352 if (rv == net::ERR_IO_PENDING)
341 rv = callback.WaitForResult(); 353 rv = callback.WaitForResult();
342 354
343 EXPECT_NE(rv, 0); 355 EXPECT_NE(rv, 0);
344 } 356 }
OLDNEW
« no previous file with comments | « net/base/ssl_client_socket_nss.cc ('k') | net/base/ssl_client_socket_win.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698