summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--net/ftp/ftp_network_transaction_unittest.cc16
-rw-r--r--net/http/http_network_layer_unittest.cc3
-rw-r--r--net/http/http_network_transaction_unittest.cc239
-rw-r--r--net/socket/socket_test_util.cc9
-rw-r--r--net/socket/socket_test_util.h29
-rw-r--r--net/socket/socks5_client_socket_unittest.cc34
-rw-r--r--net/socket/socks_client_socket_unittest.cc48
-rw-r--r--net/socket_stream/socket_stream_unittest.cc6
-rw-r--r--net/spdy/spdy_network_transaction_unittest.cc65
-rw-r--r--net/websockets/websocket_unittest.cc6
10 files changed, 288 insertions, 167 deletions
diff --git a/net/ftp/ftp_network_transaction_unittest.cc b/net/ftp/ftp_network_transaction_unittest.cc
index d8479aa5..e46e1ba 100644
--- a/net/ftp/ftp_network_transaction_unittest.cc
+++ b/net/ftp/ftp_network_transaction_unittest.cc
@@ -574,8 +574,8 @@ class FtpNetworkTransactionTest : public PlatformTest {
};
// For compatibility with FileZilla, the transaction code will use two data
// sockets for directory requests. For more info see http://crbug.com/25316.
- StaticSocketDataProvider data1(data_reads, NULL);
- StaticSocketDataProvider data2(data_reads, NULL);
+ StaticSocketDataProvider data1(data_reads, arraysize(data_reads), NULL, 0);
+ StaticSocketDataProvider data2(data_reads, arraysize(data_reads), NULL, 0);
mock_socket_factory_.AddSocketDataProvider(ctrl_socket);
mock_socket_factory_.AddSocketDataProvider(&data1);
mock_socket_factory_.AddSocketDataProvider(&data2);
@@ -707,7 +707,8 @@ TEST_F(FtpNetworkTransactionTest, DownloadTransactionAcceptedDataConnection) {
MockRead data_reads[] = {
MockRead(mock_data.c_str()),
};
- StaticSocketDataProvider data_socket1(data_reads, NULL);
+ StaticSocketDataProvider data_socket1(data_reads, arraysize(data_reads),
+ NULL, 0);
mock_socket_factory_.AddSocketDataProvider(&ctrl_socket);
mock_socket_factory_.AddSocketDataProvider(&data_socket1);
FtpRequestInfo request_info = GetRequestInfo("ftp://host/file");
@@ -791,7 +792,8 @@ TEST_F(FtpNetworkTransactionTest, DownloadTransactionEvilPasvUnsafeHost) {
MockRead data_reads[] = {
MockRead(mock_data.c_str()),
};
- StaticSocketDataProvider data_socket1(data_reads, NULL);
+ StaticSocketDataProvider data_socket1(data_reads, arraysize(data_reads),
+ NULL, 0);
mock_socket_factory_.AddSocketDataProvider(&ctrl_socket);
mock_socket_factory_.AddSocketDataProvider(&data_socket1);
FtpRequestInfo request_info = GetRequestInfo("ftp://host/file");
@@ -857,7 +859,8 @@ TEST_F(FtpNetworkTransactionTest, EvilRestartUser) {
MockWrite ctrl_writes[] = {
MockWrite("QUIT\r\n"),
};
- StaticSocketDataProvider ctrl_socket2(ctrl_reads, ctrl_writes);
+ StaticSocketDataProvider ctrl_socket2(ctrl_reads, arraysize(ctrl_reads),
+ ctrl_writes, arraysize(ctrl_writes));
mock_socket_factory_.AddSocketDataProvider(&ctrl_socket2);
ASSERT_EQ(ERR_IO_PENDING, transaction_.RestartWithAuth(L"foo\nownz0red",
L"innocent",
@@ -888,7 +891,8 @@ TEST_F(FtpNetworkTransactionTest, EvilRestartPassword) {
MockWrite("USER innocent\r\n"),
MockWrite("QUIT\r\n"),
};
- StaticSocketDataProvider ctrl_socket2(ctrl_reads, ctrl_writes);
+ StaticSocketDataProvider ctrl_socket2(ctrl_reads, arraysize(ctrl_reads),
+ ctrl_writes, arraysize(ctrl_writes));
mock_socket_factory_.AddSocketDataProvider(&ctrl_socket2);
ASSERT_EQ(ERR_IO_PENDING, transaction_.RestartWithAuth(L"innocent",
L"foo\nownz0red",
diff --git a/net/http/http_network_layer_unittest.cc b/net/http/http_network_layer_unittest.cc
index 1e75ece..8425304 100644
--- a/net/http/http_network_layer_unittest.cc
+++ b/net/http/http_network_layer_unittest.cc
@@ -62,7 +62,8 @@ TEST_F(HttpNetworkLayerTest, GET) {
"Connection: keep-alive\r\n"
"User-Agent: Foo/1.0\r\n\r\n"),
};
- net::StaticSocketDataProvider data(data_reads, data_writes);
+ net::StaticSocketDataProvider data(data_reads, arraysize(data_reads),
+ data_writes, arraysize(data_reads));
mock_socket_factory.AddSocketDataProvider(&data);
net::HttpNetworkLayer factory(&mock_socket_factory, NULL,
diff --git a/net/http/http_network_transaction_unittest.cc b/net/http/http_network_transaction_unittest.cc
index 73b5082..548ee16 100644
--- a/net/http/http_network_transaction_unittest.cc
+++ b/net/http/http_network_transaction_unittest.cc
@@ -91,7 +91,8 @@ class HttpNetworkTransactionTest : public PlatformTest {
std::string response_data;
};
- SimpleGetHelperResult SimpleGetHelper(MockRead data_reads[]) {
+ SimpleGetHelperResult SimpleGetHelper(MockRead data_reads[],
+ size_t reads_count) {
SimpleGetHelperResult out;
SessionDependencies session_deps;
@@ -103,7 +104,7 @@ class HttpNetworkTransactionTest : public PlatformTest {
request.url = GURL("http://www.google.com/");
request.load_flags = 0;
- StaticSocketDataProvider data(data_reads, NULL);
+ StaticSocketDataProvider data(data_reads, reads_count, NULL, 0);
session_deps.socket_factory.AddSocketDataProvider(&data);
TestCompletionCallback callback;
@@ -230,7 +231,8 @@ TEST_F(HttpNetworkTransactionTest, SimpleGET) {
MockRead("hello world"),
MockRead(false, OK),
};
- SimpleGetHelperResult out = SimpleGetHelper(data_reads);
+ SimpleGetHelperResult out = SimpleGetHelper(data_reads,
+ arraysize(data_reads));
EXPECT_EQ(OK, out.rv);
EXPECT_EQ("HTTP/1.0 200 OK", out.status_line);
EXPECT_EQ("hello world", out.response_data);
@@ -242,7 +244,8 @@ TEST_F(HttpNetworkTransactionTest, SimpleGETNoHeaders) {
MockRead("hello world"),
MockRead(false, OK),
};
- SimpleGetHelperResult out = SimpleGetHelper(data_reads);
+ SimpleGetHelperResult out = SimpleGetHelper(data_reads,
+ arraysize(data_reads));
EXPECT_EQ(OK, out.rv);
EXPECT_EQ("HTTP/0.9 200 OK", out.status_line);
EXPECT_EQ("hello world", out.response_data);
@@ -254,7 +257,8 @@ TEST_F(HttpNetworkTransactionTest, StatusLineJunk2Bytes) {
MockRead("xxxHTTP/1.0 404 Not Found\nServer: blah\n\nDATA"),
MockRead(false, OK),
};
- SimpleGetHelperResult out = SimpleGetHelper(data_reads);
+ SimpleGetHelperResult out = SimpleGetHelper(data_reads,
+ arraysize(data_reads));
EXPECT_EQ(OK, out.rv);
EXPECT_EQ("HTTP/1.0 404 Not Found", out.status_line);
EXPECT_EQ("DATA", out.response_data);
@@ -266,7 +270,8 @@ TEST_F(HttpNetworkTransactionTest, StatusLineJunk4Bytes) {
MockRead("\n\nQJHTTP/1.0 404 Not Found\nServer: blah\n\nDATA"),
MockRead(false, OK),
};
- SimpleGetHelperResult out = SimpleGetHelper(data_reads);
+ SimpleGetHelperResult out = SimpleGetHelper(data_reads,
+ arraysize(data_reads));
EXPECT_EQ(OK, out.rv);
EXPECT_EQ("HTTP/1.0 404 Not Found", out.status_line);
EXPECT_EQ("DATA", out.response_data);
@@ -278,7 +283,8 @@ TEST_F(HttpNetworkTransactionTest, StatusLineJunk5Bytes) {
MockRead("xxxxxHTTP/1.1 404 Not Found\nServer: blah"),
MockRead(false, OK),
};
- SimpleGetHelperResult out = SimpleGetHelper(data_reads);
+ SimpleGetHelperResult out = SimpleGetHelper(data_reads,
+ arraysize(data_reads));
EXPECT_EQ(OK, out.rv);
EXPECT_EQ("HTTP/0.9 200 OK", out.status_line);
EXPECT_EQ("xxxxxHTTP/1.1 404 Not Found\nServer: blah", out.response_data);
@@ -294,7 +300,8 @@ TEST_F(HttpNetworkTransactionTest, StatusLineJunk4Bytes_Slow) {
MockRead("HTTP/1.0 404 Not Found\nServer: blah\n\nDATA"),
MockRead(false, OK),
};
- SimpleGetHelperResult out = SimpleGetHelper(data_reads);
+ SimpleGetHelperResult out = SimpleGetHelper(data_reads,
+ arraysize(data_reads));
EXPECT_EQ(OK, out.rv);
EXPECT_EQ("HTTP/1.0 404 Not Found", out.status_line);
EXPECT_EQ("DATA", out.response_data);
@@ -306,7 +313,8 @@ TEST_F(HttpNetworkTransactionTest, StatusLinePartial) {
MockRead("HTT"),
MockRead(false, OK),
};
- SimpleGetHelperResult out = SimpleGetHelper(data_reads);
+ SimpleGetHelperResult out = SimpleGetHelper(data_reads,
+ arraysize(data_reads));
EXPECT_EQ(OK, out.rv);
EXPECT_EQ("HTTP/0.9 200 OK", out.status_line);
EXPECT_EQ("HTT", out.response_data);
@@ -321,7 +329,8 @@ TEST_F(HttpNetworkTransactionTest, StopsReading204) {
MockRead("junk"), // Should not be read!!
MockRead(false, OK),
};
- SimpleGetHelperResult out = SimpleGetHelper(data_reads);
+ SimpleGetHelperResult out = SimpleGetHelper(data_reads,
+ arraysize(data_reads));
EXPECT_EQ(OK, out.rv);
EXPECT_EQ("HTTP/1.1 204 No Content", out.status_line);
EXPECT_EQ("", out.response_data);
@@ -339,7 +348,8 @@ TEST_F(HttpNetworkTransactionTest, ChunkedEncoding) {
MockRead("0\r\n\r\nHTTP/1.1 200 OK\r\n"),
MockRead(false, OK),
};
- SimpleGetHelperResult out = SimpleGetHelper(data_reads);
+ SimpleGetHelperResult out = SimpleGetHelper(data_reads,
+ arraysize(data_reads));
EXPECT_EQ(OK, out.rv);
EXPECT_EQ("HTTP/1.1 200 OK", out.status_line);
EXPECT_EQ("Hello world", out.response_data);
@@ -372,7 +382,8 @@ TEST_F(HttpNetworkTransactionTest, Head) {
MockRead(false, ERR_UNEXPECTED), // Should not be reached.
};
- StaticSocketDataProvider data1(data_reads1, data_writes1);
+ StaticSocketDataProvider data1(data_reads1, arraysize(data_reads1),
+ data_writes1, arraysize(data_writes1));
session_deps.socket_factory.AddSocketDataProvider(&data1);
TestCompletionCallback callback1;
@@ -417,7 +428,7 @@ TEST_F(HttpNetworkTransactionTest, ReuseConnection) {
MockRead("world"),
MockRead(false, OK),
};
- StaticSocketDataProvider data(data_reads, NULL);
+ StaticSocketDataProvider data(data_reads, arraysize(data_reads), NULL, 0);
session_deps.socket_factory.AddSocketDataProvider(&data);
const char* kExpectedResponseData[] = {
@@ -471,7 +482,7 @@ TEST_F(HttpNetworkTransactionTest, Ignores100) {
MockRead("hello world"),
MockRead(false, OK),
};
- StaticSocketDataProvider data(data_reads, NULL);
+ StaticSocketDataProvider data(data_reads, arraysize(data_reads), NULL, 0);
session_deps.socket_factory.AddSocketDataProvider(&data);
TestCompletionCallback callback;
@@ -513,7 +524,7 @@ TEST_F(HttpNetworkTransactionTest, Ignores1xx) {
MockRead("hello world"),
MockRead(false, OK),
};
- StaticSocketDataProvider data(data_reads, NULL);
+ StaticSocketDataProvider data(data_reads, arraysize(data_reads), NULL, 0);
session_deps.socket_factory.AddSocketDataProvider(&data);
TestCompletionCallback callback;
@@ -550,7 +561,7 @@ TEST_F(HttpNetworkTransactionTest, Incomplete100ThenEOF) {
MockRead(false, "HTTP/1.0 100 Continue\r\n"),
MockRead(true, 0),
};
- StaticSocketDataProvider data(data_reads, NULL);
+ StaticSocketDataProvider data(data_reads, arraysize(data_reads), NULL, 0);
session_deps.socket_factory.AddSocketDataProvider(&data);
TestCompletionCallback callback;
@@ -580,7 +591,7 @@ TEST_F(HttpNetworkTransactionTest, EmptyResponse) {
MockRead data_reads[] = {
MockRead(true, 0),
};
- StaticSocketDataProvider data(data_reads, NULL);
+ StaticSocketDataProvider data(data_reads, arraysize(data_reads), NULL, 0);
session_deps.socket_factory.AddSocketDataProvider(&data);
TestCompletionCallback callback;
@@ -609,7 +620,7 @@ void HttpNetworkTransactionTest::KeepAliveConnectionResendRequestTest(
MockRead("hello"),
read_failure, // Now, we reuse the connection and fail the first read.
};
- StaticSocketDataProvider data1(data1_reads, NULL);
+ StaticSocketDataProvider data1(data1_reads, arraysize(data1_reads), NULL, 0);
session_deps.socket_factory.AddSocketDataProvider(&data1);
MockRead data2_reads[] = {
@@ -617,7 +628,7 @@ void HttpNetworkTransactionTest::KeepAliveConnectionResendRequestTest(
MockRead("world"),
MockRead(true, OK),
};
- StaticSocketDataProvider data2(data2_reads, NULL);
+ StaticSocketDataProvider data2(data2_reads, arraysize(data2_reads), NULL, 0);
session_deps.socket_factory.AddSocketDataProvider(&data2);
const char* kExpectedResponseData[] = {
@@ -674,7 +685,7 @@ TEST_F(HttpNetworkTransactionTest, NonKeepAliveConnectionReset) {
MockRead("hello world"),
MockRead(false, OK),
};
- StaticSocketDataProvider data(data_reads, NULL);
+ StaticSocketDataProvider data(data_reads, arraysize(data_reads), NULL, 0);
session_deps.socket_factory.AddSocketDataProvider(&data);
TestCompletionCallback callback;
@@ -705,7 +716,8 @@ TEST_F(HttpNetworkTransactionTest, NonKeepAliveConnectionEOF) {
MockRead("hello world"),
MockRead(false, OK),
};
- SimpleGetHelperResult out = SimpleGetHelper(data_reads);
+ SimpleGetHelperResult out = SimpleGetHelper(data_reads,
+ arraysize(data_reads));
EXPECT_EQ(ERR_EMPTY_RESPONSE, out.rv);
}
@@ -757,8 +769,10 @@ TEST_F(HttpNetworkTransactionTest, BasicAuth) {
MockRead(false, OK),
};
- StaticSocketDataProvider data1(data_reads1, data_writes1);
- StaticSocketDataProvider data2(data_reads2, data_writes2);
+ StaticSocketDataProvider data1(data_reads1, arraysize(data_reads1),
+ data_writes1, arraysize(data_writes1));
+ StaticSocketDataProvider data2(data_reads2, arraysize(data_reads2),
+ data_writes2, arraysize(data_writes2));
session_deps.socket_factory.AddSocketDataProvider(&data1);
session_deps.socket_factory.AddSocketDataProvider(&data2);
@@ -819,7 +833,8 @@ TEST_F(HttpNetworkTransactionTest, DoNotSendAuth) {
MockRead(false, ERR_FAILED),
};
- StaticSocketDataProvider data(data_reads, data_writes);
+ StaticSocketDataProvider data(data_reads, arraysize(data_reads),
+ data_writes, arraysize(data_writes));
session_deps.socket_factory.AddSocketDataProvider(&data);
TestCompletionCallback callback;
@@ -873,7 +888,8 @@ TEST_F(HttpNetworkTransactionTest, BasicAuthKeepAlive) {
MockRead(false, OK),
};
- StaticSocketDataProvider data1(data_reads1, data_writes1);
+ StaticSocketDataProvider data1(data_reads1, arraysize(data_reads1),
+ data_writes1, arraysize(data_writes1));
session_deps.socket_factory.AddSocketDataProvider(&data1);
TestCompletionCallback callback1;
@@ -945,7 +961,8 @@ TEST_F(HttpNetworkTransactionTest, BasicAuthKeepAliveNoBody) {
MockRead(false, OK),
};
- StaticSocketDataProvider data1(data_reads1, data_writes1);
+ StaticSocketDataProvider data1(data_reads1, arraysize(data_reads1),
+ data_writes1, arraysize(data_writes1));
session_deps.socket_factory.AddSocketDataProvider(&data1);
TestCompletionCallback callback1;
@@ -1025,7 +1042,8 @@ TEST_F(HttpNetworkTransactionTest, BasicAuthKeepAliveLargeBody) {
MockRead(false, OK),
};
- StaticSocketDataProvider data1(data_reads1, data_writes1);
+ StaticSocketDataProvider data1(data_reads1, arraysize(data_reads1),
+ data_writes1, arraysize(data_writes1));
session_deps.socket_factory.AddSocketDataProvider(&data1);
TestCompletionCallback callback1;
@@ -1112,8 +1130,10 @@ TEST_F(HttpNetworkTransactionTest, BasicAuthKeepAliveImpatientServer) {
MockRead(false, OK),
};
- StaticSocketDataProvider data1(data_reads1, data_writes1);
- StaticSocketDataProvider data2(data_reads2, data_writes2);
+ StaticSocketDataProvider data1(data_reads1, arraysize(data_reads1),
+ data_writes1, arraysize(data_writes1));
+ StaticSocketDataProvider data2(data_reads2, arraysize(data_reads2),
+ data_writes2, arraysize(data_writes2));
session_deps.socket_factory.AddSocketDataProvider(&data1);
session_deps.socket_factory.AddSocketDataProvider(&data2);
@@ -1196,7 +1216,8 @@ TEST_F(HttpNetworkTransactionTest, BasicAuthProxyKeepAlive) {
MockRead(false, ERR_UNEXPECTED), // Should not be reached.
};
- StaticSocketDataProvider data1(data_reads1, data_writes1);
+ StaticSocketDataProvider data1(data_reads1, arraysize(data_reads1),
+ data_writes1, arraysize(data_writes1));
session_deps.socket_factory.AddSocketDataProvider(&data1);
TestCompletionCallback callback1;
@@ -1277,7 +1298,8 @@ TEST_F(HttpNetworkTransactionTest, BasicAuthProxyCancelTunnel) {
MockRead(false, ERR_UNEXPECTED), // Should not be reached.
};
- StaticSocketDataProvider data(data_reads, data_writes);
+ StaticSocketDataProvider data(data_reads, arraysize(data_reads),
+ data_writes, arraysize(data_writes));
session_deps.socket_factory.AddSocketDataProvider(&data);
TestCompletionCallback callback;
@@ -1329,7 +1351,8 @@ void HttpNetworkTransactionTest::ConnectStatusHelperWithExpectedStatus(
MockRead(false, ERR_UNEXPECTED), // Should not be reached.
};
- StaticSocketDataProvider data(data_reads, data_writes);
+ StaticSocketDataProvider data(data_reads, arraysize(data_reads),
+ data_writes, arraysize(data_writes));
session_deps.socket_factory.AddSocketDataProvider(&data);
TestCompletionCallback callback;
@@ -1584,9 +1607,12 @@ TEST_F(HttpNetworkTransactionTest, BasicAuthProxyThenServer) {
MockRead(false, OK),
};
- StaticSocketDataProvider data1(data_reads1, data_writes1);
- StaticSocketDataProvider data2(data_reads2, data_writes2);
- StaticSocketDataProvider data3(data_reads3, data_writes3);
+ StaticSocketDataProvider data1(data_reads1, arraysize(data_reads1),
+ data_writes1, arraysize(data_writes1));
+ StaticSocketDataProvider data2(data_reads2, arraysize(data_reads2),
+ data_writes2, arraysize(data_writes2));
+ StaticSocketDataProvider data3(data_reads3, arraysize(data_reads3),
+ data_writes3, arraysize(data_writes3));
session_deps.socket_factory.AddSocketDataProvider(&data1);
session_deps.socket_factory.AddSocketDataProvider(&data2);
session_deps.socket_factory.AddSocketDataProvider(&data3);
@@ -1723,8 +1749,10 @@ TEST_F(HttpNetworkTransactionTest, NTLMAuth1) {
MockRead(false, OK),
};
- StaticSocketDataProvider data1(data_reads1, data_writes1);
- StaticSocketDataProvider data2(data_reads2, data_writes2);
+ StaticSocketDataProvider data1(data_reads1, arraysize(data_reads1),
+ data_writes1, arraysize(data_writes1));
+ StaticSocketDataProvider data2(data_reads2, arraysize(data_reads2),
+ data_writes2, arraysize(data_writes2));
session_deps.socket_factory.AddSocketDataProvider(&data1);
session_deps.socket_factory.AddSocketDataProvider(&data2);
@@ -1893,9 +1921,12 @@ TEST_F(HttpNetworkTransactionTest, NTLMAuth2) {
MockRead(false, OK),
};
- StaticSocketDataProvider data1(data_reads1, data_writes1);
- StaticSocketDataProvider data2(data_reads2, data_writes2);
- StaticSocketDataProvider data3(data_reads3, data_writes3);
+ StaticSocketDataProvider data1(data_reads1, arraysize(data_reads1),
+ data_writes1, arraysize(data_writes1));
+ StaticSocketDataProvider data2(data_reads2, arraysize(data_reads2),
+ data_writes2, arraysize(data_writes2));
+ StaticSocketDataProvider data3(data_reads3, arraysize(data_reads3),
+ data_writes3, arraysize(data_writes3));
session_deps.socket_factory.AddSocketDataProvider(&data1);
session_deps.socket_factory.AddSocketDataProvider(&data2);
session_deps.socket_factory.AddSocketDataProvider(&data3);
@@ -1991,7 +2022,7 @@ TEST_F(HttpNetworkTransactionTest, LargeHeadersNoBody) {
MockRead("\r\nBODY"),
MockRead(false, OK),
};
- StaticSocketDataProvider data(data_reads, NULL);
+ StaticSocketDataProvider data(data_reads, arraysize(data_reads), NULL, 0);
session_deps.socket_factory.AddSocketDataProvider(&data);
TestCompletionCallback callback;
@@ -2038,7 +2069,8 @@ TEST_F(HttpNetworkTransactionTest, DontRecycleTCPSocketForSSLTunnel) {
MockRead(false, ERR_UNEXPECTED), // Should not be reached.
};
- StaticSocketDataProvider data1(data_reads1, data_writes1);
+ StaticSocketDataProvider data1(data_reads1, arraysize(data_reads1),
+ data_writes1, arraysize(data_writes1));
session_deps.socket_factory.AddSocketDataProvider(&data1);
TestCompletionCallback callback1;
@@ -2087,7 +2119,7 @@ TEST_F(HttpNetworkTransactionTest, RecycleSocket) {
MockRead(false, OK),
};
- StaticSocketDataProvider data(data_reads, NULL);
+ StaticSocketDataProvider data(data_reads, arraysize(data_reads), NULL, 0);
session_deps.socket_factory.AddSocketDataProvider(&data);
TestCompletionCallback callback;
@@ -2144,7 +2176,7 @@ TEST_F(HttpNetworkTransactionTest, RecycleSocketAfterZeroContentLength) {
MockRead(false, OK),
};
- StaticSocketDataProvider data(data_reads, NULL);
+ StaticSocketDataProvider data(data_reads, arraysize(data_reads), NULL, 0);
session_deps.socket_factory.AddSocketDataProvider(&data);
TestCompletionCallback callback;
@@ -2213,7 +2245,8 @@ TEST_F(HttpNetworkTransactionTest, ResendRequestOnWriteBodyError) {
MockWrite(false, 93), // POST
MockWrite(false, ERR_CONNECTION_ABORTED), // POST data
};
- StaticSocketDataProvider data1(data_reads1, data_writes1);
+ StaticSocketDataProvider data1(data_reads1, arraysize(data_reads1),
+ data_writes1, arraysize(data_writes1));
// The second socket is used for the second attempt of transaction 2.
@@ -2228,7 +2261,8 @@ TEST_F(HttpNetworkTransactionTest, ResendRequestOnWriteBodyError) {
MockWrite(false, 93), // POST
MockWrite(false, 3), // POST data
};
- StaticSocketDataProvider data2(data_reads2, data_writes2);
+ StaticSocketDataProvider data2(data_reads2, arraysize(data_reads2),
+ data_writes2, arraysize(data_writes2));
session_deps.socket_factory.AddSocketDataProvider(&data1);
session_deps.socket_factory.AddSocketDataProvider(&data2);
@@ -2309,8 +2343,10 @@ TEST_F(HttpNetworkTransactionTest, AuthIdentityInURL) {
MockRead(false, OK),
};
- StaticSocketDataProvider data1(data_reads1, data_writes1);
- StaticSocketDataProvider data2(data_reads2, data_writes2);
+ StaticSocketDataProvider data1(data_reads1, arraysize(data_reads1),
+ data_writes1, arraysize(data_writes1));
+ StaticSocketDataProvider data2(data_reads2, arraysize(data_reads2),
+ data_writes2, arraysize(data_writes2));
session_deps.socket_factory.AddSocketDataProvider(&data1);
session_deps.socket_factory.AddSocketDataProvider(&data2);
@@ -2402,9 +2438,12 @@ TEST_F(HttpNetworkTransactionTest, WrongAuthIdentityInURL) {
MockRead(false, OK),
};
- StaticSocketDataProvider data1(data_reads1, data_writes1);
- StaticSocketDataProvider data2(data_reads2, data_writes2);
- StaticSocketDataProvider data3(data_reads3, data_writes3);
+ StaticSocketDataProvider data1(data_reads1, arraysize(data_reads1),
+ data_writes1, arraysize(data_writes1));
+ StaticSocketDataProvider data2(data_reads2, arraysize(data_reads2),
+ data_writes2, arraysize(data_writes2));
+ StaticSocketDataProvider data3(data_reads3, arraysize(data_reads3),
+ data_writes3, arraysize(data_writes3));
session_deps.socket_factory.AddSocketDataProvider(&data1);
session_deps.socket_factory.AddSocketDataProvider(&data2);
session_deps.socket_factory.AddSocketDataProvider(&data3);
@@ -2495,8 +2534,10 @@ TEST_F(HttpNetworkTransactionTest, BasicAuthCacheAndPreauth) {
MockRead(false, OK),
};
- StaticSocketDataProvider data1(data_reads1, data_writes1);
- StaticSocketDataProvider data2(data_reads2, data_writes2);
+ StaticSocketDataProvider data1(data_reads1, arraysize(data_reads1),
+ data_writes1, arraysize(data_writes1));
+ StaticSocketDataProvider data2(data_reads2, arraysize(data_reads2),
+ data_writes2, arraysize(data_writes2));
session_deps.socket_factory.AddSocketDataProvider(&data1);
session_deps.socket_factory.AddSocketDataProvider(&data2);
@@ -2578,8 +2619,10 @@ TEST_F(HttpNetworkTransactionTest, BasicAuthCacheAndPreauth) {
MockRead(false, OK),
};
- StaticSocketDataProvider data1(data_reads1, data_writes1);
- StaticSocketDataProvider data2(data_reads2, data_writes2);
+ StaticSocketDataProvider data1(data_reads1, arraysize(data_reads1),
+ data_writes1, arraysize(data_writes1));
+ StaticSocketDataProvider data2(data_reads2, arraysize(data_reads2),
+ data_writes2, arraysize(data_writes2));
session_deps.socket_factory.AddSocketDataProvider(&data1);
session_deps.socket_factory.AddSocketDataProvider(&data2);
@@ -2644,7 +2687,8 @@ TEST_F(HttpNetworkTransactionTest, BasicAuthCacheAndPreauth) {
MockRead(false, OK),
};
- StaticSocketDataProvider data1(data_reads1, data_writes1);
+ StaticSocketDataProvider data1(data_reads1, arraysize(data_reads1),
+ data_writes1, arraysize(data_writes1));
session_deps.socket_factory.AddSocketDataProvider(&data1);
TestCompletionCallback callback1;
@@ -2702,8 +2746,10 @@ TEST_F(HttpNetworkTransactionTest, BasicAuthCacheAndPreauth) {
MockRead(false, OK),
};
- StaticSocketDataProvider data1(data_reads1, data_writes1);
- StaticSocketDataProvider data2(data_reads2, data_writes2);
+ StaticSocketDataProvider data1(data_reads1, arraysize(data_reads1),
+ data_writes1, arraysize(data_writes1));
+ StaticSocketDataProvider data2(data_reads2, arraysize(data_reads2),
+ data_writes2, arraysize(data_writes2));
session_deps.socket_factory.AddSocketDataProvider(&data1);
session_deps.socket_factory.AddSocketDataProvider(&data2);
@@ -2786,9 +2832,12 @@ TEST_F(HttpNetworkTransactionTest, BasicAuthCacheAndPreauth) {
MockRead(false, OK),
};
- StaticSocketDataProvider data1(data_reads1, data_writes1);
- StaticSocketDataProvider data2(data_reads2, data_writes2);
- StaticSocketDataProvider data3(data_reads3, data_writes3);
+ StaticSocketDataProvider data1(data_reads1, arraysize(data_reads1),
+ data_writes1, arraysize(data_writes1));
+ StaticSocketDataProvider data2(data_reads2, arraysize(data_reads2),
+ data_writes2, arraysize(data_writes2));
+ StaticSocketDataProvider data3(data_reads3, arraysize(data_reads3),
+ data_writes3, arraysize(data_writes3));
session_deps.socket_factory.AddSocketDataProvider(&data1);
session_deps.socket_factory.AddSocketDataProvider(&data2);
session_deps.socket_factory.AddSocketDataProvider(&data3);
@@ -2902,7 +2951,8 @@ TEST_F(HttpNetworkTransactionTest, HTTPSBadCertificate) {
};
StaticSocketDataProvider ssl_bad_certificate;
- StaticSocketDataProvider data(data_reads, data_writes);
+ StaticSocketDataProvider data(data_reads, arraysize(data_reads),
+ data_writes, arraysize(data_writes));
SSLSocketDataProvider ssl_bad(true, ERR_CERT_AUTHORITY_INVALID);
SSLSocketDataProvider ssl(true, OK);
@@ -2969,8 +3019,11 @@ TEST_F(HttpNetworkTransactionTest, HTTPSBadCertificateViaProxy) {
MockRead(false, OK),
};
- StaticSocketDataProvider ssl_bad_certificate(proxy_reads, proxy_writes);
- StaticSocketDataProvider data(data_reads, data_writes);
+ StaticSocketDataProvider ssl_bad_certificate(
+ proxy_reads, arraysize(proxy_reads),
+ proxy_writes, arraysize(proxy_writes));
+ StaticSocketDataProvider data(data_reads, arraysize(data_reads),
+ data_writes, arraysize(data_writes));
SSLSocketDataProvider ssl_bad(true, ERR_CERT_AUTHORITY_INVALID);
SSLSocketDataProvider ssl(true, OK);
@@ -3031,7 +3084,8 @@ TEST_F(HttpNetworkTransactionTest, BuildRequest_UserAgent) {
MockRead(false, OK),
};
- StaticSocketDataProvider data(data_reads, data_writes);
+ StaticSocketDataProvider data(data_reads, arraysize(data_reads),
+ data_writes, arraysize(data_writes));
session_deps.socket_factory.AddSocketDataProvider(&data);
TestCompletionCallback callback;
@@ -3069,7 +3123,8 @@ TEST_F(HttpNetworkTransactionTest, BuildRequest_Referer) {
MockRead(false, OK),
};
- StaticSocketDataProvider data(data_reads, data_writes);
+ StaticSocketDataProvider data(data_reads, arraysize(data_reads),
+ data_writes, arraysize(data_writes));
session_deps.socket_factory.AddSocketDataProvider(&data);
TestCompletionCallback callback;
@@ -3105,7 +3160,8 @@ TEST_F(HttpNetworkTransactionTest, BuildRequest_PostContentLengthZero) {
MockRead(false, OK),
};
- StaticSocketDataProvider data(data_reads, data_writes);
+ StaticSocketDataProvider data(data_reads, arraysize(data_reads),
+ data_writes, arraysize(data_writes));
session_deps.socket_factory.AddSocketDataProvider(&data);
TestCompletionCallback callback;
@@ -3141,7 +3197,8 @@ TEST_F(HttpNetworkTransactionTest, BuildRequest_PutContentLengthZero) {
MockRead(false, OK),
};
- StaticSocketDataProvider data(data_reads, data_writes);
+ StaticSocketDataProvider data(data_reads, arraysize(data_reads),
+ data_writes, arraysize(data_writes));
session_deps.socket_factory.AddSocketDataProvider(&data);
TestCompletionCallback callback;
@@ -3177,7 +3234,8 @@ TEST_F(HttpNetworkTransactionTest, BuildRequest_HeadContentLengthZero) {
MockRead(false, OK),
};
- StaticSocketDataProvider data(data_reads, data_writes);
+ StaticSocketDataProvider data(data_reads, arraysize(data_reads),
+ data_writes, arraysize(data_writes));
session_deps.socket_factory.AddSocketDataProvider(&data);
TestCompletionCallback callback;
@@ -3215,7 +3273,8 @@ TEST_F(HttpNetworkTransactionTest, BuildRequest_CacheControlNoCache) {
MockRead(false, OK),
};
- StaticSocketDataProvider data(data_reads, data_writes);
+ StaticSocketDataProvider data(data_reads, arraysize(data_reads),
+ data_writes, arraysize(data_writes));
session_deps.socket_factory.AddSocketDataProvider(&data);
TestCompletionCallback callback;
@@ -3253,7 +3312,8 @@ TEST_F(HttpNetworkTransactionTest,
MockRead(false, OK),
};
- StaticSocketDataProvider data(data_reads, data_writes);
+ StaticSocketDataProvider data(data_reads, arraysize(data_reads),
+ data_writes, arraysize(data_writes));
session_deps.socket_factory.AddSocketDataProvider(&data);
TestCompletionCallback callback;
@@ -3290,7 +3350,8 @@ TEST_F(HttpNetworkTransactionTest, BuildRequest_ExtraHeaders) {
MockRead(false, OK),
};
- StaticSocketDataProvider data(data_reads, data_writes);
+ StaticSocketDataProvider data(data_reads, arraysize(data_reads),
+ data_writes, arraysize(data_writes));
session_deps.socket_factory.AddSocketDataProvider(&data);
TestCompletionCallback callback;
@@ -3332,7 +3393,8 @@ TEST_F(HttpNetworkTransactionTest, SOCKS4_HTTP_GET) {
MockRead(false, OK)
};
- StaticSocketDataProvider data(data_reads, data_writes);
+ StaticSocketDataProvider data(data_reads, arraysize(data_reads),
+ data_writes, arraysize(data_writes));
session_deps.socket_factory.AddSocketDataProvider(&data);
TestCompletionCallback callback;
@@ -3384,7 +3446,8 @@ TEST_F(HttpNetworkTransactionTest, SOCKS4_SSL_GET) {
MockRead(false, OK)
};
- StaticSocketDataProvider data(data_reads, data_writes);
+ StaticSocketDataProvider data(data_reads, arraysize(data_reads),
+ data_writes, arraysize(data_writes));
session_deps.socket_factory.AddSocketDataProvider(&data);
SSLSocketDataProvider ssl(true, OK);
@@ -3451,7 +3514,8 @@ TEST_F(HttpNetworkTransactionTest, SOCKS5_HTTP_GET) {
MockRead(false, OK)
};
- StaticSocketDataProvider data(data_reads, data_writes);
+ StaticSocketDataProvider data(data_reads, arraysize(data_reads),
+ data_writes, arraysize(data_writes));
session_deps.socket_factory.AddSocketDataProvider(&data);
TestCompletionCallback callback;
@@ -3517,7 +3581,8 @@ TEST_F(HttpNetworkTransactionTest, SOCKS5_SSL_GET) {
MockRead(false, OK)
};
- StaticSocketDataProvider data(data_reads, data_writes);
+ StaticSocketDataProvider data(data_reads, arraysize(data_reads),
+ data_writes, arraysize(data_writes));
session_deps.socket_factory.AddSocketDataProvider(&data);
SSLSocketDataProvider ssl(true, OK);
@@ -3689,7 +3754,7 @@ TEST_F(HttpNetworkTransactionTest, ResolveMadeWithReferrer) {
MockRead data_reads[] = {
MockRead(false, ERR_FAILED),
};
- StaticSocketDataProvider data(data_reads, NULL);
+ StaticSocketDataProvider data(data_reads, arraysize(data_reads), NULL, 0);
session_deps.socket_factory.AddSocketDataProvider(&data);
// Issue a request, containing an HTTP referrer.
@@ -3744,7 +3809,7 @@ TEST_F(HttpNetworkTransactionTest, BypassHostCacheOnRefresh) {
// Connect up a mock socket which will fail with ERR_UNEXPECTED during the
// first read -- this won't be reached as the host resolution will fail first.
MockRead data_reads[] = { MockRead(false, ERR_UNEXPECTED) };
- StaticSocketDataProvider data(data_reads, NULL);
+ StaticSocketDataProvider data(data_reads, arraysize(data_reads), NULL, 0);
session_deps.socket_factory.AddSocketDataProvider(&data);
// Issue a request, asking to bypass the cache(s).
@@ -3777,7 +3842,8 @@ TEST_F(HttpNetworkTransactionTest, RequestWriteError) {
MockWrite write_failure[] = {
MockWrite(true, ERR_CONNECTION_RESET),
};
- StaticSocketDataProvider data(NULL, write_failure);
+ StaticSocketDataProvider data(NULL, 0,
+ write_failure, arraysize(write_failure));
session_deps.socket_factory.AddSocketDataProvider(&data);
TestCompletionCallback callback;
@@ -3807,7 +3873,7 @@ TEST_F(HttpNetworkTransactionTest, ConnectionClosedAfterStartOfHeaders) {
MockRead(false, OK),
};
- StaticSocketDataProvider data(data_reads, NULL);
+ StaticSocketDataProvider data(data_reads, arraysize(data_reads), NULL, 0);
session_deps.socket_factory.AddSocketDataProvider(&data);
TestCompletionCallback callback;
@@ -3860,7 +3926,8 @@ TEST_F(HttpNetworkTransactionTest, DrainResetOK) {
MockRead(true, ERR_CONNECTION_RESET),
};
- StaticSocketDataProvider data1(data_reads1, data_writes1);
+ StaticSocketDataProvider data1(data_reads1, arraysize(data_reads1),
+ data_writes1, arraysize(data_writes1));
session_deps.socket_factory.AddSocketDataProvider(&data1);
// After calling trans->RestartWithAuth(), this is the request we should
@@ -3880,7 +3947,8 @@ TEST_F(HttpNetworkTransactionTest, DrainResetOK) {
MockRead(false, OK),
};
- StaticSocketDataProvider data2(data_reads2, data_writes2);
+ StaticSocketDataProvider data2(data_reads2, arraysize(data_reads2),
+ data_writes2, arraysize(data_writes2));
session_deps.socket_factory.AddSocketDataProvider(&data2);
TestCompletionCallback callback1;
@@ -3929,7 +3997,7 @@ TEST_F(HttpNetworkTransactionTest, HTTPSViaProxyWithExtraData) {
MockRead(false, OK)
};
- StaticSocketDataProvider data(proxy_reads, NULL);
+ StaticSocketDataProvider data(proxy_reads, arraysize(proxy_reads), NULL, 0);
SSLSocketDataProvider ssl(true, OK);
session_deps.socket_factory.AddSocketDataProvider(&data);
@@ -3954,7 +4022,8 @@ TEST_F(HttpNetworkTransactionTest, LargeContentLengthThenClose) {
MockRead("HTTP/1.0 200 OK\r\nContent-Length:6719476739\r\n\r\n"),
MockRead(false, OK),
};
- SimpleGetHelperResult out = SimpleGetHelper(data_reads);
+ SimpleGetHelperResult out = SimpleGetHelper(data_reads,
+ arraysize(data_reads));
EXPECT_EQ(OK, out.rv);
EXPECT_EQ("HTTP/1.0 200 OK", out.status_line);
EXPECT_EQ("", out.response_data);
@@ -3988,7 +4057,7 @@ TEST_F(HttpNetworkTransactionTest, UploadFileSmallerThanLength) {
MockRead("hello world"),
MockRead(false, OK),
};
- StaticSocketDataProvider data(data_reads, NULL);
+ StaticSocketDataProvider data(data_reads, arraysize(data_reads), NULL, 0);
session_deps.socket_factory.AddSocketDataProvider(&data);
TestCompletionCallback callback;
diff --git a/net/socket/socket_test_util.cc b/net/socket/socket_test_util.cc
index 283ae35..1ea1ec9 100644
--- a/net/socket/socket_test_util.cc
+++ b/net/socket/socket_test_util.cc
@@ -284,11 +284,8 @@ int MockSSLClientSocket::Write(net::IOBuffer* buf, int buf_len,
}
MockRead StaticSocketDataProvider::GetNextRead() {
- MockRead rv = reads_[read_index_];
- if (reads_[read_index_].result != OK ||
- reads_[read_index_].data_len != 0)
- read_index_++; // Don't advance past an EOF.
- return rv;
+ DCHECK(!at_read_eof());
+ return reads_[read_index_++];
}
MockWriteResult StaticSocketDataProvider::OnWrite(const std::string& data) {
@@ -297,6 +294,8 @@ MockWriteResult StaticSocketDataProvider::OnWrite(const std::string& data) {
return MockWriteResult(false, data.length());
}
+ DCHECK(!at_write_eof());
+
// Check that what we are writing matches the expectation.
// Then give the mocked return value.
net::MockWrite* w = &writes_[write_index_++];
diff --git a/net/socket/socket_test_util.h b/net/socket/socket_test_util.h
index 90b4019..5e1fe65 100644
--- a/net/socket/socket_test_util.h
+++ b/net/socket/socket_test_util.h
@@ -121,28 +121,33 @@ class SocketDataProvider {
// writes.
class StaticSocketDataProvider : public SocketDataProvider {
public:
- StaticSocketDataProvider() : reads_(NULL), read_index_(0),
- writes_(NULL), write_index_(0) {}
- StaticSocketDataProvider(MockRead* r, MockWrite* w) : reads_(r),
- read_index_(0), writes_(w), write_index_(0) {}
+ StaticSocketDataProvider() : reads_(NULL), read_index_(0), read_count_(0),
+ writes_(NULL), write_index_(0), write_count_(0) {}
+ StaticSocketDataProvider(MockRead* reads, size_t reads_count,
+ MockWrite* writes, size_t writes_count)
+ : reads_(reads),
+ read_index_(0),
+ read_count_(reads_count),
+ writes_(writes),
+ write_index_(0),
+ write_count_(writes_count) {
+ }
// SocketDataProvider methods:
virtual MockRead GetNextRead();
virtual MockWriteResult OnWrite(const std::string& data);
virtual void Reset();
- // If the test wishes to verify that all data is consumed, it can include
- // a EOF MockRead or MockWrite, which is a zero-length Read or Write.
- // The test can then call at_read_eof() or at_write_eof() to verify that
- // all data has been consumed.
- bool at_read_eof() const { return reads_[read_index_].data_len == 0; }
- bool at_write_eof() const { return writes_[write_index_].data_len == 0; }
+ bool at_read_eof() const { return read_index_ >= read_count_; }
+ bool at_write_eof() const { return write_index_ >= write_count_; }
private:
MockRead* reads_;
- int read_index_;
+ size_t read_index_;
+ size_t read_count_;
MockWrite* writes_;
- int write_index_;
+ size_t write_index_;
+ size_t write_count_;
DISALLOW_COPY_AND_ASSIGN(StaticSocketDataProvider);
};
diff --git a/net/socket/socks5_client_socket_unittest.cc b/net/socket/socks5_client_socket_unittest.cc
index 4b87a14..75d0619 100644
--- a/net/socket/socks5_client_socket_unittest.cc
+++ b/net/socket/socks5_client_socket_unittest.cc
@@ -32,7 +32,9 @@ class SOCKS5ClientSocketTest : public PlatformTest {
SOCKS5ClientSocketTest();
// Create a SOCKSClientSocket on top of a MockSocket.
SOCKS5ClientSocket* BuildMockSocket(MockRead reads[],
+ size_t reads_count,
MockWrite writes[],
+ size_t writes_count,
const std::string& hostname,
int port);
@@ -67,11 +69,14 @@ void SOCKS5ClientSocketTest::SetUp() {
SOCKS5ClientSocket* SOCKS5ClientSocketTest::BuildMockSocket(
MockRead reads[],
+ size_t reads_count,
MockWrite writes[],
+ size_t writes_count,
const std::string& hostname,
int port) {
TestCompletionCallback callback;
- data_.reset(new StaticSocketDataProvider(reads, writes));
+ data_.reset(new StaticSocketDataProvider(reads, reads_count,
+ writes, writes_count));
tcp_sock_ = new MockTCPClientSocket(address_list_, data_.get());
int rv = tcp_sock_->Connect(&callback, NULL);
@@ -115,7 +120,9 @@ TEST_F(SOCKS5ClientSocketTest, CompleteHandshake) {
MockRead(true, kSOCKS5OkResponse, arraysize(kSOCKS5OkResponse)),
MockRead(true, payload_read.data(), payload_read.size()) };
- user_sock_.reset(BuildMockSocket(data_reads, data_writes, "localhost", 80));
+ user_sock_.reset(BuildMockSocket(data_reads, arraysize(data_reads),
+ data_writes, arraysize(data_writes),
+ "localhost", 80));
// At this state the TCP connection is completed but not the SOCKS handshake.
EXPECT_TRUE(tcp_sock_->IsConnected());
@@ -177,7 +184,9 @@ TEST_F(SOCKS5ClientSocketTest, ConnectAndDisconnectTwice) {
MockRead(false, kSOCKS5OkResponse, arraysize(kSOCKS5OkResponse))
};
- user_sock_.reset(BuildMockSocket(data_reads, data_writes, hostname, 80));
+ user_sock_.reset(BuildMockSocket(data_reads, arraysize(data_reads),
+ data_writes, arraysize(data_writes),
+ hostname, 80));
int rv = user_sock_->Connect(&callback_, NULL);
EXPECT_EQ(OK, rv);
@@ -197,7 +206,8 @@ TEST_F(SOCKS5ClientSocketTest, LargeHostNameFails) {
// Create a SOCKS socket, with mock transport socket.
MockWrite data_writes[] = {MockWrite()};
MockRead data_reads[] = {MockRead()};
- user_sock_.reset(BuildMockSocket(data_reads, data_writes,
+ user_sock_.reset(BuildMockSocket(data_reads, arraysize(data_reads),
+ data_writes, arraysize(data_writes),
large_host_name, 80));
// Try to connect -- should fail (without having read/written anything to
@@ -232,7 +242,9 @@ TEST_F(SOCKS5ClientSocketTest, PartialReadWrites) {
MockRead data_reads[] = {
MockRead(true, kSOCKS5GreetResponse, arraysize(kSOCKS5GreetResponse)),
MockRead(true, kSOCKS5OkResponse, arraysize(kSOCKS5OkResponse)) };
- user_sock_.reset(BuildMockSocket(data_reads, data_writes, hostname, 80));
+ user_sock_.reset(BuildMockSocket(data_reads, arraysize(data_reads),
+ data_writes, arraysize(data_writes),
+ hostname, 80));
scoped_refptr<LoadLog> log(new LoadLog(LoadLog::kUnbounded));
int rv = user_sock_->Connect(&callback_, log);
EXPECT_EQ(ERR_IO_PENDING, rv);
@@ -254,7 +266,9 @@ TEST_F(SOCKS5ClientSocketTest, PartialReadWrites) {
MockRead(true, partial1, arraysize(partial1)),
MockRead(true, partial2, arraysize(partial2)),
MockRead(true, kSOCKS5OkResponse, arraysize(kSOCKS5OkResponse)) };
- user_sock_.reset(BuildMockSocket(data_reads, data_writes, hostname, 80));
+ user_sock_.reset(BuildMockSocket(data_reads, arraysize(data_reads),
+ data_writes, arraysize(data_writes),
+ hostname, 80));
scoped_refptr<LoadLog> log(new LoadLog(LoadLog::kUnbounded));
int rv = user_sock_->Connect(&callback_, log);
EXPECT_EQ(ERR_IO_PENDING, rv);
@@ -277,7 +291,9 @@ TEST_F(SOCKS5ClientSocketTest, PartialReadWrites) {
MockRead data_reads[] = {
MockRead(true, kSOCKS5GreetResponse, arraysize(kSOCKS5GreetResponse)),
MockRead(true, kSOCKS5OkResponse, arraysize(kSOCKS5OkResponse)) };
- user_sock_.reset(BuildMockSocket(data_reads, data_writes, hostname, 80));
+ user_sock_.reset(BuildMockSocket(data_reads, arraysize(data_reads),
+ data_writes, arraysize(data_writes),
+ hostname, 80));
scoped_refptr<LoadLog> log(new LoadLog(LoadLog::kUnbounded));
int rv = user_sock_->Connect(&callback_, log);
EXPECT_EQ(ERR_IO_PENDING, rv);
@@ -302,7 +318,9 @@ TEST_F(SOCKS5ClientSocketTest, PartialReadWrites) {
arraysize(kSOCKS5OkResponse) - kSplitPoint)
};
- user_sock_.reset(BuildMockSocket(data_reads, data_writes, hostname, 80));
+ user_sock_.reset(BuildMockSocket(data_reads, arraysize(data_reads),
+ data_writes, arraysize(data_writes),
+ hostname, 80));
scoped_refptr<LoadLog> log(new LoadLog(LoadLog::kUnbounded));
int rv = user_sock_->Connect(&callback_, log);
EXPECT_EQ(ERR_IO_PENDING, rv);
diff --git a/net/socket/socks_client_socket_unittest.cc b/net/socket/socks_client_socket_unittest.cc
index b3bb11a..fb1ad82 100644
--- a/net/socket/socks_client_socket_unittest.cc
+++ b/net/socket/socks_client_socket_unittest.cc
@@ -29,7 +29,8 @@ class SOCKSClientSocketTest : public PlatformTest {
public:
SOCKSClientSocketTest();
// Create a SOCKSClientSocket on top of a MockSocket.
- SOCKSClientSocket* BuildMockSocket(MockRead reads[], MockWrite writes[],
+ SOCKSClientSocket* BuildMockSocket(MockRead reads[], size_t reads_count,
+ MockWrite writes[], size_t writes_count,
HostResolver* host_resolver,
const std::string& hostname, int port);
virtual void SetUp();
@@ -57,13 +58,16 @@ void SOCKSClientSocketTest::SetUp() {
SOCKSClientSocket* SOCKSClientSocketTest::BuildMockSocket(
MockRead reads[],
+ size_t reads_count,
MockWrite writes[],
+ size_t writes_count,
HostResolver* host_resolver,
const std::string& hostname,
int port) {
TestCompletionCallback callback;
- data_.reset(new StaticSocketDataProvider(reads, writes));
+ data_.reset(new StaticSocketDataProvider(reads, reads_count,
+ writes, writes_count));
tcp_sock_ = new MockTCPClientSocket(address_list_, data_.get());
int rv = tcp_sock_->Connect(&callback, NULL);
@@ -126,8 +130,9 @@ TEST_F(SOCKSClientSocketTest, CompleteHandshake) {
MockRead(true, kSOCKSOkReply, arraysize(kSOCKSOkReply)),
MockRead(true, payload_read.data(), payload_read.size()) };
- user_sock_.reset(BuildMockSocket(data_reads, data_writes, host_resolver_,
- "localhost", 80));
+ user_sock_.reset(BuildMockSocket(data_reads, arraysize(data_reads),
+ data_writes, arraysize(data_writes),
+ host_resolver_, "localhost", 80));
// At this state the TCP connection is completed but not the SOCKS handshake.
EXPECT_TRUE(tcp_sock_->IsConnected());
@@ -192,8 +197,9 @@ TEST_F(SOCKSClientSocketTest, HandshakeFailures) {
MockRead data_reads[] = {
MockRead(false, tests[i].fail_reply, arraysize(tests[i].fail_reply)) };
- user_sock_.reset(BuildMockSocket(data_reads, data_writes, host_resolver_,
- "localhost", 80));
+ user_sock_.reset(BuildMockSocket(data_reads, arraysize(data_reads),
+ data_writes, arraysize(data_writes),
+ host_resolver_, "localhost", 80));
scoped_refptr<LoadLog> log(new LoadLog(LoadLog::kUnbounded));
int rv = user_sock_->Connect(&callback_, log);
@@ -219,8 +225,9 @@ TEST_F(SOCKSClientSocketTest, PartialServerReads) {
MockRead(true, kSOCKSPartialReply1, arraysize(kSOCKSPartialReply1)),
MockRead(true, kSOCKSPartialReply2, arraysize(kSOCKSPartialReply2)) };
- user_sock_.reset(BuildMockSocket(data_reads, data_writes, host_resolver_,
- "localhost", 80));
+ user_sock_.reset(BuildMockSocket(data_reads, arraysize(data_reads),
+ data_writes, arraysize(data_writes),
+ host_resolver_, "localhost", 80));
scoped_refptr<LoadLog> log(new LoadLog(LoadLog::kUnbounded));
int rv = user_sock_->Connect(&callback_, log);
@@ -249,8 +256,9 @@ TEST_F(SOCKSClientSocketTest, PartialClientWrites) {
MockRead data_reads[] = {
MockRead(true, kSOCKSOkReply, arraysize(kSOCKSOkReply)) };
- user_sock_.reset(BuildMockSocket(data_reads, data_writes, host_resolver_,
- "localhost", 80));
+ user_sock_.reset(BuildMockSocket(data_reads, arraysize(data_reads),
+ data_writes, arraysize(data_writes),
+ host_resolver_, "localhost", 80));
scoped_refptr<LoadLog> log(new LoadLog(LoadLog::kUnbounded));
int rv = user_sock_->Connect(&callback_, log);
@@ -272,8 +280,9 @@ TEST_F(SOCKSClientSocketTest, FailedSocketRead) {
// close connection unexpectedly
MockRead(false, 0) };
- user_sock_.reset(BuildMockSocket(data_reads, data_writes, host_resolver_,
- "localhost", 80));
+ user_sock_.reset(BuildMockSocket(data_reads, arraysize(data_reads),
+ data_writes, arraysize(data_writes),
+ host_resolver_, "localhost", 80));
scoped_refptr<LoadLog> log(new LoadLog(LoadLog::kUnbounded));
int rv = user_sock_->Connect(&callback_, log);
@@ -300,8 +309,9 @@ TEST_F(SOCKSClientSocketTest, SOCKS4AFailedDNS) {
MockRead data_reads[] = {
MockRead(false, kSOCKSOkReply, arraysize(kSOCKSOkReply)) };
- user_sock_.reset(BuildMockSocket(data_reads, data_writes, host_resolver_,
- hostname, 80));
+ user_sock_.reset(BuildMockSocket(data_reads, arraysize(data_reads),
+ data_writes, arraysize(data_writes),
+ host_resolver_, hostname, 80));
scoped_refptr<LoadLog> log(new LoadLog(LoadLog::kUnbounded));
int rv = user_sock_->Connect(&callback_, log);
@@ -330,8 +340,9 @@ TEST_F(SOCKSClientSocketTest, SOCKS4AIfDomainInIPv6) {
MockRead data_reads[] = {
MockRead(false, kSOCKSOkReply, arraysize(kSOCKSOkReply)) };
- user_sock_.reset(BuildMockSocket(data_reads, data_writes, host_resolver_,
- hostname, 80));
+ user_sock_.reset(BuildMockSocket(data_reads, arraysize(data_reads),
+ data_writes, arraysize(data_writes),
+ host_resolver_, hostname, 80));
scoped_refptr<LoadLog> log(new LoadLog(LoadLog::kUnbounded));
int rv = user_sock_->Connect(&callback_, log);
@@ -354,8 +365,9 @@ TEST_F(SOCKSClientSocketTest, DisconnectWhileHostResolveInProgress) {
MockWrite data_writes[] = { MockWrite(false, "", 0) };
MockRead data_reads[] = { MockRead(false, "", 0) };
- user_sock_.reset(BuildMockSocket(data_reads, data_writes, hanging_resolver,
- "foo", 80));
+ user_sock_.reset(BuildMockSocket(data_reads, arraysize(data_reads),
+ data_writes, arraysize(data_writes),
+ hanging_resolver, "foo", 80));
// Start connecting (will get stuck waiting for the host to resolve).
int rv = user_sock_->Connect(&callback_, NULL);
diff --git a/net/socket_stream/socket_stream_unittest.cc b/net/socket_stream/socket_stream_unittest.cc
index 76d59e9..ae162a8 100644
--- a/net/socket_stream/socket_stream_unittest.cc
+++ b/net/socket_stream/socket_stream_unittest.cc
@@ -160,7 +160,8 @@ TEST_F(SocketStreamTest, BasicAuthProxy) {
MockRead("Proxy-Authenticate: Basic realm=\"MyRealm1\"\r\n"),
MockRead("\r\n"),
};
- StaticSocketDataProvider data1(data_reads1, data_writes1);
+ StaticSocketDataProvider data1(data_reads1, arraysize(data_reads1),
+ data_writes1, arraysize(data_writes1));
mock_socket_factory.AddSocketDataProvider(&data1);
MockWrite data_writes2[] = {
@@ -174,7 +175,8 @@ TEST_F(SocketStreamTest, BasicAuthProxy) {
MockRead("Proxy-agent: Apache/2.2.8\r\n"),
MockRead("\r\n"),
};
- StaticSocketDataProvider data2(data_reads2, data_writes2);
+ StaticSocketDataProvider data2(data_reads2, arraysize(data_reads2),
+ data_writes2, arraysize(data_writes2));
mock_socket_factory.AddSocketDataProvider(&data2);
TestCompletionCallback callback;
diff --git a/net/spdy/spdy_network_transaction_unittest.cc b/net/spdy/spdy_network_transaction_unittest.cc
index 340bd13..805de3c3 100644
--- a/net/spdy/spdy_network_transaction_unittest.cc
+++ b/net/spdy/spdy_network_transaction_unittest.cc
@@ -84,7 +84,7 @@ HttpNetworkSession* CreateSession(SessionDependencies* session_deps) {
// |length| is the length of the frame to chop.
// |num_chunks| is the number of chunks to create.
MockWrite* ChopFrame(const char* data, int length, int num_chunks) {
- MockWrite* chunks = new MockWrite[num_chunks + 1];
+ MockWrite* chunks = new MockWrite[num_chunks];
int chunk_size = length / num_chunks;
for (int index = 0; index < num_chunks; index++) {
const char* ptr = data + (index * chunk_size);
@@ -92,7 +92,6 @@ MockWrite* ChopFrame(const char* data, int length, int num_chunks) {
chunk_size += length % chunk_size; // The last chunk takes the remainder.
chunks[index] = MockWrite(true, ptr, chunk_size);
}
- chunks[num_chunks] = MockWrite(true, 0, 0);
return chunks;
}
@@ -198,15 +197,17 @@ static const unsigned char kPostBodyFrame[] = {
class DelayedSocketData : public StaticSocketDataProvider,
public base::RefCounted<DelayedSocketData> {
public:
- // |reads| the list of MockRead completions.
// |write_delay| the number of MockWrites to complete before allowing
// a MockRead to complete.
+ // |reads| the list of MockRead completions.
// |writes| the list of MockWrite completions.
// Note: All MockReads and MockWrites must be async.
// Note: The MockRead and MockWrite lists musts end with a EOF
// e.g. a MockRead(true, 0, 0);
- DelayedSocketData(MockRead* reads, int write_delay, MockWrite* writes)
- : StaticSocketDataProvider(reads, writes),
+ DelayedSocketData(int write_delay,
+ MockRead* reads, size_t reads_count,
+ MockWrite* writes, size_t writes_count)
+ : StaticSocketDataProvider(reads, reads_count, writes, writes_count),
write_delay_(write_delay),
ALLOW_THIS_IN_INITIALIZER_LIST(factory_(this)) {
DCHECK_GE(write_delay_, 0);
@@ -220,9 +221,10 @@ class DelayedSocketData : public StaticSocketDataProvider,
// Note: All MockReads and MockWrites must be async.
// Note: The MockRead and MockWrite lists musts end with a EOF
// e.g. a MockRead(true, 0, 0);
- DelayedSocketData(const MockConnect& connect, MockRead* reads,
- int write_delay, MockWrite* writes)
- : StaticSocketDataProvider(reads, writes),
+ DelayedSocketData(const MockConnect& connect, int write_delay,
+ MockRead* reads, size_t reads_count,
+ MockWrite* writes, size_t writes_count)
+ : StaticSocketDataProvider(reads, reads_count, writes, writes_count),
write_delay_(write_delay),
ALLOW_THIS_IN_INITIALIZER_LIST(factory_(this)) {
DCHECK_GE(write_delay_, 0);
@@ -345,7 +347,6 @@ TEST_F(SpdyNetworkTransactionTest, Get) {
MockWrite writes[] = {
MockWrite(true, reinterpret_cast<const char*>(kGetSyn),
arraysize(kGetSyn)),
- MockWrite(true, 0, 0) // EOF
};
MockRead reads[] = {
@@ -361,7 +362,8 @@ TEST_F(SpdyNetworkTransactionTest, Get) {
request.url = GURL("http://www.google.com/");
request.load_flags = 0;
scoped_refptr<DelayedSocketData> data(
- new DelayedSocketData(reads, 1, writes));
+ new DelayedSocketData(1, reads, arraysize(reads),
+ writes, arraysize(writes)));
TransactionHelperResult out = TransactionHelper(request, data.get(), NULL);
EXPECT_EQ(OK, out.rv);
EXPECT_EQ("HTTP/1.1 200 OK", out.status_line);
@@ -384,7 +386,6 @@ TEST_F(SpdyNetworkTransactionTest, Post) {
arraysize(kPostSyn)),
MockWrite(true, reinterpret_cast<const char*>(kPostUploadFrame),
arraysize(kPostUploadFrame)),
- MockWrite(true, 0, 0) // EOF
};
MockRead reads[] = {
@@ -396,7 +397,8 @@ TEST_F(SpdyNetworkTransactionTest, Post) {
};
scoped_refptr<DelayedSocketData> data(
- new DelayedSocketData(reads, 2, writes));
+ new DelayedSocketData(2, reads, arraysize(reads),
+ writes, arraysize(writes)));
TransactionHelperResult out = TransactionHelper(request, data.get(), NULL);
EXPECT_EQ(OK, out.rv);
EXPECT_EQ("HTTP/1.1 200 OK", out.status_line);
@@ -430,7 +432,6 @@ static const unsigned char kEmptyPostSyn[] = {
MockWrite writes[] = {
MockWrite(true, reinterpret_cast<const char*>(kEmptyPostSyn),
arraysize(kEmptyPostSyn)),
- MockWrite(true, 0, 0) // EOF
};
MockRead reads[] = {
@@ -442,7 +443,8 @@ static const unsigned char kEmptyPostSyn[] = {
};
scoped_refptr<DelayedSocketData> data(
- new DelayedSocketData(reads, 1, writes));
+ new DelayedSocketData(1, reads, arraysize(reads),
+ writes, arraysize(writes)));
TransactionHelperResult out = TransactionHelper(request, data, NULL);
EXPECT_EQ(OK, out.rv);
@@ -463,7 +465,7 @@ TEST_F(SpdyNetworkTransactionTest, ResponseWithoutSynReply) {
request.url = GURL("http://www.google.com/");
request.load_flags = 0;
scoped_refptr<DelayedSocketData> data(
- new DelayedSocketData(reads, 1, NULL));
+ new DelayedSocketData(1, reads, arraysize(reads), NULL, 0));
TransactionHelperResult out = TransactionHelper(request, data.get(), NULL);
EXPECT_EQ(ERR_SYN_REPLY_NOT_RECEIVED, out.rv);
}
@@ -497,7 +499,8 @@ TEST_F(SpdyNetworkTransactionTest, CancelledTransaction) {
scoped_ptr<SpdyNetworkTransaction> trans(
new SpdyNetworkTransaction(CreateSession(&session_deps)));
- StaticSocketDataProvider data(reads, writes);
+ StaticSocketDataProvider data(reads, arraysize(reads),
+ writes, arraysize(writes));
session_deps.socket_factory.AddSocketDataProvider(&data);
TestCompletionCallback callback;
@@ -595,7 +598,6 @@ TEST_F(SpdyNetworkTransactionTest, SynReplyHeaders) {
MockWrite writes[] = {
MockWrite(true, reinterpret_cast<const char*>(kGetSyn),
arraysize(kGetSyn)),
- MockWrite(true, 0, 0) // EOF
};
MockRead reads[] = {
@@ -611,7 +613,8 @@ TEST_F(SpdyNetworkTransactionTest, SynReplyHeaders) {
request.url = GURL("http://www.google.com/");
request.load_flags = 0;
scoped_refptr<DelayedSocketData> data(
- new DelayedSocketData(reads, 1, writes));
+ new DelayedSocketData(1, reads, arraysize(reads),
+ writes, arraysize(writes)));
TransactionHelperResult out = TransactionHelper(request, data.get(), NULL);
EXPECT_EQ(OK, out.rv);
EXPECT_EQ("HTTP/1.1 200 OK", out.status_line);
@@ -686,7 +689,8 @@ TEST_F(SpdyNetworkTransactionTest, InvalidSynReply) {
request.url = GURL("http://www.google.com/");
request.load_flags = 0;
scoped_refptr<DelayedSocketData> data(
- new DelayedSocketData(reads, 1, writes));
+ new DelayedSocketData(1, reads, arraysize(reads),
+ writes, arraysize(writes)));
TransactionHelperResult out = TransactionHelper(request, data.get(), NULL);
EXPECT_EQ(ERR_INVALID_RESPONSE, out.rv);
}
@@ -732,7 +736,8 @@ TEST_F(SpdyNetworkTransactionTest, CorruptFrameSessionError) {
request.url = GURL("http://www.google.com/");
request.load_flags = 0;
scoped_refptr<DelayedSocketData> data(
- new DelayedSocketData(reads, 1, writes));
+ new DelayedSocketData(1, reads, arraysize(reads),
+ writes, arraysize(writes)));
TransactionHelperResult out = TransactionHelper(request, data.get(), NULL);
EXPECT_EQ(ERR_SPDY_PROTOCOL_ERROR, out.rv);
}
@@ -784,7 +789,6 @@ TEST_F(SpdyNetworkTransactionTest, ServerPush) {
MockWrite writes[] = {
MockWrite(true, reinterpret_cast<const char*>(kGetSyn),
arraysize(kGetSyn)),
- MockWrite(true, 0, 0) // EOF
};
MockRead reads[] = {
@@ -821,7 +825,8 @@ TEST_F(SpdyNetworkTransactionTest, ServerPush) {
SessionDependencies session_deps;
scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps));
scoped_refptr<DelayedSocketData> data(
- new DelayedSocketData(reads, 1, writes));
+ new DelayedSocketData(1, reads, arraysize(reads),
+ writes, arraysize(writes)));
session_deps.socket_factory.AddSocketDataProvider(data.get());
// Issue the first request
@@ -918,7 +923,8 @@ TEST_F(SpdyNetworkTransactionTest, WriteError) {
request.url = GURL("http://www.google.com/");
request.load_flags = 0;
scoped_refptr<DelayedSocketData> data(
- new DelayedSocketData(reads, 2, writes));
+ new DelayedSocketData(2, reads, arraysize(reads),
+ writes, arraysize(writes)));
TransactionHelperResult out = TransactionHelper(request, data.get(), NULL);
EXPECT_EQ(ERR_FAILED, out.rv);
data->Reset();
@@ -944,7 +950,8 @@ TEST_F(SpdyNetworkTransactionTest, PartialWrite) {
request.url = GURL("http://www.google.com/");
request.load_flags = 0;
scoped_refptr<DelayedSocketData> data(
- new DelayedSocketData(reads, kChunks, writes.get()));
+ new DelayedSocketData(kChunks, reads, arraysize(reads),
+ writes.get(), kChunks));
TransactionHelperResult out = TransactionHelper(request, data.get(), NULL);
EXPECT_EQ(OK, out.rv);
EXPECT_EQ("HTTP/1.1 200 OK", out.status_line);
@@ -979,7 +986,8 @@ TEST_F(SpdyNetworkTransactionTest, DISABLED_ConnectFailure) {
request.url = GURL("http://www.google.com/");
request.load_flags = 0;
scoped_refptr<DelayedSocketData> data(
- new DelayedSocketData(connects[index], reads, 1, writes));
+ new DelayedSocketData(connects[index], 1, reads, arraysize(reads),
+ writes, arraysize(writes)));
TransactionHelperResult out = TransactionHelper(request, data.get(), NULL);
EXPECT_EQ(connects[index].result, out.rv);
}
@@ -1010,7 +1018,8 @@ TEST_F(SpdyNetworkTransactionTest, DecompressFailureOnSynReply) {
request.url = GURL("http://www.google.com/");
request.load_flags = 0;
scoped_refptr<DelayedSocketData> data(
- new DelayedSocketData(reads, 1, writes));
+ new DelayedSocketData(1, reads, arraysize(reads),
+ writes, arraysize(writes)));
TransactionHelperResult out = TransactionHelper(request, data.get(), NULL);
EXPECT_EQ(ERR_SYN_REPLY_NOT_RECEIVED, out.rv);
data->Reset();
@@ -1023,7 +1032,6 @@ TEST_F(SpdyNetworkTransactionTest, LoadLog) {
MockWrite writes[] = {
MockWrite(true, reinterpret_cast<const char*>(kGetSyn),
arraysize(kGetSyn)),
- MockWrite(true, 0, 0) // EOF
};
MockRead reads[] = {
@@ -1041,7 +1049,8 @@ TEST_F(SpdyNetworkTransactionTest, LoadLog) {
request.url = GURL("http://www.google.com/");
request.load_flags = 0;
scoped_refptr<DelayedSocketData> data(
- new DelayedSocketData(reads, 1, writes));
+ new DelayedSocketData(1, reads, arraysize(reads),
+ writes, arraysize(writes)));
TransactionHelperResult out = TransactionHelper(request, data.get(),
log);
EXPECT_EQ(OK, out.rv);
diff --git a/net/websockets/websocket_unittest.cc b/net/websockets/websocket_unittest.cc
index e3c5725..7ed42f9 100644
--- a/net/websockets/websocket_unittest.cc
+++ b/net/websockets/websocket_unittest.cc
@@ -148,7 +148,8 @@ TEST_F(WebSocketTest, Connect) {
"WebSocket-Protocol: sample\r\n"
"\r\n"),
};
- StaticSocketDataProvider data(data_reads, data_writes);
+ StaticSocketDataProvider data(data_reads, arraysize(data_reads),
+ data_writes, arraysize(data_writes));
mock_socket_factory.AddSocketDataProvider(&data);
WebSocket::Request* request(
@@ -208,7 +209,8 @@ TEST_F(WebSocketTest, ServerSentData) {
"WebSocket-Protocol: sample\r\n"
"\r\n"),
};
- StaticSocketDataProvider data(data_reads, data_writes);
+ StaticSocketDataProvider data(data_reads, arraysize(data_reads),
+ data_writes, arraysize(data_writes));
mock_socket_factory.AddSocketDataProvider(&data);
WebSocket::Request* request(