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

Side by Side Diff: net/quic/core/quic_stream_sequencer_buffer_test.cc

Issue 2691393002: Fix auto raw pointer deduction on linux (Closed)
Patch Set: rebase Created 3 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
OLDNEW
1 // Copyright (c) 2015 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2015 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/quic_stream_sequencer_buffer.h" 5 #include "net/quic/core/quic_stream_sequencer_buffer.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <limits> 8 #include <limits>
9 #include <map> 9 #include <map>
10 #include <string> 10 #include <string>
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after
121 EXPECT_EQ(QUIC_NO_ERROR, 121 EXPECT_EQ(QUIC_NO_ERROR,
122 buffer_->OnStreamData(800, source, t, &written, &error_details_)); 122 buffer_->OnStreamData(800, source, t, &written, &error_details_));
123 BufferBlock* block_ptr = helper_->GetBlock(0); 123 BufferBlock* block_ptr = helper_->GetBlock(0);
124 for (size_t i = 0; i < source.size(); ++i) { 124 for (size_t i = 0; i < source.size(); ++i) {
125 ASSERT_EQ('a', block_ptr->buffer[helper_->GetInBlockOffset(800) + i]); 125 ASSERT_EQ('a', block_ptr->buffer[helper_->GetInBlockOffset(800) + i]);
126 } 126 }
127 EXPECT_EQ(2, helper_->GapSize()); 127 EXPECT_EQ(2, helper_->GapSize());
128 std::list<Gap> gaps = helper_->GetGaps(); 128 std::list<Gap> gaps = helper_->GetGaps();
129 EXPECT_EQ(800u, gaps.front().end_offset); 129 EXPECT_EQ(800u, gaps.front().end_offset);
130 EXPECT_EQ(1824u, gaps.back().begin_offset); 130 EXPECT_EQ(1824u, gaps.back().begin_offset);
131 auto frame_map = helper_->frame_arrival_time_map(); 131 auto* frame_map = helper_->frame_arrival_time_map();
132 EXPECT_EQ(1u, frame_map->size()); 132 EXPECT_EQ(1u, frame_map->size());
133 EXPECT_EQ(800u, frame_map->begin()->first); 133 EXPECT_EQ(800u, frame_map->begin()->first);
134 EXPECT_EQ(t, (*frame_map)[800].timestamp); 134 EXPECT_EQ(t, (*frame_map)[800].timestamp);
135 EXPECT_TRUE(helper_->CheckBufferInvariants()); 135 EXPECT_TRUE(helper_->CheckBufferInvariants());
136 EXPECT_TRUE(helper_->IsBufferAllocated()); 136 EXPECT_TRUE(helper_->IsBufferAllocated());
137 } 137 }
138 138
139 TEST_F(QuicStreamSequencerBufferTest, OnStreamDataInvalidSource) { 139 TEST_F(QuicStreamSequencerBufferTest, OnStreamDataInvalidSource) {
140 // Pass in an invalid source, expects to return error. 140 // Pass in an invalid source, expects to return error.
141 StringPiece source; 141 StringPiece source;
(...skipping 18 matching lines...) Expand all
160 EXPECT_EQ(QUIC_NO_ERROR, 160 EXPECT_EQ(QUIC_NO_ERROR,
161 buffer_->OnStreamData(800, source, t1, &written, &error_details_)); 161 buffer_->OnStreamData(800, source, t1, &written, &error_details_));
162 // Try to write to [0, 1024) and [1024, 2048). 162 // Try to write to [0, 1024) and [1024, 2048).
163 // But no byte will be written since overlap. 163 // But no byte will be written since overlap.
164 clock_.AdvanceTime(QuicTime::Delta::FromSeconds(1)); 164 clock_.AdvanceTime(QuicTime::Delta::FromSeconds(1));
165 QuicTime t2 = clock_.ApproximateNow(); 165 QuicTime t2 = clock_.ApproximateNow();
166 EXPECT_EQ(QUIC_OVERLAPPING_STREAM_DATA, 166 EXPECT_EQ(QUIC_OVERLAPPING_STREAM_DATA,
167 buffer_->OnStreamData(0, source, t2, &written, &error_details_)); 167 buffer_->OnStreamData(0, source, t2, &written, &error_details_));
168 EXPECT_EQ(QUIC_OVERLAPPING_STREAM_DATA, 168 EXPECT_EQ(QUIC_OVERLAPPING_STREAM_DATA,
169 buffer_->OnStreamData(1024, source, t2, &written, &error_details_)); 169 buffer_->OnStreamData(1024, source, t2, &written, &error_details_));
170 auto frame_map = helper_->frame_arrival_time_map(); 170 auto* frame_map = helper_->frame_arrival_time_map();
171 EXPECT_EQ(1u, frame_map->size()); 171 EXPECT_EQ(1u, frame_map->size());
172 EXPECT_EQ(t1, (*frame_map)[800].timestamp); 172 EXPECT_EQ(t1, (*frame_map)[800].timestamp);
173 } 173 }
174 174
175 TEST_F(QuicStreamSequencerBufferTest, 175 TEST_F(QuicStreamSequencerBufferTest,
176 OnStreamDataOverlapAndDuplicateCornerCases) { 176 OnStreamDataOverlapAndDuplicateCornerCases) {
177 string source(1024, 'a'); 177 string source(1024, 'a');
178 // Write something into [800, 1824) 178 // Write something into [800, 1824)
179 size_t written; 179 size_t written;
180 buffer_->OnStreamData(800, source, clock_.ApproximateNow(), &written, 180 buffer_->OnStreamData(800, source, clock_.ApproximateNow(), &written,
(...skipping 10 matching lines...) Expand all
191 // Try to write one byte to [1823, 1824), but should count as duplicate 191 // Try to write one byte to [1823, 1824), but should count as duplicate
192 string one_byte = "c"; 192 string one_byte = "c";
193 EXPECT_EQ(QUIC_NO_ERROR, 193 EXPECT_EQ(QUIC_NO_ERROR,
194 buffer_->OnStreamData(1823, one_byte, clock_.ApproximateNow(), 194 buffer_->OnStreamData(1823, one_byte, clock_.ApproximateNow(),
195 &written, &error_details_)); 195 &written, &error_details_));
196 EXPECT_EQ(0u, written); 196 EXPECT_EQ(0u, written);
197 // write one byte to [1824, 1825) 197 // write one byte to [1824, 1825)
198 EXPECT_EQ(QUIC_NO_ERROR, 198 EXPECT_EQ(QUIC_NO_ERROR,
199 buffer_->OnStreamData(1824, one_byte, clock_.ApproximateNow(), 199 buffer_->OnStreamData(1824, one_byte, clock_.ApproximateNow(),
200 &written, &error_details_)); 200 &written, &error_details_));
201 auto frame_map = helper_->frame_arrival_time_map(); 201 auto* frame_map = helper_->frame_arrival_time_map();
202 EXPECT_EQ(3u, frame_map->size()); 202 EXPECT_EQ(3u, frame_map->size());
203 EXPECT_TRUE(helper_->CheckBufferInvariants()); 203 EXPECT_TRUE(helper_->CheckBufferInvariants());
204 } 204 }
205 205
206 TEST_F(QuicStreamSequencerBufferTest, OnStreamDataWithoutOverlap) { 206 TEST_F(QuicStreamSequencerBufferTest, OnStreamDataWithoutOverlap) {
207 string source(1024, 'a'); 207 string source(1024, 'a');
208 // Write something into [800, 1824). 208 // Write something into [800, 1824).
209 size_t written; 209 size_t written;
210 EXPECT_EQ(QUIC_NO_ERROR, 210 EXPECT_EQ(QUIC_NO_ERROR,
211 buffer_->OnStreamData(800, source, clock_.ApproximateNow(), 211 buffer_->OnStreamData(800, source, clock_.ApproximateNow(),
(...skipping 824 matching lines...) Expand 10 before | Expand all | Expand 10 after
1036 EXPECT_LE(bytes_to_buffer_, total_bytes_read_) << "iterations: " 1036 EXPECT_LE(bytes_to_buffer_, total_bytes_read_) << "iterations: "
1037 << iterations; 1037 << iterations;
1038 EXPECT_LE(bytes_to_buffer_, total_bytes_written_); 1038 EXPECT_LE(bytes_to_buffer_, total_bytes_written_);
1039 } 1039 }
1040 1040
1041 } // anonymous namespace 1041 } // anonymous namespace
1042 1042
1043 } // namespace test 1043 } // namespace test
1044 1044
1045 } // namespace net 1045 } // namespace net
OLDNEW
« no previous file with comments | « net/proxy/mojo_proxy_resolver_impl_unittest.cc ('k') | net/quic/platform/api/quic_text_utils_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698