Index: net/socket/transport_client_socket_pool_unittest.cc |
diff --git a/net/socket/transport_client_socket_pool_unittest.cc b/net/socket/transport_client_socket_pool_unittest.cc |
index dbfc5064c60634ffb77ed28c92c471432ff9bc2c..1a00d46a47a392c7aaa4e5648f4d5a267fcb7134 100644 |
--- a/net/socket/transport_client_socket_pool_unittest.cc |
+++ b/net/socket/transport_client_socket_pool_unittest.cc |
@@ -776,6 +776,8 @@ TEST_F(TransportClientSocketPoolTest, BackupSocketFailAfterStall) { |
EXPECT_EQ(ERR_CONNECTION_FAILED, callback.WaitForResult()); |
EXPECT_FALSE(handle.is_initialized()); |
EXPECT_FALSE(handle.socket()); |
+ ASSERT_EQ(1u, handle.connection_attempts().size()); |
+ EXPECT_EQ(ERR_CONNECTION_FAILED, handle.connection_attempts()[0].result); |
EXPECT_EQ(0, pool_.IdleSocketCount()); |
handle.Reset(); |
@@ -824,6 +826,8 @@ TEST_F(TransportClientSocketPoolTest, BackupSocketFailAfterDelay) { |
EXPECT_EQ(ERR_CONNECTION_FAILED, callback.WaitForResult()); |
EXPECT_FALSE(handle.is_initialized()); |
EXPECT_FALSE(handle.socket()); |
+ ASSERT_EQ(1u, handle.connection_attempts().size()); |
+ EXPECT_EQ(ERR_CONNECTION_FAILED, handle.connection_attempts()[0].result); |
handle.Reset(); |
// Reset for the next case. |
@@ -842,11 +846,11 @@ TEST_F(TransportClientSocketPoolTest, IPv6FallbackSocketIPv4FinishesFirst) { |
NULL); |
MockTransportClientSocketFactory::ClientSocketType case_types[] = { |
- // This is the IPv6 socket. |
- MockTransportClientSocketFactory::MOCK_STALLED_CLIENT_SOCKET, |
- // This is the IPv4 socket. |
- MockTransportClientSocketFactory::MOCK_PENDING_CLIENT_SOCKET |
- }; |
+ // This is the IPv6 socket. It stalls, but presents one failed connection |
+ // attempt on GetConnectionAttempts. |
+ MockTransportClientSocketFactory::MOCK_STALLED_FAILING_CLIENT_SOCKET, |
+ // This is the IPv4 socket. |
+ MockTransportClientSocketFactory::MOCK_PENDING_CLIENT_SOCKET}; |
client_socket_factory_.set_client_socket_types(case_types, 2); |
@@ -868,6 +872,14 @@ TEST_F(TransportClientSocketPoolTest, IPv6FallbackSocketIPv4FinishesFirst) { |
IPEndPoint endpoint; |
handle.socket()->GetLocalAddress(&endpoint); |
EXPECT_EQ(kIPv4AddressSize, endpoint.address().size()); |
+ |
+ // Check that the failed connection attempt on the main socket is collected. |
+ ConnectionAttempts attempts; |
+ handle.socket()->GetConnectionAttempts(&attempts); |
+ ASSERT_EQ(1u, attempts.size()); |
+ EXPECT_EQ(ERR_CONNECTION_FAILED, attempts[0].result); |
+ EXPECT_EQ(kIPv6AddressSize, attempts[0].endpoint.address().size()); |
+ |
EXPECT_EQ(2, client_socket_factory_.allocation_count()); |
} |
@@ -884,11 +896,11 @@ TEST_F(TransportClientSocketPoolTest, IPv6FallbackSocketIPv6FinishesFirst) { |
NULL); |
MockTransportClientSocketFactory::ClientSocketType case_types[] = { |
- // This is the IPv6 socket. |
- MockTransportClientSocketFactory::MOCK_DELAYED_CLIENT_SOCKET, |
- // This is the IPv4 socket. |
- MockTransportClientSocketFactory::MOCK_STALLED_CLIENT_SOCKET |
- }; |
+ // This is the IPv6 socket. |
+ MockTransportClientSocketFactory::MOCK_DELAYED_CLIENT_SOCKET, |
+ // This is the IPv4 socket. It stalls, but presents one failed connection |
+ // attempt on GetConnectionATtempts. |
+ MockTransportClientSocketFactory::MOCK_STALLED_FAILING_CLIENT_SOCKET}; |
client_socket_factory_.set_client_socket_types(case_types, 2); |
client_socket_factory_.set_delay(base::TimeDelta::FromMilliseconds( |
@@ -912,6 +924,15 @@ TEST_F(TransportClientSocketPoolTest, IPv6FallbackSocketIPv6FinishesFirst) { |
IPEndPoint endpoint; |
handle.socket()->GetLocalAddress(&endpoint); |
EXPECT_EQ(kIPv6AddressSize, endpoint.address().size()); |
+ |
+ // Check that the failed connection attempt on the fallback socket is |
+ // collected. |
+ ConnectionAttempts attempts; |
+ handle.socket()->GetConnectionAttempts(&attempts); |
+ ASSERT_EQ(1u, attempts.size()); |
+ EXPECT_EQ(ERR_CONNECTION_FAILED, attempts[0].result); |
+ EXPECT_EQ(kIPv4AddressSize, attempts[0].endpoint.address().size()); |
+ |
EXPECT_EQ(2, client_socket_factory_.allocation_count()); |
} |
@@ -945,6 +966,7 @@ TEST_F(TransportClientSocketPoolTest, IPv6NoIPv4AddressesToFallbackTo) { |
IPEndPoint endpoint; |
handle.socket()->GetLocalAddress(&endpoint); |
EXPECT_EQ(kIPv6AddressSize, endpoint.address().size()); |
+ EXPECT_EQ(0u, handle.connection_attempts().size()); |
EXPECT_EQ(1, client_socket_factory_.allocation_count()); |
} |
@@ -977,6 +999,7 @@ TEST_F(TransportClientSocketPoolTest, IPv4HasNoFallback) { |
IPEndPoint endpoint; |
handle.socket()->GetLocalAddress(&endpoint); |
EXPECT_EQ(kIPv4AddressSize, endpoint.address().size()); |
+ EXPECT_EQ(0u, handle.connection_attempts().size()); |
EXPECT_EQ(1, client_socket_factory_.allocation_count()); |
} |