Index: net/quic/quic_data_stream_test.cc |
diff --git a/net/quic/reliable_quic_stream_test.cc b/net/quic/quic_data_stream_test.cc |
similarity index 75% |
copy from net/quic/reliable_quic_stream_test.cc |
copy to net/quic/quic_data_stream_test.cc |
index a8bd5c917d50641645f3de2ba748ae47986575ee..3e46aceca9a323a29406b9fa87f470969190596d 100644 |
--- a/net/quic/reliable_quic_stream_test.cc |
+++ b/net/quic/quic_data_stream_test.cc |
@@ -2,7 +2,7 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
-#include "net/quic/reliable_quic_stream.h" |
+#include "net/quic/quic_data_stream.h" |
#include "net/quic/quic_ack_notifier.h" |
#include "net/quic/quic_connection.h" |
@@ -27,20 +27,17 @@ namespace net { |
namespace test { |
namespace { |
-const char kData1[] = "FooAndBar"; |
-const char kData2[] = "EepAndBaz"; |
-const size_t kDataLen = 9; |
const QuicGuid kGuid = 42; |
const QuicGuid kStreamId = 3; |
const bool kIsServer = true; |
const bool kShouldProcessData = true; |
-class TestStream : public ReliableQuicStream { |
+class TestStream : public QuicDataStream { |
public: |
TestStream(QuicStreamId id, |
QuicSession* session, |
bool should_process_data) |
- : ReliableQuicStream(id, session), |
+ : QuicDataStream(id, session), |
should_process_data_(should_process_data) {} |
virtual uint32 ProcessData(const char* data, uint32 data_len) OVERRIDE { |
@@ -61,9 +58,9 @@ class TestStream : public ReliableQuicStream { |
string data_; |
}; |
-class ReliableQuicStreamTest : public ::testing::TestWithParam<bool> { |
+class QuicDataStreamTest : public ::testing::TestWithParam<bool> { |
public: |
- ReliableQuicStreamTest() { |
+ QuicDataStreamTest() { |
headers_[":host"] = "www.google.com"; |
headers_[":path"] = "/index.hml"; |
headers_[":scheme"] = "https"; |
@@ -119,114 +116,7 @@ class ReliableQuicStreamTest : public ::testing::TestWithParam<bool> { |
WriteBlockedList<QuicStreamId>* write_blocked_list_; |
}; |
-TEST_F(ReliableQuicStreamTest, WriteAllData) { |
- Initialize(kShouldProcessData); |
- |
- connection_->options()->max_packet_length = |
- 1 + QuicPacketCreator::StreamFramePacketOverhead( |
- connection_->version(), PACKET_8BYTE_GUID, !kIncludeVersion, |
- PACKET_6BYTE_SEQUENCE_NUMBER, NOT_IN_FEC_GROUP); |
- EXPECT_CALL(*session_, WritevData(kStreamId, _, 1, _, _, _)).WillOnce( |
- Return(QuicConsumedData(kDataLen, true))); |
- stream_->WriteOrBufferData(kData1, false); |
- EXPECT_FALSE(write_blocked_list_->HasWriteBlockedStreams()); |
-} |
- |
-// TODO(rtenneti): Death tests crash on OS_ANDROID. |
-#if GTEST_HAS_DEATH_TEST && !defined(NDEBUG) && !defined(OS_ANDROID) |
-TEST_F(ReliableQuicStreamTest, NoBlockingIfNoDataOrFin) { |
- Initialize(kShouldProcessData); |
- |
- // Write no data and no fin. If we consume nothing we should not be write |
- // blocked. |
- EXPECT_DEBUG_DEATH({ |
- EXPECT_CALL(*session_, WritevData(kStreamId, _, 1, _, _, _)).WillOnce( |
- Return(QuicConsumedData(0, false))); |
- stream_->WriteOrBufferData(StringPiece(), false); |
- EXPECT_FALSE(write_blocked_list_->HasWriteBlockedStreams()); |
- }, ""); |
-} |
-#endif // GTEST_HAS_DEATH_TEST && !defined(NDEBUG) && !defined(OS_ANDROID) |
- |
-TEST_F(ReliableQuicStreamTest, BlockIfOnlySomeDataConsumed) { |
- Initialize(kShouldProcessData); |
- |
- // Write some data and no fin. If we consume some but not all of the data, |
- // we should be write blocked a not all the data was consumed. |
- EXPECT_CALL(*session_, WritevData(kStreamId, _, 1, _, _, _)).WillOnce( |
- Return(QuicConsumedData(1, false))); |
- stream_->WriteOrBufferData(StringPiece(kData1, 2), false); |
- ASSERT_EQ(1u, write_blocked_list_->NumBlockedStreams()); |
-} |
- |
- |
-TEST_F(ReliableQuicStreamTest, BlockIfFinNotConsumedWithData) { |
- Initialize(kShouldProcessData); |
- |
- // Write some data and no fin. If we consume all the data but not the fin, |
- // we should be write blocked because the fin was not consumed. |
- // (This should never actually happen as the fin should be sent out with the |
- // last data) |
- EXPECT_CALL(*session_, WritevData(kStreamId, _, 1, _, _, _)).WillOnce( |
- Return(QuicConsumedData(2, false))); |
- stream_->WriteOrBufferData(StringPiece(kData1, 2), true); |
- ASSERT_EQ(1u, write_blocked_list_->NumBlockedStreams()); |
-} |
- |
-TEST_F(ReliableQuicStreamTest, BlockIfSoloFinNotConsumed) { |
- Initialize(kShouldProcessData); |
- |
- // Write no data and a fin. If we consume nothing we should be write blocked, |
- // as the fin was not consumed. |
- EXPECT_CALL(*session_, WritevData(kStreamId, _, 1, _, _, _)).WillOnce( |
- Return(QuicConsumedData(0, false))); |
- stream_->WriteOrBufferData(StringPiece(), true); |
- ASSERT_EQ(1u, write_blocked_list_->NumBlockedStreams()); |
-} |
- |
-TEST_F(ReliableQuicStreamTest, WriteOrBufferData) { |
- Initialize(kShouldProcessData); |
- |
- EXPECT_FALSE(write_blocked_list_->HasWriteBlockedStreams()); |
- connection_->options()->max_packet_length = |
- 1 + QuicPacketCreator::StreamFramePacketOverhead( |
- connection_->version(), PACKET_8BYTE_GUID, !kIncludeVersion, |
- PACKET_6BYTE_SEQUENCE_NUMBER, NOT_IN_FEC_GROUP); |
- EXPECT_CALL(*session_, WritevData(_, _, 1, _, _, _)).WillOnce( |
- Return(QuicConsumedData(kDataLen - 1, false))); |
- stream_->WriteOrBufferData(kData1, false); |
- EXPECT_TRUE(write_blocked_list_->HasWriteBlockedStreams()); |
- |
- // Queue a bytes_consumed write. |
- stream_->WriteOrBufferData(kData2, false); |
- |
- // Make sure we get the tail of the first write followed by the bytes_consumed |
- InSequence s; |
- EXPECT_CALL(*session_, WritevData(_, _, 1, _, _, _)). |
- WillOnce(Return(QuicConsumedData(1, false))); |
- EXPECT_CALL(*session_, WritevData(_, _, 1, _, _, _)). |
- WillOnce(Return(QuicConsumedData(kDataLen - 2, false))); |
- stream_->OnCanWrite(); |
- |
- // And finally the end of the bytes_consumed. |
- EXPECT_CALL(*session_, WritevData(_, _, 1, _, _, _)). |
- WillOnce(Return(QuicConsumedData(2, true))); |
- stream_->OnCanWrite(); |
-} |
- |
-TEST_F(ReliableQuicStreamTest, ConnectionCloseAfterStreamClose) { |
- Initialize(kShouldProcessData); |
- |
- stream_->CloseReadSide(); |
- stream_->CloseWriteSide(); |
- EXPECT_EQ(QUIC_STREAM_NO_ERROR, stream_->stream_error()); |
- EXPECT_EQ(QUIC_NO_ERROR, stream_->connection_error()); |
- stream_->OnConnectionClosed(QUIC_INTERNAL_ERROR, false); |
- EXPECT_EQ(QUIC_STREAM_NO_ERROR, stream_->stream_error()); |
- EXPECT_EQ(QUIC_NO_ERROR, stream_->connection_error()); |
-} |
- |
-TEST_F(ReliableQuicStreamTest, ProcessHeaders) { |
+TEST_F(QuicDataStreamTest, ProcessHeaders) { |
Initialize(kShouldProcessData); |
string compressed_headers = compressor_->CompressHeadersWithPriority( |
@@ -239,7 +129,7 @@ TEST_F(ReliableQuicStreamTest, ProcessHeaders) { |
stream_->EffectivePriority()); |
} |
-TEST_F(ReliableQuicStreamTest, ProcessHeadersWithInvalidHeaderId) { |
+TEST_F(QuicDataStreamTest, ProcessHeadersWithInvalidHeaderId) { |
Initialize(kShouldProcessData); |
string compressed_headers = compressor_->CompressHeadersWithPriority( |
@@ -251,7 +141,7 @@ TEST_F(ReliableQuicStreamTest, ProcessHeadersWithInvalidHeaderId) { |
stream_->OnStreamFrame(frame); |
} |
-TEST_F(ReliableQuicStreamTest, ProcessHeadersWithInvalidPriority) { |
+TEST_F(QuicDataStreamTest, ProcessHeadersWithInvalidPriority) { |
Initialize(kShouldProcessData); |
string compressed_headers = compressor_->CompressHeadersWithPriority( |
@@ -263,7 +153,7 @@ TEST_F(ReliableQuicStreamTest, ProcessHeadersWithInvalidPriority) { |
stream_->OnStreamFrame(frame); |
} |
-TEST_F(ReliableQuicStreamTest, ProcessHeadersAndBody) { |
+TEST_F(QuicDataStreamTest, ProcessHeadersAndBody) { |
Initialize(kShouldProcessData); |
string compressed_headers = compressor_->CompressHeadersWithPriority( |
@@ -277,7 +167,7 @@ TEST_F(ReliableQuicStreamTest, ProcessHeadersAndBody) { |
stream_->data()); |
} |
-TEST_F(ReliableQuicStreamTest, ProcessHeadersAndBodyFragments) { |
+TEST_F(QuicDataStreamTest, ProcessHeadersAndBodyFragments) { |
Initialize(kShouldProcessData); |
string compressed_headers = compressor_->CompressHeadersWithPriority( |
@@ -318,7 +208,7 @@ TEST_F(ReliableQuicStreamTest, ProcessHeadersAndBodyFragments) { |
stream_->EffectivePriority()); |
} |
-TEST_F(ReliableQuicStreamTest, ProcessHeadersAndBodyReadv) { |
+TEST_F(QuicDataStreamTest, ProcessHeadersAndBodyReadv) { |
Initialize(!kShouldProcessData); |
string compressed_headers = compressor_->CompressHeadersWithPriority( |
@@ -348,7 +238,7 @@ TEST_F(ReliableQuicStreamTest, ProcessHeadersAndBodyReadv) { |
EXPECT_EQ(body, string(buffer, bytes_read)); |
} |
-TEST_F(ReliableQuicStreamTest, ProcessHeadersAndBodyIncrementalReadv) { |
+TEST_F(QuicDataStreamTest, ProcessHeadersAndBodyIncrementalReadv) { |
Initialize(!kShouldProcessData); |
string compressed_headers = compressor_->CompressHeadersWithPriority( |
@@ -374,7 +264,7 @@ TEST_F(ReliableQuicStreamTest, ProcessHeadersAndBodyIncrementalReadv) { |
} |
} |
-TEST_F(ReliableQuicStreamTest, ProcessHeadersUsingReadvWithMultipleIovecs) { |
+TEST_F(QuicDataStreamTest, ProcessHeadersUsingReadvWithMultipleIovecs) { |
Initialize(!kShouldProcessData); |
string compressed_headers = compressor_->CompressHeadersWithPriority( |
@@ -404,7 +294,7 @@ TEST_F(ReliableQuicStreamTest, ProcessHeadersUsingReadvWithMultipleIovecs) { |
} |
} |
-TEST_F(ReliableQuicStreamTest, ProcessCorruptHeadersEarly) { |
+TEST_F(QuicDataStreamTest, ProcessCorruptHeadersEarly) { |
Initialize(kShouldProcessData); |
string compressed_headers1 = compressor_->CompressHeadersWithPriority( |
@@ -446,7 +336,7 @@ TEST_F(ReliableQuicStreamTest, ProcessCorruptHeadersEarly) { |
EXPECT_EQ("", stream2_->data()); |
} |
-TEST_F(ReliableQuicStreamTest, ProcessPartialHeadersEarly) { |
+TEST_F(QuicDataStreamTest, ProcessPartialHeadersEarly) { |
Initialize(kShouldProcessData); |
string compressed_headers1 = compressor_->CompressHeadersWithPriority( |
@@ -499,7 +389,7 @@ TEST_F(ReliableQuicStreamTest, ProcessPartialHeadersEarly) { |
EXPECT_EQ(decompressed_headers2, stream2_->data()); |
} |
-TEST_F(ReliableQuicStreamTest, ProcessHeadersEarly) { |
+TEST_F(QuicDataStreamTest, ProcessHeadersEarly) { |
Initialize(kShouldProcessData); |
string compressed_headers1 = compressor_->CompressHeadersWithPriority( |
@@ -537,7 +427,7 @@ TEST_F(ReliableQuicStreamTest, ProcessHeadersEarly) { |
EXPECT_EQ(decompressed_headers2, stream2_->data()); |
} |
-TEST_F(ReliableQuicStreamTest, ProcessHeadersDelay) { |
+TEST_F(QuicDataStreamTest, ProcessHeadersDelay) { |
Initialize(!kShouldProcessData); |
string compressed_headers = compressor_->CompressHeadersWithPriority( |