summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormmenke <mmenke@chromium.org>2015-12-18 13:26:45 -0800
committerCommit bot <commit-bot@chromium.org>2015-12-18 21:27:26 +0000
commit651bae7f9f979129ce3f662fe4dafe2327da0c88 (patch)
tree0c9047a9ca02c5b009b8fcade07ff5b1581fed88
parent6196e1f23f37c8e7196bf1e2263ae985b3e89f0c (diff)
downloadchromium_src-651bae7f9f979129ce3f662fe4dafe2327da0c88.zip
chromium_src-651bae7f9f979129ce3f662fe4dafe2327da0c88.tar.gz
chromium_src-651bae7f9f979129ce3f662fe4dafe2327da0c88.tar.bz2
Remove use of DeterministicSocketData from QUIC tests.
This switches them over to using SequencedSocketData, and removes support for using DeterministicSocketData with UDP sockets. BUG=492693 Review URL: https://codereview.chromium.org/1534993003 Cr-Commit-Position: refs/heads/master@{#366169}
-rw-r--r--net/quic/quic_network_transaction_unittest.cc25
-rw-r--r--net/quic/quic_stream_factory_test.cc392
-rw-r--r--net/socket/socket_test_util.cc110
-rw-r--r--net/socket/socket_test_util.h61
4 files changed, 145 insertions, 443 deletions
diff --git a/net/quic/quic_network_transaction_unittest.cc b/net/quic/quic_network_transaction_unittest.cc
index fb5d3b7..245021a 100644
--- a/net/quic/quic_network_transaction_unittest.cc
+++ b/net/quic/quic_network_transaction_unittest.cc
@@ -7,6 +7,7 @@
#include "base/basictypes.h"
#include "base/compiler_specific.h"
#include "base/memory/scoped_ptr.h"
+#include "base/run_loop.h"
#include "base/stl_util.h"
#include "base/strings/stringprintf.h"
#include "net/base/network_quality_estimator.h"
@@ -1326,45 +1327,43 @@ TEST_P(QuicNetworkTransactionTest, HungAlternateProtocol) {
MockRead(SYNCHRONOUS, 4, kQuicAlternateProtocolHeader),
MockRead(SYNCHRONOUS, 5, "hello world"), MockRead(SYNCHRONOUS, OK, 6)};
- DeterministicMockClientSocketFactory socket_factory;
+ MockClientSocketFactory socket_factory;
- DeterministicSocketData http_data(http_reads, arraysize(http_reads),
- http_writes, arraysize(http_writes));
+ SequencedSocketData http_data(http_reads, arraysize(http_reads), http_writes,
+ arraysize(http_writes));
socket_factory.AddSocketDataProvider(&http_data);
socket_factory.AddSSLSocketDataProvider(&ssl_data_);
// The QUIC transaction will not be allowed to complete.
- MockWrite quic_writes[] = {MockWrite(SYNCHRONOUS, ERR_IO_PENDING, 0)};
+ MockWrite quic_writes[] = {MockWrite(SYNCHRONOUS, ERR_IO_PENDING, 1)};
MockRead quic_reads[] = {
- MockRead(SYNCHRONOUS, ERR_IO_PENDING, 1),
+ MockRead(SYNCHRONOUS, ERR_IO_PENDING, 0),
};
- DeterministicSocketData quic_data(quic_reads, arraysize(quic_reads),
- quic_writes, arraysize(quic_writes));
+ SequencedSocketData quic_data(quic_reads, arraysize(quic_reads), quic_writes,
+ arraysize(quic_writes));
socket_factory.AddSocketDataProvider(&quic_data);
// The HTTP transaction will complete.
- DeterministicSocketData http_data2(http_reads, arraysize(http_reads),
- http_writes, arraysize(http_writes));
+ SequencedSocketData http_data2(http_reads, arraysize(http_reads), http_writes,
+ arraysize(http_writes));
socket_factory.AddSocketDataProvider(&http_data2);
socket_factory.AddSSLSocketDataProvider(&ssl_data_);
CreateSessionWithFactory(&socket_factory, true);
// Run the first request.
- http_data.StopAfter(arraysize(http_reads) + arraysize(http_writes));
SendRequestAndExpectHttpResponse("hello world");
ASSERT_TRUE(http_data.AllReadDataConsumed());
ASSERT_TRUE(http_data.AllWriteDataConsumed());
// Now run the second request in which the QUIC socket hangs,
// and verify the the transaction continues over HTTP.
- http_data2.StopAfter(arraysize(http_reads) + arraysize(http_writes));
SendRequestAndExpectHttpResponse("hello world");
+ base::RunLoop().RunUntilIdle();
ASSERT_TRUE(http_data2.AllReadDataConsumed());
ASSERT_TRUE(http_data2.AllWriteDataConsumed());
- ASSERT_TRUE(!quic_data.AllReadDataConsumed());
- ASSERT_TRUE(!quic_data.AllWriteDataConsumed());
+ ASSERT_TRUE(quic_data.AllReadDataConsumed());
}
TEST_P(QuicNetworkTransactionTest, ZeroRTTWithHttpRace) {
diff --git a/net/quic/quic_stream_factory_test.cc b/net/quic/quic_stream_factory_test.cc
index de84d4e..9ad8e2b 100644
--- a/net/quic/quic_stream_factory_test.cc
+++ b/net/quic/quic_stream_factory_test.cc
@@ -198,13 +198,10 @@ class QuicStreamFactoryTest : public ::testing::TestWithParam<TestParams> {
bool goaway_received) {
// Should only be called if there is no active session for this destination.
EXPECT_FALSE(HasActiveSession(destination));
- size_t socket_count = socket_factory_.udp_client_sockets().size();
+ size_t socket_count = socket_factory_.udp_client_socket_ports().size();
- MockRead reads[] = {
- MockRead(ASYNC, OK, 0) // EOF
- };
- DeterministicSocketData socket_data(reads, arraysize(reads), nullptr, 0);
- socket_data.StopAfter(1);
+ MockRead reads[] = {MockRead(SYNCHRONOUS, ERR_IO_PENDING, 0)};
+ SequencedSocketData socket_data(reads, arraysize(reads), nullptr, 0);
socket_factory_.AddSocketDataProvider(&socket_data);
QuicStreamRequest request(factory_.get());
@@ -221,15 +218,11 @@ class QuicStreamFactoryTest : public ::testing::TestWithParam<TestParams> {
QuicChromiumClientSession* session =
QuicStreamFactoryPeer::GetActiveSession(factory_.get(), destination);
- if (socket_count + 1 != socket_factory_.udp_client_sockets().size()) {
- EXPECT_TRUE(false);
+ if (socket_count + 1 != socket_factory_.udp_client_socket_ports().size()) {
+ ADD_FAILURE();
return 0;
}
- IPEndPoint endpoint;
- socket_factory_.udp_client_sockets()[socket_count]->GetLocalAddress(
- &endpoint);
- int port = endpoint.port();
if (goaway_received) {
QuicGoAwayFrame goaway(QUIC_NO_ERROR, 1, "");
session->connection()->OnGoAwayFrame(goaway);
@@ -239,7 +232,7 @@ class QuicStreamFactoryTest : public ::testing::TestWithParam<TestParams> {
EXPECT_FALSE(HasActiveSession(destination));
EXPECT_TRUE(socket_data.AllReadDataConsumed());
EXPECT_TRUE(socket_data.AllWriteDataConsumed());
- return port;
+ return socket_factory_.udp_client_socket_ports()[socket_count];
}
scoped_ptr<QuicEncryptedPacket> ConstructConnectionClosePacket(
@@ -274,7 +267,7 @@ class QuicStreamFactoryTest : public ::testing::TestWithParam<TestParams> {
}
MockHostResolver host_resolver_;
- DeterministicMockClientSocketFactory socket_factory_;
+ MockClientSocketFactory socket_factory_;
MockCryptoClientStreamFactory crypto_client_stream_factory_;
MockRandom random_generator_;
MockClock* clock_; // Owned by factory_.
@@ -319,12 +312,9 @@ INSTANTIATE_TEST_CASE_P(Version,
TEST_P(QuicStreamFactoryTest, Create) {
Initialize();
- MockRead reads[] = {
- MockRead(ASYNC, OK, 0) // EOF
- };
- DeterministicSocketData socket_data(reads, arraysize(reads), nullptr, 0);
+ MockRead reads[] = {MockRead(SYNCHRONOUS, ERR_IO_PENDING, 0)};
+ SequencedSocketData socket_data(reads, arraysize(reads), nullptr, 0);
socket_factory_.AddSocketDataProvider(&socket_data);
- socket_data.StopAfter(1);
QuicStreamRequest request(factory_.get());
EXPECT_EQ(ERR_IO_PENDING,
@@ -357,12 +347,9 @@ TEST_P(QuicStreamFactoryTest, Create) {
TEST_P(QuicStreamFactoryTest, CreateZeroRtt) {
Initialize();
- MockRead reads[] = {
- MockRead(ASYNC, OK, 0) // EOF
- };
- DeterministicSocketData socket_data(reads, arraysize(reads), nullptr, 0);
+ MockRead reads[] = {MockRead(SYNCHRONOUS, ERR_IO_PENDING, 0)};
+ SequencedSocketData socket_data(reads, arraysize(reads), nullptr, 0);
socket_factory_.AddSocketDataProvider(&socket_data);
- socket_data.StopAfter(1);
crypto_client_stream_factory_.set_handshake_mode(
MockCryptoClientStream::ZERO_RTT);
@@ -384,12 +371,9 @@ TEST_P(QuicStreamFactoryTest, CreateZeroRtt) {
TEST_P(QuicStreamFactoryTest, CreateZeroRttPost) {
Initialize();
- MockRead reads[] = {
- MockRead(ASYNC, OK, 0) // EOF
- };
- DeterministicSocketData socket_data(reads, arraysize(reads), nullptr, 0);
+ MockRead reads[] = {MockRead(SYNCHRONOUS, ERR_IO_PENDING, 0)};
+ SequencedSocketData socket_data(reads, arraysize(reads), nullptr, 0);
socket_factory_.AddSocketDataProvider(&socket_data);
- socket_data.StopAfter(1);
crypto_client_stream_factory_.set_handshake_mode(
MockCryptoClientStream::ZERO_RTT);
@@ -418,12 +402,9 @@ TEST_P(QuicStreamFactoryTest, CreateZeroRttPost) {
TEST_P(QuicStreamFactoryTest, NoZeroRttForDifferentHost) {
Initialize();
- MockRead reads[] = {
- MockRead(ASYNC, OK, 0),
- };
- DeterministicSocketData socket_data(reads, arraysize(reads), nullptr, 0);
+ MockRead reads[] = {MockRead(SYNCHRONOUS, ERR_IO_PENDING, 0)};
+ SequencedSocketData socket_data(reads, arraysize(reads), nullptr, 0);
socket_factory_.AddSocketDataProvider(&socket_data);
- socket_data.StopAfter(1);
crypto_client_stream_factory_.set_handshake_mode(
MockCryptoClientStream::ZERO_RTT);
@@ -452,12 +433,9 @@ TEST_P(QuicStreamFactoryTest, NoZeroRttForDifferentHost) {
TEST_P(QuicStreamFactoryTest, GoAway) {
Initialize();
- MockRead reads[] = {
- MockRead(ASYNC, OK, 0) // EOF
- };
- DeterministicSocketData socket_data(reads, arraysize(reads), nullptr, 0);
+ MockRead reads[] = {MockRead(SYNCHRONOUS, ERR_IO_PENDING, 0)};
+ SequencedSocketData socket_data(reads, arraysize(reads), nullptr, 0);
socket_factory_.AddSocketDataProvider(&socket_data);
- socket_data.StopAfter(1);
QuicStreamRequest request(factory_.get());
EXPECT_EQ(ERR_IO_PENDING,
@@ -484,12 +462,9 @@ TEST_P(QuicStreamFactoryTest, GoAway) {
TEST_P(QuicStreamFactoryTest, Pooling) {
Initialize();
- MockRead reads[] = {
- MockRead(ASYNC, OK, 0) // EOF
- };
- DeterministicSocketData socket_data(reads, arraysize(reads), nullptr, 0);
+ MockRead reads[] = {MockRead(SYNCHRONOUS, ERR_IO_PENDING, 0)};
+ SequencedSocketData socket_data(reads, arraysize(reads), nullptr, 0);
socket_factory_.AddSocketDataProvider(&socket_data);
- socket_data.StopAfter(1);
HostPortPair server2("mail.google.com", kDefaultServerPort);
host_resolver_.set_synchronous_mode(true);
@@ -525,15 +500,11 @@ TEST_P(QuicStreamFactoryTest, NoPoolingIfDisabled) {
disable_connection_pooling_ = true;
Initialize();
- MockRead reads[] = {
- MockRead(ASYNC, OK, 0) // EOF
- };
- DeterministicSocketData socket_data1(reads, arraysize(reads), nullptr, 0);
- DeterministicSocketData socket_data2(reads, arraysize(reads), nullptr, 0);
+ MockRead reads[] = {MockRead(SYNCHRONOUS, ERR_IO_PENDING, 0)};
+ SequencedSocketData socket_data1(reads, arraysize(reads), nullptr, 0);
+ SequencedSocketData socket_data2(reads, arraysize(reads), nullptr, 0);
socket_factory_.AddSocketDataProvider(&socket_data1);
socket_factory_.AddSocketDataProvider(&socket_data2);
- socket_data1.StopAfter(1);
- socket_data2.StopAfter(1);
HostPortPair server2("mail.google.com", kDefaultServerPort);
host_resolver_.set_synchronous_mode(true);
@@ -570,15 +541,11 @@ TEST_P(QuicStreamFactoryTest, NoPoolingIfDisabled) {
TEST_P(QuicStreamFactoryTest, NoPoolingAfterGoAway) {
Initialize();
- MockRead reads[] = {
- MockRead(ASYNC, OK, 0) // EOF
- };
- DeterministicSocketData socket_data1(reads, arraysize(reads), nullptr, 0);
- DeterministicSocketData socket_data2(reads, arraysize(reads), nullptr, 0);
+ MockRead reads[] = {MockRead(SYNCHRONOUS, ERR_IO_PENDING, 0)};
+ SequencedSocketData socket_data1(reads, arraysize(reads), nullptr, 0);
+ SequencedSocketData socket_data2(reads, arraysize(reads), nullptr, 0);
socket_factory_.AddSocketDataProvider(&socket_data1);
socket_factory_.AddSocketDataProvider(&socket_data2);
- socket_data1.StopAfter(1);
- socket_data2.StopAfter(1);
HostPortPair server2("mail.google.com", kDefaultServerPort);
host_resolver_.set_synchronous_mode(true);
@@ -627,12 +594,9 @@ TEST_P(QuicStreamFactoryTest, NoPoolingAfterGoAway) {
TEST_P(QuicStreamFactoryTest, HttpsPooling) {
Initialize();
- MockRead reads[] = {
- MockRead(ASYNC, OK, 0) // EOF
- };
- DeterministicSocketData socket_data(reads, arraysize(reads), nullptr, 0);
+ MockRead reads[] = {MockRead(SYNCHRONOUS, ERR_IO_PENDING, 0)};
+ SequencedSocketData socket_data(reads, arraysize(reads), nullptr, 0);
socket_factory_.AddSocketDataProvider(&socket_data);
- socket_data.StopAfter(1);
HostPortPair server1("www.example.org", 443);
HostPortPair server2("mail.example.org", 443);
@@ -670,15 +634,11 @@ TEST_P(QuicStreamFactoryTest, NoHttpsPoolingIfDisabled) {
disable_connection_pooling_ = true;
Initialize();
- MockRead reads[] = {
- MockRead(ASYNC, OK, 0) // EOF
- };
- DeterministicSocketData socket_data1(reads, arraysize(reads), nullptr, 0);
- DeterministicSocketData socket_data2(reads, arraysize(reads), nullptr, 0);
+ MockRead reads[] = {MockRead(SYNCHRONOUS, ERR_IO_PENDING, 0)};
+ SequencedSocketData socket_data1(reads, arraysize(reads), nullptr, 0);
+ SequencedSocketData socket_data2(reads, arraysize(reads), nullptr, 0);
socket_factory_.AddSocketDataProvider(&socket_data1);
socket_factory_.AddSocketDataProvider(&socket_data2);
- socket_data1.StopAfter(1);
- socket_data2.StopAfter(1);
HostPortPair server1("www.example.org", 443);
HostPortPair server2("mail.example.org", 443);
@@ -718,12 +678,9 @@ class QuicAlternativeServiceCertificateValidationPooling
: public QuicStreamFactoryTest {
public:
void Run(bool valid) {
- MockRead reads[] = {
- MockRead(ASYNC, OK, 0) // EOF
- };
- DeterministicSocketData socket_data1(reads, arraysize(reads), nullptr, 0);
+ MockRead reads[] = {MockRead(SYNCHRONOUS, ERR_IO_PENDING, 0)};
+ SequencedSocketData socket_data1(reads, arraysize(reads), nullptr, 0);
socket_factory_.AddSocketDataProvider(&socket_data1);
- socket_data1.StopAfter(1);
HostPortPair server1("www.example.org", 443);
HostPortPair server2("mail.example.org", 443);
@@ -790,12 +747,9 @@ TEST_P(QuicAlternativeServiceCertificateValidationPooling, Invalid) {
TEST_P(QuicStreamFactoryTest, HttpsPoolingWithMatchingPins) {
Initialize();
- MockRead reads[] = {
- MockRead(ASYNC, OK, 0) // EOF
- };
- DeterministicSocketData socket_data(reads, arraysize(reads), nullptr, 0);
+ MockRead reads[] = {MockRead(SYNCHRONOUS, ERR_IO_PENDING, 0)};
+ SequencedSocketData socket_data(reads, arraysize(reads), nullptr, 0);
socket_factory_.AddSocketDataProvider(&socket_data);
- socket_data.StopAfter(1);
HostPortPair server1("www.example.org", 443);
HostPortPair server2("mail.example.org", 443);
@@ -839,15 +793,11 @@ TEST_P(QuicStreamFactoryTest, NoHttpsPoolingWithMatchingPinsIfDisabled) {
disable_connection_pooling_ = true;
Initialize();
- MockRead reads[] = {
- MockRead(ASYNC, OK, 0) // EOF
- };
- DeterministicSocketData socket_data1(reads, arraysize(reads), nullptr, 0);
- DeterministicSocketData socket_data2(reads, arraysize(reads), nullptr, 0);
+ MockRead reads[] = {MockRead(SYNCHRONOUS, ERR_IO_PENDING, 0)};
+ SequencedSocketData socket_data1(reads, arraysize(reads), nullptr, 0);
+ SequencedSocketData socket_data2(reads, arraysize(reads), nullptr, 0);
socket_factory_.AddSocketDataProvider(&socket_data1);
socket_factory_.AddSocketDataProvider(&socket_data2);
- socket_data1.StopAfter(1);
- socket_data2.StopAfter(1);
HostPortPair server1("www.example.org", 443);
HostPortPair server2("mail.example.org", 443);
@@ -891,15 +841,11 @@ TEST_P(QuicStreamFactoryTest, NoHttpsPoolingWithMatchingPinsIfDisabled) {
TEST_P(QuicStreamFactoryTest, NoHttpsPoolingWithDifferentPins) {
Initialize();
- MockRead reads[] = {
- MockRead(ASYNC, OK, 0) // EOF
- };
- DeterministicSocketData socket_data1(reads, arraysize(reads), nullptr, 0);
- DeterministicSocketData socket_data2(reads, arraysize(reads), nullptr, 0);
+ MockRead reads[] = {MockRead(SYNCHRONOUS, ERR_IO_PENDING, 0)};
+ SequencedSocketData socket_data1(reads, arraysize(reads), nullptr, 0);
+ SequencedSocketData socket_data2(reads, arraysize(reads), nullptr, 0);
socket_factory_.AddSocketDataProvider(&socket_data1);
socket_factory_.AddSocketDataProvider(&socket_data2);
- socket_data1.StopAfter(1);
- socket_data2.StopAfter(1);
HostPortPair server1("www.example.org", 443);
HostPortPair server2("mail.example.org", 443);
@@ -949,14 +895,10 @@ TEST_P(QuicStreamFactoryTest, NoHttpsPoolingWithDifferentPins) {
TEST_P(QuicStreamFactoryTest, Goaway) {
Initialize();
- MockRead reads[] = {
- MockRead(ASYNC, OK, 0) // EOF
- };
- DeterministicSocketData socket_data(reads, arraysize(reads), nullptr, 0);
- socket_data.StopAfter(1);
+ MockRead reads[] = {MockRead(SYNCHRONOUS, ERR_IO_PENDING, 0)};
+ SequencedSocketData socket_data(reads, arraysize(reads), nullptr, 0);
socket_factory_.AddSocketDataProvider(&socket_data);
- DeterministicSocketData socket_data2(reads, arraysize(reads), nullptr, 0);
- socket_data2.StopAfter(1);
+ SequencedSocketData socket_data2(reads, arraysize(reads), nullptr, 0);
socket_factory_.AddSocketDataProvider(&socket_data2);
QuicStreamRequest request(factory_.get());
@@ -1019,12 +961,10 @@ TEST_P(QuicStreamFactoryTest, MaxOpenStream) {
maker_.MakeRstPacket(1, false, stream_id, QUIC_STREAM_CANCELLED));
MockRead reads[] = {
MockRead(ASYNC, server_rst->data(), server_rst->length(), 1),
- MockRead(ASYNC, OK, 2) // EOF
- };
- DeterministicSocketData socket_data(reads, arraysize(reads), writes,
- arraysize(writes));
+ MockRead(SYNCHRONOUS, ERR_IO_PENDING, 2)};
+ SequencedSocketData socket_data(reads, arraysize(reads), writes,
+ arraysize(writes));
socket_factory_.AddSocketDataProvider(&socket_data);
- socket_data.StopAfter(2);
HttpRequestInfo request_info;
std::vector<QuicHttpStream*> streams;
@@ -1062,9 +1002,6 @@ TEST_P(QuicStreamFactoryTest, MaxOpenStream) {
streams.front()->Close(false);
// Trigger exchange of RSTs that in turn allow progress for the last
// stream.
- socket_data.RunFor(2);
-
- ASSERT_TRUE(callback_.have_result());
EXPECT_EQ(OK, callback_.WaitForResult());
EXPECT_TRUE(socket_data.AllReadDataConsumed());
@@ -1082,7 +1019,7 @@ TEST_P(QuicStreamFactoryTest, MaxOpenStream) {
TEST_P(QuicStreamFactoryTest, ResolutionErrorInCreate) {
Initialize();
- DeterministicSocketData socket_data(nullptr, 0, nullptr, 0);
+ SequencedSocketData socket_data(nullptr, 0, nullptr, 0);
socket_factory_.AddSocketDataProvider(&socket_data);
host_resolver_.rules()->AddSimulatedFailure(kDefaultServerHostName);
@@ -1102,10 +1039,9 @@ TEST_P(QuicStreamFactoryTest, ResolutionErrorInCreate) {
TEST_P(QuicStreamFactoryTest, ConnectErrorInCreate) {
Initialize();
MockConnect connect(SYNCHRONOUS, ERR_ADDRESS_IN_USE);
- DeterministicSocketData socket_data(nullptr, 0, nullptr, 0);
+ SequencedSocketData socket_data(nullptr, 0, nullptr, 0);
socket_data.set_connect_data(connect);
socket_factory_.AddSocketDataProvider(&socket_data);
- socket_data.StopAfter(1);
QuicStreamRequest request(factory_.get());
EXPECT_EQ(ERR_IO_PENDING,
@@ -1121,10 +1057,8 @@ TEST_P(QuicStreamFactoryTest, ConnectErrorInCreate) {
TEST_P(QuicStreamFactoryTest, CancelCreate) {
Initialize();
- MockRead reads[] = {
- MockRead(ASYNC, OK, 0) // EOF
- };
- DeterministicSocketData socket_data(reads, arraysize(reads), nullptr, 0);
+ MockRead reads[] = {MockRead(SYNCHRONOUS, ERR_IO_PENDING, 0)};
+ SequencedSocketData socket_data(reads, arraysize(reads), nullptr, 0);
socket_factory_.AddSocketDataProvider(&socket_data);
{
QuicStreamRequest request(factory_.get());
@@ -1134,9 +1068,7 @@ TEST_P(QuicStreamFactoryTest, CancelCreate) {
"GET", net_log_, callback_.callback()));
}
- socket_data.StopAfter(1);
- base::RunLoop run_loop;
- run_loop.RunUntilIdle();
+ base::RunLoop().RunUntilIdle();
scoped_ptr<QuicHttpStream> stream(CreateFromSession(host_port_pair_));
EXPECT_TRUE(stream.get());
@@ -1175,24 +1107,18 @@ TEST_P(QuicStreamFactoryTest, GoAwayDisablesConsistentEphemeralPort) {
TEST_P(QuicStreamFactoryTest, CloseAllSessions) {
Initialize();
- MockRead reads[] = {
- MockRead(ASYNC, 0, 0) // EOF
- };
+ MockRead reads[] = {MockRead(SYNCHRONOUS, ERR_IO_PENDING, 0)};
scoped_ptr<QuicEncryptedPacket> rst(ConstructRstPacket());
std::vector<MockWrite> writes;
writes.push_back(MockWrite(ASYNC, rst->data(), rst->length(), 1));
- DeterministicSocketData socket_data(reads, arraysize(reads),
- writes.empty() ? nullptr : &writes[0],
- writes.size());
+ SequencedSocketData socket_data(reads, arraysize(reads),
+ writes.empty() ? nullptr : &writes[0],
+ writes.size());
socket_factory_.AddSocketDataProvider(&socket_data);
- socket_data.StopAfter(1);
- MockRead reads2[] = {
- MockRead(ASYNC, 0, 0) // EOF
- };
- DeterministicSocketData socket_data2(reads2, arraysize(reads2), nullptr, 0);
+ MockRead reads2[] = {MockRead(SYNCHRONOUS, ERR_IO_PENDING, 0)};
+ SequencedSocketData socket_data2(reads2, arraysize(reads2), nullptr, 0);
socket_factory_.AddSocketDataProvider(&socket_data2);
- socket_data2.StopAfter(1);
QuicStreamRequest request(factory_.get());
EXPECT_EQ(ERR_IO_PENDING,
@@ -1234,24 +1160,18 @@ TEST_P(QuicStreamFactoryTest, OnIPAddressChanged) {
close_sessions_on_ip_change_ = true;
Initialize();
- MockRead reads[] = {
- MockRead(ASYNC, 0, 0) // EOF
- };
+ MockRead reads[] = {MockRead(SYNCHRONOUS, ERR_IO_PENDING, 0)};
scoped_ptr<QuicEncryptedPacket> rst(ConstructRstPacket());
std::vector<MockWrite> writes;
writes.push_back(MockWrite(ASYNC, rst->data(), rst->length(), 1));
- DeterministicSocketData socket_data(reads, arraysize(reads),
- writes.empty() ? nullptr : &writes[0],
- writes.size());
+ SequencedSocketData socket_data(reads, arraysize(reads),
+ writes.empty() ? nullptr : &writes[0],
+ writes.size());
socket_factory_.AddSocketDataProvider(&socket_data);
- socket_data.StopAfter(1);
- MockRead reads2[] = {
- MockRead(ASYNC, 0, 0) // EOF
- };
- DeterministicSocketData socket_data2(reads2, arraysize(reads2), nullptr, 0);
+ MockRead reads2[] = {MockRead(SYNCHRONOUS, ERR_IO_PENDING, 0)};
+ SequencedSocketData socket_data2(reads2, arraysize(reads2), nullptr, 0);
socket_factory_.AddSocketDataProvider(&socket_data2);
- socket_data2.StopAfter(1);
QuicStreamRequest request(factory_.get());
EXPECT_EQ(ERR_IO_PENDING,
@@ -1292,24 +1212,18 @@ TEST_P(QuicStreamFactoryTest, OnIPAddressChanged) {
TEST_P(QuicStreamFactoryTest, OnSSLConfigChanged) {
Initialize();
- MockRead reads[] = {
- MockRead(ASYNC, 0, 0) // EOF
- };
+ MockRead reads[] = {MockRead(SYNCHRONOUS, ERR_IO_PENDING, 0)};
scoped_ptr<QuicEncryptedPacket> rst(ConstructRstPacket());
std::vector<MockWrite> writes;
writes.push_back(MockWrite(ASYNC, rst->data(), rst->length(), 1));
- DeterministicSocketData socket_data(reads, arraysize(reads),
- writes.empty() ? nullptr : &writes[0],
- writes.size());
+ SequencedSocketData socket_data(reads, arraysize(reads),
+ writes.empty() ? nullptr : &writes[0],
+ writes.size());
socket_factory_.AddSocketDataProvider(&socket_data);
- socket_data.StopAfter(1);
- MockRead reads2[] = {
- MockRead(ASYNC, 0, 0) // EOF
- };
- DeterministicSocketData socket_data2(reads2, arraysize(reads2), nullptr, 0);
+ MockRead reads2[] = {MockRead(SYNCHRONOUS, ERR_IO_PENDING, 0)};
+ SequencedSocketData socket_data2(reads2, arraysize(reads2), nullptr, 0);
socket_factory_.AddSocketDataProvider(&socket_data2);
- socket_data2.StopAfter(1);
QuicStreamRequest request(factory_.get());
EXPECT_EQ(ERR_IO_PENDING,
@@ -1349,24 +1263,18 @@ TEST_P(QuicStreamFactoryTest, OnSSLConfigChanged) {
TEST_P(QuicStreamFactoryTest, OnCertAdded) {
Initialize();
- MockRead reads[] = {
- MockRead(ASYNC, 0, 0) // EOF
- };
+ MockRead reads[] = {MockRead(SYNCHRONOUS, ERR_IO_PENDING, 0)};
scoped_ptr<QuicEncryptedPacket> rst(ConstructRstPacket());
std::vector<MockWrite> writes;
writes.push_back(MockWrite(ASYNC, rst->data(), rst->length(), 1));
- DeterministicSocketData socket_data(reads, arraysize(reads),
- writes.empty() ? nullptr : &writes[0],
- writes.size());
+ SequencedSocketData socket_data(reads, arraysize(reads),
+ writes.empty() ? nullptr : &writes[0],
+ writes.size());
socket_factory_.AddSocketDataProvider(&socket_data);
- socket_data.StopAfter(1);
- MockRead reads2[] = {
- MockRead(ASYNC, 0, 0) // EOF
- };
- DeterministicSocketData socket_data2(reads2, arraysize(reads2), nullptr, 0);
+ MockRead reads2[] = {MockRead(SYNCHRONOUS, ERR_IO_PENDING, 0)};
+ SequencedSocketData socket_data2(reads2, arraysize(reads2), nullptr, 0);
socket_factory_.AddSocketDataProvider(&socket_data2);
- socket_data2.StopAfter(1);
QuicStreamRequest request(factory_.get());
EXPECT_EQ(ERR_IO_PENDING,
@@ -1407,24 +1315,18 @@ TEST_P(QuicStreamFactoryTest, OnCertAdded) {
TEST_P(QuicStreamFactoryTest, OnCACertChanged) {
Initialize();
- MockRead reads[] = {
- MockRead(ASYNC, 0, 0) // EOF
- };
+ MockRead reads[] = {MockRead(SYNCHRONOUS, ERR_IO_PENDING, 0)};
scoped_ptr<QuicEncryptedPacket> rst(ConstructRstPacket());
std::vector<MockWrite> writes;
writes.push_back(MockWrite(ASYNC, rst->data(), rst->length(), 1));
- DeterministicSocketData socket_data(reads, arraysize(reads),
- writes.empty() ? nullptr : &writes[0],
- writes.size());
+ SequencedSocketData socket_data(reads, arraysize(reads),
+ writes.empty() ? nullptr : &writes[0],
+ writes.size());
socket_factory_.AddSocketDataProvider(&socket_data);
- socket_data.StopAfter(1);
- MockRead reads2[] = {
- MockRead(ASYNC, 0, 0) // EOF
- };
- DeterministicSocketData socket_data2(reads2, arraysize(reads2), nullptr, 0);
+ MockRead reads2[] = {MockRead(SYNCHRONOUS, ERR_IO_PENDING, 0)};
+ SequencedSocketData socket_data2(reads2, arraysize(reads2), nullptr, 0);
socket_factory_.AddSocketDataProvider(&socket_data2);
- socket_data2.StopAfter(1);
QuicStreamRequest request(factory_.get());
EXPECT_EQ(ERR_IO_PENDING,
@@ -1543,19 +1445,13 @@ TEST_P(QuicStreamFactoryTest, RacingConnections) {
QuicStreamFactoryPeer::SetTaskRunner(factory_.get(), runner_.get());
- MockRead reads[] = {
- MockRead(ASYNC, OK, 0) // EOF
- };
- DeterministicSocketData socket_data(reads, arraysize(reads), nullptr, 0);
+ MockRead reads[] = {MockRead(SYNCHRONOUS, ERR_IO_PENDING, 0)};
+ SequencedSocketData socket_data(reads, arraysize(reads), nullptr, 0);
socket_factory_.AddSocketDataProvider(&socket_data);
- socket_data.StopAfter(1);
- MockRead reads2[] = {
- MockRead(ASYNC, 0, 0) // EOF
- };
- DeterministicSocketData socket_data2(reads2, arraysize(reads2), nullptr, 0);
+ MockRead reads2[] = {MockRead(SYNCHRONOUS, ERR_IO_PENDING, 0)};
+ SequencedSocketData socket_data2(reads2, arraysize(reads2), nullptr, 0);
socket_factory_.AddSocketDataProvider(&socket_data2);
- socket_data2.StopAfter(1);
const AlternativeService alternative_service1(QUIC, host_port_pair_.host(),
host_port_pair_.port());
@@ -1597,12 +1493,9 @@ TEST_P(QuicStreamFactoryTest, EnableNotLoadFromDiskCache) {
Initialize();
QuicStreamFactoryPeer::SetTaskRunner(factory_.get(), runner_.get());
- MockRead reads[] = {
- MockRead(ASYNC, OK, 0) // EOF
- };
- DeterministicSocketData socket_data(reads, arraysize(reads), nullptr, 0);
+ MockRead reads[] = {MockRead(SYNCHRONOUS, ERR_IO_PENDING, 0)};
+ SequencedSocketData socket_data(reads, arraysize(reads), nullptr, 0);
socket_factory_.AddSocketDataProvider(&socket_data);
- socket_data.StopAfter(1);
crypto_client_stream_factory_.set_handshake_mode(
MockCryptoClientStream::ZERO_RTT);
@@ -1636,24 +1529,18 @@ TEST_P(QuicStreamFactoryTest, BadPacketLoss) {
EXPECT_EQ(0, QuicStreamFactoryPeer::GetNumberOfLossyConnections(
factory_.get(), host_port_pair_.port()));
- MockRead reads[] = {
- MockRead(ASYNC, OK, 0) // EOF
- };
- DeterministicSocketData socket_data(reads, arraysize(reads), nullptr, 0);
+ MockRead reads[] = {MockRead(SYNCHRONOUS, ERR_IO_PENDING, 0)};
+ SequencedSocketData socket_data(reads, arraysize(reads), nullptr, 0);
socket_factory_.AddSocketDataProvider(&socket_data);
- socket_data.StopAfter(1);
- DeterministicSocketData socket_data2(nullptr, 0, nullptr, 0);
+ SequencedSocketData socket_data2(nullptr, 0, nullptr, 0);
socket_factory_.AddSocketDataProvider(&socket_data2);
- socket_data2.StopAfter(1);
- DeterministicSocketData socket_data3(nullptr, 0, nullptr, 0);
+ SequencedSocketData socket_data3(nullptr, 0, nullptr, 0);
socket_factory_.AddSocketDataProvider(&socket_data3);
- socket_data3.StopAfter(1);
- DeterministicSocketData socket_data4(nullptr, 0, nullptr, 0);
+ SequencedSocketData socket_data4(nullptr, 0, nullptr, 0);
socket_factory_.AddSocketDataProvider(&socket_data4);
- socket_data4.StopAfter(1);
HostPortPair server2("mail.example.org", kDefaultServerPort);
HostPortPair server3("docs.example.org", kDefaultServerPort);
@@ -1809,16 +1696,12 @@ TEST_P(QuicStreamFactoryTest, PublicResetPostHandshakeTwoOfTwo) {
EXPECT_EQ(0, QuicStreamFactoryPeer::GetNumberOfLossyConnections(
factory_.get(), host_port_pair_.port()));
- MockRead reads[] = {
- MockRead(ASYNC, OK, 0) // EOF
- };
- DeterministicSocketData socket_data(reads, arraysize(reads), nullptr, 0);
+ MockRead reads[] = {MockRead(SYNCHRONOUS, ERR_IO_PENDING, 0)};
+ SequencedSocketData socket_data(reads, arraysize(reads), nullptr, 0);
socket_factory_.AddSocketDataProvider(&socket_data);
- socket_data.StopAfter(1);
- DeterministicSocketData socket_data2(reads, arraysize(reads), nullptr, 0);
+ SequencedSocketData socket_data2(reads, arraysize(reads), nullptr, 0);
socket_factory_.AddSocketDataProvider(&socket_data2);
- socket_data2.StopAfter(1);
HostPortPair server2("mail.example.org", kDefaultServerPort);
@@ -1893,16 +1776,12 @@ TEST_P(QuicStreamFactoryTest, TimeoutsWithOpenStreamsTwoOfTwo) {
EXPECT_EQ(0, QuicStreamFactoryPeer::GetNumberOfLossyConnections(
factory_.get(), host_port_pair_.port()));
- MockRead reads[] = {
- MockRead(ASYNC, OK, 0) // EOF
- };
- DeterministicSocketData socket_data(reads, arraysize(reads), nullptr, 0);
+ MockRead reads[] = {MockRead(SYNCHRONOUS, ERR_IO_PENDING, 0)};
+ SequencedSocketData socket_data(reads, arraysize(reads), nullptr, 0);
socket_factory_.AddSocketDataProvider(&socket_data);
- socket_data.StopAfter(1);
- DeterministicSocketData socket_data2(reads, arraysize(reads), nullptr, 0);
+ SequencedSocketData socket_data2(reads, arraysize(reads), nullptr, 0);
socket_factory_.AddSocketDataProvider(&socket_data2);
- socket_data2.StopAfter(1);
HostPortPair server2("mail.example.org", kDefaultServerPort);
@@ -1983,20 +1862,15 @@ TEST_P(QuicStreamFactoryTest, PublicResetPostHandshakeTwoOfThree) {
EXPECT_EQ(0, QuicStreamFactoryPeer::GetNumberOfLossyConnections(
factory_.get(), host_port_pair_.port()));
- MockRead reads[] = {
- MockRead(ASYNC, OK, 0) // EOF
- };
- DeterministicSocketData socket_data(reads, arraysize(reads), nullptr, 0);
+ MockRead reads[] = {MockRead(SYNCHRONOUS, ERR_IO_PENDING, 0)};
+ SequencedSocketData socket_data(reads, arraysize(reads), nullptr, 0);
socket_factory_.AddSocketDataProvider(&socket_data);
- socket_data.StopAfter(1);
- DeterministicSocketData socket_data2(reads, arraysize(reads), nullptr, 0);
+ SequencedSocketData socket_data2(reads, arraysize(reads), nullptr, 0);
socket_factory_.AddSocketDataProvider(&socket_data2);
- socket_data2.StopAfter(1);
- DeterministicSocketData socket_data3(reads, arraysize(reads), nullptr, 0);
+ SequencedSocketData socket_data3(reads, arraysize(reads), nullptr, 0);
socket_factory_.AddSocketDataProvider(&socket_data3);
- socket_data3.StopAfter(1);
HostPortPair server2("mail.example.org", kDefaultServerPort);
HostPortPair server3("docs.example.org", kDefaultServerPort);
@@ -2098,21 +1972,16 @@ TEST_P(QuicStreamFactoryTest, TimeoutsWithOpenStreamsTwoOfThree) {
EXPECT_EQ(0, QuicStreamFactoryPeer::GetNumberOfLossyConnections(
factory_.get(), host_port_pair_.port()));
- MockRead reads[] = {
- MockRead(ASYNC, OK, 0) // EOF
- };
- DeterministicSocketData socket_data(reads, arraysize(reads), nullptr, 0);
+ MockRead reads[] = {MockRead(SYNCHRONOUS, ERR_IO_PENDING, 0)};
+ SequencedSocketData socket_data(reads, arraysize(reads), nullptr, 0);
socket_factory_.AddSocketDataProvider(&socket_data);
- socket_data.StopAfter(1);
- // DeterministicSocketData socket_data2(nullptr, 0, nullptr, 0);
- DeterministicSocketData socket_data2(reads, arraysize(reads), nullptr, 0);
+ // SequencedSocketData socket_data2(nullptr, 0, nullptr, 0);
+ SequencedSocketData socket_data2(reads, arraysize(reads), nullptr, 0);
socket_factory_.AddSocketDataProvider(&socket_data2);
- socket_data2.StopAfter(1);
- DeterministicSocketData socket_data3(reads, arraysize(reads), nullptr, 0);
+ SequencedSocketData socket_data3(reads, arraysize(reads), nullptr, 0);
socket_factory_.AddSocketDataProvider(&socket_data3);
- socket_data3.StopAfter(1);
HostPortPair server2("mail.example.org", kDefaultServerPort);
HostPortPair server3("docs.example.org", kDefaultServerPort);
@@ -2221,24 +2090,18 @@ TEST_P(QuicStreamFactoryTest, PublicResetPostHandshakeTwoOfFour) {
EXPECT_EQ(0, QuicStreamFactoryPeer::GetNumberOfLossyConnections(
factory_.get(), host_port_pair_.port()));
- MockRead reads[] = {
- MockRead(ASYNC, OK, 0) // EOF
- };
- DeterministicSocketData socket_data(reads, arraysize(reads), nullptr, 0);
+ MockRead reads[] = {MockRead(SYNCHRONOUS, ERR_IO_PENDING, 0)};
+ SequencedSocketData socket_data(reads, arraysize(reads), nullptr, 0);
socket_factory_.AddSocketDataProvider(&socket_data);
- socket_data.StopAfter(1);
- DeterministicSocketData socket_data2(reads, arraysize(reads), nullptr, 0);
+ SequencedSocketData socket_data2(reads, arraysize(reads), nullptr, 0);
socket_factory_.AddSocketDataProvider(&socket_data2);
- socket_data2.StopAfter(1);
- DeterministicSocketData socket_data3(reads, arraysize(reads), nullptr, 0);
+ SequencedSocketData socket_data3(reads, arraysize(reads), nullptr, 0);
socket_factory_.AddSocketDataProvider(&socket_data3);
- socket_data3.StopAfter(1);
- DeterministicSocketData socket_data4(reads, arraysize(reads), nullptr, 0);
+ SequencedSocketData socket_data4(reads, arraysize(reads), nullptr, 0);
socket_factory_.AddSocketDataProvider(&socket_data4);
- socket_data4.StopAfter(1);
HostPortPair server2("mail.example.org", kDefaultServerPort);
HostPortPair server3("docs.example.org", kDefaultServerPort);
@@ -2361,25 +2224,19 @@ TEST_P(QuicStreamFactoryTest, TimeoutsWithOpenStreamsTwoOfFour) {
EXPECT_EQ(0, QuicStreamFactoryPeer::GetNumberOfLossyConnections(
factory_.get(), host_port_pair_.port()));
- MockRead reads[] = {
- MockRead(ASYNC, OK, 0) // EOF
- };
- DeterministicSocketData socket_data(reads, arraysize(reads), nullptr, 0);
+ MockRead reads[] = {MockRead(SYNCHRONOUS, ERR_IO_PENDING, 0)};
+ SequencedSocketData socket_data(reads, arraysize(reads), nullptr, 0);
socket_factory_.AddSocketDataProvider(&socket_data);
- socket_data.StopAfter(1);
- // DeterministicSocketData socket_data2(nullptr, 0, nullptr, 0);
- DeterministicSocketData socket_data2(reads, arraysize(reads), nullptr, 0);
+ // SequencedSocketData socket_data2(nullptr, 0, nullptr, 0);
+ SequencedSocketData socket_data2(reads, arraysize(reads), nullptr, 0);
socket_factory_.AddSocketDataProvider(&socket_data2);
- socket_data2.StopAfter(1);
- DeterministicSocketData socket_data3(reads, arraysize(reads), nullptr, 0);
+ SequencedSocketData socket_data3(reads, arraysize(reads), nullptr, 0);
socket_factory_.AddSocketDataProvider(&socket_data3);
- socket_data3.StopAfter(1);
- DeterministicSocketData socket_data4(reads, arraysize(reads), nullptr, 0);
+ SequencedSocketData socket_data4(reads, arraysize(reads), nullptr, 0);
socket_factory_.AddSocketDataProvider(&socket_data4);
- socket_data4.StopAfter(1);
HostPortPair server2("mail.example.org", kDefaultServerPort);
HostPortPair server3("docs.example.org", kDefaultServerPort);
@@ -2502,12 +2359,9 @@ TEST_P(QuicStreamFactoryTest, EnableDelayTcpRace) {
Initialize();
bool delay_tcp_race = QuicStreamFactoryPeer::GetDelayTcpRace(factory_.get());
QuicStreamFactoryPeer::SetDelayTcpRace(factory_.get(), false);
- MockRead reads[] = {
- MockRead(ASYNC, OK, 0),
- };
- DeterministicSocketData socket_data(reads, arraysize(reads), nullptr, 0);
+ MockRead reads[] = {MockRead(SYNCHRONOUS, ERR_IO_PENDING, 0)};
+ SequencedSocketData socket_data(reads, arraysize(reads), nullptr, 0);
socket_factory_.AddSocketDataProvider(&socket_data);
- socket_data.StopAfter(1);
ServerNetworkStats stats1;
stats1.srtt = base::TimeDelta::FromMicroseconds(10);
@@ -2651,9 +2505,8 @@ TEST_P(QuicStreamFactoryTest, YieldAfterPackets) {
reads.push_back(
MockRead(SYNCHRONOUS, close_packet->data(), close_packet->length(), 0));
reads.push_back(MockRead(ASYNC, OK, 1));
- DeterministicSocketData socket_data(&reads[0], reads.size(), nullptr, 0);
+ SequencedSocketData socket_data(&reads[0], reads.size(), nullptr, 0);
socket_factory_.AddSocketDataProvider(&socket_data);
- socket_data.StopAfter(1);
crypto_client_stream_factory_.set_handshake_mode(
MockCryptoClientStream::ZERO_RTT);
@@ -2697,9 +2550,8 @@ TEST_P(QuicStreamFactoryTest, YieldAfterDuration) {
reads.push_back(
MockRead(SYNCHRONOUS, close_packet->data(), close_packet->length(), 0));
reads.push_back(MockRead(ASYNC, OK, 1));
- DeterministicSocketData socket_data(&reads[0], reads.size(), nullptr, 0);
+ SequencedSocketData socket_data(&reads[0], reads.size(), nullptr, 0);
socket_factory_.AddSocketDataProvider(&socket_data);
- socket_data.StopAfter(1);
crypto_client_stream_factory_.set_handshake_mode(
MockCryptoClientStream::ZERO_RTT);
diff --git a/net/socket/socket_test_util.cc b/net/socket/socket_test_util.cc
index 9d8bee3..0d44135 100644
--- a/net/socket/socket_test_util.cc
+++ b/net/socket/socket_test_util.cc
@@ -913,6 +913,7 @@ MockClientSocketFactory::CreateDatagramClientSocket(
new MockUDPClientSocket(data_provider, net_log));
if (bind_type == DatagramSocket::RANDOM_BIND)
socket->set_source_port(static_cast<uint16>(rand_int_cb.Run(1025, 65535)));
+ udp_client_socket_ports_.push_back(socket->source_port());
return socket.Pass();
}
@@ -1420,105 +1421,6 @@ int DeterministicSocketHelper::Read(
return CompleteRead();
}
-DeterministicMockUDPClientSocket::DeterministicMockUDPClientSocket(
- net::NetLog* net_log,
- DeterministicSocketData* data)
- : connected_(false),
- helper_(net_log, data),
- source_port_(123) {
-}
-
-DeterministicMockUDPClientSocket::~DeterministicMockUDPClientSocket() {}
-
-bool DeterministicMockUDPClientSocket::WritePending() const {
- return helper_.write_pending();
-}
-
-bool DeterministicMockUDPClientSocket::ReadPending() const {
- return helper_.read_pending();
-}
-
-void DeterministicMockUDPClientSocket::CompleteWrite() {
- helper_.CompleteWrite();
-}
-
-int DeterministicMockUDPClientSocket::CompleteRead() {
- return helper_.CompleteRead();
-}
-
-int DeterministicMockUDPClientSocket::BindToNetwork(
- NetworkChangeNotifier::NetworkHandle network) {
- return ERR_NOT_IMPLEMENTED;
-}
-
-int DeterministicMockUDPClientSocket::BindToDefaultNetwork() {
- return ERR_NOT_IMPLEMENTED;
-}
-
-NetworkChangeNotifier::NetworkHandle
-DeterministicMockUDPClientSocket::GetBoundNetwork() {
- return NetworkChangeNotifier::kInvalidNetworkHandle;
-}
-
-int DeterministicMockUDPClientSocket::Connect(const IPEndPoint& address) {
- if (connected_)
- return OK;
- connected_ = true;
- peer_address_ = address;
- return helper_.data()->connect_data().result;
-};
-
-int DeterministicMockUDPClientSocket::Write(
- IOBuffer* buf,
- int buf_len,
- const CompletionCallback& callback) {
- if (!connected_)
- return ERR_UNEXPECTED;
-
- return helper_.Write(buf, buf_len, callback);
-}
-
-int DeterministicMockUDPClientSocket::Read(
- IOBuffer* buf,
- int buf_len,
- const CompletionCallback& callback) {
- if (!connected_)
- return ERR_UNEXPECTED;
-
- return helper_.Read(buf, buf_len, callback);
-}
-
-int DeterministicMockUDPClientSocket::SetReceiveBufferSize(int32 size) {
- return OK;
-}
-
-int DeterministicMockUDPClientSocket::SetSendBufferSize(int32 size) {
- return OK;
-}
-
-void DeterministicMockUDPClientSocket::Close() {
- connected_ = false;
-}
-
-int DeterministicMockUDPClientSocket::GetPeerAddress(
- IPEndPoint* address) const {
- *address = peer_address_;
- return OK;
-}
-
-int DeterministicMockUDPClientSocket::GetLocalAddress(
- IPEndPoint* address) const {
- IPAddressNumber ip;
- bool rv = ParseIPLiteralToNumber("192.0.2.33", &ip);
- CHECK(rv);
- *address = IPEndPoint(ip, source_port_);
- return OK;
-}
-
-const BoundNetLog& DeterministicMockUDPClientSocket::NetLog() const {
- return helper_.net_log();
-}
-
DeterministicMockTCPClientSocket::DeterministicMockTCPClientSocket(
net::NetLog* net_log,
DeterministicSocketData* data)
@@ -2149,14 +2051,8 @@ DeterministicMockClientSocketFactory::CreateDatagramClientSocket(
const RandIntCallback& rand_int_cb,
NetLog* net_log,
const NetLog::Source& source) {
- DeterministicSocketData* data_provider = mock_data().GetNext();
- scoped_ptr<DeterministicMockUDPClientSocket> socket(
- new DeterministicMockUDPClientSocket(net_log, data_provider));
- data_provider->set_delegate(socket->AsWeakPtr());
- udp_client_sockets().push_back(socket.get());
- if (bind_type == DatagramSocket::RANDOM_BIND)
- socket->set_source_port(static_cast<uint16>(rand_int_cb.Run(1025, 65535)));
- return socket.Pass();
+ NOTREACHED();
+ return nullptr;
}
scoped_ptr<StreamSocket>
diff --git a/net/socket/socket_test_util.h b/net/socket/socket_test_util.h
index 6a77195..73e73a0 100644
--- a/net/socket/socket_test_util.h
+++ b/net/socket/socket_test_util.h
@@ -665,9 +665,16 @@ class MockClientSocketFactory : public ClientSocketFactory {
const SSLClientSocketContext& context) override;
void ClearSSLSessionCache() override;
+ const std::vector<uint16>& udp_client_socket_ports() const {
+ return udp_client_socket_ports_;
+ }
+
private:
SocketDataProviderArray<SocketDataProvider> mock_data_;
SocketDataProviderArray<SSLSocketDataProvider> mock_ssl_data_;
+ std::vector<uint16> udp_client_socket_ports_;
+
+ DISALLOW_COPY_AND_ASSIGN(MockClientSocketFactory);
};
class MockClientSocket : public SSLClientSocket {
@@ -845,55 +852,6 @@ class DeterministicSocketHelper {
BoundNetLog net_log_;
};
-// Mock UDP socket to be used in conjunction with DeterministicSocketData.
-class DeterministicMockUDPClientSocket
- : public DatagramClientSocket,
- public DeterministicSocketData::Delegate,
- public base::SupportsWeakPtr<DeterministicMockUDPClientSocket> {
- public:
- DeterministicMockUDPClientSocket(net::NetLog* net_log,
- DeterministicSocketData* data);
- ~DeterministicMockUDPClientSocket() override;
-
- // DeterministicSocketData::Delegate:
- bool WritePending() const override;
- bool ReadPending() const override;
- void CompleteWrite() override;
- int CompleteRead() override;
-
- // Socket implementation.
- int Read(IOBuffer* buf,
- int buf_len,
- const CompletionCallback& callback) override;
- int Write(IOBuffer* buf,
- int buf_len,
- const CompletionCallback& callback) override;
- int SetReceiveBufferSize(int32 size) override;
- int SetSendBufferSize(int32 size) override;
-
- // DatagramSocket implementation.
- void Close() override;
- int GetPeerAddress(IPEndPoint* address) const override;
- int GetLocalAddress(IPEndPoint* address) const override;
- const BoundNetLog& NetLog() const override;
-
- // DatagramClientSocket implementation.
- int BindToNetwork(NetworkChangeNotifier::NetworkHandle network) override;
- int BindToDefaultNetwork() override;
- NetworkChangeNotifier::NetworkHandle GetBoundNetwork() override;
- int Connect(const IPEndPoint& address) override;
-
- void set_source_port(uint16 port) { source_port_ = port; }
-
- private:
- bool connected_;
- IPEndPoint peer_address_;
- DeterministicSocketHelper helper_;
- uint16 source_port_; // Ephemeral source port.
-
- DISALLOW_COPY_AND_ASSIGN(DeterministicMockUDPClientSocket);
-};
-
// Mock TCP socket to be used in conjunction with DeterministicSocketData.
class DeterministicMockTCPClientSocket
: public MockClientSocket,
@@ -1020,6 +978,7 @@ class MockUDPClientSocket : public DatagramClientSocket, public AsyncSocket {
void OnDataProviderDestroyed() override;
void set_source_port(uint16 port) { source_port_ = port;}
+ uint16 source_port() const { return source_port_; }
private:
int CompleteRead();
@@ -1224,9 +1183,6 @@ class DeterministicMockClientSocketFactory : public ClientSocketFactory {
std::vector<DeterministicMockTCPClientSocket*>& tcp_client_sockets() {
return tcp_client_sockets_;
}
- std::vector<DeterministicMockUDPClientSocket*>& udp_client_sockets() {
- return udp_client_sockets_;
- }
// ClientSocketFactory
scoped_ptr<DatagramClientSocket> CreateDatagramClientSocket(
@@ -1251,7 +1207,6 @@ class DeterministicMockClientSocketFactory : public ClientSocketFactory {
// Store pointers to handed out sockets in case the test wants to get them.
std::vector<DeterministicMockTCPClientSocket*> tcp_client_sockets_;
- std::vector<DeterministicMockUDPClientSocket*> udp_client_sockets_;
std::vector<MockSSLClientSocket*> ssl_client_sockets_;
DISALLOW_COPY_AND_ASSIGN(DeterministicMockClientSocketFactory);