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

Unified Diff: net/socket/transport_client_socket_pool_test_util.cc

Issue 1096203006: Collect all ConnectionAttempts from both sockets in TransportConnectJob. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@domrel_serverip1
Patch Set: Return fake ConnectionAttempt in MockTCPClientSocket Created 5 years, 7 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
Index: net/socket/transport_client_socket_pool_test_util.cc
diff --git a/net/socket/transport_client_socket_pool_test_util.cc b/net/socket/transport_client_socket_pool_test_util.cc
index 82ed8e6a78ef11151acc555cbedf3244b3594e9d..352fd878fe516da09d663e36853ec702b3e139e9 100644
--- a/net/socket/transport_client_socket_pool_test_util.cc
+++ b/net/socket/transport_client_socket_pool_test_util.cc
@@ -69,6 +69,11 @@ class MockConnectClientSocket : public StreamSocket {
bool WasNpnNegotiated() const override { return false; }
NextProto GetNegotiatedProtocol() const override { return kProtoUnknown; }
bool GetSSLInfo(SSLInfo* ssl_info) override { return false; }
+ void GetConnectionAttempts(ConnectionAttempts* out) const override {
+ out->clear();
+ }
+ void ClearConnectionAttempts() override {}
+ void AddConnectionAttempts(const ConnectionAttempts& attempts) override {}
// Socket implementation.
int Read(IOBuffer* buf,
@@ -125,6 +130,13 @@ class MockFailingClientSocket : public StreamSocket {
bool WasNpnNegotiated() const override { return false; }
NextProto GetNegotiatedProtocol() const override { return kProtoUnknown; }
bool GetSSLInfo(SSLInfo* ssl_info) override { return false; }
+ void GetConnectionAttempts(ConnectionAttempts* out) const override {
+ out->clear();
+ for (const auto& addr : addrlist_)
+ out->push_back(ConnectionAttempt(addr, ERR_CONNECTION_FAILED));
+ }
+ void ClearConnectionAttempts() override {}
+ void AddConnectionAttempts(const ConnectionAttempts& attempts) override {}
// Socket implementation.
int Read(IOBuffer* buf,
@@ -196,9 +208,16 @@ class MockTriggerableClientSocket : public StreamSocket {
static scoped_ptr<StreamSocket> MakeMockStalledClientSocket(
const AddressList& addrlist,
- net::NetLog* net_log) {
+ net::NetLog* net_log,
+ bool failing) {
scoped_ptr<MockTriggerableClientSocket> socket(
new MockTriggerableClientSocket(addrlist, true, net_log));
+ if (failing) {
+ DCHECK_LE(1u, addrlist.size());
+ ConnectionAttempts attempts;
+ attempts.push_back(ConnectionAttempt(addrlist[0], ERR_CONNECTION_FAILED));
+ socket->AddConnectionAttempts(attempts);
+ }
return socket.Pass();
}
@@ -236,6 +255,14 @@ class MockTriggerableClientSocket : public StreamSocket {
bool WasNpnNegotiated() const override { return false; }
NextProto GetNegotiatedProtocol() const override { return kProtoUnknown; }
bool GetSSLInfo(SSLInfo* ssl_info) override { return false; }
+ void GetConnectionAttempts(ConnectionAttempts* out) const override {
+ *out = connection_attempts_;
+ }
+ void ClearConnectionAttempts() override { connection_attempts_.clear(); }
+ void AddConnectionAttempts(const ConnectionAttempts& attempts) override {
+ connection_attempts_.insert(connection_attempts_.begin(), attempts.begin(),
+ attempts.end());
+ }
// Socket implementation.
int Read(IOBuffer* buf,
@@ -264,6 +291,7 @@ class MockTriggerableClientSocket : public StreamSocket {
BoundNetLog net_log_;
CompletionCallback callback_;
bool use_tcp_fastopen_;
+ ConnectionAttempts connection_attempts_;
base::WeakPtrFactory<MockTriggerableClientSocket> weak_factory_;
@@ -364,8 +392,11 @@ MockTransportClientSocketFactory::CreateTransportClientSocket(
return MockTriggerableClientSocket::MakeMockDelayedClientSocket(
addresses, false, delay_, net_log_);
case MOCK_STALLED_CLIENT_SOCKET:
- return MockTriggerableClientSocket::MakeMockStalledClientSocket(addresses,
- net_log_);
+ return MockTriggerableClientSocket::MakeMockStalledClientSocket(
+ addresses, net_log_, false);
+ case MOCK_STALLED_FAILING_CLIENT_SOCKET:
+ return MockTriggerableClientSocket::MakeMockStalledClientSocket(
+ addresses, net_log_, true);
case MOCK_TRIGGERABLE_CLIENT_SOCKET: {
scoped_ptr<MockTriggerableClientSocket> rv(
new MockTriggerableClientSocket(addresses, true, net_log_));
« no previous file with comments | « net/socket/transport_client_socket_pool_test_util.h ('k') | net/socket/transport_client_socket_pool_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698