Index: net/spdy/spdy_network_transaction_unittest.cc |
diff --git a/net/spdy/spdy_network_transaction_unittest.cc b/net/spdy/spdy_network_transaction_unittest.cc |
index 6f522275e30e9495ea2e7324528f924fcbbe9cec..28f4a18457fa06524c4e0ae25f67dd1fa6796a5b 100644 |
--- a/net/spdy/spdy_network_transaction_unittest.cc |
+++ b/net/spdy/spdy_network_transaction_unittest.cc |
@@ -2285,18 +2285,19 @@ |
scoped_ptr<SpdyFrame> resp(spdy_util_.ConstructSpdyGetSynReply(NULL, 0, 1)); |
MockRead reads[] = { |
- CreateMockRead(*resp, 1), |
- MockRead(ASYNC, ERR_IO_PENDING, 2), // Force a pause |
- MockRead(ASYNC, reinterpret_cast<const char*>(kGetBodyFrame2), |
- arraysize(kGetBodyFrame2), 3), |
- MockRead(ASYNC, ERR_IO_PENDING, 4), // Force a pause |
- MockRead(ASYNC, 0, 0, 5), // EOF |
+ CreateMockRead(*resp, 2), |
+ MockRead(ASYNC, ERR_IO_PENDING, 3), // Force a pause |
+ MockRead(ASYNC, reinterpret_cast<const char*>(kGetBodyFrame2), |
+ arraysize(kGetBodyFrame2), 4), |
+ MockRead(ASYNC, ERR_IO_PENDING, 5), // Force a pause |
+ MockRead(ASYNC, 0, 0, 6), // EOF |
}; |
MockRead reads2[] = { |
CreateMockRead(*resp, 1), MockRead(ASYNC, 0, 0, 2), // EOF |
}; |
- SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes)); |
+ OrderedSocketData data(reads, arraysize(reads), |
+ writes, arraysize(writes)); |
SequencedSocketData data2(reads2, arraysize(reads2), writes2, |
arraysize(writes2)); |
@@ -2319,7 +2320,6 @@ |
buf.get(), kSize, |
base::Bind(&SpdyNetworkTransactionTest::StartTransactionCallback, |
helper.session(), GURL(GetDefaultUrl()))); |
- ASSERT_EQ(ERR_IO_PENDING, rv); |
// This forces an err_IO_pending, which sets the callback. |
data.CompleteRead(); |
// This finishes the read. |
@@ -2333,18 +2333,19 @@ |
TEST_P(SpdyNetworkTransactionTest, DeleteSessionOnReadCallback) { |
scoped_ptr<SpdyFrame> req( |
spdy_util_.ConstructSpdyGet(NULL, 0, false, 1, LOWEST, true)); |
- MockWrite writes[] = {CreateMockWrite(*req, 0)}; |
+ MockWrite writes[] = { CreateMockWrite(*req) }; |
scoped_ptr<SpdyFrame> resp(spdy_util_.ConstructSpdyGetSynReply(NULL, 0, 1)); |
scoped_ptr<SpdyFrame> body(spdy_util_.ConstructSpdyBodyFrame(1, true)); |
MockRead reads[] = { |
- CreateMockRead(*resp.get(), 1), |
- MockRead(ASYNC, ERR_IO_PENDING, 2), // Force a pause |
- CreateMockRead(*body.get(), 3), |
- MockRead(ASYNC, 0, 0, 4), // EOF |
- }; |
- |
- SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes)); |
+ CreateMockRead(*resp.get(), 2), |
+ MockRead(ASYNC, ERR_IO_PENDING, 3), // Force a pause |
+ CreateMockRead(*body.get(), 4), |
+ MockRead(ASYNC, 0, 0, 5), // EOF |
+ }; |
+ |
+ OrderedSocketData data(reads, arraysize(reads), |
+ writes, arraysize(writes)); |
NormalSpdyTransactionHelper helper(CreateGetRequest(), DEFAULT_PRIORITY, |
BoundNetLog(), GetParam(), NULL); |
@@ -3673,15 +3674,16 @@ |
scoped_ptr<SpdyFrame> resp(spdy_util_.ConstructSpdyGetSynReply(NULL, 0, 1)); |
MockRead reads[] = { |
- CreateMockRead(*resp, 1), |
- MockRead(ASYNC, ERR_IO_PENDING, 2), // Force a pause |
- MockRead(ASYNC, combined_data_frames, combined_data_frames_len, 3), |
- MockRead(ASYNC, ERR_IO_PENDING, 4), // Force a pause |
- CreateMockRead(*last_frame, 5), |
- MockRead(ASYNC, 0, 6) // EOF |
- }; |
- |
- SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes)); |
+ CreateMockRead(*resp), |
+ MockRead(ASYNC, ERR_IO_PENDING), // Force a pause |
+ MockRead(ASYNC, combined_data_frames, combined_data_frames_len), |
+ MockRead(ASYNC, ERR_IO_PENDING), // Force a pause |
+ CreateMockRead(*last_frame), |
+ MockRead(ASYNC, 0, 0) // EOF |
+ }; |
+ |
+ DelayedSocketData data(1, reads, arraysize(reads), |
+ writes, arraysize(writes)); |
TestCompletionCallback callback; |
@@ -3746,7 +3748,7 @@ |
scoped_ptr<SpdyFrame> req( |
spdy_util_.ConstructSpdyGet(NULL, 0, false, 1, LOWEST, true)); |
- MockWrite writes[] = {CreateMockWrite(*req, 0)}; |
+ MockWrite writes[] = { CreateMockWrite(*req) }; |
// 4 data frames in a single read. |
scoped_ptr<SpdyFrame> data_frame( |
@@ -3766,13 +3768,14 @@ |
scoped_ptr<SpdyFrame> resp(spdy_util_.ConstructSpdyGetSynReply(NULL, 0, 1)); |
MockRead reads[] = { |
- CreateMockRead(*resp, 1), |
- MockRead(ASYNC, ERR_IO_PENDING, 2), // Force a pause |
- MockRead(ASYNC, combined_data_frames, combined_data_frames_len, 3), |
- MockRead(ASYNC, 0, 4) // EOF |
- }; |
- |
- SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes)); |
+ CreateMockRead(*resp), |
+ MockRead(ASYNC, ERR_IO_PENDING), // Force a pause |
+ MockRead(ASYNC, combined_data_frames, combined_data_frames_len), |
+ MockRead(ASYNC, 0, 0) // EOF |
+ }; |
+ |
+ DelayedSocketData data(1, reads, arraysize(reads), |
+ writes, arraysize(writes)); |
NormalSpdyTransactionHelper helper(CreateGetRequest(), DEFAULT_PRIORITY, |
BoundNetLog(), GetParam(), NULL); |
@@ -3924,7 +3927,7 @@ |
scoped_ptr<SpdyFrame> req( |
spdy_util_.ConstructSpdyGet(NULL, 0, false, 1, LOWEST, true)); |
- MockWrite writes[] = {CreateMockWrite(*req, 0)}; |
+ MockWrite writes[] = { CreateMockWrite(*req) }; |
// All data frames in a single read. |
// NOTE: We don't FIN the stream. |
@@ -3942,13 +3945,14 @@ |
combined_data_frames, arraysize(combined_data_frames)); |
scoped_ptr<SpdyFrame> resp(spdy_util_.ConstructSpdyGetSynReply(NULL, 0, 1)); |
MockRead reads[] = { |
- CreateMockRead(*resp, 1), |
- MockRead(ASYNC, ERR_IO_PENDING, 2), // Force a wait |
- MockRead(ASYNC, combined_data_frames, combined_data_frames_len, 3), |
- MockRead(ASYNC, 0, 4) // EOF |
- }; |
- |
- SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes)); |
+ CreateMockRead(*resp), |
+ MockRead(ASYNC, ERR_IO_PENDING), // Force a wait |
+ MockRead(ASYNC, combined_data_frames, combined_data_frames_len), |
+ MockRead(ASYNC, 0, 0) // EOF |
+ }; |
+ |
+ DelayedSocketData data(1, reads, arraysize(reads), |
+ writes, arraysize(writes)); |
NormalSpdyTransactionHelper helper(CreateGetRequest(), DEFAULT_PRIORITY, |
BoundNetLog(), GetParam(), NULL); |
@@ -4016,7 +4020,7 @@ |
spdy_util_.ConstructSpdyGet(NULL, 0, false, 1, LOWEST, true)); |
scoped_ptr<SpdyFrame> rst( |
spdy_util_.ConstructSpdyRstStream(1, RST_STREAM_CANCEL)); |
- MockWrite writes[] = {CreateMockWrite(*req, 0), CreateMockWrite(*rst, 4)}; |
+ MockWrite writes[] = {CreateMockWrite(*req), CreateMockWrite(*rst)}; |
// NOTE: We don't FIN the stream. |
scoped_ptr<SpdyFrame> data_frame( |
@@ -4024,13 +4028,14 @@ |
scoped_ptr<SpdyFrame> resp(spdy_util_.ConstructSpdyGetSynReply(NULL, 0, 1)); |
MockRead reads[] = { |
- CreateMockRead(*resp, 1), |
- MockRead(ASYNC, ERR_IO_PENDING, 2), // Force a wait |
- CreateMockRead(*data_frame, 3), |
- MockRead(ASYNC, 0, 5) // EOF |
- }; |
- |
- SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes)); |
+ CreateMockRead(*resp), |
+ MockRead(ASYNC, ERR_IO_PENDING), // Force a wait |
+ CreateMockRead(*data_frame), |
+ MockRead(ASYNC, 0, 0) // EOF |
+ }; |
+ |
+ DelayedSocketData data(1, reads, arraysize(reads), |
+ writes, arraysize(writes)); |
NormalSpdyTransactionHelper helper(CreateGetRequest(), DEFAULT_PRIORITY, |
BoundNetLog(), GetParam(), NULL); |
@@ -4259,11 +4264,17 @@ |
scoped_ptr<SpdyFrame> req( |
spdy_util_.ConstructSpdyGet(NULL, 0, false, 1, LOWEST, true)); |
- MockWrite writes[] = { |
- CreateMockWrite(*initial_settings_frame, 0), |
- CreateMockWrite(*settings_frame, 1), |
- CreateMockWrite(*req, 2), |
- }; |
+ std::vector<MockWrite> writes; |
+ if ((GetParam().protocol >= kProtoSPDY4MinimumVersion) && |
+ (GetParam().protocol <= kProtoSPDY4MaximumVersion)) { |
+ writes.push_back( |
+ MockWrite(ASYNC, |
+ kHttp2ConnectionHeaderPrefix, |
+ kHttp2ConnectionHeaderPrefixSize)); |
+ } |
+ writes.push_back(CreateMockWrite(*initial_settings_frame)); |
+ writes.push_back(CreateMockWrite(*settings_frame)); |
+ writes.push_back(CreateMockWrite(*req)); |
// Construct the reply. |
scoped_ptr<SpdyHeaderBlock> reply_headers(new SpdyHeaderBlock()); |
@@ -4274,12 +4285,13 @@ |
scoped_ptr<SpdyFrame> body(spdy_util_.ConstructSpdyBodyFrame(1, true)); |
MockRead reads[] = { |
- CreateMockRead(*reply, 3), |
- CreateMockRead(*body, 4), |
- MockRead(ASYNC, 0, 5) // EOF |
- }; |
- |
- SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes)); |
+ CreateMockRead(*reply), |
+ CreateMockRead(*body), |
+ MockRead(ASYNC, 0, 0) // EOF |
+ }; |
+ |
+ DelayedSocketData data(2, reads, arraysize(reads), |
+ vector_as_array(&writes), writes.size()); |
helper.AddData(&data); |
helper.RunDefaultTest(); |
helper.VerifyDataConsumed(); |
@@ -4783,16 +4795,16 @@ |
scoped_ptr<SpdyFrame> resp(spdy_util_.ConstructSpdyGetSynReply(NULL, 0, 1)); |
scoped_ptr<SpdyFrame> body(spdy_util_.ConstructSpdyBodyFrame(1, true)); |
MockRead reads[] = { |
- CreateMockRead(*resp, 1), |
- CreateMockRead(*body, 2), |
- MockRead(ASYNC, ERR_IO_PENDING, 3), |
- MockRead(ASYNC, ERR_CONNECTION_RESET, 4), |
+ CreateMockRead(*resp, 0), |
+ CreateMockRead(*body, 1), |
+ MockRead(ASYNC, ERR_IO_PENDING, 2), |
+ MockRead(ASYNC, ERR_CONNECTION_RESET, 3), |
}; |
MockRead reads2[] = { |
- CreateMockRead(*resp, 1), |
- CreateMockRead(*body, 2), |
- MockRead(ASYNC, 0, 3) // EOF |
+ CreateMockRead(*resp, 0), |
+ CreateMockRead(*body, 1), |
+ MockRead(ASYNC, 0, 2) // EOF |
}; |
// This test has a couple of variants. |
@@ -5499,7 +5511,8 @@ |
MockRead(ASYNC, 0, 6) // EOF |
}; |
- SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes)); |
+ DelayedSocketData data(1, reads, arraysize(reads), |
+ writes, arraysize(writes)); |
NormalSpdyTransactionHelper helper(CreateGetRequest(), DEFAULT_PRIORITY, |
BoundNetLog(), GetParam(), NULL); |
helper.RunToCompletion(&data); |