| OLD | NEW |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 } |
| OLD | NEW |