Chromium Code Reviews| 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 e71d0b2c2357683bd4547d075f71d5f4ffcc5209..6556b8ddaab3735645452701655512505570a767 100644 |
| --- a/net/socket/ssl_client_socket_pool_unittest.cc |
| +++ b/net/socket/ssl_client_socket_pool_unittest.cc |
| @@ -6,6 +6,7 @@ |
| #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" |
| @@ -130,7 +131,10 @@ class SSLClientSocketPoolTest |
| ssl_config_service->GetSSLConfig(&ssl_config_); |
| } |
| - void CreatePool(bool transport_pool, bool http_proxy_pool, bool socks_pool) { |
| + void CreatePool(bool transport_pool, |
| + bool http_proxy_pool, |
| + bool socks_pool, |
| + bool enable_ssl_connect_job_waiting) { |
|
Ryan Sleevi
2014/07/25 01:36:37
Why make this an argument to CreatePool? You could
mshelley
2014/07/26 00:58:27
Done.
|
| ssl_histograms_.reset(new ClientSocketPoolHistograms("SSLUnitTest")); |
| pool_.reset(new SSLClientSocketPool( |
| kMaxSockets, |
| @@ -147,6 +151,7 @@ class SSLClientSocketPoolTest |
| socks_pool ? &socks_socket_pool_ : NULL, |
| http_proxy_pool ? &http_proxy_socket_pool_ : NULL, |
| NULL, |
| + enable_ssl_connect_job_waiting, |
| NULL)); |
| } |
| @@ -229,12 +234,430 @@ INSTANTIATE_TEST_CASE_P( |
| testing::Values(kProtoDeprecatedSPDY2, |
| kProtoSPDY3, kProtoSPDY31, kProtoSPDY4)); |
| +// Tests that the final socket will connect even if all sockets |
| +// prior to it fail. |
|
Ryan Sleevi
2014/07/25 01:36:37
More detail is needed in this comment, explaining
mshelley
2014/07/26 00:58:28
Done.
|
| +TEST_P(SSLClientSocketPoolTest, AllSocketsFailButLast) { |
| + StaticSocketDataProvider data1; |
| + StaticSocketDataProvider data2; |
| + StaticSocketDataProvider data3; |
| + StaticSocketDataProvider data4; |
| + socket_factory_.AddSocketDataProvider(&data1); |
| + socket_factory_.AddSocketDataProvider(&data2); |
| + socket_factory_.AddSocketDataProvider(&data3); |
| + socket_factory_.AddSocketDataProvider(&data4); |
| + socket_factory_.AddSocketDataProvider(&data4); |
| + socket_factory_.AddSocketDataProvider(&data4); |
| + socket_factory_.AddSocketDataProvider(&data4); |
| + socket_factory_.AddSocketDataProvider(&data4); |
| + 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 = true; |
| + SSLSocketDataProvider ssl3(ASYNC, ERR_SSL_PROTOCOL_ERROR); |
| + ssl3.is_in_session_cache = true; |
| + SSLSocketDataProvider ssl4(ASYNC, OK); |
| + ssl4.is_in_session_cache = true; |
| + |
| + socket_factory_.AddSSLSocketDataProvider(&ssl); |
| + socket_factory_.AddSSLSocketDataProvider(&ssl2); |
| + socket_factory_.AddSSLSocketDataProvider(&ssl3); |
| + socket_factory_.AddSSLSocketDataProvider(&ssl4); |
| + socket_factory_.AddSSLSocketDataProvider(&ssl4); |
| + socket_factory_.AddSSLSocketDataProvider(&ssl4); |
| + socket_factory_.AddSSLSocketDataProvider(&ssl4); |
| + socket_factory_.AddSSLSocketDataProvider(&ssl4); |
| + |
| + CreatePool(true, false, false, true); |
| + |
| + 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", params3, MEDIUM, callback3.callback(), pool_.get(), BoundNetLog()); |
| + |
| + base::RunLoop().RunUntilIdle(); |
| + |
| + std::vector<MockSSLClientSocket*> sockets = |
| + socket_factory_.ssl_client_sockets(); |
| + |
| + // 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 parellel if the |
|
Ryan Sleevi
2014/07/25 01:36:37
parallel
mshelley
2014/07/26 00:58:27
Done.
|
| +// 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_block_on_connect = true; |
| + SSLSocketDataProvider ssl2(ASYNC, OK); |
| + ssl2.is_in_session_cache = true; |
| + ssl2.should_block_on_connect = true; |
| + SSLSocketDataProvider ssl3(ASYNC, OK); |
| + ssl3.is_in_session_cache = true; |
| + ssl3.should_block_on_connect = true; |
| + socket_factory_.AddSSLSocketDataProvider(&ssl); |
| + socket_factory_.AddSSLSocketDataProvider(&ssl2); |
| + socket_factory_.AddSSLSocketDataProvider(&ssl3); |
| + |
| + CreatePool(true, false, 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)->IsConnected()); |
| + (*it)->RestartPausedConnect(); |
|
Ryan Sleevi
2014/07/25 01:36:37
This is... Surprising. I'm not sure I understand w
mshelley
2014/07/26 00:58:27
The idea here was to confirm that every socket sta
|
| + } |
| + |
| + callback3.WaitForResult(); |
|
Ryan Sleevi
2014/07/25 01:36:37
Mention why you don't check callback1/2
mshelley
2014/07/26 00:58:27
I was assuming that since 1/2 begin before 3, they
|
| + |
| + 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_block_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); |
| + |
| + CreatePool(true, false, false, true); |
| + |
| + 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(); |
| + |
| + 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; |
| + socket_factory_.AddSocketDataProvider(&data1); |
| + socket_factory_.AddSocketDataProvider(&data2); |
| + socket_factory_.AddSocketDataProvider(&data3); |
| + |
| + SSLSocketDataProvider ssl(ASYNC, ERR_SSL_PROTOCOL_ERROR); |
| + ssl.is_in_session_cache = false; |
| + ssl.should_block_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); |
| + |
| + CreatePool(true, false, false, true); |
| + |
| + 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(); |
| + |
| + callback3.WaitForResult(); |
| + |
| + EXPECT_TRUE(handle1.socket()->IsConnected()); |
| + 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_block_on_connect = true; |
| + SSLSocketDataProvider ssl2(ASYNC, OK); |
| + ssl2.is_in_session_cache = false; |
| + ssl2.should_block_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); |
| + |
| + CreatePool(true, false, false, true); |
| + 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(); |
| + |
| + // The first socket's connection should have failed, and no other sockets |
| + // should have connected yet. |
| + for (std::vector<MockSSLClientSocket*>::iterator it = sockets.begin(); |
| + it != sockets.end(); |
| + ++it) { |
| + EXPECT_FALSE((*it)->IsConnected()); |
| + } |
| + |
| + // Allow the first socket to resume it's connection process. |
| + sockets[0]->RestartPausedConnect(); |
| + |
| + base::RunLoop().RunUntilIdle(); |
| + |
| + // The second socket should have connected. |
| + EXPECT_TRUE(sockets[1]->IsConnected()); |
| + |
| + // Allow the second socket to continue its connection. |
| + sockets[1]->RestartPausedConnect(); |
| + |
| + callback4.WaitForResult(); |
| + |
| + // Pending connections should ultimately succeed. |
| + for (std::vector<MockSSLClientSocket*>::iterator it = ++sockets.begin(); |
| + it != sockets.end(); |
| + ++it) { |
| + EXPECT_TRUE((*it)->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_block_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); |
| + |
| + CreatePool(true, false, false, true); |
| + |
| + 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(); |
| + |
| + EXPECT_TRUE(sockets[0]->IsConnected()); |
| + for (std::vector<MockSSLClientSocket*>::iterator it = ++sockets.begin(); |
| + it != sockets.end(); |
| + ++it) { |
| + EXPECT_FALSE((*it)->IsConnected()); |
| + } |
| + |
| + sockets[0]->RestartPausedConnect(); |
| + |
| + 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)); |
| socket_factory_.AddSocketDataProvider(&data); |
| - CreatePool(true /* tcp pool */, false, false); |
| + CreatePool(true /* tcp pool */, false, false, false); |
| scoped_refptr<SSLSocketParams> params = SSLParams(ProxyServer::SCHEME_DIRECT, |
| false); |
| @@ -252,7 +675,7 @@ TEST_P(SSLClientSocketPoolTest, TCPFailAsync) { |
| data.set_connect_data(MockConnect(ASYNC, ERR_CONNECTION_FAILED)); |
| socket_factory_.AddSocketDataProvider(&data); |
| - CreatePool(true /* tcp pool */, false, false); |
| + CreatePool(true /* tcp pool */, false, false, false); |
| scoped_refptr<SSLSocketParams> params = SSLParams(ProxyServer::SCHEME_DIRECT, |
| false); |
| @@ -277,7 +700,7 @@ TEST_P(SSLClientSocketPoolTest, BasicDirect) { |
| SSLSocketDataProvider ssl(SYNCHRONOUS, OK); |
| socket_factory_.AddSSLSocketDataProvider(&ssl); |
| - CreatePool(true /* tcp pool */, false, false); |
| + CreatePool(true /* tcp pool */, false, false, false); |
| scoped_refptr<SSLSocketParams> params = SSLParams(ProxyServer::SCHEME_DIRECT, |
| false); |
| @@ -294,7 +717,7 @@ TEST_P(SSLClientSocketPoolTest, BasicDirect) { |
| // Make sure that SSLConnectJob passes on its priority to its |
| // socket request on Init (for the DIRECT case). |
| TEST_P(SSLClientSocketPoolTest, SetSocketRequestPriorityOnInitDirect) { |
| - CreatePool(true /* tcp pool */, false, false); |
| + CreatePool(true /* tcp pool */, false, false, false); |
| scoped_refptr<SSLSocketParams> params = |
| SSLParams(ProxyServer::SCHEME_DIRECT, false); |
| @@ -321,7 +744,7 @@ TEST_P(SSLClientSocketPoolTest, BasicDirectAsync) { |
| SSLSocketDataProvider ssl(ASYNC, OK); |
| socket_factory_.AddSSLSocketDataProvider(&ssl); |
| - CreatePool(true /* tcp pool */, false, false); |
| + CreatePool(true /* tcp pool */, false, false, false); |
| scoped_refptr<SSLSocketParams> params = SSLParams(ProxyServer::SCHEME_DIRECT, |
| false); |
| @@ -345,7 +768,7 @@ TEST_P(SSLClientSocketPoolTest, DirectCertError) { |
| SSLSocketDataProvider ssl(ASYNC, ERR_CERT_COMMON_NAME_INVALID); |
| socket_factory_.AddSSLSocketDataProvider(&ssl); |
| - CreatePool(true /* tcp pool */, false, false); |
| + CreatePool(true /* tcp pool */, false, false, false); |
| scoped_refptr<SSLSocketParams> params = SSLParams(ProxyServer::SCHEME_DIRECT, |
| false); |
| @@ -369,7 +792,7 @@ TEST_P(SSLClientSocketPoolTest, DirectSSLError) { |
| SSLSocketDataProvider ssl(ASYNC, ERR_SSL_PROTOCOL_ERROR); |
| socket_factory_.AddSSLSocketDataProvider(&ssl); |
| - CreatePool(true /* tcp pool */, false, false); |
| + CreatePool(true /* tcp pool */, false, false, false); |
| scoped_refptr<SSLSocketParams> params = SSLParams(ProxyServer::SCHEME_DIRECT, |
| false); |
| @@ -394,7 +817,7 @@ TEST_P(SSLClientSocketPoolTest, DirectWithNPN) { |
| ssl.SetNextProto(kProtoHTTP11); |
| socket_factory_.AddSSLSocketDataProvider(&ssl); |
| - CreatePool(true /* tcp pool */, false, false); |
| + CreatePool(true /* tcp pool */, false, false, false); |
| scoped_refptr<SSLSocketParams> params = SSLParams(ProxyServer::SCHEME_DIRECT, |
| false); |
| @@ -421,7 +844,7 @@ TEST_P(SSLClientSocketPoolTest, DirectNoSPDY) { |
| ssl.SetNextProto(kProtoHTTP11); |
| socket_factory_.AddSSLSocketDataProvider(&ssl); |
| - CreatePool(true /* tcp pool */, false, false); |
| + CreatePool(true /* tcp pool */, false, false, false); |
| scoped_refptr<SSLSocketParams> params = SSLParams(ProxyServer::SCHEME_DIRECT, |
| true); |
| @@ -446,7 +869,7 @@ TEST_P(SSLClientSocketPoolTest, DirectGotSPDY) { |
| ssl.SetNextProto(GetParam()); |
| socket_factory_.AddSSLSocketDataProvider(&ssl); |
| - CreatePool(true /* tcp pool */, false, false); |
| + CreatePool(true /* tcp pool */, false, false, false); |
| scoped_refptr<SSLSocketParams> params = SSLParams(ProxyServer::SCHEME_DIRECT, |
| true); |
| @@ -478,7 +901,7 @@ TEST_P(SSLClientSocketPoolTest, DirectGotBonusSPDY) { |
| ssl.SetNextProto(GetParam()); |
| socket_factory_.AddSSLSocketDataProvider(&ssl); |
| - CreatePool(true /* tcp pool */, false, false); |
| + CreatePool(true /* tcp pool */, false, false, false); |
| scoped_refptr<SSLSocketParams> params = SSLParams(ProxyServer::SCHEME_DIRECT, |
| true); |
| @@ -508,7 +931,7 @@ TEST_P(SSLClientSocketPoolTest, SOCKSFail) { |
| data.set_connect_data(MockConnect(SYNCHRONOUS, ERR_CONNECTION_FAILED)); |
| socket_factory_.AddSocketDataProvider(&data); |
| - CreatePool(false, true /* http proxy pool */, true /* socks pool */); |
| + CreatePool(false, true /* http proxy pool */, true /* socks pool */, false); |
| scoped_refptr<SSLSocketParams> params = SSLParams(ProxyServer::SCHEME_SOCKS5, |
| false); |
| @@ -527,7 +950,7 @@ TEST_P(SSLClientSocketPoolTest, SOCKSFailAsync) { |
| data.set_connect_data(MockConnect(ASYNC, ERR_CONNECTION_FAILED)); |
| socket_factory_.AddSocketDataProvider(&data); |
| - CreatePool(false, true /* http proxy pool */, true /* socks pool */); |
| + CreatePool(false, true /* http proxy pool */, true /* socks pool */, false); |
| scoped_refptr<SSLSocketParams> params = SSLParams(ProxyServer::SCHEME_SOCKS5, |
| false); |
| @@ -552,7 +975,7 @@ TEST_P(SSLClientSocketPoolTest, SOCKSBasic) { |
| SSLSocketDataProvider ssl(SYNCHRONOUS, OK); |
| socket_factory_.AddSSLSocketDataProvider(&ssl); |
| - CreatePool(false, true /* http proxy pool */, true /* socks pool */); |
| + CreatePool(false, true /* http proxy pool */, true /* socks pool */, false); |
| scoped_refptr<SSLSocketParams> params = SSLParams(ProxyServer::SCHEME_SOCKS5, |
| false); |
| @@ -577,7 +1000,7 @@ TEST_P(SSLClientSocketPoolTest, SetTransportPriorityOnInitSOCKS) { |
| SSLSocketDataProvider ssl(SYNCHRONOUS, OK); |
| socket_factory_.AddSSLSocketDataProvider(&ssl); |
| - CreatePool(false, true /* http proxy pool */, true /* socks pool */); |
| + CreatePool(false, true /* http proxy pool */, true /* socks pool */, false); |
| scoped_refptr<SSLSocketParams> params = |
| SSLParams(ProxyServer::SCHEME_SOCKS5, false); |
| @@ -594,7 +1017,7 @@ TEST_P(SSLClientSocketPoolTest, SOCKSBasicAsync) { |
| SSLSocketDataProvider ssl(ASYNC, OK); |
| socket_factory_.AddSSLSocketDataProvider(&ssl); |
| - CreatePool(false, true /* http proxy pool */, true /* socks pool */); |
| + CreatePool(false, true /* http proxy pool */, true /* socks pool */, false); |
| scoped_refptr<SSLSocketParams> params = SSLParams(ProxyServer::SCHEME_SOCKS5, |
| false); |
| @@ -619,7 +1042,7 @@ TEST_P(SSLClientSocketPoolTest, HttpProxyFail) { |
| data.set_connect_data(MockConnect(SYNCHRONOUS, ERR_CONNECTION_FAILED)); |
| socket_factory_.AddSocketDataProvider(&data); |
| - CreatePool(false, true /* http proxy pool */, true /* socks pool */); |
| + CreatePool(false, true /* http proxy pool */, true /* socks pool */, false); |
| scoped_refptr<SSLSocketParams> params = SSLParams(ProxyServer::SCHEME_HTTP, |
| false); |
| @@ -638,7 +1061,7 @@ TEST_P(SSLClientSocketPoolTest, HttpProxyFailAsync) { |
| data.set_connect_data(MockConnect(ASYNC, ERR_CONNECTION_FAILED)); |
| socket_factory_.AddSocketDataProvider(&data); |
| - CreatePool(false, true /* http proxy pool */, true /* socks pool */); |
| + CreatePool(false, true /* http proxy pool */, true /* socks pool */, false); |
| scoped_refptr<SSLSocketParams> params = SSLParams(ProxyServer::SCHEME_HTTP, |
| false); |
| @@ -675,7 +1098,7 @@ TEST_P(SSLClientSocketPoolTest, HttpProxyBasic) { |
| SSLSocketDataProvider ssl(SYNCHRONOUS, OK); |
| socket_factory_.AddSSLSocketDataProvider(&ssl); |
| - CreatePool(false, true /* http proxy pool */, true /* socks pool */); |
| + CreatePool(false, true /* http proxy pool */, true /* socks pool */, false); |
| scoped_refptr<SSLSocketParams> params = SSLParams(ProxyServer::SCHEME_HTTP, |
| false); |
| @@ -710,7 +1133,7 @@ TEST_P(SSLClientSocketPoolTest, SetTransportPriorityOnInitHTTP) { |
| SSLSocketDataProvider ssl(SYNCHRONOUS, OK); |
| socket_factory_.AddSSLSocketDataProvider(&ssl); |
| - CreatePool(false, true /* http proxy pool */, true /* socks pool */); |
| + CreatePool(false, true /* http proxy pool */, true /* socks pool */, false); |
| scoped_refptr<SSLSocketParams> params = |
| SSLParams(ProxyServer::SCHEME_HTTP, false); |
| @@ -738,7 +1161,7 @@ TEST_P(SSLClientSocketPoolTest, HttpProxyBasicAsync) { |
| SSLSocketDataProvider ssl(ASYNC, OK); |
| socket_factory_.AddSSLSocketDataProvider(&ssl); |
| - CreatePool(false, true /* http proxy pool */, true /* socks pool */); |
| + CreatePool(false, true /* http proxy pool */, true /* socks pool */, false); |
| scoped_refptr<SSLSocketParams> params = SSLParams(ProxyServer::SCHEME_HTTP, |
| false); |
| @@ -774,7 +1197,7 @@ TEST_P(SSLClientSocketPoolTest, NeedProxyAuth) { |
| SSLSocketDataProvider ssl(ASYNC, OK); |
| socket_factory_.AddSSLSocketDataProvider(&ssl); |
| - CreatePool(false, true /* http proxy pool */, true /* socks pool */); |
| + CreatePool(false, true /* http proxy pool */, true /* socks pool */, false); |
| scoped_refptr<SSLSocketParams> params = SSLParams(ProxyServer::SCHEME_HTTP, |
| false); |
| @@ -843,7 +1266,7 @@ TEST_P(SSLClientSocketPoolTest, IPPooling) { |
| ssl.SetNextProto(GetParam()); |
| socket_factory_.AddSSLSocketDataProvider(&ssl); |
| - CreatePool(true /* tcp pool */, false, false); |
| + CreatePool(true /* tcp pool */, false, false, false); |
| base::WeakPtr<SpdySession> spdy_session = |
| CreateSecureSpdySession(session_, test_hosts[0].key, BoundNetLog()); |
| @@ -900,7 +1323,7 @@ void SSLClientSocketPoolTest::TestIPPoolingDisabled( |
| socket_factory_.AddSocketDataProvider(&data); |
| socket_factory_.AddSSLSocketDataProvider(ssl); |
| - CreatePool(true /* tcp pool */, false, false); |
| + CreatePool(true /* tcp pool */, false, false, false); |
| base::WeakPtr<SpdySession> spdy_session = |
| CreateSecureSpdySession(session_, test_hosts[0].key, BoundNetLog()); |