Chromium Code Reviews| Index: net/socket/ssl_client_socket_unittest.cc |
| diff --git a/net/socket/ssl_client_socket_unittest.cc b/net/socket/ssl_client_socket_unittest.cc |
| index 2639870e81f36f4fefef5ad4626ced9bc629da13..ca8deed39c2479667a5471f565ca27e7acc7bd21 100644 |
| --- a/net/socket/ssl_client_socket_unittest.cc |
| +++ b/net/socket/ssl_client_socket_unittest.cc |
| @@ -592,12 +592,15 @@ class SSLClientSocketTest : public PlatformTest { |
| SSLClientSocketTest() |
| : socket_factory_(ClientSocketFactory::GetDefaultFactory()), |
| cert_verifier_(new MockCertVerifier), |
| - transport_security_state_(new TransportSecurityState) { |
| + transport_security_state_(new TransportSecurityState), |
| + ran_completion_callback_(false) { |
| cert_verifier_->set_default_result(OK); |
| context_.cert_verifier = cert_verifier_.get(); |
| context_.transport_security_state = transport_security_state_.get(); |
| } |
| + void RecordCompletionCallbackRun() { ran_completion_callback_ = true; } |
|
wtc
2014/07/30 21:56:57
In ssl_client_socket_openssl_unittest.cc, this met
|
| + |
| protected: |
| // Sets up a TCP connection to a HTTPS server. To actually do the SSL |
| // handshake, follow up with call to CreateAndConnectSSLClientSocket() below. |
| @@ -660,6 +663,7 @@ class SSLClientSocketTest : public PlatformTest { |
| SSLClientSocketContext context_; |
| scoped_ptr<SSLClientSocket> sock_; |
| CapturingNetLog log_; |
| + bool ran_completion_callback_; |
|
wtc
2014/07/30 21:56:58
Same here: this member should be renamed "ran_hand
|
| private: |
| scoped_ptr<StreamSocket> transport_; |
| @@ -943,8 +947,6 @@ TEST_F(SSLClientSocketTest, ConnectMismatched) { |
| scoped_ptr<SSLClientSocket> sock(CreateSSLClientSocket( |
| transport.Pass(), test_server.host_port_pair(), kDefaultSSLConfig)); |
|
wtc
2014/07/30 21:56:58
Why don't you call sock->SetHandshakeCompletionCal
|
| - EXPECT_FALSE(sock->IsConnected()); |
|
wtc
2014/07/30 21:56:57
Why did you delete this EXPECT_FALSE?
|
| - |
| rv = sock->Connect(callback.callback()); |
| CapturingNetLog::CapturedEntryList entries; |
| @@ -1167,6 +1169,12 @@ TEST_F(SSLClientSocketTest, Read_WithSynchronousError) { |
| test_server.host_port_pair(), |
| ssl_config)); |
| +#if defined(USE_OPENSSL) |
| + sock->SetHandshakeCompletionCallback( |
| + base::Bind(&SSLClientSocketTest::RecordCompletionCallbackRun, |
| + base::Unretained(this))); |
| +#endif |
| + |
| rv = callback.GetResult(sock->Connect(callback.callback())); |
| EXPECT_EQ(OK, rv); |
| EXPECT_TRUE(sock->IsConnected()); |
| @@ -1197,6 +1205,7 @@ TEST_F(SSLClientSocketTest, Read_WithSynchronousError) { |
| #else |
| // SSLClientSocketOpenSSL treats any errors as a simple EOF. |
| EXPECT_EQ(0, rv); |
| + EXPECT_TRUE(ran_completion_callback_); |
| #endif |
| } |
| @@ -1236,6 +1245,12 @@ TEST_F(SSLClientSocketTest, Write_WithSynchronousError) { |
| test_server.host_port_pair(), |
| ssl_config)); |
| +#if defined(USE_OPENSSL) |
| + sock->SetHandshakeCompletionCallback( |
| + base::Bind(&SSLClientSocketTest::RecordCompletionCallbackRun, |
| + base::Unretained(this))); |
| +#endif |
| + |
| rv = callback.GetResult(sock->Connect(callback.callback())); |
| EXPECT_EQ(OK, rv); |
| EXPECT_TRUE(sock->IsConnected()); |
| @@ -1278,6 +1293,7 @@ TEST_F(SSLClientSocketTest, Write_WithSynchronousError) { |
| #else |
| // SSLClientSocketOpenSSL treats any errors as a simple EOF. |
| EXPECT_EQ(0, rv); |
| + EXPECT_TRUE(ran_completion_callback_); |
| #endif |
| } |
| @@ -1502,6 +1518,12 @@ TEST_F(SSLClientSocketTest, Read_WithWriteError) { |
| test_server.host_port_pair(), |
| ssl_config)); |
| +#if defined(USE_OPENSSL) |
| + sock->SetHandshakeCompletionCallback( |
| + base::Bind(&SSLClientSocketTest::RecordCompletionCallbackRun, |
| + base::Unretained(this))); |
| +#endif |
| + |
| rv = callback.GetResult(sock->Connect(callback.callback())); |
| EXPECT_EQ(OK, rv); |
| EXPECT_TRUE(sock->IsConnected()); |
| @@ -1560,6 +1582,7 @@ TEST_F(SSLClientSocketTest, Read_WithWriteError) { |
| #else |
| // OpenSSL treats the reset as a generic protocol error. |
| EXPECT_EQ(ERR_SSL_PROTOCOL_ERROR, rv); |
| + EXPECT_TRUE(ran_completion_callback_); |
| #endif |
| // Release the read. Some bytes should go through. |
| @@ -1834,10 +1857,19 @@ TEST_F(SSLClientSocketTest, PrematureApplicationData) { |
| scoped_ptr<SSLClientSocket> sock(CreateSSLClientSocket( |
| transport.Pass(), test_server.host_port_pair(), kDefaultSSLConfig)); |
| +#if defined(USE_OPENSSL) |
| + sock->SetHandshakeCompletionCallback( |
| + base::Bind(&SSLClientSocketTest::RecordCompletionCallbackRun, |
| + base::Unretained(this))); |
| +#endif |
| + |
| rv = sock->Connect(callback.callback()); |
| if (rv == ERR_IO_PENDING) |
| rv = callback.WaitForResult(); |
| EXPECT_EQ(ERR_SSL_PROTOCOL_ERROR, rv); |
| +#if defined(USE_OPENSSL) |
| + EXPECT_TRUE(ran_completion_callback_); |
| +#endif |
| } |
| TEST_F(SSLClientSocketTest, CipherSuiteDisables) { |