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

Side by Side Diff: net/quic/core/frames/quic_frames_test.cc

Issue 2964583002: Landing Recent QUIC changes until Jun 27 19:50:48 2017 +0000 (Closed)
Patch Set: Created 3 years, 5 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
« no previous file with comments | « net/quic/core/frames/quic_ack_frame.cc ('k') | net/quic/core/quic_connection_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) 2016 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2016 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/core/frames/quic_ack_frame.h" 5 #include "net/quic/core/frames/quic_ack_frame.h"
6 #include "net/quic/core/frames/quic_blocked_frame.h" 6 #include "net/quic/core/frames/quic_blocked_frame.h"
7 #include "net/quic/core/frames/quic_connection_close_frame.h" 7 #include "net/quic/core/frames/quic_connection_close_frame.h"
8 #include "net/quic/core/frames/quic_frame.h" 8 #include "net/quic/core/frames/quic_frame.h"
9 #include "net/quic/core/frames/quic_goaway_frame.h" 9 #include "net/quic/core/frames/quic_goaway_frame.h"
10 #include "net/quic/core/frames/quic_mtu_discovery_frame.h" 10 #include "net/quic/core/frames/quic_mtu_discovery_frame.h"
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after
116 EXPECT_EQ("{ least_unacked: 2 }\n", stream.str()); 116 EXPECT_EQ("{ least_unacked: 2 }\n", stream.str());
117 } 117 }
118 118
119 TEST_F(QuicFramesTest, IsAwaitingPacket) { 119 TEST_F(QuicFramesTest, IsAwaitingPacket) {
120 QuicAckFrame ack_frame1; 120 QuicAckFrame ack_frame1;
121 ack_frame1.largest_observed = 10u; 121 ack_frame1.largest_observed = 10u;
122 ack_frame1.packets.Add(1, 11); 122 ack_frame1.packets.Add(1, 11);
123 EXPECT_TRUE(IsAwaitingPacket(ack_frame1, 11u, 0u)); 123 EXPECT_TRUE(IsAwaitingPacket(ack_frame1, 11u, 0u));
124 EXPECT_FALSE(IsAwaitingPacket(ack_frame1, 1u, 0u)); 124 EXPECT_FALSE(IsAwaitingPacket(ack_frame1, 1u, 0u));
125 125
126 ack_frame1.packets.Remove(10); 126 ack_frame1.packets.Add(12);
127 EXPECT_TRUE(IsAwaitingPacket(ack_frame1, 10u, 0u)); 127 EXPECT_TRUE(IsAwaitingPacket(ack_frame1, 11u, 0u));
128 128
129 QuicAckFrame ack_frame2; 129 QuicAckFrame ack_frame2;
130 ack_frame2.largest_observed = 100u; 130 ack_frame2.largest_observed = 100u;
131 ack_frame2.packets.Add(21, 100); 131 ack_frame2.packets.Add(21, 100);
132 EXPECT_FALSE(IsAwaitingPacket(ack_frame2, 11u, 20u)); 132 EXPECT_FALSE(IsAwaitingPacket(ack_frame2, 11u, 20u));
133 EXPECT_FALSE(IsAwaitingPacket(ack_frame2, 80u, 20u)); 133 EXPECT_FALSE(IsAwaitingPacket(ack_frame2, 80u, 20u));
134 EXPECT_TRUE(IsAwaitingPacket(ack_frame2, 101u, 20u)); 134 EXPECT_TRUE(IsAwaitingPacket(ack_frame2, 101u, 20u));
135 135
136 ack_frame2.packets.Remove(50); 136 ack_frame2.packets.Add(102, 200);
137 EXPECT_TRUE(IsAwaitingPacket(ack_frame2, 50u, 20u)); 137 EXPECT_TRUE(IsAwaitingPacket(ack_frame2, 101u, 20u));
138 } 138 }
139 139
140 TEST_F(QuicFramesTest, RemoveSmallestInterval) { 140 TEST_F(QuicFramesTest, RemoveSmallestInterval) {
141 QuicAckFrame ack_frame1; 141 QuicAckFrame ack_frame1;
142 ack_frame1.largest_observed = 100u; 142 ack_frame1.largest_observed = 100u;
143 ack_frame1.packets.Add(51, 60); 143 ack_frame1.packets.Add(51, 60);
144 ack_frame1.packets.Add(71, 80); 144 ack_frame1.packets.Add(71, 80);
145 ack_frame1.packets.Add(91, 100); 145 ack_frame1.packets.Add(91, 100);
146 ack_frame1.packets.RemoveSmallestInterval(); 146 ack_frame1.packets.RemoveSmallestInterval();
147 EXPECT_EQ(2u, ack_frame1.packets.NumIntervals()); 147 EXPECT_EQ(2u, ack_frame1.packets.NumIntervals());
(...skipping 23 matching lines...) Expand all
171 EXPECT_TRUE(queue.Contains(53)); 171 EXPECT_TRUE(queue.Contains(53));
172 EXPECT_FALSE(queue.Contains(54)); 172 EXPECT_FALSE(queue.Contains(54));
173 EXPECT_EQ(51u, queue.NumPacketsSlow()); 173 EXPECT_EQ(51u, queue.NumPacketsSlow());
174 EXPECT_EQ(1u, queue.Min()); 174 EXPECT_EQ(1u, queue.Min());
175 EXPECT_EQ(53u, queue.Max()); 175 EXPECT_EQ(53u, queue.Max());
176 176
177 queue.Add(70); 177 queue.Add(70);
178 EXPECT_EQ(70u, queue.Max()); 178 EXPECT_EQ(70u, queue.Max());
179 } 179 }
180 180
181 // Tests that a queue contains the expected data after calls to Remove(). 181 // Tests that a queue contains the expected data after calls to RemoveUpTo().
182 TEST_F(PacketNumberQueueTest, Removal) { 182 TEST_F(PacketNumberQueueTest, Removal) {
183 PacketNumberQueue queue; 183 PacketNumberQueue queue;
184 queue.Add(0, 100); 184 queue.Add(0, 100);
185 185
186 EXPECT_TRUE(queue.RemoveUpTo(51)); 186 EXPECT_TRUE(queue.RemoveUpTo(51));
187 EXPECT_FALSE(queue.RemoveUpTo(51)); 187 EXPECT_FALSE(queue.RemoveUpTo(51));
188 queue.Remove(53);
189 188
190 EXPECT_FALSE(queue.Contains(0)); 189 EXPECT_FALSE(queue.Contains(0));
191 for (int i = 1; i < 51; ++i) { 190 for (int i = 1; i < 51; ++i) {
192 EXPECT_FALSE(queue.Contains(i)); 191 EXPECT_FALSE(queue.Contains(i));
193 } 192 }
194 EXPECT_TRUE(queue.Contains(51)); 193 for (int i = 51; i < 100; ++i) {
195 EXPECT_TRUE(queue.Contains(52)); 194 EXPECT_TRUE(queue.Contains(i));
196 EXPECT_FALSE(queue.Contains(53)); 195 }
197 EXPECT_TRUE(queue.Contains(54)); 196 EXPECT_EQ(49u, queue.NumPacketsSlow());
198 EXPECT_EQ(48u, queue.NumPacketsSlow());
199 EXPECT_EQ(51u, queue.Min()); 197 EXPECT_EQ(51u, queue.Min());
200 EXPECT_EQ(99u, queue.Max()); 198 EXPECT_EQ(99u, queue.Max());
201
202 queue.Remove(51);
203 EXPECT_EQ(52u, queue.Min());
204 queue.Remove(99);
205 EXPECT_EQ(98u, queue.Max());
206 } 199 }
207 200
208 // Tests that a queue is empty when all of its elements are removed. 201 // Tests that a queue is empty when all of its elements are removed.
209 TEST_F(PacketNumberQueueTest, Empty) { 202 TEST_F(PacketNumberQueueTest, Empty) {
210 PacketNumberQueue queue; 203 PacketNumberQueue queue;
211 EXPECT_TRUE(queue.Empty()); 204 EXPECT_TRUE(queue.Empty());
212 EXPECT_EQ(0u, queue.NumPacketsSlow()); 205 EXPECT_EQ(0u, queue.NumPacketsSlow());
213 206
214 queue.Add(1, 100); 207 queue.Add(1, 100);
215 EXPECT_TRUE(queue.RemoveUpTo(100)); 208 EXPECT_TRUE(queue.RemoveUpTo(100));
(...skipping 26 matching lines...) Expand all
242 EXPECT_EQ(expected_intervals, actual_intervals); 235 EXPECT_EQ(expected_intervals, actual_intervals);
243 } 236 }
244 237
245 TEST_F(PacketNumberQueueTest, IntervalLengthAndRemoveInterval) { 238 TEST_F(PacketNumberQueueTest, IntervalLengthAndRemoveInterval) {
246 PacketNumberQueue queue; 239 PacketNumberQueue queue;
247 queue.Add(1, 10); 240 queue.Add(1, 10);
248 queue.Add(20, 30); 241 queue.Add(20, 30);
249 queue.Add(40, 50); 242 queue.Add(40, 50);
250 EXPECT_EQ(3u, queue.NumIntervals()); 243 EXPECT_EQ(3u, queue.NumIntervals());
251 EXPECT_EQ(10u, queue.LastIntervalLength()); 244 EXPECT_EQ(10u, queue.LastIntervalLength());
252 queue.Remove(9, 21); 245
253 EXPECT_EQ(3u, queue.NumIntervals()); 246 EXPECT_TRUE(queue.RemoveUpTo(25));
254 EXPECT_FALSE(queue.Contains(9)); 247 EXPECT_EQ(2u, queue.NumIntervals());
255 EXPECT_FALSE(queue.Contains(20)); 248 EXPECT_EQ(10u, queue.LastIntervalLength());
249 EXPECT_EQ(25u, queue.Min());
250 EXPECT_EQ(49u, queue.Max());
256 } 251 }
257 252
258 } // namespace 253 } // namespace
259 } // namespace test 254 } // namespace test
260 } // namespace net 255 } // namespace net
OLDNEW
« no previous file with comments | « net/quic/core/frames/quic_ack_frame.cc ('k') | net/quic/core/quic_connection_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698