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

Side by Side Diff: net/quic/quic_stream_sequencer_test.cc

Issue 12334063: Land recent QUIC changes. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: more EXPECT_FALSE Created 7 years, 9 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « net/quic/quic_stream_sequencer.cc ('k') | net/quic/quic_time_test.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "net/quic/quic_stream_sequencer.h" 5 #include "net/quic/quic_stream_sequencer.h"
6 6
7 #include <utility> 7 #include <utility>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/rand_util.h" 10 #include "base/rand_util.h"
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
85 scoped_ptr<QuicStreamSequencerPeer> sequencer_; 85 scoped_ptr<QuicStreamSequencerPeer> sequencer_;
86 }; 86 };
87 87
88 TEST_F(QuicStreamSequencerTest, RejectOldFrame) { 88 TEST_F(QuicStreamSequencerTest, RejectOldFrame) {
89 EXPECT_CALL(stream_, ProcessData(StrEq("abc"), 3)) 89 EXPECT_CALL(stream_, ProcessData(StrEq("abc"), 3))
90 .WillOnce(Return(3)); 90 .WillOnce(Return(3));
91 91
92 EXPECT_TRUE(sequencer_->OnFrame(0, "abc", 3)); 92 EXPECT_TRUE(sequencer_->OnFrame(0, "abc", 3));
93 EXPECT_EQ(0u, sequencer_->frames()->size()); 93 EXPECT_EQ(0u, sequencer_->frames()->size());
94 EXPECT_EQ(3u, sequencer_->num_bytes_consumed()); 94 EXPECT_EQ(3u, sequencer_->num_bytes_consumed());
95 // Nack this - it matches a past sequence number and we should not see it 95 // Ignore this - it matches a past sequence number and we should not see it
96 // again. 96 // again.
97 EXPECT_FALSE(sequencer_->OnFrame(0, "def", 3)); 97 EXPECT_TRUE(sequencer_->OnFrame(0, "def", 3));
98 EXPECT_EQ(0u, sequencer_->frames()->size()); 98 EXPECT_EQ(0u, sequencer_->frames()->size());
99 } 99 }
100 100
101 TEST_F(QuicStreamSequencerTest, RejectOverlyLargeFrame) { 101 TEST_F(QuicStreamSequencerTest, RejectOverlyLargeFrame) {
102 /* 102 /*
103 EXPECT_DFATAL(sequencer_.reset(new QuicStreamSequencerPeer(2, &stream_)), 103 EXPECT_DFATAL(sequencer_.reset(new QuicStreamSequencerPeer(2, &stream_)),
104 "Setting max frame memory to 2. " 104 "Setting max frame memory to 2. "
105 "Some frames will be impossible to handle."); 105 "Some frames will be impossible to handle.");
106 106
107 EXPECT_DEBUG_DEATH(sequencer_->OnFrame(0, "abc", 3), ""); 107 EXPECT_DEBUG_DEATH(sequencer_->OnFrame(0, "abc", 3), "");
108 */ 108 */
109 } 109 }
110 110
111 TEST_F(QuicStreamSequencerTest, DropFramePastBuffering) { 111 TEST_F(QuicStreamSequencerTest, DropFramePastBuffering) {
112 sequencer_->SetMemoryLimit(3); 112 sequencer_->SetMemoryLimit(3);
113 113
114 EXPECT_FALSE(sequencer_->OnFrame(3, "abc", 3)); 114 EXPECT_FALSE(sequencer_->OnFrame(3, "abc", 3));
115 } 115 }
116 116
117 TEST_F(QuicStreamSequencerTest, RejectBufferedFrame) { 117 TEST_F(QuicStreamSequencerTest, RejectBufferedFrame) {
118 EXPECT_CALL(stream_, ProcessData(StrEq("abc"), 3)); 118 EXPECT_CALL(stream_, ProcessData(StrEq("abc"), 3));
119 119
120 EXPECT_TRUE(sequencer_->OnFrame(0, "abc", 3)); 120 EXPECT_TRUE(sequencer_->OnFrame(0, "abc", 3));
121 EXPECT_EQ(1u, sequencer_->frames()->size()); 121 EXPECT_EQ(1u, sequencer_->frames()->size());
122 EXPECT_EQ(0u, sequencer_->num_bytes_consumed()); 122 EXPECT_EQ(0u, sequencer_->num_bytes_consumed());
123 // Ignore this - it matches a buffered frame. 123 // Ignore this - it matches a buffered frame.
124 // Right now there's no checking that the payload is consistent. 124 // Right now there's no checking that the payload is consistent.
125 EXPECT_FALSE(sequencer_->OnFrame(0, "def", 3)); 125 EXPECT_TRUE(sequencer_->OnFrame(0, "def", 3));
126 EXPECT_EQ(1u, sequencer_->frames()->size()); 126 EXPECT_EQ(1u, sequencer_->frames()->size());
127 } 127 }
128 128
129 TEST_F(QuicStreamSequencerTest, FullFrameConsumed) { 129 TEST_F(QuicStreamSequencerTest, FullFrameConsumed) {
130 EXPECT_CALL(stream_, ProcessData(StrEq("abc"), 3)).WillOnce(Return(3)); 130 EXPECT_CALL(stream_, ProcessData(StrEq("abc"), 3)).WillOnce(Return(3));
131 131
132 EXPECT_TRUE(sequencer_->OnFrame(0, "abc", 3)); 132 EXPECT_TRUE(sequencer_->OnFrame(0, "abc", 3));
133 EXPECT_EQ(0u, sequencer_->frames()->size()); 133 EXPECT_EQ(0u, sequencer_->frames()->size());
134 EXPECT_EQ(3u, sequencer_->num_bytes_consumed()); 134 EXPECT_EQ(3u, sequencer_->num_bytes_consumed());
135 } 135 }
(...skipping 263 matching lines...) Expand 10 before | Expand all | Expand 10 after
399 list_[index].second.size()); 399 list_[index].second.size());
400 if (acked) { 400 if (acked) {
401 list_.erase(list_.begin() + index); 401 list_.erase(list_.begin() + index);
402 } 402 }
403 } 403 }
404 } 404 }
405 405
406 } // namespace 406 } // namespace
407 } // namespace test 407 } // namespace test
408 } // namespace net 408 } // namespace net
OLDNEW
« no previous file with comments | « net/quic/quic_stream_sequencer.cc ('k') | net/quic/quic_time_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698