| Index: net/spdy/spdy_session_unittest.cc
|
| diff --git a/net/spdy/spdy_session_unittest.cc b/net/spdy/spdy_session_unittest.cc
|
| index cb8cd71633c60a5a601196aec314772957d5c4a5..f3c6b1bd1287a16a4ab061e7ee7accd26d8770a5 100644
|
| --- a/net/spdy/spdy_session_unittest.cc
|
| +++ b/net/spdy/spdy_session_unittest.cc
|
| @@ -1287,9 +1287,16 @@ TEST_F(SpdySessionTest, CancelPushAfterSessionGoesAway) {
|
|
|
| SpdySerializedFrame req(
|
| spdy_util_.ConstructSpdyGet(nullptr, 0, 1, MEDIUM, true));
|
| - SpdySerializedFrame rst(
|
| + SpdySerializedFrame priority_a(
|
| + spdy_util_.ConstructSpdyPriority(2, 1, IDLE, true));
|
| + SpdySerializedFrame priority_b(
|
| + spdy_util_.ConstructSpdyPriority(4, 2, IDLE, true));
|
| + SpdySerializedFrame rst_a(
|
| spdy_util_.ConstructSpdyRstStream(2, RST_STREAM_REFUSED_STREAM));
|
| - MockWrite writes[] = {CreateMockWrite(req, 0), CreateMockWrite(rst, 5)};
|
| + MockWrite writes[] = {
|
| + CreateMockWrite(req, 0), CreateMockWrite(priority_a, 2),
|
| + CreateMockWrite(priority_b, 6), CreateMockWrite(rst_a, 7),
|
| + };
|
|
|
| SpdySerializedFrame push_a(spdy_util_.ConstructSpdyPush(
|
| nullptr, 0, 2, 1, "https://www.example.org/a.dat"));
|
| @@ -1299,9 +1306,9 @@ TEST_F(SpdySessionTest, CancelPushAfterSessionGoesAway) {
|
| SpdySerializedFrame push_b(spdy_util_.ConstructSpdyPush(
|
| nullptr, 0, 4, 1, "https://www.example.org/0.dat"));
|
| MockRead reads[] = {
|
| - CreateMockRead(push_a, 1), CreateMockRead(push_a_body, 2),
|
| - MockRead(ASYNC, ERR_IO_PENDING, 3), CreateMockRead(push_b, 4),
|
| - MockRead(ASYNC, ERR_IO_PENDING, 6), MockRead(ASYNC, 0, 7) // EOF
|
| + CreateMockRead(push_a, 1), CreateMockRead(push_a_body, 3),
|
| + MockRead(ASYNC, ERR_IO_PENDING, 4), CreateMockRead(push_b, 5),
|
| + MockRead(ASYNC, ERR_IO_PENDING, 8), MockRead(ASYNC, 0, 9) // EOF
|
| };
|
|
|
| SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes));
|
| @@ -1373,9 +1380,16 @@ TEST_F(SpdySessionTest, CancelPushAfterExpired) {
|
|
|
| SpdySerializedFrame req(
|
| spdy_util_.ConstructSpdyGet(nullptr, 0, 1, MEDIUM, true));
|
| - SpdySerializedFrame rst(
|
| + SpdySerializedFrame priority_a(
|
| + spdy_util_.ConstructSpdyPriority(2, 1, IDLE, true));
|
| + SpdySerializedFrame priority_b(
|
| + spdy_util_.ConstructSpdyPriority(4, 2, IDLE, true));
|
| + SpdySerializedFrame rst_a(
|
| spdy_util_.ConstructSpdyRstStream(2, RST_STREAM_REFUSED_STREAM));
|
| - MockWrite writes[] = {CreateMockWrite(req, 0), CreateMockWrite(rst, 5)};
|
| + MockWrite writes[] = {
|
| + CreateMockWrite(req, 0), CreateMockWrite(priority_a, 2),
|
| + CreateMockWrite(priority_b, 6), CreateMockWrite(rst_a, 7),
|
| + };
|
|
|
| SpdySerializedFrame push_a(spdy_util_.ConstructSpdyPush(
|
| nullptr, 0, 2, 1, "https://www.example.org/a.dat"));
|
| @@ -1385,9 +1399,9 @@ TEST_F(SpdySessionTest, CancelPushAfterExpired) {
|
| SpdySerializedFrame push_b(spdy_util_.ConstructSpdyPush(
|
| nullptr, 0, 4, 1, "https://www.example.org/0.dat"));
|
| MockRead reads[] = {
|
| - CreateMockRead(push_a, 1), CreateMockRead(push_a_body, 2),
|
| - MockRead(ASYNC, ERR_IO_PENDING, 3), CreateMockRead(push_b, 4),
|
| - MockRead(ASYNC, ERR_IO_PENDING, 6), MockRead(ASYNC, 0, 7) // EOF
|
| + CreateMockRead(push_a, 1), CreateMockRead(push_a_body, 3),
|
| + MockRead(ASYNC, ERR_IO_PENDING, 4), CreateMockRead(push_b, 5),
|
| + MockRead(ASYNC, ERR_IO_PENDING, 8), MockRead(ASYNC, 0, 9) // EOF
|
| };
|
|
|
| SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes));
|
| @@ -1460,9 +1474,16 @@ TEST_F(SpdySessionTest, CancelPushBeforeClaimed) {
|
|
|
| SpdySerializedFrame req(
|
| spdy_util_.ConstructSpdyGet(nullptr, 0, 1, MEDIUM, true));
|
| - SpdySerializedFrame rst(
|
| + SpdySerializedFrame priority_a(
|
| + spdy_util_.ConstructSpdyPriority(2, 1, IDLE, true));
|
| + SpdySerializedFrame priority_b(
|
| + spdy_util_.ConstructSpdyPriority(4, 2, IDLE, true));
|
| + SpdySerializedFrame rst_a(
|
| spdy_util_.ConstructSpdyRstStream(2, RST_STREAM_REFUSED_STREAM));
|
| - MockWrite writes[] = {CreateMockWrite(req, 0), CreateMockWrite(rst, 5)};
|
| + MockWrite writes[] = {
|
| + CreateMockWrite(req, 0), CreateMockWrite(priority_a, 2),
|
| + CreateMockWrite(priority_b, 6), CreateMockWrite(rst_a, 7),
|
| + };
|
|
|
| SpdySerializedFrame push_a(spdy_util_.ConstructSpdyPush(
|
| nullptr, 0, 2, 1, "https://www.example.org/a.dat"));
|
| @@ -1472,9 +1493,9 @@ TEST_F(SpdySessionTest, CancelPushBeforeClaimed) {
|
| SpdySerializedFrame push_b(spdy_util_.ConstructSpdyPush(
|
| nullptr, 0, 4, 1, "https://www.example.org/0.dat"));
|
| MockRead reads[] = {
|
| - CreateMockRead(push_a, 1), CreateMockRead(push_a_body, 2),
|
| - MockRead(ASYNC, ERR_IO_PENDING, 3), CreateMockRead(push_b, 4),
|
| - MockRead(ASYNC, ERR_IO_PENDING, 6), MockRead(ASYNC, 0, 7) // EOF
|
| + CreateMockRead(push_a, 1), CreateMockRead(push_a_body, 3),
|
| + MockRead(ASYNC, ERR_IO_PENDING, 4), CreateMockRead(push_b, 5),
|
| + MockRead(ASYNC, ERR_IO_PENDING, 8), MockRead(ASYNC, 0, 9) // EOF
|
| };
|
|
|
| SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes));
|
| @@ -1545,9 +1566,16 @@ TEST_F(SpdySessionTest, DeleteExpiredPushStreams) {
|
|
|
| SpdySerializedFrame req(
|
| spdy_util_.ConstructSpdyGet(nullptr, 0, 1, MEDIUM, true));
|
| - SpdySerializedFrame rst(
|
| + SpdySerializedFrame priority_a(
|
| + spdy_util_.ConstructSpdyPriority(2, 1, IDLE, true));
|
| + SpdySerializedFrame priority_b(
|
| + spdy_util_.ConstructSpdyPriority(4, 2, IDLE, true));
|
| + SpdySerializedFrame rst_a(
|
| spdy_util_.ConstructSpdyRstStream(2, RST_STREAM_REFUSED_STREAM));
|
| - MockWrite writes[] = {CreateMockWrite(req, 0), CreateMockWrite(rst, 5)};
|
| + MockWrite writes[] = {
|
| + CreateMockWrite(req, 0), CreateMockWrite(priority_a, 2),
|
| + CreateMockWrite(priority_b, 6), CreateMockWrite(rst_a, 7),
|
| + };
|
|
|
| SpdySerializedFrame push_a(spdy_util_.ConstructSpdyPush(
|
| nullptr, 0, 2, 1, "https://www.example.org/a.dat"));
|
| @@ -1557,9 +1585,9 @@ TEST_F(SpdySessionTest, DeleteExpiredPushStreams) {
|
| SpdySerializedFrame push_b(spdy_util_.ConstructSpdyPush(
|
| nullptr, 0, 4, 1, "https://www.example.org/0.dat"));
|
| MockRead reads[] = {
|
| - CreateMockRead(push_a, 1), CreateMockRead(push_a_body, 2),
|
| - MockRead(ASYNC, ERR_IO_PENDING, 3), CreateMockRead(push_b, 4),
|
| - MockRead(ASYNC, ERR_IO_PENDING, 6), MockRead(ASYNC, 0, 7) // EOF
|
| + CreateMockRead(push_a, 1), CreateMockRead(push_a_body, 3),
|
| + MockRead(ASYNC, ERR_IO_PENDING, 4), CreateMockRead(push_b, 5),
|
| + MockRead(ASYNC, ERR_IO_PENDING, 8), MockRead(ASYNC, 0, 9) // EOF
|
| };
|
|
|
| SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes));
|
| @@ -1624,9 +1652,19 @@ TEST_F(SpdySessionTest, MetricsCollectionOnPushStreams) {
|
|
|
| SpdySerializedFrame req(
|
| spdy_util_.ConstructSpdyGet(nullptr, 0, 1, MEDIUM, true));
|
| - SpdySerializedFrame rst(
|
| + SpdySerializedFrame priority_a(
|
| + spdy_util_.ConstructSpdyPriority(2, 1, IDLE, true));
|
| + SpdySerializedFrame priority_b(
|
| + spdy_util_.ConstructSpdyPriority(4, 2, IDLE, true));
|
| + SpdySerializedFrame priority_c(
|
| + spdy_util_.ConstructSpdyPriority(6, 4, IDLE, true));
|
| + SpdySerializedFrame rst_a(
|
| spdy_util_.ConstructSpdyRstStream(2, RST_STREAM_REFUSED_STREAM));
|
| - MockWrite writes[] = {CreateMockWrite(req, 0), CreateMockWrite(rst, 5)};
|
| + MockWrite writes[] = {
|
| + CreateMockWrite(req, 0), CreateMockWrite(priority_a, 2),
|
| + CreateMockWrite(priority_b, 6), CreateMockWrite(rst_a, 7),
|
| + CreateMockWrite(priority_c, 10),
|
| + };
|
|
|
| SpdySerializedFrame push_a(spdy_util_.ConstructSpdyPush(
|
| nullptr, 0, 2, 1, "https://www.example.org/a.dat"));
|
| @@ -1641,14 +1679,14 @@ TEST_F(SpdySessionTest, MetricsCollectionOnPushStreams) {
|
|
|
| MockRead reads[] = {
|
| CreateMockRead(push_a, 1),
|
| - CreateMockRead(push_a_body, 2),
|
| - MockRead(ASYNC, ERR_IO_PENDING, 3),
|
| - CreateMockRead(push_b, 4),
|
| - MockRead(ASYNC, ERR_IO_PENDING, 6),
|
| - CreateMockRead(push_c, 7),
|
| - CreateMockRead(push_c_body, 8),
|
| - MockRead(ASYNC, ERR_IO_PENDING, 9),
|
| - MockRead(ASYNC, 0, 10) // EOF
|
| + CreateMockRead(push_a_body, 3),
|
| + MockRead(ASYNC, ERR_IO_PENDING, 4),
|
| + CreateMockRead(push_b, 5),
|
| + MockRead(ASYNC, ERR_IO_PENDING, 8),
|
| + CreateMockRead(push_c, 9),
|
| + CreateMockRead(push_c_body, 11),
|
| + MockRead(ASYNC, ERR_IO_PENDING, 12),
|
| + MockRead(ASYNC, 0, 13) // EOF
|
| };
|
|
|
| SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes));
|
| @@ -4888,15 +4926,18 @@ TEST_F(SpdySessionTest, PushedStreamShouldNotCountToClientConcurrencyLimit) {
|
| CreateMockRead(settings_frame, 0),
|
| MockRead(ASYNC, ERR_IO_PENDING, 3),
|
| CreateMockRead(pushed, 4),
|
| - MockRead(ASYNC, ERR_IO_PENDING, 5),
|
| - MockRead(ASYNC, 0, 6),
|
| + MockRead(ASYNC, ERR_IO_PENDING, 6),
|
| + MockRead(ASYNC, 0, 7),
|
| };
|
|
|
| SpdySerializedFrame settings_ack(spdy_util_.ConstructSpdySettingsAck());
|
| SpdySerializedFrame req(
|
| spdy_util_.ConstructSpdyGet(nullptr, 0, 1, LOWEST, true));
|
| + SpdySerializedFrame priority(
|
| + spdy_util_.ConstructSpdyPriority(2, 1, IDLE, true));
|
| MockWrite writes[] = {
|
| CreateMockWrite(settings_ack, 1), CreateMockWrite(req, 2),
|
| + CreateMockWrite(priority, 5),
|
| };
|
|
|
| SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes));
|
| @@ -4968,16 +5009,21 @@ TEST_F(SpdySessionTest, RejectPushedStreamExceedingConcurrencyLimit) {
|
| nullptr, 0, 4, 1, "https://www.example.org/b.dat"));
|
| MockRead reads[] = {
|
| MockRead(ASYNC, ERR_IO_PENDING, 1), CreateMockRead(push_a, 2),
|
| - MockRead(ASYNC, ERR_IO_PENDING, 3), CreateMockRead(push_b, 4),
|
| - MockRead(ASYNC, ERR_IO_PENDING, 6), MockRead(ASYNC, 0, 7),
|
| + MockRead(ASYNC, ERR_IO_PENDING, 4), CreateMockRead(push_b, 5),
|
| + MockRead(ASYNC, ERR_IO_PENDING, 8), MockRead(ASYNC, 0, 9),
|
| };
|
|
|
| SpdySerializedFrame req(
|
| spdy_util_.ConstructSpdyGet(nullptr, 0, 1, LOWEST, true));
|
| - SpdySerializedFrame rst(
|
| + SpdySerializedFrame priority_a(
|
| + spdy_util_.ConstructSpdyPriority(2, 1, IDLE, true));
|
| + SpdySerializedFrame priority_b(
|
| + spdy_util_.ConstructSpdyPriority(4, 2, IDLE, true));
|
| + SpdySerializedFrame rst_b(
|
| spdy_util_.ConstructSpdyRstStream(4, RST_STREAM_REFUSED_STREAM));
|
| MockWrite writes[] = {
|
| - CreateMockWrite(req, 0), CreateMockWrite(rst, 5),
|
| + CreateMockWrite(req, 0), CreateMockWrite(priority_a, 3),
|
| + CreateMockWrite(priority_b, 6), CreateMockWrite(rst_b, 7),
|
| };
|
|
|
| SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes));
|
| @@ -5054,18 +5100,21 @@ TEST_F(SpdySessionTest, TrustedSpdyProxy) {
|
| MockRead reads[] = {
|
| MockRead(ASYNC, ERR_IO_PENDING, 1),
|
| CreateMockRead(cross_origin_push, 2),
|
| - MockRead(ASYNC, ERR_IO_PENDING, 3),
|
| - CreateMockRead(cross_origin_https_push, 4),
|
| - MockRead(ASYNC, ERR_IO_PENDING, 6),
|
| - MockRead(ASYNC, 0, 7),
|
| + MockRead(ASYNC, ERR_IO_PENDING, 4),
|
| + CreateMockRead(cross_origin_https_push, 5),
|
| + MockRead(ASYNC, ERR_IO_PENDING, 7),
|
| + MockRead(ASYNC, 0, 8),
|
| };
|
|
|
| SpdySerializedFrame req(
|
| spdy_util_.ConstructSpdyGet(nullptr, 0, 1, LOWEST, true));
|
| - SpdySerializedFrame rst(
|
| + SpdySerializedFrame priority_http(
|
| + spdy_util_.ConstructSpdyPriority(2, 1, IDLE, true));
|
| + SpdySerializedFrame rst_https(
|
| spdy_util_.ConstructSpdyRstStream(4, RST_STREAM_REFUSED_STREAM));
|
| MockWrite writes[] = {
|
| - CreateMockWrite(req, 0), CreateMockWrite(rst, 5),
|
| + CreateMockWrite(req, 0), CreateMockWrite(priority_http, 3),
|
| + CreateMockWrite(rst_https, 6),
|
| };
|
|
|
| SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes));
|
| @@ -5203,18 +5252,23 @@ TEST_F(SpdySessionTest, IgnoreReservedRemoteStreamsCount) {
|
| SpdySerializedFrame headers_b(
|
| spdy_util_.ConstructSpdyPushHeaders(4, nullptr, 0));
|
| MockRead reads[] = {
|
| - MockRead(ASYNC, ERR_IO_PENDING, 1), CreateMockRead(push_a, 2),
|
| - MockRead(ASYNC, ERR_IO_PENDING, 3), CreateMockRead(push_b, 4),
|
| - MockRead(ASYNC, ERR_IO_PENDING, 5), CreateMockRead(headers_b, 6),
|
| - MockRead(ASYNC, ERR_IO_PENDING, 8), MockRead(ASYNC, 0, 9),
|
| + MockRead(ASYNC, ERR_IO_PENDING, 1), CreateMockRead(push_a, 2),
|
| + MockRead(ASYNC, ERR_IO_PENDING, 4), CreateMockRead(push_b, 5),
|
| + MockRead(ASYNC, ERR_IO_PENDING, 7), CreateMockRead(headers_b, 8),
|
| + MockRead(ASYNC, ERR_IO_PENDING, 10), MockRead(ASYNC, 0, 11),
|
| };
|
|
|
| SpdySerializedFrame req(
|
| spdy_util_.ConstructSpdyGet(nullptr, 0, 1, LOWEST, true));
|
| - SpdySerializedFrame rst(
|
| + SpdySerializedFrame priority_a(
|
| + spdy_util_.ConstructSpdyPriority(2, 1, IDLE, true));
|
| + SpdySerializedFrame priority_b(
|
| + spdy_util_.ConstructSpdyPriority(4, 2, IDLE, true));
|
| + SpdySerializedFrame rst_b(
|
| spdy_util_.ConstructSpdyRstStream(4, RST_STREAM_REFUSED_STREAM));
|
| MockWrite writes[] = {
|
| - CreateMockWrite(req, 0), CreateMockWrite(rst, 7),
|
| + CreateMockWrite(req, 0), CreateMockWrite(priority_a, 3),
|
| + CreateMockWrite(priority_b, 6), CreateMockWrite(rst_b, 9),
|
| };
|
|
|
| SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes));
|
| @@ -5292,16 +5346,19 @@ TEST_F(SpdySessionTest, CancelReservedStreamOnHeadersReceived) {
|
| spdy_util_.ConstructSpdyPushHeaders(2, nullptr, 0));
|
| MockRead reads[] = {
|
| MockRead(ASYNC, ERR_IO_PENDING, 1), CreateMockRead(push_promise, 2),
|
| - MockRead(ASYNC, ERR_IO_PENDING, 3), CreateMockRead(headers_frame, 4),
|
| - MockRead(ASYNC, ERR_IO_PENDING, 6), MockRead(ASYNC, 0, 7),
|
| + MockRead(ASYNC, ERR_IO_PENDING, 4), CreateMockRead(headers_frame, 5),
|
| + MockRead(ASYNC, ERR_IO_PENDING, 7), MockRead(ASYNC, 0, 8),
|
| };
|
|
|
| SpdySerializedFrame req(
|
| spdy_util_.ConstructSpdyGet(nullptr, 0, 1, LOWEST, true));
|
| + SpdySerializedFrame priority(
|
| + spdy_util_.ConstructSpdyPriority(2, 1, IDLE, true));
|
| SpdySerializedFrame rst(
|
| spdy_util_.ConstructSpdyRstStream(2, RST_STREAM_CANCEL));
|
| MockWrite writes[] = {
|
| - CreateMockWrite(req, 0), CreateMockWrite(rst, 5),
|
| + CreateMockWrite(req, 0), CreateMockWrite(priority, 3),
|
| + CreateMockWrite(rst, 6),
|
| };
|
|
|
| SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes));
|
| @@ -5346,7 +5403,7 @@ TEST_F(SpdySessionTest, CancelReservedStreamOnHeadersReceived) {
|
| EXPECT_EQ(0u, session_->num_active_pushed_streams());
|
|
|
| base::WeakPtr<SpdyStream> pushed_stream;
|
| - int rv = session_->GetPushStream(GURL(kPushedUrl), &pushed_stream,
|
| + int rv = session_->GetPushStream(GURL(kPushedUrl), IDLE, &pushed_stream,
|
| NetLogWithSource());
|
| ASSERT_THAT(rv, IsOk());
|
| ASSERT_TRUE(pushed_stream);
|
|
|