diff options
author | rch@chromium.org <rch@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-07-21 00:35:39 +0000 |
---|---|---|
committer | rch@chromium.org <rch@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-07-21 00:35:39 +0000 |
commit | d55b30acf681116affd8ce2cc8deec9cae2e124f (patch) | |
tree | 936ef6f0cfce9e02f5bf33d8c6e3fdc2cd2bfaf0 /net | |
parent | f98502f4243d2329256f20352148d9cadf38fbdf (diff) | |
download | chromium_src-d55b30acf681116affd8ce2cc8deec9cae2e124f.zip chromium_src-d55b30acf681116affd8ce2cc8deec9cae2e124f.tar.gz chromium_src-d55b30acf681116affd8ce2cc8deec9cae2e124f.tar.bz2 |
Modify DeterministicSocketData to verify that the sequence number of reads and writes start at zero and are continuous.
Review URL: https://chromiumcodereview.appspot.com/10795012
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@147749 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net')
-rw-r--r-- | net/http/http_proxy_client_socket_pool_spdy2_unittest.cc | 4 | ||||
-rw-r--r-- | net/http/http_proxy_client_socket_pool_spdy3_unittest.cc | 5 | ||||
-rw-r--r-- | net/http/http_stream_parser_unittest.cc | 2 | ||||
-rw-r--r-- | net/socket/deterministic_socket_data_unittest.cc | 12 | ||||
-rw-r--r-- | net/socket/socket_test_util.cc | 27 | ||||
-rw-r--r-- | net/socket/socket_test_util.h | 4 | ||||
-rw-r--r-- | net/spdy/spdy_network_transaction_spdy2_unittest.cc | 26 | ||||
-rw-r--r-- | net/spdy/spdy_network_transaction_spdy3_unittest.cc | 26 | ||||
-rw-r--r-- | net/spdy/spdy_proxy_client_socket_spdy2_unittest.cc | 6 | ||||
-rw-r--r-- | net/spdy/spdy_proxy_client_socket_spdy3_unittest.cc | 6 |
10 files changed, 84 insertions, 34 deletions
diff --git a/net/http/http_proxy_client_socket_pool_spdy2_unittest.cc b/net/http/http_proxy_client_socket_pool_spdy2_unittest.cc index a8414ef..50835cd 100644 --- a/net/http/http_proxy_client_socket_pool_spdy2_unittest.cc +++ b/net/http/http_proxy_client_socket_pool_spdy2_unittest.cc @@ -344,13 +344,13 @@ TEST_P(HttpProxyClientSocketPoolSpdy2Test, HaveAuth) { TEST_P(HttpProxyClientSocketPoolSpdy2Test, AsyncHaveAuth) { MockWrite writes[] = { - MockWrite("CONNECT www.google.com:443 HTTP/1.1\r\n" + MockWrite(ASYNC, 0, "CONNECT www.google.com:443 HTTP/1.1\r\n" "Host: www.google.com\r\n" "Proxy-Connection: keep-alive\r\n" "Proxy-Authorization: Basic Zm9vOmJhcg==\r\n\r\n"), }; MockRead reads[] = { - MockRead(SYNCHRONOUS, "HTTP/1.1 200 Connection Established\r\n\r\n"), + MockRead(ASYNC, 1, "HTTP/1.1 200 Connection Established\r\n\r\n"), }; scoped_ptr<SpdyFrame> req(ConstructSpdyConnect(kAuthHeaders, diff --git a/net/http/http_proxy_client_socket_pool_spdy3_unittest.cc b/net/http/http_proxy_client_socket_pool_spdy3_unittest.cc index f26af33..86ad31d 100644 --- a/net/http/http_proxy_client_socket_pool_spdy3_unittest.cc +++ b/net/http/http_proxy_client_socket_pool_spdy3_unittest.cc @@ -344,13 +344,14 @@ TEST_P(HttpProxyClientSocketPoolSpdy3Test, HaveAuth) { TEST_P(HttpProxyClientSocketPoolSpdy3Test, AsyncHaveAuth) { MockWrite writes[] = { - MockWrite("CONNECT www.google.com:443 HTTP/1.1\r\n" + MockWrite(ASYNC, 0, + "CONNECT www.google.com:443 HTTP/1.1\r\n" "Host: www.google.com\r\n" "Proxy-Connection: keep-alive\r\n" "Proxy-Authorization: Basic Zm9vOmJhcg==\r\n\r\n"), }; MockRead reads[] = { - MockRead(SYNCHRONOUS, "HTTP/1.1 200 Connection Established\r\n\r\n"), + MockRead(ASYNC, 1, "HTTP/1.1 200 Connection Established\r\n\r\n"), }; scoped_ptr<SpdyFrame> req(ConstructSpdyConnect(kAuthHeaders, diff --git a/net/http/http_stream_parser_unittest.cc b/net/http/http_stream_parser_unittest.cc index c337bf5..b6cb778 100644 --- a/net/http/http_stream_parser_unittest.cc +++ b/net/http/http_stream_parser_unittest.cc @@ -191,7 +191,7 @@ TEST(HttpStreamParser, AsyncChunkAndAsyncSocket) { MockRead(ASYNC, 5, "HTTP/1.1 200 OK\r\n"), MockRead(ASYNC, 6, "Content-Length: 8\r\n\r\n"), MockRead(ASYNC, 7, "one.html"), - MockRead(SYNCHRONOUS, 8, 0), // EOF + MockRead(SYNCHRONOUS, 0, 8), // EOF }; DeterministicSocketData data(reads, arraysize(reads), diff --git a/net/socket/deterministic_socket_data_unittest.cc b/net/socket/deterministic_socket_data_unittest.cc index e3fa4af..e1f42f4 100644 --- a/net/socket/deterministic_socket_data_unittest.cc +++ b/net/socket/deterministic_socket_data_unittest.cc @@ -186,7 +186,11 @@ TEST_F(DeterministicSocketDataTest, SingleSyncReadTooEarly) { MockRead(SYNCHRONOUS, 0, 2), // EOF }; - Initialize(reads, arraysize(reads), NULL, 0); + MockWrite writes[] = { + MockWrite(SYNCHRONOUS, 0, 0) + }; + + Initialize(reads, arraysize(reads), writes, arraysize(writes)); data_->StopAfter(2); ASSERT_FALSE(data_->stopped()); @@ -309,7 +313,11 @@ TEST_F(DeterministicSocketDataTest, SingleSyncWriteTooEarly) { MockWrite(SYNCHRONOUS, kMsg1, kLen1, 1), // Sync Write }; - Initialize(NULL, 0, writes, arraysize(writes)); + MockRead reads[] = { + MockRead(SYNCHRONOUS, 0, 0) + }; + + Initialize(reads, arraysize(reads), writes, arraysize(writes)); data_->StopAfter(2); ASSERT_FALSE(data_->stopped()); diff --git a/net/socket/socket_test_util.cc b/net/socket/socket_test_util.cc index ff66830..34af370 100644 --- a/net/socket/socket_test_util.cc +++ b/net/socket/socket_test_util.cc @@ -450,6 +450,7 @@ DeterministicSocketData::DeterministicSocketData(MockRead* reads, stopping_sequence_number_(0), stopped_(false), print_debug_(false) { + VerifyCorrectSequenceNumbers(reads, reads_count, writes, writes_count); } DeterministicSocketData::~DeterministicSocketData() {} @@ -603,6 +604,32 @@ void DeterministicSocketData::NextStep() { SetStopped(true); } +void DeterministicSocketData::VerifyCorrectSequenceNumbers( + MockRead* reads, size_t reads_count, + MockWrite* writes, size_t writes_count) { + size_t read = 0; + size_t write = 0; + int expected = 0; + while (read < reads_count || write < writes_count) { + // Check to see that we have a read or write at the expected + // state. + if (read < reads_count && reads[read].sequence_number == expected) { + ++read; + ++expected; + continue; + } + if (write < writes_count && writes[write].sequence_number == expected) { + ++write; + ++expected; + continue; + } + NOTREACHED() << "Missing sequence number: " << expected; + return; + } + DCHECK_EQ(read, reads_count); + DCHECK_EQ(write, writes_count); +} + MockClientSocketFactory::MockClientSocketFactory() {} MockClientSocketFactory::~MockClientSocketFactory() {} diff --git a/net/socket/socket_test_util.h b/net/socket/socket_test_util.h index 0c7e4cf..171e3c3 100644 --- a/net/socket/socket_test_util.h +++ b/net/socket/socket_test_util.h @@ -486,6 +486,9 @@ class DeterministicSocketData void NextStep(); + void VerifyCorrectSequenceNumbers(MockRead* reads, size_t reads_count, + MockWrite* writes, size_t writes_count); + int sequence_number_; MockRead current_read_; MockWrite current_write_; @@ -759,7 +762,6 @@ class MockSSLClientSocket : public MockClientSocket, public AsyncSocket { SSLCertRequestInfo* cert_request_info) OVERRIDE; virtual NextProtoStatus GetNextProto(std::string* proto, std::string* server_protos) OVERRIDE; - //virtual bool was_npn_negotiated() const OVERRIDE; virtual bool set_was_npn_negotiated(bool negotiated) OVERRIDE; virtual void set_protocol_negotiated( NextProto protocol_negotiated) OVERRIDE; diff --git a/net/spdy/spdy_network_transaction_spdy2_unittest.cc b/net/spdy/spdy_network_transaction_spdy2_unittest.cc index 639c818..384ccf5 100644 --- a/net/spdy/spdy_network_transaction_spdy2_unittest.cc +++ b/net/spdy/spdy_network_transaction_spdy2_unittest.cc @@ -4879,7 +4879,7 @@ TEST_P(SpdyNetworkTransactionSpdy2Test, ServerPushClaimBeforeHeaders) { CreateMockRead(*stream2_headers, 4), MockRead(ASYNC, reinterpret_cast<const char*>(kPushBodyFrame), arraysize(kPushBodyFrame), 5), - MockRead(ASYNC, 0, 5), // EOF + MockRead(ASYNC, 0, 6), // EOF }; HttpResponseInfo response; @@ -4927,10 +4927,6 @@ TEST_P(SpdyNetworkTransactionSpdy2Test, ServerPushClaimBeforeHeaders) { std::string result; ReadResult(trans, &data, &result); - // Verify that we consumed all test data. - EXPECT_TRUE(data.at_read_eof()); - EXPECT_TRUE(data.at_write_eof()); - // Verify that the received push data is same as the expected push data. EXPECT_EQ(result2.compare(expected_push_result), 0) << "Received data: " @@ -4952,6 +4948,13 @@ TEST_P(SpdyNetworkTransactionSpdy2Test, ServerPushClaimBeforeHeaders) { // Verify the pushed stream. EXPECT_TRUE(response2.headers != NULL); EXPECT_EQ("HTTP/1.1 200 OK", response2.headers->GetStatusLine()); + + // Read the final EOF (which will close the session) + data.RunFor(1); + + // Verify that we consumed all test data. + EXPECT_TRUE(data.at_read_eof()); + EXPECT_TRUE(data.at_write_eof()); } TEST_P(SpdyNetworkTransactionSpdy2Test, ServerPushWithTwoHeaderFrames) { @@ -5027,7 +5030,7 @@ TEST_P(SpdyNetworkTransactionSpdy2Test, ServerPushWithTwoHeaderFrames) { CreateMockRead(*stream2_headers2, 5), MockRead(ASYNC, reinterpret_cast<const char*>(kPushBodyFrame), arraysize(kPushBodyFrame), 6), - MockRead(ASYNC, 0, 6), // EOF + MockRead(ASYNC, 0, 7), // EOF }; HttpResponseInfo response; @@ -5075,10 +5078,6 @@ TEST_P(SpdyNetworkTransactionSpdy2Test, ServerPushWithTwoHeaderFrames) { std::string result; ReadResult(trans, &data, &result); - // Verify that we consumed all test data. - EXPECT_TRUE(data.at_read_eof()); - EXPECT_TRUE(data.at_write_eof()); - // Verify that the received push data is same as the expected push data. EXPECT_EQ(result2.compare(expected_push_result), 0) << "Received data: " @@ -5108,6 +5107,13 @@ TEST_P(SpdyNetworkTransactionSpdy2Test, ServerPushWithTwoHeaderFrames) { EXPECT_TRUE(response2.headers->HasHeaderValue("hello", "bye")); EXPECT_TRUE(response2.headers->HasHeaderValue("status", "200")); EXPECT_TRUE(response2.headers->HasHeaderValue("version", "HTTP/1.1")); + + // Read the final EOF (which will close the session) + data.RunFor(1); + + // Verify that we consumed all test data. + EXPECT_TRUE(data.at_read_eof()); + EXPECT_TRUE(data.at_write_eof()); } TEST_P(SpdyNetworkTransactionSpdy2Test, SynReplyWithHeaders) { diff --git a/net/spdy/spdy_network_transaction_spdy3_unittest.cc b/net/spdy/spdy_network_transaction_spdy3_unittest.cc index ff9437e..4eadb25 100644 --- a/net/spdy/spdy_network_transaction_spdy3_unittest.cc +++ b/net/spdy/spdy_network_transaction_spdy3_unittest.cc @@ -5434,7 +5434,7 @@ TEST_P(SpdyNetworkTransactionSpdy3Test, ServerPushClaimBeforeHeaders) { CreateMockRead(*stream2_headers, 4), MockRead(ASYNC, reinterpret_cast<const char*>(kPushBodyFrame), arraysize(kPushBodyFrame), 5), - MockRead(ASYNC, 0, 5), // EOF + MockRead(ASYNC, 0, 6), // EOF }; HttpResponseInfo response; @@ -5482,10 +5482,6 @@ TEST_P(SpdyNetworkTransactionSpdy3Test, ServerPushClaimBeforeHeaders) { std::string result; ReadResult(trans, &data, &result); - // Verify that we consumed all test data. - EXPECT_TRUE(data.at_read_eof()); - EXPECT_TRUE(data.at_write_eof()); - // Verify that the received push data is same as the expected push data. EXPECT_EQ(result2.compare(expected_push_result), 0) << "Received data: " @@ -5507,6 +5503,13 @@ TEST_P(SpdyNetworkTransactionSpdy3Test, ServerPushClaimBeforeHeaders) { // Verify the pushed stream. EXPECT_TRUE(response2.headers != NULL); EXPECT_EQ("HTTP/1.1 200 OK", response2.headers->GetStatusLine()); + + // Read the final EOF (which will close the session) + data.RunFor(1); + + // Verify that we consumed all test data. + EXPECT_TRUE(data.at_read_eof()); + EXPECT_TRUE(data.at_write_eof()); } TEST_P(SpdyNetworkTransactionSpdy3Test, ServerPushWithTwoHeaderFrames) { @@ -5583,7 +5586,7 @@ TEST_P(SpdyNetworkTransactionSpdy3Test, ServerPushWithTwoHeaderFrames) { CreateMockRead(*stream2_headers2, 5), MockRead(ASYNC, reinterpret_cast<const char*>(kPushBodyFrame), arraysize(kPushBodyFrame), 6), - MockRead(ASYNC, 0, 6), // EOF + MockRead(ASYNC, 0, 7), // EOF }; HttpResponseInfo response; @@ -5631,10 +5634,6 @@ TEST_P(SpdyNetworkTransactionSpdy3Test, ServerPushWithTwoHeaderFrames) { std::string result; ReadResult(trans, &data, &result); - // Verify that we consumed all test data. - EXPECT_TRUE(data.at_read_eof()); - EXPECT_TRUE(data.at_write_eof()); - // Verify that the received push data is same as the expected push data. EXPECT_EQ(result2.compare(expected_push_result), 0) << "Received data: " @@ -5667,6 +5666,13 @@ TEST_P(SpdyNetworkTransactionSpdy3Test, ServerPushWithTwoHeaderFrames) { EXPECT_TRUE(response2.headers->HasHeaderValue("hello", "bye")); EXPECT_TRUE(response2.headers->HasHeaderValue("status", "200")); EXPECT_TRUE(response2.headers->HasHeaderValue("version", "HTTP/1.1")); + + // Read the final EOF (which will close the session) + data.RunFor(1); + + // Verify that we consumed all test data. + EXPECT_TRUE(data.at_read_eof()); + EXPECT_TRUE(data.at_write_eof()); } TEST_P(SpdyNetworkTransactionSpdy3Test, SynReplyWithHeaders) { diff --git a/net/spdy/spdy_proxy_client_socket_spdy2_unittest.cc b/net/spdy/spdy_proxy_client_socket_spdy2_unittest.cc index 9d149fb..2ac719d 100644 --- a/net/spdy/spdy_proxy_client_socket_spdy2_unittest.cc +++ b/net/spdy/spdy_proxy_client_socket_spdy2_unittest.cc @@ -439,7 +439,7 @@ TEST_F(SpdyProxyClientSocketSpdy2Test, ConnectSendsCorrectRequest) { scoped_ptr<SpdyFrame> resp(ConstructConnectReplyFrame()); MockRead reads[] = { CreateMockRead(*resp, 1, ASYNC), - MockRead(ASYNC, 0, 3), // EOF + MockRead(ASYNC, 0, 2), // EOF }; Initialize(reads, arraysize(reads), writes, arraysize(writes)); @@ -460,7 +460,7 @@ TEST_F(SpdyProxyClientSocketSpdy2Test, ConnectWithAuthRequested) { scoped_ptr<SpdyFrame> resp(ConstructConnectAuthReplyFrame()); MockRead reads[] = { CreateMockRead(*resp, 1, ASYNC), - MockRead(ASYNC, 0, 3), // EOF + MockRead(ASYNC, 0, 2), // EOF }; Initialize(reads, arraysize(reads), writes, arraysize(writes)); @@ -483,7 +483,7 @@ TEST_F(SpdyProxyClientSocketSpdy2Test, ConnectWithAuthCredentials) { scoped_ptr<SpdyFrame> resp(ConstructConnectReplyFrame()); MockRead reads[] = { CreateMockRead(*resp, 1, ASYNC), - MockRead(ASYNC, 0, 3), // EOF + MockRead(ASYNC, 0, 2), // EOF }; Initialize(reads, arraysize(reads), writes, arraysize(writes)); diff --git a/net/spdy/spdy_proxy_client_socket_spdy3_unittest.cc b/net/spdy/spdy_proxy_client_socket_spdy3_unittest.cc index c0ef4dd..fad8d18 100644 --- a/net/spdy/spdy_proxy_client_socket_spdy3_unittest.cc +++ b/net/spdy/spdy_proxy_client_socket_spdy3_unittest.cc @@ -442,7 +442,7 @@ TEST_F(SpdyProxyClientSocketSpdy3Test, ConnectSendsCorrectRequest) { scoped_ptr<SpdyFrame> resp(ConstructConnectReplyFrame()); MockRead reads[] = { CreateMockRead(*resp, 1, ASYNC), - MockRead(ASYNC, 0, 3), // EOF + MockRead(ASYNC, 0, 2), // EOF }; Initialize(reads, arraysize(reads), writes, arraysize(writes)); @@ -463,7 +463,7 @@ TEST_F(SpdyProxyClientSocketSpdy3Test, ConnectWithAuthRequested) { scoped_ptr<SpdyFrame> resp(ConstructConnectAuthReplyFrame()); MockRead reads[] = { CreateMockRead(*resp, 1, ASYNC), - MockRead(ASYNC, 0, 3), // EOF + MockRead(ASYNC, 0, 2), // EOF }; Initialize(reads, arraysize(reads), writes, arraysize(writes)); @@ -486,7 +486,7 @@ TEST_F(SpdyProxyClientSocketSpdy3Test, ConnectWithAuthCredentials) { scoped_ptr<SpdyFrame> resp(ConstructConnectReplyFrame()); MockRead reads[] = { CreateMockRead(*resp, 1, ASYNC), - MockRead(ASYNC, 0, 3), // EOF + MockRead(ASYNC, 0, 2), // EOF }; Initialize(reads, arraysize(reads), writes, arraysize(writes)); |