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

Unified Diff: trunk/src/net/quic/quic_stream_sequencer_test.cc

Issue 15018013: Revert 198736 "Land Recent QUIC changes" (Closed) Base URL: svn://svn.chromium.org/chrome/
Patch Set: Created 7 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 | « trunk/src/net/quic/quic_stream_sequencer.cc ('k') | trunk/src/net/quic/quic_utils.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: trunk/src/net/quic/quic_stream_sequencer_test.cc
===================================================================
--- trunk/src/net/quic/quic_stream_sequencer_test.cc (revision 198763)
+++ trunk/src/net/quic/quic_stream_sequencer_test.cc (working copy)
@@ -80,44 +80,6 @@
sequencer_(new QuicStreamSequencerPeer(&stream_)) {
}
- bool VerifyReadableRegions(const char** expected, size_t num_expected) {
- iovec iovecs[5];
- size_t num_iovecs = sequencer_->GetReadableRegions(iovecs,
- arraysize(iovecs));
- return VerifyIovecs(iovecs, num_iovecs, expected, num_expected);
- }
-
- bool VerifyIovecs(iovec* iovecs,
- size_t num_iovecs,
- const char** expected,
- size_t num_expected) {
- if (num_expected != num_iovecs) {
- LOG(ERROR) << "Incorrect number of iovecs. Expected: "
- << num_expected << " Actual: " << num_iovecs;
- return false;
- }
- for (size_t i = 0; i < num_expected; ++i) {
- if (!VerifyIovec(iovecs[i], expected[i])) {
- return false;
- }
- }
- return true;
- }
-
- bool VerifyIovec(const iovec& iovec, StringPiece expected) {
- if (iovec.iov_len != expected.length()) {
- LOG(ERROR) << "Invalid length: " << iovec.iov_len
- << " vs " << expected.length();
- return false;
- }
- if (memcmp(iovec.iov_base, expected.data(), expected.length()) != 0) {
- LOG(ERROR) << "Invalid data: " << static_cast<char*>(iovec.iov_base)
- << " vs " << expected.data();
- return false;
- }
- return true;
- }
-
QuicSession* session_;
testing::StrictMock<MockStream> stream_;
scoped_ptr<QuicStreamSequencerPeer> sequencer_;
@@ -249,119 +211,6 @@
EXPECT_EQ(0u, sequencer_->frames()->size());
}
-TEST_F(QuicStreamSequencerTest, OutOfOrderFramesBlockignWithReadv) {
- sequencer_->SetMemoryLimit(9);
- char buffer[20];
- iovec iov[2];
- iov[0].iov_base = &buffer[0];
- iov[0].iov_len = 1;
- iov[1].iov_base = &buffer[1];
- iov[1].iov_len = 2;
-
- // Push abc - process.
- // Push jkl - buffer (not next data)
- // Push def - don't process.
- // Push mno - drop (too far out)
- // Push ghi - buffer (def not processed)
- // Read 2.
- // Push mno - buffer (not all read)
- // Read all
- // Push pqr - process
-
- InSequence s;
- EXPECT_CALL(stream_, ProcessData(StrEq("abc"), 3)).WillOnce(Return(3));
- EXPECT_CALL(stream_, ProcessData(StrEq("def"), 3)).WillOnce(Return(0));
- EXPECT_CALL(stream_, ProcessData(StrEq("pqr"), 3)).WillOnce(Return(3));
-
- EXPECT_TRUE(sequencer_->OnFrame(0, "abc", 3));
- EXPECT_TRUE(sequencer_->OnFrame(3, "def", 3));
- EXPECT_TRUE(sequencer_->OnFrame(9, "jkl", 3));
- EXPECT_FALSE(sequencer_->OnFrame(12, "mno", 3));
- EXPECT_TRUE(sequencer_->OnFrame(6, "ghi", 3));
-
- // Read 3 bytes.
- EXPECT_EQ(3, sequencer_->Readv(iov, 2));
- EXPECT_EQ(0, strncmp(buffer, "def", 3));
-
- // Now we have space to bufer this.
- EXPECT_TRUE(sequencer_->OnFrame(12, "mno", 3));
-
- // Read the remaining 9 bytes.
- iov[1].iov_len = 19;
- EXPECT_EQ(9, sequencer_->Readv(iov, 2));
- EXPECT_EQ(0, strncmp(buffer, "ghijklmno", 9));
-
- EXPECT_TRUE(sequencer_->OnFrame(15, "pqr", 3));
-}
-
-// Same as above, just using a different method for reading.
-TEST_F(QuicStreamSequencerTest, OutOfOrderFramesBlockignWithGetReadableRegion) {
- sequencer_->SetMemoryLimit(9);
-
- InSequence s;
- EXPECT_CALL(stream_, ProcessData(StrEq("abc"), 3)).WillOnce(Return(3));
- EXPECT_CALL(stream_, ProcessData(StrEq("def"), 3)).WillOnce(Return(0));
- EXPECT_CALL(stream_, ProcessData(StrEq("pqr"), 3)).WillOnce(Return(3));
-
- EXPECT_TRUE(sequencer_->OnFrame(0, "abc", 3));
- EXPECT_TRUE(sequencer_->OnFrame(3, "def", 3));
- EXPECT_TRUE(sequencer_->OnFrame(9, "jkl", 3));
- EXPECT_FALSE(sequencer_->OnFrame(12, "mno", 3));
- EXPECT_TRUE(sequencer_->OnFrame(6, "ghi", 3));
-
- // Read 3 bytes.
- const char* expected[] = {"def", "ghi", "jkl"};
- ASSERT_TRUE(VerifyReadableRegions(expected, arraysize(expected)));
- char buffer[9];
- iovec read_iov = { &buffer[0], 3 };
- ASSERT_EQ(3, sequencer_->Readv(&read_iov, 1));
-
- // Now we have space to bufer this.
- EXPECT_TRUE(sequencer_->OnFrame(12, "mno", 3));
-
- // Read the remaining 9 bytes.
- const char* expected2[] = {"ghi", "jkl", "mno"};
- ASSERT_TRUE(VerifyReadableRegions(expected2, arraysize(expected2)));
- read_iov.iov_len = 9;
- ASSERT_EQ(9, sequencer_->Readv(&read_iov, 1));
-
- EXPECT_TRUE(sequencer_->OnFrame(15, "pqr", 3));
-}
-
-// Same as above, just using a different method for reading.
-TEST_F(QuicStreamSequencerTest, MarkConsumed) {
- sequencer_->SetMemoryLimit(9);
-
- InSequence s;
- EXPECT_CALL(stream_, ProcessData(StrEq("abc"), 3)).WillOnce(Return(0));
-
- EXPECT_TRUE(sequencer_->OnFrame(0, "abc", 3));
- EXPECT_TRUE(sequencer_->OnFrame(3, "def", 3));
- EXPECT_TRUE(sequencer_->OnFrame(6, "ghi", 3));
-
- // Peek into the data.
- const char* expected[] = {"abc", "def", "ghi"};
- ASSERT_TRUE(VerifyReadableRegions(expected, arraysize(expected)));
-
- // Consume 1 byte.
- sequencer_->MarkConsumed(1);
- // Verify data.
- const char* expected2[] = {"bc", "def", "ghi"};
- ASSERT_TRUE(VerifyReadableRegions(expected2, arraysize(expected2)));
-
- // Consume 2 bytes.
- sequencer_->MarkConsumed(2);
- // Verify data.
- const char* expected3[] = {"def", "ghi"};
- ASSERT_TRUE(VerifyReadableRegions(expected3, arraysize(expected3)));
-
- // Consume 5 bytes.
- sequencer_->MarkConsumed(5);
- // Verify data.
- const char* expected4[] = {"i"};
- ASSERT_TRUE(VerifyReadableRegions(expected4, arraysize(expected4)));
-}
-
TEST_F(QuicStreamSequencerTest, BasicCloseOrdered) {
InSequence s;
EXPECT_CALL(stream_, ProcessData(StrEq("abc"), 3)).WillOnce(Return(3));
@@ -455,42 +304,6 @@
EXPECT_TRUE(sequencer_->OnFrame(0, "abc", 3));
}
-TEST_F(QuicStreamSequencerTest, TerminateWithReadv) {
- char buffer[3];
-
- sequencer_->CloseStreamAtOffset(3, true);
- EXPECT_EQ(3u, sequencer_->close_offset());
-
- EXPECT_FALSE(sequencer_->IsHalfClosed());
-
- EXPECT_CALL(stream_, ProcessData(StrEq("abc"), 3)).WillOnce(Return(0));
- EXPECT_TRUE(sequencer_->OnFrame(0, "abc", 3));
-
- iovec iov = { &buffer[0], 3 };
- int bytes_read = sequencer_->Readv(&iov, 1);
- EXPECT_EQ(3, bytes_read);
- EXPECT_TRUE(sequencer_->IsHalfClosed());
- EXPECT_FALSE(sequencer_->IsClosed());
-}
-
-TEST_F(QuicStreamSequencerTest, CloseWithReadv) {
- char buffer[3];
-
- sequencer_->CloseStreamAtOffset(3, false);
- EXPECT_EQ(3u, sequencer_->close_offset());
-
- EXPECT_FALSE(sequencer_->IsClosed());
-
- EXPECT_CALL(stream_, ProcessData(StrEq("abc"), 3)).WillOnce(Return(0));
- EXPECT_TRUE(sequencer_->OnFrame(0, "abc", 3));
-
- iovec iov = { &buffer[0], 3 };
- int bytes_read = sequencer_->Readv(&iov, 1);
- EXPECT_EQ(3, bytes_read);
- EXPECT_TRUE(sequencer_->IsHalfClosed());
- EXPECT_TRUE(sequencer_->IsClosed());
-}
-
TEST_F(QuicStreamSequencerTest, MutipleOffsets) {
sequencer_->CloseStreamAtOffset(3, false);
EXPECT_EQ(3u, sequencer_->close_offset());
« no previous file with comments | « trunk/src/net/quic/quic_stream_sequencer.cc ('k') | trunk/src/net/quic/quic_utils.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698