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

Unified Diff: net/quic/core/quic_spdy_stream_test.cc

Issue 2862563003: Landing Recent QUIC changes until Sat Apr 29 00:22:04 2017 +0000 (Closed)
Patch Set: rebase and fix test bugs detected by swarm bot. Created 3 years, 7 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/core/quic_spdy_session.cc ('k') | net/quic/core/quic_stream_sequencer_test.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/quic/core/quic_spdy_stream_test.cc
diff --git a/net/quic/core/quic_spdy_stream_test.cc b/net/quic/core/quic_spdy_stream_test.cc
index e202b3c57f456d5db4f746a3515c5799d9491eab..63aaa89671cf5ce2f698d7291a3b5e27d008bfad 100644
--- a/net/quic/core/quic_spdy_stream_test.cc
+++ b/net/quic/core/quic_spdy_stream_test.cc
@@ -16,7 +16,7 @@
#include "net/quic/platform/api/quic_test.h"
#include "net/quic/platform/api/quic_text_utils.h"
#include "net/quic/test_tools/quic_flow_controller_peer.h"
-#include "net/quic/test_tools/quic_session_peer.h"
+#include "net/quic/test_tools/quic_spdy_session_peer.h"
#include "net/quic/test_tools/quic_stream_peer.h"
#include "net/quic/test_tools/quic_test_utils.h"
@@ -100,10 +100,10 @@ class QuicSpdyStreamTest : public QuicTestWithParam<QuicVersion> {
&helper_, &alarm_factory_, Perspective::IS_SERVER,
SupportedVersions(GetParam()));
session_.reset(new testing::StrictMock<MockQuicSpdySession>(connection_));
- stream_ = new TestStream(kClientDataStreamId1, session_.get(),
+ stream_ = new TestStream(GetNthClientInitiatedId(0), session_.get(),
stream_should_process_data);
session_->ActivateStream(QuicWrapUnique(stream_));
- stream2_ = new TestStream(kClientDataStreamId2, session_.get(),
+ stream2_ = new TestStream(GetNthClientInitiatedId(1), session_.get(),
stream_should_process_data);
session_->ActivateStream(QuicWrapUnique(stream2_));
}
@@ -114,6 +114,10 @@ class QuicSpdyStreamTest : public QuicTestWithParam<QuicVersion> {
return h;
}
+ QuicStreamId GetNthClientInitiatedId(int n) {
+ return QuicSpdySessionPeer::GetNthClientInitiatedStreamId(*session_, n);
+ }
+
protected:
MockQuicConnectionHelper helper_;
MockAlarmFactory alarm_factory_;
@@ -248,7 +252,8 @@ TEST_P(QuicSpdyStreamTest, ProcessHeadersAndBody) {
QuicHeaderList headers = ProcessHeaders(false, headers_);
EXPECT_EQ(headers, stream_->header_list());
stream_->ConsumeHeaderList();
- QuicStreamFrame frame(kClientDataStreamId1, false, 0, QuicStringPiece(body));
+ QuicStreamFrame frame(GetNthClientInitiatedId(0), false, 0,
+ QuicStringPiece(body));
stream_->OnStreamFrame(frame);
EXPECT_EQ(QuicHeaderList(), stream_->header_list());
EXPECT_EQ(body, stream_->data());
@@ -266,7 +271,7 @@ TEST_P(QuicSpdyStreamTest, ProcessHeadersAndBodyFragments) {
size_t remaining_data = body.size() - offset;
QuicStringPiece fragment(body.data() + offset,
std::min(fragment_size, remaining_data));
- QuicStreamFrame frame(kClientDataStreamId1, false, offset,
+ QuicStreamFrame frame(GetNthClientInitiatedId(0), false, offset,
QuicStringPiece(fragment));
stream_->OnStreamFrame(frame);
}
@@ -284,13 +289,13 @@ TEST_P(QuicSpdyStreamTest, ProcessHeadersAndBodyFragmentsSplit) {
stream_->ConsumeHeaderList();
QuicStringPiece fragment1(body.data(), split_point);
- QuicStreamFrame frame1(kClientDataStreamId1, false, 0,
+ QuicStreamFrame frame1(GetNthClientInitiatedId(0), false, 0,
QuicStringPiece(fragment1));
stream_->OnStreamFrame(frame1);
QuicStringPiece fragment2(body.data() + split_point,
body.size() - split_point);
- QuicStreamFrame frame2(kClientDataStreamId1, false, split_point,
+ QuicStreamFrame frame2(GetNthClientInitiatedId(0), false, split_point,
QuicStringPiece(fragment2));
stream_->OnStreamFrame(frame2);
@@ -304,7 +309,8 @@ TEST_P(QuicSpdyStreamTest, ProcessHeadersAndBodyReadv) {
string body = "this is the body";
ProcessHeaders(false, headers_);
- QuicStreamFrame frame(kClientDataStreamId1, false, 0, QuicStringPiece(body));
+ QuicStreamFrame frame(GetNthClientInitiatedId(0), false, 0,
+ QuicStringPiece(body));
stream_->OnStreamFrame(frame);
stream_->ConsumeHeaderList();
@@ -325,7 +331,8 @@ TEST_P(QuicSpdyStreamTest, ProcessHeadersAndBodyMarkConsumed) {
string body = "this is the body";
ProcessHeaders(false, headers_);
- QuicStreamFrame frame(kClientDataStreamId1, false, 0, QuicStringPiece(body));
+ QuicStreamFrame frame(GetNthClientInitiatedId(0), false, 0,
+ QuicStringPiece(body));
stream_->OnStreamFrame(frame);
stream_->ConsumeHeaderList();
@@ -344,7 +351,8 @@ TEST_P(QuicSpdyStreamTest, ProcessHeadersAndBodyIncrementalReadv) {
string body = "this is the body";
ProcessHeaders(false, headers_);
- QuicStreamFrame frame(kClientDataStreamId1, false, 0, QuicStringPiece(body));
+ QuicStreamFrame frame(GetNthClientInitiatedId(0), false, 0,
+ QuicStringPiece(body));
stream_->OnStreamFrame(frame);
stream_->ConsumeHeaderList();
@@ -365,7 +373,8 @@ TEST_P(QuicSpdyStreamTest, ProcessHeadersUsingReadvWithMultipleIovecs) {
string body = "this is the body";
ProcessHeaders(false, headers_);
- QuicStreamFrame frame(kClientDataStreamId1, false, 0, QuicStringPiece(body));
+ QuicStreamFrame frame(GetNthClientInitiatedId(0), false, 0,
+ QuicStringPiece(body));
stream_->OnStreamFrame(frame);
stream_->ConsumeHeaderList();
@@ -402,7 +411,7 @@ TEST_P(QuicSpdyStreamTest, StreamFlowControlBlocked) {
const uint64_t kOverflow = 15;
string body(kWindow + kOverflow, 'a');
- EXPECT_CALL(*connection_, SendBlocked(kClientDataStreamId1));
+ EXPECT_CALL(*connection_, SendBlocked(GetNthClientInitiatedId(0)));
EXPECT_CALL(*session_, WritevData(_, _, _, _, _, _))
.WillOnce(Return(QuicConsumedData(kWindow, true)));
stream_->WriteOrBufferData(body, false, nullptr);
@@ -440,7 +449,8 @@ TEST_P(QuicSpdyStreamTest, StreamFlowControlNoWindowUpdateIfNotConsumed) {
string body(kWindow / 3, 'a');
ProcessHeaders(false, headers_);
- QuicStreamFrame frame1(kClientDataStreamId1, false, 0, QuicStringPiece(body));
+ QuicStreamFrame frame1(GetNthClientInitiatedId(0), false, 0,
+ QuicStringPiece(body));
stream_->OnStreamFrame(frame1);
EXPECT_EQ(kWindow - (kWindow / 3), QuicFlowControllerPeer::ReceiveWindowSize(
stream_->flow_controller()));
@@ -448,7 +458,7 @@ TEST_P(QuicSpdyStreamTest, StreamFlowControlNoWindowUpdateIfNotConsumed) {
// Now receive another frame which results in the receive window being over
// half full. This should all be buffered, decreasing the receive window but
// not sending WINDOW_UPDATE.
- QuicStreamFrame frame2(kClientDataStreamId1, false, kWindow / 3,
+ QuicStreamFrame frame2(GetNthClientInitiatedId(0), false, kWindow / 3,
QuicStringPiece(body));
stream_->OnStreamFrame(frame2);
EXPECT_EQ(
@@ -476,7 +486,8 @@ TEST_P(QuicSpdyStreamTest, StreamFlowControlWindowUpdate) {
ProcessHeaders(false, headers_);
stream_->ConsumeHeaderList();
- QuicStreamFrame frame1(kClientDataStreamId1, false, 0, QuicStringPiece(body));
+ QuicStreamFrame frame1(GetNthClientInitiatedId(0), false, 0,
+ QuicStringPiece(body));
stream_->OnStreamFrame(frame1);
EXPECT_EQ(kWindow - (kWindow / 3), QuicFlowControllerPeer::ReceiveWindowSize(
stream_->flow_controller()));
@@ -485,10 +496,10 @@ TEST_P(QuicSpdyStreamTest, StreamFlowControlWindowUpdate) {
// half full. This will trigger the stream to increase its receive window
// offset and send a WINDOW_UPDATE. The result will be again an available
// window of kWindow bytes.
- QuicStreamFrame frame2(kClientDataStreamId1, false, kWindow / 3,
+ QuicStreamFrame frame2(GetNthClientInitiatedId(0), false, kWindow / 3,
QuicStringPiece(body));
EXPECT_CALL(*connection_,
- SendWindowUpdate(kClientDataStreamId1,
+ SendWindowUpdate(GetNthClientInitiatedId(0),
QuicFlowControllerPeer::ReceiveWindowOffset(
stream_->flow_controller()) +
2 * kWindow / 3));
@@ -530,22 +541,25 @@ TEST_P(QuicSpdyStreamTest, ConnectionFlowControlWindowUpdate) {
// Each stream gets a quarter window of data. This should not trigger a
// WINDOW_UPDATE for either stream, nor for the connection.
string body(kWindow / 4, 'a');
- QuicStreamFrame frame1(kClientDataStreamId1, false, 0, QuicStringPiece(body));
+ QuicStreamFrame frame1(GetNthClientInitiatedId(0), false, 0,
+ QuicStringPiece(body));
stream_->OnStreamFrame(frame1);
- QuicStreamFrame frame2(kClientDataStreamId2, false, 0, QuicStringPiece(body));
+ QuicStreamFrame frame2(GetNthClientInitiatedId(1), false, 0,
+ QuicStringPiece(body));
stream2_->OnStreamFrame(frame2);
// Now receive a further single byte on one stream - again this does not
// trigger a stream WINDOW_UPDATE, but now the connection flow control window
// is over half full and thus a connection WINDOW_UPDATE is sent.
- EXPECT_CALL(*connection_, SendWindowUpdate(kClientDataStreamId1, _)).Times(0);
- EXPECT_CALL(*connection_, SendWindowUpdate(kClientDataStreamId2, _)).Times(0);
+ EXPECT_CALL(*connection_, SendWindowUpdate(GetNthClientInitiatedId(0), _))
+ .Times(0);
+ EXPECT_CALL(*connection_, SendWindowUpdate(GetNthClientInitiatedId(1), _))
+ .Times(0);
EXPECT_CALL(*connection_,
- SendWindowUpdate(0,
- QuicFlowControllerPeer::ReceiveWindowOffset(
- session_->flow_controller()) +
- 1 + kWindow / 2));
- QuicStreamFrame frame3(kClientDataStreamId1, false, (kWindow / 4),
+ SendWindowUpdate(0, QuicFlowControllerPeer::ReceiveWindowOffset(
+ session_->flow_controller()) +
+ 1 + kWindow / 2));
+ QuicStreamFrame frame3(GetNthClientInitiatedId(0), false, (kWindow / 4),
QuicStringPiece("a"));
stream_->OnStreamFrame(frame3);
}
@@ -567,7 +581,8 @@ TEST_P(QuicSpdyStreamTest, StreamFlowControlViolation) {
// Receive data to overflow the window, violating flow control.
string body(kWindow + 1, 'a');
- QuicStreamFrame frame(kClientDataStreamId1, false, 0, QuicStringPiece(body));
+ QuicStreamFrame frame(GetNthClientInitiatedId(0), false, 0,
+ QuicStringPiece(body));
EXPECT_CALL(*connection_,
CloseConnection(QUIC_FLOW_CONTROL_RECEIVED_TOO_MUCH_DATA, _, _));
stream_->OnStreamFrame(frame);
@@ -605,7 +620,8 @@ TEST_P(QuicSpdyStreamTest, ConnectionFlowControlViolation) {
// Send enough data to overflow the connection level flow control window.
string body(kConnectionWindow + 1, 'a');
EXPECT_LT(body.size(), kStreamWindow);
- QuicStreamFrame frame(kClientDataStreamId1, false, 0, QuicStringPiece(body));
+ QuicStreamFrame frame(GetNthClientInitiatedId(0), false, 0,
+ QuicStringPiece(body));
EXPECT_CALL(*connection_,
CloseConnection(QUIC_FLOW_CONTROL_RECEIVED_TOO_MUCH_DATA, _, _));
@@ -627,7 +643,7 @@ TEST_P(QuicSpdyStreamTest, StreamFlowControlFinNotBlocked) {
string body = "";
bool fin = true;
- EXPECT_CALL(*connection_, SendBlocked(kClientDataStreamId1)).Times(0);
+ EXPECT_CALL(*connection_, SendBlocked(GetNthClientInitiatedId(0))).Times(0);
EXPECT_CALL(*session_, WritevData(_, _, _, _, _, _))
.WillOnce(Return(QuicConsumedData(0, fin)));
@@ -709,7 +725,7 @@ TEST_P(QuicSpdyStreamTest, ReceivingTrailersWithOffset) {
EXPECT_FALSE(stream_->IsDoneReading());
// Receive and consume body.
- QuicStreamFrame frame(kClientDataStreamId1, /*fin=*/false, 0, body);
+ QuicStreamFrame frame(GetNthClientInitiatedId(0), /*fin=*/false, 0, body);
stream_->OnStreamFrame(frame);
EXPECT_EQ(body, stream_->data());
EXPECT_TRUE(stream_->IsDoneReading());
@@ -790,7 +806,7 @@ TEST_P(QuicSpdyStreamTest, ReceivingTrailersAfterBodyWithFin) {
stream_->ConsumeHeaderList();
// Receive body data, with FIN.
- QuicStreamFrame frame(kClientDataStreamId1, /*fin=*/true, 0, "body");
+ QuicStreamFrame frame(GetNthClientInitiatedId(0), /*fin=*/true, 0, "body");
stream_->OnStreamFrame(frame);
// Receive trailing headers after FIN already received.
@@ -814,7 +830,7 @@ TEST_P(QuicSpdyStreamTest, ClosingStreamWithNoTrailers) {
// Receive and consume body with FIN set, and no trailers.
const string kBody = string(1024, 'x');
- QuicStreamFrame frame(kClientDataStreamId1, /*fin=*/true, 0, kBody);
+ QuicStreamFrame frame(GetNthClientInitiatedId(0), /*fin=*/true, 0, kBody);
stream_->OnStreamFrame(frame);
EXPECT_TRUE(stream_->IsDoneReading());
« no previous file with comments | « net/quic/core/quic_spdy_session.cc ('k') | net/quic/core/quic_stream_sequencer_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698