Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(258)

Unified Diff: net/quic/quic_session_test.cc

Issue 185203003: Killing off QUICv12, including cleaning out all of the code for handling (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Deleted unused StripUint32 Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « net/quic/quic_session.cc ('k') | net/quic/quic_spdy_compressor.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/quic/quic_session_test.cc
diff --git a/net/quic/quic_session_test.cc b/net/quic/quic_session_test.cc
index 7abcc28c12639d1f5c8ab3d5689fe1fb33e94bab..daf36ae1482a55386248a8a6b345bfe85171df06 100644
--- a/net/quic/quic_session_test.cc
+++ b/net/quic/quic_session_test.cc
@@ -218,10 +218,6 @@ TEST_P(QuicSessionTest, IsClosedStreamLocallyCreated) {
EXPECT_EQ(2u, stream2->id());
TestStream* stream4 = session_.CreateOutgoingDataStream();
EXPECT_EQ(4u, stream4->id());
- if (version() <= QUIC_VERSION_12) {
- QuicDataStreamPeer::SetHeadersDecompressed(stream2, true);
- QuicDataStreamPeer::SetHeadersDecompressed(stream4, true);
- }
CheckClosedStreams();
CloseStream(4);
@@ -231,7 +227,7 @@ TEST_P(QuicSessionTest, IsClosedStreamLocallyCreated) {
}
TEST_P(QuicSessionTest, IsClosedStreamPeerCreated) {
- QuicStreamId stream_id1 = version() > QUIC_VERSION_12 ? 5 : 3;
+ QuicStreamId stream_id1 = 5;
QuicStreamId stream_id2 = stream_id1 + 2;
QuicDataStream* stream1 = session_.GetIncomingDataStream(stream_id1);
QuicDataStreamPeer::SetHeadersDecompressed(stream1, true);
@@ -252,38 +248,27 @@ TEST_P(QuicSessionTest, IsClosedStreamPeerCreated) {
}
TEST_P(QuicSessionTest, StreamIdTooLarge) {
- QuicStreamId stream_id = version() > QUIC_VERSION_12 ? 5 : 3;
+ QuicStreamId stream_id = 5;
session_.GetIncomingDataStream(stream_id);
EXPECT_CALL(*connection_, SendConnectionClose(QUIC_INVALID_STREAM_ID));
session_.GetIncomingDataStream(stream_id + 102);
}
TEST_P(QuicSessionTest, DecompressionError) {
- if (version() > QUIC_VERSION_12) {
- QuicHeadersStream* stream = QuicSessionPeer::GetHeadersStream(&session_);
- const unsigned char data[] = {
- 0x80, 0x03, 0x00, 0x01, // SPDY/3 SYN_STREAM frame
- 0x00, 0x00, 0x00, 0x25, // flags/length
- 0x00, 0x00, 0x00, 0x05, // stream id
- 0x00, 0x00, 0x00, 0x00, // associated stream id
- 0x00, 0x00,
- 'a', 'b', 'c', 'd' // invalid compressed data
- };
- EXPECT_CALL(*connection_,
- SendConnectionCloseWithDetails(QUIC_INVALID_HEADERS_STREAM_DATA,
- "SPDY framing error."));
- stream->ProcessRawData(reinterpret_cast<const char*>(data),
- arraysize(data));
- } else {
- ReliableQuicStream* stream = session_.GetIncomingDataStream(3);
- const char data[] =
- "\0\0\0\0" // priority
- "\1\0\0\0" // headers id
- "\0\0\0\4" // length
- "abcd"; // invalid compressed data
- EXPECT_CALL(*connection_, SendConnectionClose(QUIC_DECOMPRESSION_FAILURE));
- stream->ProcessRawData(data, arraysize(data));
- }
+ QuicHeadersStream* stream = QuicSessionPeer::GetHeadersStream(&session_);
+ const unsigned char data[] = {
+ 0x80, 0x03, 0x00, 0x01, // SPDY/3 SYN_STREAM frame
+ 0x00, 0x00, 0x00, 0x25, // flags/length
+ 0x00, 0x00, 0x00, 0x05, // stream id
+ 0x00, 0x00, 0x00, 0x00, // associated stream id
+ 0x00, 0x00,
+ 'a', 'b', 'c', 'd' // invalid compressed data
+ };
+ EXPECT_CALL(*connection_,
+ SendConnectionCloseWithDetails(QUIC_INVALID_HEADERS_STREAM_DATA,
+ "SPDY framing error."));
+ stream->ProcessRawData(reinterpret_cast<const char*>(data),
+ arraysize(data));
}
TEST_P(QuicSessionTest, DebugDFatalIfMarkingClosedStreamWriteBlocked) {
@@ -441,41 +426,6 @@ TEST_P(QuicSessionTest, OnCanWriteWithClosedStream) {
EXPECT_FALSE(session_.HasPendingWrites());
}
-// Regression test for http://crbug.com/248737
-TEST_P(QuicSessionTest, OutOfOrderHeaders) {
- QuicSpdyCompressor compressor;
- vector<QuicStreamFrame> frames;
- QuicPacketHeader header;
- header.public_header.connection_id = session_.connection_id();
-
- TestStream* stream2 = session_.CreateOutgoingDataStream();
- TestStream* stream4 = session_.CreateOutgoingDataStream();
- stream2->CloseWriteSide();
- stream4->CloseWriteSide();
-
- // Create frame with headers for stream2.
- string compressed_headers1 = compressor.CompressHeaders(headers_);
- QuicStreamFrame frame1(
- stream2->id(), false, 0, MakeIOVector(compressed_headers1));
-
- // Create frame with headers for stream4.
- string compressed_headers2 = compressor.CompressHeaders(headers_);
- QuicStreamFrame frame2(
- stream4->id(), true, 0, MakeIOVector(compressed_headers2));
-
- // Process the second frame first. This will cause the headers to
- // be queued up and processed after the first frame is processed.
- frames.push_back(frame2);
- session_.OnStreamFrames(frames);
-
- // Process the first frame, and un-cork the buffered headers.
- frames[0] = frame1;
- session_.OnStreamFrames(frames);
-
- // Ensure that the streams actually close and we don't DCHECK.
- connection_->CloseConnection(QUIC_CONNECTION_TIMED_OUT, true);
-}
-
TEST_P(QuicSessionTest, SendGoAway) {
// After sending a GoAway, ensure new incoming streams cannot be created and
// result in a RST being sent.
@@ -497,82 +447,8 @@ TEST_P(QuicSessionTest, IncreasedTimeoutAfterCryptoHandshake) {
QuicConnectionPeer::GetNetworkTimeout(connection_).ToSeconds());
}
-TEST_P(QuicSessionTest, ZombieStream) {
- QuicStreamId stream_id1 = version() > QUIC_VERSION_12 ? 5 : 3;
- QuicStreamId stream_id2 = stream_id1 + 2;
- StrictMock<MockConnection>* connection =
- new StrictMock<MockConnection>(false, SupportedVersions(version()));
- TestSession session(connection);
-
- TestStream* stream1 = session.CreateOutgoingDataStream();
- EXPECT_EQ(stream_id1, stream1->id());
- TestStream* stream2 = session.CreateOutgoingDataStream();
- EXPECT_EQ(stream_id2, stream2->id());
- EXPECT_EQ(2u, session.GetNumOpenStreams());
-
- // Reset the stream, but since the headers have not been decompressed
- // it will become a zombie and will continue to process data
- // until the headers are decompressed.
- EXPECT_CALL(*connection, SendRstStream(stream_id1, QUIC_STREAM_CANCELLED, 0));
- session.SendRstStream(stream_id1, QUIC_STREAM_CANCELLED, 0);
-
- EXPECT_EQ(1u, session.GetNumOpenStreams());
-
- vector<QuicStreamFrame> frames;
- QuicPacketHeader header;
- header.public_header.connection_id = session_.connection_id();
-
- // Create frame with headers for stream2.
- QuicSpdyCompressor compressor;
- string compressed_headers1 = compressor.CompressHeaders(headers_);
- QuicStreamFrame frame1(
- stream1->id(), false, 0, MakeIOVector(compressed_headers1));
-
- // Process the second frame first. This will cause the headers to
- // be queued up and processed after the first frame is processed.
- frames.push_back(frame1);
- EXPECT_FALSE(stream1->headers_decompressed());
-
- session.OnStreamFrames(frames);
- EXPECT_EQ(1u, session.GetNumOpenStreams());
-
- EXPECT_TRUE(connection->connected());
-}
-
-TEST_P(QuicSessionTest, ZombieStreamConnectionClose) {
- QuicStreamId stream_id1 = version() > QUIC_VERSION_12 ? 5 : 3;
- QuicStreamId stream_id2 = stream_id1 + 2;
- StrictMock<MockConnection>* connection =
- new StrictMock<MockConnection>(false, SupportedVersions(version()));
- TestSession session(connection);
-
- TestStream* stream1 = session.CreateOutgoingDataStream();
- EXPECT_EQ(stream_id1, stream1->id());
- TestStream* stream2 = session.CreateOutgoingDataStream();
- EXPECT_EQ(stream_id2, stream2->id());
- EXPECT_EQ(2u, session.GetNumOpenStreams());
-
- stream1->CloseWriteSide();
- // Reset the stream, but since the headers have not been decompressed
- // it will become a zombie and will continue to process data
- // until the headers are decompressed.
- EXPECT_CALL(*connection, SendRstStream(stream_id1, QUIC_STREAM_CANCELLED, 0));
- session.SendRstStream(stream_id1, QUIC_STREAM_CANCELLED, 0);
-
- EXPECT_EQ(1u, session.GetNumOpenStreams());
-
- if (GetParam() > QUIC_VERSION_13) {
- // Stream 2 will send a RST during normal termination.
- EXPECT_CALL(*connection,
- SendRstStream(stream_id2, QUIC_STREAM_NO_ERROR, 0));
- }
- connection->CloseConnection(QUIC_CONNECTION_TIMED_OUT, false);
-
- EXPECT_EQ(0u, session.GetNumOpenStreams());
-}
-
TEST_P(QuicSessionTest, RstStreamBeforeHeadersDecompressed) {
- QuicStreamId stream_id1 = version() > QUIC_VERSION_12 ? 5 : 3;
+ QuicStreamId stream_id1 = 5;
// Send two bytes of payload.
QuicStreamFrame data1(stream_id1, false, 0, MakeIOVector("HT"));
vector<QuicStreamFrame> frames;
@@ -580,13 +456,6 @@ TEST_P(QuicSessionTest, RstStreamBeforeHeadersDecompressed) {
EXPECT_TRUE(session_.OnStreamFrames(frames));
EXPECT_EQ(1u, session_.GetNumOpenStreams());
- if (version() <= QUIC_VERSION_12) {
- // Send a reset before the headers have been decompressed. This causes
- // an unrecoverable compression context state.
- EXPECT_CALL(*connection_, SendConnectionClose(
- QUIC_STREAM_RST_BEFORE_HEADERS_DECOMPRESSED));
- }
-
QuicRstStreamFrame rst1(stream_id1, QUIC_STREAM_NO_ERROR, 0);
session_.OnRstStream(rst1);
EXPECT_EQ(0u, session_.GetNumOpenStreams());
« no previous file with comments | « net/quic/quic_session.cc ('k') | net/quic/quic_spdy_compressor.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698