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

Unified Diff: net/socket/ssl_client_socket_pool_unittest.cc

Issue 981723008: Unwind the SSL connection holdback experiment and remove related code (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rename & reformat Created 5 years, 9 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « net/socket/ssl_client_socket_pool.cc ('k') | net/socket/ssl_client_socket_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/socket/ssl_client_socket_pool_unittest.cc
diff --git a/net/socket/ssl_client_socket_pool_unittest.cc b/net/socket/ssl_client_socket_pool_unittest.cc
index 3d5d9d3321831d9d4c480f0c679edee2c53d4286..333a524f9b61494f1acb279dd789cb4d6018f88c 100644
--- a/net/socket/ssl_client_socket_pool_unittest.cc
+++ b/net/socket/ssl_client_socket_pool_unittest.cc
@@ -6,7 +6,6 @@
#include "base/callback.h"
#include "base/compiler_specific.h"
-#include "base/run_loop.h"
#include "base/strings/string_util.h"
#include "base/strings/utf_string_conversions.h"
#include "base/time/time.h"
@@ -86,25 +85,23 @@ class SSLClientSocketPoolTest
http_auth_handler_factory_(
HttpAuthHandlerFactory::CreateDefault(&host_resolver_)),
session_(CreateNetworkSession()),
- direct_transport_socket_params_(
- new TransportSocketParams(
- HostPortPair("host", 443),
- false,
- false,
- OnHostResolutionCallback(),
- TransportSocketParams::COMBINE_CONNECT_AND_WRITE_DEFAULT)),
+ direct_transport_socket_params_(new TransportSocketParams(
+ HostPortPair("host", 443),
+ false,
+ false,
+ OnHostResolutionCallback(),
+ TransportSocketParams::COMBINE_CONNECT_AND_WRITE_DEFAULT)),
transport_histograms_("MockTCP"),
transport_socket_pool_(kMaxSockets,
kMaxSocketsPerGroup,
&transport_histograms_,
&socket_factory_),
- proxy_transport_socket_params_(
- new TransportSocketParams(
- HostPortPair("proxy", 443),
- false,
- false,
- OnHostResolutionCallback(),
- TransportSocketParams::COMBINE_CONNECT_AND_WRITE_DEFAULT)),
+ proxy_transport_socket_params_(new TransportSocketParams(
+ HostPortPair("proxy", 443),
+ false,
+ false,
+ OnHostResolutionCallback(),
+ TransportSocketParams::COMBINE_CONNECT_AND_WRITE_DEFAULT)),
socks_socket_params_(
new SOCKSSocketParams(proxy_transport_socket_params_,
true,
@@ -131,8 +128,7 @@ class SSLClientSocketPoolTest
&http_proxy_histograms_,
&transport_socket_pool_,
NULL,
- NULL),
- enable_ssl_connect_job_waiting_(false) {
+ NULL) {
scoped_refptr<SSLConfigService> ssl_config_service(
new SSLConfigServiceDefaults);
ssl_config_service->GetSSLConfig(&ssl_config_);
@@ -148,8 +144,7 @@ class SSLClientSocketPoolTest
std::string() /* ssl_session_cache_shard */, &socket_factory_,
transport_pool ? &transport_socket_pool_ : NULL,
socks_pool ? &socks_socket_pool_ : NULL,
- http_proxy_pool ? &http_proxy_socket_pool_ : NULL, NULL,
- enable_ssl_connect_job_waiting_, NULL));
+ http_proxy_pool ? &http_proxy_socket_pool_ : NULL, NULL, NULL));
}
scoped_refptr<SSLSocketParams> SSLParams(ProxyServer::Scheme proxy,
@@ -223,8 +218,6 @@ class SSLClientSocketPoolTest
SSLConfig ssl_config_;
scoped_ptr<ClientSocketPoolHistograms> ssl_histograms_;
scoped_ptr<SSLClientSocketPool> pool_;
-
- bool enable_ssl_connect_job_waiting_;
};
INSTANTIATE_TEST_CASE_P(NextProto,
@@ -233,462 +226,6 @@ INSTANTIATE_TEST_CASE_P(NextProto,
kProtoSPDY4_14,
kProtoSPDY4));
-// Tests that the final socket will connect even if all sockets
-// prior to it fail.
-//
-// All sockets should wait for the first socket to attempt to
-// connect. Once it fails to connect, all other sockets should
-// attempt to connect. All should fail, except the final socket.
-TEST_P(SSLClientSocketPoolTest, AllSocketsFailButLast) {
- // Although we request four sockets, the first three socket connect
- // failures cause the socket pool to create three more sockets because
- // there are pending requests.
- StaticSocketDataProvider data1;
- StaticSocketDataProvider data2;
- StaticSocketDataProvider data3;
- StaticSocketDataProvider data4;
- StaticSocketDataProvider data5;
- StaticSocketDataProvider data6;
- StaticSocketDataProvider data7;
- socket_factory_.AddSocketDataProvider(&data1);
- socket_factory_.AddSocketDataProvider(&data2);
- socket_factory_.AddSocketDataProvider(&data3);
- socket_factory_.AddSocketDataProvider(&data4);
- socket_factory_.AddSocketDataProvider(&data5);
- socket_factory_.AddSocketDataProvider(&data6);
- socket_factory_.AddSocketDataProvider(&data7);
- SSLSocketDataProvider ssl(ASYNC, ERR_SSL_PROTOCOL_ERROR);
- ssl.is_in_session_cache = false;
- SSLSocketDataProvider ssl2(ASYNC, ERR_SSL_PROTOCOL_ERROR);
- ssl2.is_in_session_cache = false;
- SSLSocketDataProvider ssl3(ASYNC, ERR_SSL_PROTOCOL_ERROR);
- ssl3.is_in_session_cache = false;
- SSLSocketDataProvider ssl4(ASYNC, OK);
- ssl4.is_in_session_cache = false;
- SSLSocketDataProvider ssl5(ASYNC, OK);
- ssl5.is_in_session_cache = false;
- SSLSocketDataProvider ssl6(ASYNC, OK);
- ssl6.is_in_session_cache = false;
- SSLSocketDataProvider ssl7(ASYNC, OK);
- ssl7.is_in_session_cache = false;
-
- socket_factory_.AddSSLSocketDataProvider(&ssl);
- socket_factory_.AddSSLSocketDataProvider(&ssl2);
- socket_factory_.AddSSLSocketDataProvider(&ssl3);
- socket_factory_.AddSSLSocketDataProvider(&ssl4);
- socket_factory_.AddSSLSocketDataProvider(&ssl5);
- socket_factory_.AddSSLSocketDataProvider(&ssl6);
- socket_factory_.AddSSLSocketDataProvider(&ssl7);
-
- enable_ssl_connect_job_waiting_ = true;
- CreatePool(true, false, false);
-
- scoped_refptr<SSLSocketParams> params1 =
- SSLParams(ProxyServer::SCHEME_DIRECT, false);
- scoped_refptr<SSLSocketParams> params2 =
- SSLParams(ProxyServer::SCHEME_DIRECT, false);
- scoped_refptr<SSLSocketParams> params3 =
- SSLParams(ProxyServer::SCHEME_DIRECT, false);
- scoped_refptr<SSLSocketParams> params4 =
- SSLParams(ProxyServer::SCHEME_DIRECT, false);
- ClientSocketHandle handle1;
- ClientSocketHandle handle2;
- ClientSocketHandle handle3;
- ClientSocketHandle handle4;
- TestCompletionCallback callback1;
- TestCompletionCallback callback2;
- TestCompletionCallback callback3;
- TestCompletionCallback callback4;
-
- handle1.Init(
- "b", params1, MEDIUM, callback1.callback(), pool_.get(), BoundNetLog());
- handle2.Init(
- "b", params2, MEDIUM, callback2.callback(), pool_.get(), BoundNetLog());
- handle3.Init(
- "b", params3, MEDIUM, callback3.callback(), pool_.get(), BoundNetLog());
- handle4.Init(
- "b", params4, MEDIUM, callback4.callback(), pool_.get(), BoundNetLog());
-
- base::RunLoop().RunUntilIdle();
-
- // Only the last socket should have connected.
- EXPECT_FALSE(handle1.socket());
- EXPECT_FALSE(handle2.socket());
- EXPECT_FALSE(handle3.socket());
- EXPECT_TRUE(handle4.socket()->IsConnected());
-}
-
-// Tests that sockets will still connect in parallel if the
-// EnableSSLConnectJobWaiting flag is not enabled.
-TEST_P(SSLClientSocketPoolTest, SocketsConnectWithoutFlag) {
- StaticSocketDataProvider data1;
- StaticSocketDataProvider data2;
- StaticSocketDataProvider data3;
- socket_factory_.AddSocketDataProvider(&data1);
- socket_factory_.AddSocketDataProvider(&data2);
- socket_factory_.AddSocketDataProvider(&data3);
-
- SSLSocketDataProvider ssl(ASYNC, OK);
- ssl.is_in_session_cache = false;
- ssl.should_pause_on_connect = true;
- SSLSocketDataProvider ssl2(ASYNC, OK);
- ssl2.is_in_session_cache = false;
- ssl2.should_pause_on_connect = true;
- SSLSocketDataProvider ssl3(ASYNC, OK);
- ssl3.is_in_session_cache = false;
- ssl3.should_pause_on_connect = true;
- socket_factory_.AddSSLSocketDataProvider(&ssl);
- socket_factory_.AddSSLSocketDataProvider(&ssl2);
- socket_factory_.AddSSLSocketDataProvider(&ssl3);
-
- CreatePool(true, false, false);
-
- scoped_refptr<SSLSocketParams> params1 =
- SSLParams(ProxyServer::SCHEME_DIRECT, false);
- scoped_refptr<SSLSocketParams> params2 =
- SSLParams(ProxyServer::SCHEME_DIRECT, false);
- scoped_refptr<SSLSocketParams> params3 =
- SSLParams(ProxyServer::SCHEME_DIRECT, false);
- ClientSocketHandle handle1;
- ClientSocketHandle handle2;
- ClientSocketHandle handle3;
- TestCompletionCallback callback1;
- TestCompletionCallback callback2;
- TestCompletionCallback callback3;
-
- handle1.Init(
- "b", params1, MEDIUM, callback1.callback(), pool_.get(), BoundNetLog());
- handle2.Init(
- "b", params2, MEDIUM, callback2.callback(), pool_.get(), BoundNetLog());
- handle3.Init(
- "b", params3, MEDIUM, callback3.callback(), pool_.get(), BoundNetLog());
-
- base::RunLoop().RunUntilIdle();
-
- std::vector<MockSSLClientSocket*> sockets =
- socket_factory_.ssl_client_sockets();
-
- // All sockets should have started their connections.
- for (std::vector<MockSSLClientSocket*>::iterator it = sockets.begin();
- it != sockets.end();
- ++it) {
- EXPECT_TRUE((*it)->reached_connect());
- }
-
- // Resume connecting all of the sockets.
- for (std::vector<MockSSLClientSocket*>::iterator it = sockets.begin();
- it != sockets.end();
- ++it) {
- (*it)->RestartPausedConnect();
- }
-
- callback1.WaitForResult();
- callback2.WaitForResult();
- callback3.WaitForResult();
-
- EXPECT_TRUE(handle1.socket()->IsConnected());
- EXPECT_TRUE(handle2.socket()->IsConnected());
- EXPECT_TRUE(handle3.socket()->IsConnected());
-}
-
-// Tests that the pool deleting an SSLConnectJob will not cause a crash,
-// or prevent pending sockets from connecting.
-TEST_P(SSLClientSocketPoolTest, DeletedSSLConnectJob) {
- StaticSocketDataProvider data1;
- StaticSocketDataProvider data2;
- StaticSocketDataProvider data3;
- socket_factory_.AddSocketDataProvider(&data1);
- socket_factory_.AddSocketDataProvider(&data2);
- socket_factory_.AddSocketDataProvider(&data3);
-
- SSLSocketDataProvider ssl(ASYNC, OK);
- ssl.is_in_session_cache = false;
- ssl.should_pause_on_connect = true;
- SSLSocketDataProvider ssl2(ASYNC, OK);
- ssl2.is_in_session_cache = false;
- SSLSocketDataProvider ssl3(ASYNC, OK);
- ssl3.is_in_session_cache = false;
- socket_factory_.AddSSLSocketDataProvider(&ssl);
- socket_factory_.AddSSLSocketDataProvider(&ssl2);
- socket_factory_.AddSSLSocketDataProvider(&ssl3);
-
- enable_ssl_connect_job_waiting_ = true;
- CreatePool(true, false, false);
-
- scoped_refptr<SSLSocketParams> params1 =
- SSLParams(ProxyServer::SCHEME_DIRECT, false);
- scoped_refptr<SSLSocketParams> params2 =
- SSLParams(ProxyServer::SCHEME_DIRECT, false);
- scoped_refptr<SSLSocketParams> params3 =
- SSLParams(ProxyServer::SCHEME_DIRECT, false);
- ClientSocketHandle handle1;
- ClientSocketHandle handle2;
- ClientSocketHandle handle3;
- TestCompletionCallback callback1;
- TestCompletionCallback callback2;
- TestCompletionCallback callback3;
-
- handle1.Init(
- "b", params1, MEDIUM, callback1.callback(), pool_.get(), BoundNetLog());
- handle2.Init(
- "b", params2, MEDIUM, callback2.callback(), pool_.get(), BoundNetLog());
- handle3.Init(
- "b", params3, MEDIUM, callback3.callback(), pool_.get(), BoundNetLog());
-
- // Allow the connections to proceed until the first socket has started
- // connecting.
- base::RunLoop().RunUntilIdle();
-
- std::vector<MockSSLClientSocket*> sockets =
- socket_factory_.ssl_client_sockets();
-
- pool_->CancelRequest("b", &handle2);
-
- sockets[0]->RestartPausedConnect();
-
- callback1.WaitForResult();
- callback3.WaitForResult();
-
- EXPECT_TRUE(handle1.socket()->IsConnected());
- EXPECT_FALSE(handle2.socket());
- EXPECT_TRUE(handle3.socket()->IsConnected());
-}
-
-// Tests that all pending sockets still connect when the pool deletes a pending
-// SSLConnectJob which immediately followed a failed leading connection.
-TEST_P(SSLClientSocketPoolTest, DeletedSocketAfterFail) {
- StaticSocketDataProvider data1;
- StaticSocketDataProvider data2;
- StaticSocketDataProvider data3;
- StaticSocketDataProvider data4;
- socket_factory_.AddSocketDataProvider(&data1);
- socket_factory_.AddSocketDataProvider(&data2);
- socket_factory_.AddSocketDataProvider(&data3);
- socket_factory_.AddSocketDataProvider(&data4);
-
- SSLSocketDataProvider ssl(ASYNC, ERR_SSL_PROTOCOL_ERROR);
- ssl.is_in_session_cache = false;
- ssl.should_pause_on_connect = true;
- SSLSocketDataProvider ssl2(ASYNC, OK);
- ssl2.is_in_session_cache = false;
- SSLSocketDataProvider ssl3(ASYNC, OK);
- ssl3.is_in_session_cache = false;
- SSLSocketDataProvider ssl4(ASYNC, OK);
- ssl4.is_in_session_cache = false;
- socket_factory_.AddSSLSocketDataProvider(&ssl);
- socket_factory_.AddSSLSocketDataProvider(&ssl2);
- socket_factory_.AddSSLSocketDataProvider(&ssl3);
- socket_factory_.AddSSLSocketDataProvider(&ssl4);
-
- enable_ssl_connect_job_waiting_ = true;
- CreatePool(true, false, false);
-
- scoped_refptr<SSLSocketParams> params1 =
- SSLParams(ProxyServer::SCHEME_DIRECT, false);
- scoped_refptr<SSLSocketParams> params2 =
- SSLParams(ProxyServer::SCHEME_DIRECT, false);
- scoped_refptr<SSLSocketParams> params3 =
- SSLParams(ProxyServer::SCHEME_DIRECT, false);
- ClientSocketHandle handle1;
- ClientSocketHandle handle2;
- ClientSocketHandle handle3;
- TestCompletionCallback callback1;
- TestCompletionCallback callback2;
- TestCompletionCallback callback3;
-
- handle1.Init(
- "b", params1, MEDIUM, callback1.callback(), pool_.get(), BoundNetLog());
- handle2.Init(
- "b", params2, MEDIUM, callback2.callback(), pool_.get(), BoundNetLog());
- handle3.Init(
- "b", params3, MEDIUM, callback3.callback(), pool_.get(), BoundNetLog());
-
- // Allow the connections to proceed until the first socket has started
- // connecting.
- base::RunLoop().RunUntilIdle();
-
- std::vector<MockSSLClientSocket*> sockets =
- socket_factory_.ssl_client_sockets();
-
- EXPECT_EQ(3u, sockets.size());
- EXPECT_TRUE(sockets[0]->reached_connect());
- EXPECT_FALSE(handle1.socket());
-
- pool_->CancelRequest("b", &handle2);
-
- sockets[0]->RestartPausedConnect();
-
- callback1.WaitForResult();
- callback3.WaitForResult();
-
- EXPECT_FALSE(handle1.socket());
- EXPECT_FALSE(handle2.socket());
- EXPECT_TRUE(handle3.socket()->IsConnected());
-}
-
-// Make sure that sockets still connect after the leader socket's
-// connection fails.
-TEST_P(SSLClientSocketPoolTest, SimultaneousConnectJobsFail) {
- StaticSocketDataProvider data1;
- StaticSocketDataProvider data2;
- StaticSocketDataProvider data3;
- StaticSocketDataProvider data4;
- StaticSocketDataProvider data5;
- socket_factory_.AddSocketDataProvider(&data1);
- socket_factory_.AddSocketDataProvider(&data2);
- socket_factory_.AddSocketDataProvider(&data3);
- socket_factory_.AddSocketDataProvider(&data4);
- socket_factory_.AddSocketDataProvider(&data5);
- SSLSocketDataProvider ssl(ASYNC, ERR_SSL_PROTOCOL_ERROR);
- ssl.is_in_session_cache = false;
- ssl.should_pause_on_connect = true;
- SSLSocketDataProvider ssl2(ASYNC, OK);
- ssl2.is_in_session_cache = false;
- ssl2.should_pause_on_connect = true;
- SSLSocketDataProvider ssl3(ASYNC, OK);
- ssl3.is_in_session_cache = false;
- SSLSocketDataProvider ssl4(ASYNC, OK);
- ssl4.is_in_session_cache = false;
- SSLSocketDataProvider ssl5(ASYNC, OK);
- ssl5.is_in_session_cache = false;
-
- socket_factory_.AddSSLSocketDataProvider(&ssl);
- socket_factory_.AddSSLSocketDataProvider(&ssl2);
- socket_factory_.AddSSLSocketDataProvider(&ssl3);
- socket_factory_.AddSSLSocketDataProvider(&ssl4);
- socket_factory_.AddSSLSocketDataProvider(&ssl5);
-
- enable_ssl_connect_job_waiting_ = true;
- CreatePool(true, false, false);
- scoped_refptr<SSLSocketParams> params1 =
- SSLParams(ProxyServer::SCHEME_DIRECT, false);
- scoped_refptr<SSLSocketParams> params2 =
- SSLParams(ProxyServer::SCHEME_DIRECT, false);
- scoped_refptr<SSLSocketParams> params3 =
- SSLParams(ProxyServer::SCHEME_DIRECT, false);
- scoped_refptr<SSLSocketParams> params4 =
- SSLParams(ProxyServer::SCHEME_DIRECT, false);
- ClientSocketHandle handle1;
- ClientSocketHandle handle2;
- ClientSocketHandle handle3;
- ClientSocketHandle handle4;
- TestCompletionCallback callback1;
- TestCompletionCallback callback2;
- TestCompletionCallback callback3;
- TestCompletionCallback callback4;
- handle1.Init(
- "b", params1, MEDIUM, callback1.callback(), pool_.get(), BoundNetLog());
- handle2.Init(
- "b", params2, MEDIUM, callback2.callback(), pool_.get(), BoundNetLog());
- handle3.Init(
- "b", params3, MEDIUM, callback3.callback(), pool_.get(), BoundNetLog());
- handle4.Init(
- "b", params4, MEDIUM, callback4.callback(), pool_.get(), BoundNetLog());
-
- base::RunLoop().RunUntilIdle();
-
- std::vector<MockSSLClientSocket*> sockets =
- socket_factory_.ssl_client_sockets();
-
- std::vector<MockSSLClientSocket*>::const_iterator it = sockets.begin();
-
- // The first socket should have had Connect called on it.
- EXPECT_TRUE((*it)->reached_connect());
- ++it;
-
- // No other socket should have reached connect yet.
- for (; it != sockets.end(); ++it)
- EXPECT_FALSE((*it)->reached_connect());
-
- // Allow the first socket to resume it's connection process.
- sockets[0]->RestartPausedConnect();
-
- base::RunLoop().RunUntilIdle();
-
- // The second socket should have reached connect.
- EXPECT_TRUE(sockets[1]->reached_connect());
-
- // Allow the second socket to continue its connection.
- sockets[1]->RestartPausedConnect();
-
- base::RunLoop().RunUntilIdle();
-
- EXPECT_FALSE(handle1.socket());
- EXPECT_TRUE(handle2.socket()->IsConnected());
- EXPECT_TRUE(handle3.socket()->IsConnected());
- EXPECT_TRUE(handle4.socket()->IsConnected());
-}
-
-// Make sure that no sockets connect before the "leader" socket,
-// given that the leader has a successful connection.
-TEST_P(SSLClientSocketPoolTest, SimultaneousConnectJobsSuccess) {
- StaticSocketDataProvider data1;
- StaticSocketDataProvider data2;
- StaticSocketDataProvider data3;
- socket_factory_.AddSocketDataProvider(&data1);
- socket_factory_.AddSocketDataProvider(&data2);
- socket_factory_.AddSocketDataProvider(&data3);
-
- SSLSocketDataProvider ssl(ASYNC, OK);
- ssl.is_in_session_cache = false;
- ssl.should_pause_on_connect = true;
- SSLSocketDataProvider ssl2(ASYNC, OK);
- ssl2.is_in_session_cache = false;
- SSLSocketDataProvider ssl3(ASYNC, OK);
- ssl3.is_in_session_cache = false;
- socket_factory_.AddSSLSocketDataProvider(&ssl);
- socket_factory_.AddSSLSocketDataProvider(&ssl2);
- socket_factory_.AddSSLSocketDataProvider(&ssl3);
-
- enable_ssl_connect_job_waiting_ = true;
- CreatePool(true, false, false);
-
- scoped_refptr<SSLSocketParams> params1 =
- SSLParams(ProxyServer::SCHEME_DIRECT, false);
- scoped_refptr<SSLSocketParams> params2 =
- SSLParams(ProxyServer::SCHEME_DIRECT, false);
- scoped_refptr<SSLSocketParams> params3 =
- SSLParams(ProxyServer::SCHEME_DIRECT, false);
- ClientSocketHandle handle1;
- ClientSocketHandle handle2;
- ClientSocketHandle handle3;
- TestCompletionCallback callback1;
- TestCompletionCallback callback2;
- TestCompletionCallback callback3;
-
- handle1.Init(
- "b", params1, MEDIUM, callback1.callback(), pool_.get(), BoundNetLog());
- handle2.Init(
- "b", params2, MEDIUM, callback2.callback(), pool_.get(), BoundNetLog());
- handle3.Init(
- "b", params3, MEDIUM, callback3.callback(), pool_.get(), BoundNetLog());
-
- // Allow the connections to proceed until the first socket has finished
- // connecting.
- base::RunLoop().RunUntilIdle();
-
- std::vector<MockSSLClientSocket*> sockets =
- socket_factory_.ssl_client_sockets();
-
- std::vector<MockSSLClientSocket*>::const_iterator it = sockets.begin();
- // The first socket should have reached connect.
- EXPECT_TRUE((*it)->reached_connect());
- ++it;
- // No other socket should have reached connect yet.
- for (; it != sockets.end(); ++it)
- EXPECT_FALSE((*it)->reached_connect());
-
- sockets[0]->RestartPausedConnect();
-
- callback1.WaitForResult();
- callback2.WaitForResult();
- callback3.WaitForResult();
-
- EXPECT_TRUE(handle1.socket()->IsConnected());
- EXPECT_TRUE(handle2.socket()->IsConnected());
- EXPECT_TRUE(handle3.socket()->IsConnected());
-}
-
TEST_P(SSLClientSocketPoolTest, TCPFail) {
StaticSocketDataProvider data;
data.set_connect_data(MockConnect(SYNCHRONOUS, ERR_CONNECTION_FAILED));
« no previous file with comments | « net/socket/ssl_client_socket_pool.cc ('k') | net/socket/ssl_client_socket_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698