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

Unified Diff: net/quic/reliable_quic_stream_test.cc

Issue 76723002: Land Recent QUIC Changes. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix compilation error Created 7 years, 1 month 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/reliable_quic_stream.cc ('k') | net/quic/test_tools/quic_connection_peer.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/quic/reliable_quic_stream_test.cc
diff --git a/net/quic/reliable_quic_stream_test.cc b/net/quic/reliable_quic_stream_test.cc
index a879e26d6fd11beb5363e267154d362f7724683b..bfbe9c7c0fe9b951bf16f2113e6963480fbda013 100644
--- a/net/quic/reliable_quic_stream_test.cc
+++ b/net/quic/reliable_quic_stream_test.cc
@@ -4,6 +4,7 @@
#include "net/quic/reliable_quic_stream.h"
+#include "net/quic/quic_ack_notifier.h"
#include "net/quic/quic_connection.h"
#include "net/quic/quic_spdy_compressor.h"
#include "net/quic/quic_spdy_decompressor.h"
@@ -37,11 +38,10 @@ const bool kShouldProcessData = true;
class TestStream : public ReliableQuicStream {
public:
TestStream(QuicStreamId id,
- QuicSession* session,
- bool should_process_data)
+ QuicSession* session,
+ bool should_process_data)
: ReliableQuicStream(id, session),
- should_process_data_(should_process_data) {
- }
+ should_process_data_(should_process_data) {}
virtual uint32 ProcessData(const char* data, uint32 data_len) OVERRIDE {
EXPECT_NE(0u, data_len);
@@ -126,7 +126,7 @@ TEST_F(ReliableQuicStreamTest, WriteAllData) {
1 + QuicPacketCreator::StreamFramePacketOverhead(
connection_->version(), PACKET_8BYTE_GUID, !kIncludeVersion,
PACKET_6BYTE_SEQUENCE_NUMBER, NOT_IN_FEC_GROUP);
- EXPECT_CALL(*session_, WritevData(kStreamId, _, 1, _, _)).WillOnce(
+ EXPECT_CALL(*session_, WritevData(kStreamId, _, 1, _, _, _)).WillOnce(
Return(QuicConsumedData(kDataLen, true)));
EXPECT_EQ(kDataLen, stream_->WriteData(kData1, false).bytes_consumed);
EXPECT_FALSE(write_blocked_list_->HasWriteBlockedStreams());
@@ -140,7 +140,7 @@ TEST_F(ReliableQuicStreamTest, NoBlockingIfNoDataOrFin) {
// 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(
+ EXPECT_CALL(*session_, WritevData(kStreamId, _, 1, _, _, _)).WillOnce(
Return(QuicConsumedData(0, false)));
stream_->WriteData(StringPiece(), false);
EXPECT_FALSE(write_blocked_list_->HasWriteBlockedStreams());
@@ -153,10 +153,10 @@ TEST_F(ReliableQuicStreamTest, BlockIfOnlySomeDataConsumed) {
// 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(
+ EXPECT_CALL(*session_, WritevData(kStreamId, _, 1, _, _, _)).WillOnce(
Return(QuicConsumedData(1, false)));
stream_->WriteData(StringPiece(kData1, 2), false);
- ASSERT_EQ(1, write_blocked_list_->NumBlockedStreams());
+ ASSERT_EQ(1u, write_blocked_list_->NumBlockedStreams());
}
@@ -167,10 +167,10 @@ TEST_F(ReliableQuicStreamTest, BlockIfFinNotConsumedWithData) {
// 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(
+ EXPECT_CALL(*session_, WritevData(kStreamId, _, 1, _, _, _)).WillOnce(
Return(QuicConsumedData(2, false)));
stream_->WriteData(StringPiece(kData1, 2), true);
- ASSERT_EQ(1, write_blocked_list_->NumBlockedStreams());
+ ASSERT_EQ(1u, write_blocked_list_->NumBlockedStreams());
}
TEST_F(ReliableQuicStreamTest, BlockIfSoloFinNotConsumed) {
@@ -178,10 +178,10 @@ TEST_F(ReliableQuicStreamTest, BlockIfSoloFinNotConsumed) {
// 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(
+ EXPECT_CALL(*session_, WritevData(kStreamId, _, 1, _, _, _)).WillOnce(
Return(QuicConsumedData(0, false)));
stream_->WriteData(StringPiece(), true);
- ASSERT_EQ(1, write_blocked_list_->NumBlockedStreams());
+ ASSERT_EQ(1u, write_blocked_list_->NumBlockedStreams());
}
TEST_F(ReliableQuicStreamTest, WriteData) {
@@ -192,7 +192,7 @@ TEST_F(ReliableQuicStreamTest, WriteData) {
1 + QuicPacketCreator::StreamFramePacketOverhead(
connection_->version(), PACKET_8BYTE_GUID, !kIncludeVersion,
PACKET_6BYTE_SEQUENCE_NUMBER, NOT_IN_FEC_GROUP);
- EXPECT_CALL(*session_, WritevData(_, _, 1, _, _)).WillOnce(
+ EXPECT_CALL(*session_, WritevData(_, _, 1, _, _, _)).WillOnce(
Return(QuicConsumedData(kDataLen - 1, false)));
// The return will be kDataLen, because the last byte gets buffered.
EXPECT_EQ(kDataLen, stream_->WriteData(kData1, false).bytes_consumed);
@@ -203,14 +203,14 @@ TEST_F(ReliableQuicStreamTest, WriteData) {
// Make sure we get the tail of the first write followed by the bytes_consumed
InSequence s;
- EXPECT_CALL(*session_, WritevData(_, _, 1, _, _)).
+ EXPECT_CALL(*session_, WritevData(_, _, 1, _, _, _)).
WillOnce(Return(QuicConsumedData(1, false)));
- EXPECT_CALL(*session_, WritevData(_, _, 1, _, _)).
+ 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, _, _)).
+ EXPECT_CALL(*session_, WritevData(_, _, 1, _, _, _)).
WillOnce(Return(QuicConsumedData(2, true)));
stream_->OnCanWrite();
}
@@ -245,13 +245,25 @@ TEST_F(ReliableQuicStreamTest, ProcessHeadersWithInvalidHeaderId) {
string compressed_headers = compressor_->CompressHeadersWithPriority(
kHighestPriority, headers_);
- compressed_headers.replace(4, 1, 1, '\xFF'); // Illegal header id.
+ compressed_headers[4] = '\xFF'; // Illegal header id.
QuicStreamFrame frame(kStreamId, false, 0, MakeIOVector(compressed_headers));
EXPECT_CALL(*connection_, SendConnectionClose(QUIC_INVALID_HEADER_ID));
stream_->OnStreamFrame(frame);
}
+TEST_F(ReliableQuicStreamTest, ProcessHeadersWithInvalidPriority) {
+ Initialize(kShouldProcessData);
+
+ string compressed_headers = compressor_->CompressHeadersWithPriority(
+ kHighestPriority, headers_);
+ compressed_headers[0] = '\xFF'; // Illegal priority.
+ QuicStreamFrame frame(kStreamId, false, 0, MakeIOVector(compressed_headers));
+
+ EXPECT_CALL(*connection_, SendConnectionClose(QUIC_INVALID_PRIORITY));
+ stream_->OnStreamFrame(frame);
+}
+
TEST_F(ReliableQuicStreamTest, ProcessHeadersAndBody) {
Initialize(kShouldProcessData);
« no previous file with comments | « net/quic/reliable_quic_stream.cc ('k') | net/quic/test_tools/quic_connection_peer.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698