| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 #include <vector> | 6 #include <vector> |
| 7 | 7 |
| 8 #include "base/bind.h" | 8 #include "base/bind.h" |
| 9 #include "base/bind_helpers.h" | 9 #include "base/bind_helpers.h" |
| 10 #include "base/files/file_util.h" | 10 #include "base/files/file_util.h" |
| (...skipping 254 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 265 } | 265 } |
| 266 | 266 |
| 267 // Most tests will want to call this function. In particular, the MockReads | 267 // Most tests will want to call this function. In particular, the MockReads |
| 268 // should end with an empty read, and that read needs to be processed to | 268 // should end with an empty read, and that read needs to be processed to |
| 269 // ensure proper deletion of the spdy_session_pool. | 269 // ensure proper deletion of the spdy_session_pool. |
| 270 void VerifyDataConsumed() { | 270 void VerifyDataConsumed() { |
| 271 for (const SocketDataProvider* provider : data_vector_) { | 271 for (const SocketDataProvider* provider : data_vector_) { |
| 272 EXPECT_TRUE(provider->AllReadDataConsumed()); | 272 EXPECT_TRUE(provider->AllReadDataConsumed()); |
| 273 EXPECT_TRUE(provider->AllWriteDataConsumed()); | 273 EXPECT_TRUE(provider->AllWriteDataConsumed()); |
| 274 } | 274 } |
| 275 for (const SocketDataProvider* provider : deterministic_data_vector_) { |
| 276 EXPECT_TRUE(provider->AllReadDataConsumed()); |
| 277 EXPECT_TRUE(provider->AllWriteDataConsumed()); |
| 278 } |
| 275 } | 279 } |
| 276 | 280 |
| 277 // Occasionally a test will expect to error out before certain reads are | 281 // Occasionally a test will expect to error out before certain reads are |
| 278 // processed. In that case we want to explicitly ensure that the reads were | 282 // processed. In that case we want to explicitly ensure that the reads were |
| 279 // not processed. | 283 // not processed. |
| 280 void VerifyDataNotConsumed() { | 284 void VerifyDataNotConsumed() { |
| 281 for (const SocketDataProvider* provider : data_vector_) { | 285 for (const SocketDataProvider* provider : data_vector_) { |
| 282 EXPECT_FALSE(provider->AllReadDataConsumed()); | 286 EXPECT_FALSE(provider->AllReadDataConsumed()); |
| 283 EXPECT_FALSE(provider->AllWriteDataConsumed()); | 287 EXPECT_FALSE(provider->AllWriteDataConsumed()); |
| 284 } | 288 } |
| 289 for (const SocketDataProvider* provider : deterministic_data_vector_) { |
| 290 EXPECT_FALSE(provider->AllReadDataConsumed()); |
| 291 EXPECT_FALSE(provider->AllWriteDataConsumed()); |
| 292 } |
| 285 } | 293 } |
| 286 | 294 |
| 287 void RunToCompletion(SocketDataProvider* data) { | 295 void RunToCompletion(SocketDataProvider* data) { |
| 288 RunPreTestSetup(); | 296 RunPreTestSetup(); |
| 289 AddData(data); | 297 AddData(data); |
| 290 RunDefaultTest(); | 298 RunDefaultTest(); |
| 291 VerifyDataConsumed(); | 299 VerifyDataConsumed(); |
| 292 } | 300 } |
| 293 | 301 |
| 294 void RunToCompletionWithSSLData( | 302 void RunToCompletionWithSSLData( |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 329 new StaticSocketDataProvider(NULL, 0, NULL, 0); | 337 new StaticSocketDataProvider(NULL, 0, NULL, 0); |
| 330 hanging_non_alt_svc_socket->set_connect_data(hanging_connect); | 338 hanging_non_alt_svc_socket->set_connect_data(hanging_connect); |
| 331 session_deps_->socket_factory->AddSocketDataProvider( | 339 session_deps_->socket_factory->AddSocketDataProvider( |
| 332 hanging_non_alt_svc_socket); | 340 hanging_non_alt_svc_socket); |
| 333 alternate_vector_.push_back(hanging_non_alt_svc_socket); | 341 alternate_vector_.push_back(hanging_non_alt_svc_socket); |
| 334 } | 342 } |
| 335 } | 343 } |
| 336 | 344 |
| 337 void AddDeterministicData(DeterministicSocketData* data) { | 345 void AddDeterministicData(DeterministicSocketData* data) { |
| 338 DCHECK(deterministic_); | 346 DCHECK(deterministic_); |
| 339 data_vector_.push_back(data); | 347 deterministic_data_vector_.push_back(data); |
| 340 SSLSocketDataProvider* ssl_provider = | 348 SSLSocketDataProvider* ssl_provider = |
| 341 new SSLSocketDataProvider(ASYNC, OK); | 349 new SSLSocketDataProvider(ASYNC, OK); |
| 342 ssl_provider->SetNextProto(test_params_.protocol); | 350 ssl_provider->SetNextProto(test_params_.protocol); |
| 343 ssl_provider->cert = | 351 ssl_provider->cert = |
| 344 ImportCertFromFile(GetTestCertsDirectory(), "spdy_pooling.pem"); | 352 ImportCertFromFile(GetTestCertsDirectory(), "spdy_pooling.pem"); |
| 345 ssl_vector_.push_back(ssl_provider); | 353 ssl_vector_.push_back(ssl_provider); |
| 346 session_deps_->deterministic_socket_factory->AddSSLSocketDataProvider( | 354 session_deps_->deterministic_socket_factory->AddSSLSocketDataProvider( |
| 347 ssl_provider); | 355 ssl_provider); |
| 348 | 356 |
| 349 session_deps_->deterministic_socket_factory->AddSocketDataProvider(data); | 357 session_deps_->deterministic_socket_factory->AddSocketDataProvider(data); |
| 350 if (test_params_.ssl_type == HTTP_SPDY_VIA_ALT_SVC) { | 358 if (test_params_.ssl_type == HTTP_SPDY_VIA_ALT_SVC) { |
| 351 MockConnect hanging_connect(SYNCHRONOUS, ERR_IO_PENDING); | 359 MockConnect hanging_connect(SYNCHRONOUS, ERR_IO_PENDING); |
| 352 DeterministicSocketData* hanging_non_alt_svc_socket = | 360 DeterministicSocketData* hanging_non_alt_svc_socket = |
| 353 new DeterministicSocketData(NULL, 0, NULL, 0); | 361 new DeterministicSocketData(NULL, 0, NULL, 0); |
| 354 hanging_non_alt_svc_socket->set_connect_data(hanging_connect); | 362 hanging_non_alt_svc_socket->set_connect_data(hanging_connect); |
| 355 session_deps_->deterministic_socket_factory->AddSocketDataProvider( | 363 session_deps_->deterministic_socket_factory->AddSocketDataProvider( |
| 356 hanging_non_alt_svc_socket); | 364 hanging_non_alt_svc_socket); |
| 357 alternate_vector_.push_back(hanging_non_alt_svc_socket); | 365 alternate_deterministic_vector_.push_back(hanging_non_alt_svc_socket); |
| 358 } | 366 } |
| 359 } | 367 } |
| 360 | 368 |
| 361 void SetSession(const scoped_refptr<HttpNetworkSession>& session) { | 369 void SetSession(const scoped_refptr<HttpNetworkSession>& session) { |
| 362 session_ = session; | 370 session_ = session; |
| 363 } | 371 } |
| 364 HttpNetworkTransaction* trans() { return trans_.get(); } | 372 HttpNetworkTransaction* trans() { return trans_.get(); } |
| 365 void ResetTrans() { trans_.reset(); } | 373 void ResetTrans() { trans_.reset(); } |
| 366 TransactionHelperResult& output() { return output_; } | 374 TransactionHelperResult& output() { return output_; } |
| 367 const HttpRequestInfo& request() const { return request_; } | 375 const HttpRequestInfo& request() const { return request_; } |
| 368 const scoped_refptr<HttpNetworkSession>& session() const { | 376 const scoped_refptr<HttpNetworkSession>& session() const { |
| 369 return session_; | 377 return session_; |
| 370 } | 378 } |
| 371 scoped_ptr<SpdySessionDependencies>& session_deps() { | 379 scoped_ptr<SpdySessionDependencies>& session_deps() { |
| 372 return session_deps_; | 380 return session_deps_; |
| 373 } | 381 } |
| 374 int port() const { return port_; } | 382 int port() const { return port_; } |
| 375 SpdyNetworkTransactionTestParams test_params() const { | 383 SpdyNetworkTransactionTestParams test_params() const { |
| 376 return test_params_; | 384 return test_params_; |
| 377 } | 385 } |
| 378 | 386 |
| 379 private: | 387 private: |
| 380 typedef std::vector<SocketDataProvider*> DataVector; | 388 typedef std::vector<SocketDataProvider*> DataVector; |
| 389 typedef std::vector<DeterministicSocketData*> DeterministicDataVector; |
| 381 typedef ScopedVector<SSLSocketDataProvider> SSLVector; | 390 typedef ScopedVector<SSLSocketDataProvider> SSLVector; |
| 382 typedef ScopedVector<SocketDataProvider> AlternateVector; | 391 typedef ScopedVector<SocketDataProvider> AlternateVector; |
| 383 typedef ScopedVector<DeterministicSocketData> AlternateDeterministicVector; | 392 typedef ScopedVector<DeterministicSocketData> AlternateDeterministicVector; |
| 384 HttpRequestInfo request_; | 393 HttpRequestInfo request_; |
| 385 RequestPriority priority_; | 394 RequestPriority priority_; |
| 386 scoped_ptr<SpdySessionDependencies> session_deps_; | 395 scoped_ptr<SpdySessionDependencies> session_deps_; |
| 387 scoped_refptr<HttpNetworkSession> session_; | 396 scoped_refptr<HttpNetworkSession> session_; |
| 388 TransactionHelperResult output_; | 397 TransactionHelperResult output_; |
| 389 scoped_ptr<SocketDataProvider> first_transaction_; | 398 scoped_ptr<SocketDataProvider> first_transaction_; |
| 390 SSLVector ssl_vector_; | 399 SSLVector ssl_vector_; |
| 391 TestCompletionCallback callback_; | 400 TestCompletionCallback callback_; |
| 392 scoped_ptr<HttpNetworkTransaction> trans_; | 401 scoped_ptr<HttpNetworkTransaction> trans_; |
| 393 scoped_ptr<HttpNetworkTransaction> trans_http_; | 402 scoped_ptr<HttpNetworkTransaction> trans_http_; |
| 394 DataVector data_vector_; | 403 DataVector data_vector_; |
| 404 DeterministicDataVector deterministic_data_vector_; |
| 395 AlternateVector alternate_vector_; | 405 AlternateVector alternate_vector_; |
| 396 AlternateDeterministicVector alternate_deterministic_vector_; | 406 AlternateDeterministicVector alternate_deterministic_vector_; |
| 397 const BoundNetLog log_; | 407 const BoundNetLog log_; |
| 398 SpdyNetworkTransactionTestParams test_params_; | 408 SpdyNetworkTransactionTestParams test_params_; |
| 399 int port_; | 409 int port_; |
| 400 bool deterministic_; | 410 bool deterministic_; |
| 401 bool spdy_enabled_; | 411 bool spdy_enabled_; |
| 402 }; | 412 }; |
| 403 | 413 |
| 404 void ConnectStatusHelperWithExpectedStatus(const MockRead& status, | 414 void ConnectStatusHelperWithExpectedStatus(const MockRead& status, |
| (...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 546 chunked_post_request_initialized_ = true; | 556 chunked_post_request_initialized_ = true; |
| 547 } | 557 } |
| 548 return chunked_post_request_; | 558 return chunked_post_request_; |
| 549 } | 559 } |
| 550 | 560 |
| 551 // Read the result of a particular transaction, knowing that we've got | 561 // Read the result of a particular transaction, knowing that we've got |
| 552 // multiple transactions in the read pipeline; so as we read, we may have | 562 // multiple transactions in the read pipeline; so as we read, we may have |
| 553 // to skip over data destined for other transactions while we consume | 563 // to skip over data destined for other transactions while we consume |
| 554 // the data for |trans|. | 564 // the data for |trans|. |
| 555 int ReadResult(HttpNetworkTransaction* trans, | 565 int ReadResult(HttpNetworkTransaction* trans, |
| 556 SocketDataProvider* data, | |
| 557 std::string* result) { | 566 std::string* result) { |
| 558 const int kSize = 3000; | 567 const int kSize = 3000; |
| 559 | 568 |
| 560 int bytes_read = 0; | 569 int bytes_read = 0; |
| 561 scoped_refptr<IOBufferWithSize> buf(new IOBufferWithSize(kSize)); | 570 scoped_refptr<IOBufferWithSize> buf(new IOBufferWithSize(kSize)); |
| 562 TestCompletionCallback callback; | 571 TestCompletionCallback callback; |
| 563 while (true) { | 572 while (true) { |
| 564 int rv = trans->Read(buf.get(), kSize, callback.callback()); | 573 int rv = trans->Read(buf.get(), kSize, callback.callback()); |
| 565 if (rv == ERR_IO_PENDING) { | 574 if (rv == ERR_IO_PENDING) { |
| 566 rv = callback.WaitForResult(); | 575 rv = callback.WaitForResult(); |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 614 rv = trans2->Start( | 623 rv = trans2->Start( |
| 615 &CreateGetPushRequest(), callback.callback(), BoundNetLog()); | 624 &CreateGetPushRequest(), callback.callback(), BoundNetLog()); |
| 616 EXPECT_EQ(ERR_IO_PENDING, rv); | 625 EXPECT_EQ(ERR_IO_PENDING, rv); |
| 617 base::RunLoop().RunUntilIdle(); | 626 base::RunLoop().RunUntilIdle(); |
| 618 | 627 |
| 619 // The data for the pushed path may be coming in more than 1 frame. Compile | 628 // The data for the pushed path may be coming in more than 1 frame. Compile |
| 620 // the results into a single string. | 629 // the results into a single string. |
| 621 | 630 |
| 622 // Read the server push body. | 631 // Read the server push body. |
| 623 std::string result2; | 632 std::string result2; |
| 624 ReadResult(trans2.get(), data, &result2); | 633 ReadResult(trans2.get(), &result2); |
| 625 // Read the response body. | 634 // Read the response body. |
| 626 std::string result; | 635 std::string result; |
| 627 ReadResult(trans, data, &result); | 636 ReadResult(trans, &result); |
| 628 | 637 |
| 629 // Verify that we consumed all test data. | 638 // Verify that we consumed all test data. |
| 630 EXPECT_TRUE(data->AllReadDataConsumed()); | 639 EXPECT_TRUE(data->AllReadDataConsumed()); |
| 631 EXPECT_TRUE(data->AllWriteDataConsumed()); | 640 EXPECT_TRUE(data->AllWriteDataConsumed()); |
| 632 | 641 |
| 633 // Verify that the received push data is same as the expected push data. | 642 // Verify that the received push data is same as the expected push data. |
| 634 EXPECT_EQ(result2.compare(expected), 0) << "Received data: " | 643 EXPECT_EQ(result2.compare(expected), 0) << "Received data: " |
| 635 << result2 | 644 << result2 |
| 636 << "||||| Expected data: " | 645 << "||||| Expected data: " |
| 637 << expected; | 646 << expected; |
| (...skipping 4499 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5137 scoped_ptr<HttpNetworkTransaction> trans2( | 5146 scoped_ptr<HttpNetworkTransaction> trans2( |
| 5138 new HttpNetworkTransaction(DEFAULT_PRIORITY, helper.session().get())); | 5147 new HttpNetworkTransaction(DEFAULT_PRIORITY, helper.session().get())); |
| 5139 rv = trans2->Start( | 5148 rv = trans2->Start( |
| 5140 &CreateGetPushRequest(), callback.callback(), BoundNetLog()); | 5149 &CreateGetPushRequest(), callback.callback(), BoundNetLog()); |
| 5141 EXPECT_EQ(ERR_IO_PENDING, rv); | 5150 EXPECT_EQ(ERR_IO_PENDING, rv); |
| 5142 data.RunFor(3); | 5151 data.RunFor(3); |
| 5143 base::RunLoop().RunUntilIdle(); | 5152 base::RunLoop().RunUntilIdle(); |
| 5144 | 5153 |
| 5145 // Read the server push body. | 5154 // Read the server push body. |
| 5146 std::string result2; | 5155 std::string result2; |
| 5147 ReadResult(trans2.get(), &data, &result2); | 5156 ReadResult(trans2.get(), &result2); |
| 5148 // Read the response body. | 5157 // Read the response body. |
| 5149 std::string result; | 5158 std::string result; |
| 5150 ReadResult(trans, &data, &result); | 5159 ReadResult(trans, &result); |
| 5151 | 5160 |
| 5152 // Verify that the received push data is same as the expected push data. | 5161 // Verify that the received push data is same as the expected push data. |
| 5153 EXPECT_EQ(result2.compare(expected_push_result), 0) | 5162 EXPECT_EQ(result2.compare(expected_push_result), 0) |
| 5154 << "Received data: " | 5163 << "Received data: " |
| 5155 << result2 | 5164 << result2 |
| 5156 << "||||| Expected data: " | 5165 << "||||| Expected data: " |
| 5157 << expected_push_result; | 5166 << expected_push_result; |
| 5158 | 5167 |
| 5159 // Verify the SYN_REPLY. | 5168 // Verify the SYN_REPLY. |
| 5160 // Copy the response info, because trans goes away. | 5169 // Copy the response info, because trans goes away. |
| (...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5275 scoped_ptr<HttpNetworkTransaction> trans2( | 5284 scoped_ptr<HttpNetworkTransaction> trans2( |
| 5276 new HttpNetworkTransaction(DEFAULT_PRIORITY, helper.session().get())); | 5285 new HttpNetworkTransaction(DEFAULT_PRIORITY, helper.session().get())); |
| 5277 rv = trans2->Start( | 5286 rv = trans2->Start( |
| 5278 &CreateGetPushRequest(), callback.callback(), BoundNetLog()); | 5287 &CreateGetPushRequest(), callback.callback(), BoundNetLog()); |
| 5279 EXPECT_EQ(ERR_IO_PENDING, rv); | 5288 EXPECT_EQ(ERR_IO_PENDING, rv); |
| 5280 data.RunFor(3); | 5289 data.RunFor(3); |
| 5281 base::RunLoop().RunUntilIdle(); | 5290 base::RunLoop().RunUntilIdle(); |
| 5282 | 5291 |
| 5283 // Read the server push body. | 5292 // Read the server push body. |
| 5284 std::string result2; | 5293 std::string result2; |
| 5285 ReadResult(trans2.get(), &data, &result2); | 5294 ReadResult(trans2.get(), &result2); |
| 5286 // Read the response body. | 5295 // Read the response body. |
| 5287 std::string result; | 5296 std::string result; |
| 5288 ReadResult(trans, &data, &result); | 5297 ReadResult(trans, &result); |
| 5289 | 5298 |
| 5290 // Verify that the received push data is same as the expected push data. | 5299 // Verify that the received push data is same as the expected push data. |
| 5291 EXPECT_EQ(expected_push_result, result2); | 5300 EXPECT_EQ(expected_push_result, result2); |
| 5292 | 5301 |
| 5293 // Verify the SYN_REPLY. | 5302 // Verify the SYN_REPLY. |
| 5294 // Copy the response info, because trans goes away. | 5303 // Copy the response info, because trans goes away. |
| 5295 response = *trans->GetResponseInfo(); | 5304 response = *trans->GetResponseInfo(); |
| 5296 response2 = *trans2->GetResponseInfo(); | 5305 response2 = *trans2->GetResponseInfo(); |
| 5297 | 5306 |
| 5298 VerifyStreamsClosed(helper); | 5307 VerifyStreamsClosed(helper); |
| (...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5391 scoped_ptr<HttpNetworkTransaction> trans2( | 5400 scoped_ptr<HttpNetworkTransaction> trans2( |
| 5392 new HttpNetworkTransaction(DEFAULT_PRIORITY, helper.session().get())); | 5401 new HttpNetworkTransaction(DEFAULT_PRIORITY, helper.session().get())); |
| 5393 rv = trans2->Start( | 5402 rv = trans2->Start( |
| 5394 &CreateGetPushRequest(), callback.callback(), BoundNetLog()); | 5403 &CreateGetPushRequest(), callback.callback(), BoundNetLog()); |
| 5395 EXPECT_EQ(ERR_IO_PENDING, rv); | 5404 EXPECT_EQ(ERR_IO_PENDING, rv); |
| 5396 data.RunFor(2); | 5405 data.RunFor(2); |
| 5397 base::RunLoop().RunUntilIdle(); | 5406 base::RunLoop().RunUntilIdle(); |
| 5398 | 5407 |
| 5399 // Read the server push body. | 5408 // Read the server push body. |
| 5400 std::string result2; | 5409 std::string result2; |
| 5401 ReadResult(trans2.get(), &data, &result2); | 5410 ReadResult(trans2.get(), &result2); |
| 5402 // Read the response body. | 5411 // Read the response body. |
| 5403 std::string result; | 5412 std::string result; |
| 5404 ReadResult(trans, &data, &result); | 5413 ReadResult(trans, &result); |
| 5405 EXPECT_EQ("hello!", result); | 5414 EXPECT_EQ("hello!", result); |
| 5406 | 5415 |
| 5407 // Verify that we haven't received any push data. | 5416 // Verify that we haven't received any push data. |
| 5408 EXPECT_EQ("", result2); | 5417 EXPECT_EQ("", result2); |
| 5409 | 5418 |
| 5410 // Verify the SYN_REPLY. | 5419 // Verify the SYN_REPLY. |
| 5411 // Copy the response info, because trans goes away. | 5420 // Copy the response info, because trans goes away. |
| 5412 HttpResponseInfo response = *trans->GetResponseInfo(); | 5421 HttpResponseInfo response = *trans->GetResponseInfo(); |
| 5413 | 5422 |
| 5414 VerifyStreamsClosed(helper); | 5423 VerifyStreamsClosed(helper); |
| (...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5596 | 5605 |
| 5597 // Start the transaction with basic parameters. | 5606 // Start the transaction with basic parameters. |
| 5598 TestCompletionCallback callback; | 5607 TestCompletionCallback callback; |
| 5599 | 5608 |
| 5600 int rv = trans->Start(&request, callback.callback(), BoundNetLog()); | 5609 int rv = trans->Start(&request, callback.callback(), BoundNetLog()); |
| 5601 EXPECT_EQ(ERR_IO_PENDING, rv); | 5610 EXPECT_EQ(ERR_IO_PENDING, rv); |
| 5602 rv = callback.WaitForResult(); | 5611 rv = callback.WaitForResult(); |
| 5603 | 5612 |
| 5604 // Read the response body. | 5613 // Read the response body. |
| 5605 std::string result; | 5614 std::string result; |
| 5606 ReadResult(trans, &data, &result); | 5615 ReadResult(trans, &result); |
| 5607 | 5616 |
| 5608 // Verify that we consumed all test data. | 5617 // Verify that we consumed all test data. |
| 5609 EXPECT_TRUE(data.AllReadDataConsumed()); | 5618 EXPECT_TRUE(data.AllReadDataConsumed()); |
| 5610 EXPECT_TRUE(data.AllWriteDataConsumed()); | 5619 EXPECT_TRUE(data.AllWriteDataConsumed()); |
| 5611 | 5620 |
| 5612 // Verify the SYN_REPLY. | 5621 // Verify the SYN_REPLY. |
| 5613 // Copy the response info, because trans goes away. | 5622 // Copy the response info, because trans goes away. |
| 5614 response = *trans->GetResponseInfo(); | 5623 response = *trans->GetResponseInfo(); |
| 5615 | 5624 |
| 5616 VerifyStreamsClosed(helper); | 5625 VerifyStreamsClosed(helper); |
| (...skipping 969 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6586 TEST_P(SpdyNetworkTransactionTLSUsageCheckTest, TLSCipherSuiteSucky) { | 6595 TEST_P(SpdyNetworkTransactionTLSUsageCheckTest, TLSCipherSuiteSucky) { |
| 6587 scoped_ptr<SSLSocketDataProvider> ssl_provider( | 6596 scoped_ptr<SSLSocketDataProvider> ssl_provider( |
| 6588 new SSLSocketDataProvider(ASYNC, OK)); | 6597 new SSLSocketDataProvider(ASYNC, OK)); |
| 6589 // Set to TLS_RSA_WITH_NULL_MD5 | 6598 // Set to TLS_RSA_WITH_NULL_MD5 |
| 6590 SSLConnectionStatusSetCipherSuite(0x1, &ssl_provider->connection_status); | 6599 SSLConnectionStatusSetCipherSuite(0x1, &ssl_provider->connection_status); |
| 6591 | 6600 |
| 6592 RunTLSUsageCheckTest(ssl_provider.Pass()); | 6601 RunTLSUsageCheckTest(ssl_provider.Pass()); |
| 6593 } | 6602 } |
| 6594 | 6603 |
| 6595 } // namespace net | 6604 } // namespace net |
| OLD | NEW |