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

Side by Side Diff: chrome/browser/io_thread_unittest.cc

Issue 804813010: QUIC - enabled FLAGS_allow_truncated_connection_ids_for_quic (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Changes per comments in Patch Set 2 - set MockCryptoClientStream to specify a TCID of 8 Created 5 years, 11 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "base/command_line.h" 5 #include "base/command_line.h"
6 #include "chrome/browser/io_thread.h" 6 #include "chrome/browser/io_thread.h"
7 #include "net/http/http_network_session.h" 7 #include "net/http/http_network_session.h"
8 #include "net/http/http_server_properties_impl.h" 8 #include "net/http/http_server_properties_impl.h"
9 #include "net/quic/quic_protocol.h" 9 #include "net/quic/quic_protocol.h"
10 #include "testing/gmock/include/gmock/gmock.h" 10 #include "testing/gmock/include/gmock/gmock.h"
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
128 EXPECT_EQ(1350u, params.quic_max_packet_length); 128 EXPECT_EQ(1350u, params.quic_max_packet_length);
129 EXPECT_EQ(1.0, params.alternate_protocol_probability_threshold); 129 EXPECT_EQ(1.0, params.alternate_protocol_probability_threshold);
130 EXPECT_EQ(default_params.quic_supported_versions, 130 EXPECT_EQ(default_params.quic_supported_versions,
131 params.quic_supported_versions); 131 params.quic_supported_versions);
132 EXPECT_EQ(net::QuicTagVector(), params.quic_connection_options); 132 EXPECT_EQ(net::QuicTagVector(), params.quic_connection_options);
133 EXPECT_FALSE(params.quic_always_require_handshake_confirmation); 133 EXPECT_FALSE(params.quic_always_require_handshake_confirmation);
134 EXPECT_FALSE(params.quic_disable_connection_pooling); 134 EXPECT_FALSE(params.quic_disable_connection_pooling);
135 EXPECT_EQ(0, params.quic_load_server_info_timeout_ms); 135 EXPECT_EQ(0, params.quic_load_server_info_timeout_ms);
136 EXPECT_FALSE(params.quic_disable_loading_server_info_for_new_servers); 136 EXPECT_FALSE(params.quic_disable_loading_server_info_for_new_servers);
137 EXPECT_EQ(0.0f, params.quic_load_server_info_timeout_srtt_multiplier); 137 EXPECT_EQ(0.0f, params.quic_load_server_info_timeout_srtt_multiplier);
138 EXPECT_FALSE(params.quic_disable_truncated_connection_ids);
138 } 139 }
139 140
140 TEST_F(IOThreadTest, EnableQuicFromCommandLine) { 141 TEST_F(IOThreadTest, EnableQuicFromCommandLine) {
141 command_line_.AppendSwitch("enable-quic"); 142 command_line_.AppendSwitch("enable-quic");
142 143
143 ConfigureQuicGlobals(); 144 ConfigureQuicGlobals();
144 net::HttpNetworkSession::Params params; 145 net::HttpNetworkSession::Params params;
145 InitializeNetworkSessionParams(&params); 146 InitializeNetworkSessionParams(&params);
146 EXPECT_TRUE(params.enable_quic); 147 EXPECT_TRUE(params.enable_quic);
147 EXPECT_FALSE(params.quic_disable_loading_server_info_for_new_servers); 148 EXPECT_FALSE(params.quic_disable_loading_server_info_for_new_servers);
149 EXPECT_FALSE(params.quic_disable_truncated_connection_ids);
148 } 150 }
149 151
150 TEST_F(IOThreadTest, EnablePacingFromCommandLine) { 152 TEST_F(IOThreadTest, EnablePacingFromCommandLine) {
151 command_line_.AppendSwitch("enable-quic"); 153 command_line_.AppendSwitch("enable-quic");
152 command_line_.AppendSwitch("enable-quic-pacing"); 154 command_line_.AppendSwitch("enable-quic-pacing");
153 155
154 ConfigureQuicGlobals(); 156 ConfigureQuicGlobals();
155 net::HttpNetworkSession::Params params; 157 net::HttpNetworkSession::Params params;
156 InitializeNetworkSessionParams(&params); 158 InitializeNetworkSessionParams(&params);
157 net::QuicTagVector options; 159 net::QuicTagVector options;
158 options.push_back(net::kPACE); 160 options.push_back(net::kPACE);
159 EXPECT_EQ(options, params.quic_connection_options); 161 EXPECT_EQ(options, params.quic_connection_options);
160 EXPECT_FALSE(params.quic_disable_loading_server_info_for_new_servers); 162 EXPECT_FALSE(params.quic_disable_loading_server_info_for_new_servers);
163 EXPECT_FALSE(params.quic_disable_truncated_connection_ids);
161 } 164 }
162 165
163 TEST_F(IOThreadTest, EnablePacingFromFieldTrialParams) { 166 TEST_F(IOThreadTest, EnablePacingFromFieldTrialParams) {
164 field_trial_group_ = "Enabled"; 167 field_trial_group_ = "Enabled";
165 field_trial_params_["enable_pacing"] = "true"; 168 field_trial_params_["enable_pacing"] = "true";
166 169
167 ConfigureQuicGlobals(); 170 ConfigureQuicGlobals();
168 net::HttpNetworkSession::Params params; 171 net::HttpNetworkSession::Params params;
169 InitializeNetworkSessionParams(&params); 172 InitializeNetworkSessionParams(&params);
170 net::QuicTagVector options; 173 net::QuicTagVector options;
171 options.push_back(net::kPACE); 174 options.push_back(net::kPACE);
172 EXPECT_EQ(options, params.quic_connection_options); 175 EXPECT_EQ(options, params.quic_connection_options);
173 EXPECT_FALSE(params.quic_disable_loading_server_info_for_new_servers); 176 EXPECT_FALSE(params.quic_disable_loading_server_info_for_new_servers);
177 EXPECT_FALSE(params.quic_disable_truncated_connection_ids);
174 } 178 }
175 179
176 TEST_F(IOThreadTest, PacketLengthFromCommandLine) { 180 TEST_F(IOThreadTest, PacketLengthFromCommandLine) {
177 command_line_.AppendSwitch("enable-quic"); 181 command_line_.AppendSwitch("enable-quic");
178 command_line_.AppendSwitchASCII("quic-max-packet-length", "1450"); 182 command_line_.AppendSwitchASCII("quic-max-packet-length", "1450");
179 183
180 ConfigureQuicGlobals(); 184 ConfigureQuicGlobals();
181 net::HttpNetworkSession::Params params; 185 net::HttpNetworkSession::Params params;
182 InitializeNetworkSessionParams(&params); 186 InitializeNetworkSessionParams(&params);
183 EXPECT_EQ(1450u, params.quic_max_packet_length); 187 EXPECT_EQ(1450u, params.quic_max_packet_length);
184 EXPECT_FALSE(params.quic_disable_loading_server_info_for_new_servers); 188 EXPECT_FALSE(params.quic_disable_loading_server_info_for_new_servers);
189 EXPECT_FALSE(params.quic_disable_truncated_connection_ids);
185 } 190 }
186 191
187 TEST_F(IOThreadTest, PacketLengthFromFieldTrialParams) { 192 TEST_F(IOThreadTest, PacketLengthFromFieldTrialParams) {
188 field_trial_group_ = "Enabled"; 193 field_trial_group_ = "Enabled";
189 field_trial_params_["max_packet_length"] = "1450"; 194 field_trial_params_["max_packet_length"] = "1450";
190 195
191 ConfigureQuicGlobals(); 196 ConfigureQuicGlobals();
192 net::HttpNetworkSession::Params params; 197 net::HttpNetworkSession::Params params;
193 InitializeNetworkSessionParams(&params); 198 InitializeNetworkSessionParams(&params);
194 EXPECT_EQ(1450u, params.quic_max_packet_length); 199 EXPECT_EQ(1450u, params.quic_max_packet_length);
195 EXPECT_FALSE(params.quic_disable_loading_server_info_for_new_servers); 200 EXPECT_FALSE(params.quic_disable_loading_server_info_for_new_servers);
201 EXPECT_FALSE(params.quic_disable_truncated_connection_ids);
196 } 202 }
197 203
198 TEST_F(IOThreadTest, QuicVersionFromCommandLine) { 204 TEST_F(IOThreadTest, QuicVersionFromCommandLine) {
199 command_line_.AppendSwitch("enable-quic"); 205 command_line_.AppendSwitch("enable-quic");
200 std::string version = 206 std::string version =
201 net::QuicVersionToString(net::QuicSupportedVersions().back()); 207 net::QuicVersionToString(net::QuicSupportedVersions().back());
202 command_line_.AppendSwitchASCII("quic-version", version); 208 command_line_.AppendSwitchASCII("quic-version", version);
203 209
204 ConfigureQuicGlobals(); 210 ConfigureQuicGlobals();
205 net::HttpNetworkSession::Params params; 211 net::HttpNetworkSession::Params params;
206 InitializeNetworkSessionParams(&params); 212 InitializeNetworkSessionParams(&params);
207 net::QuicVersionVector supported_versions; 213 net::QuicVersionVector supported_versions;
208 supported_versions.push_back(net::QuicSupportedVersions().back()); 214 supported_versions.push_back(net::QuicSupportedVersions().back());
209 EXPECT_EQ(supported_versions, params.quic_supported_versions); 215 EXPECT_EQ(supported_versions, params.quic_supported_versions);
210 EXPECT_FALSE(params.quic_disable_loading_server_info_for_new_servers); 216 EXPECT_FALSE(params.quic_disable_loading_server_info_for_new_servers);
217 EXPECT_FALSE(params.quic_disable_truncated_connection_ids);
211 } 218 }
212 219
213 TEST_F(IOThreadTest, QuicVersionFromFieldTrialParams) { 220 TEST_F(IOThreadTest, QuicVersionFromFieldTrialParams) {
214 field_trial_group_ = "Enabled"; 221 field_trial_group_ = "Enabled";
215 field_trial_params_["quic_version"] = 222 field_trial_params_["quic_version"] =
216 net::QuicVersionToString(net::QuicSupportedVersions().back()); 223 net::QuicVersionToString(net::QuicSupportedVersions().back());
217 224
218 ConfigureQuicGlobals(); 225 ConfigureQuicGlobals();
219 net::HttpNetworkSession::Params params; 226 net::HttpNetworkSession::Params params;
220 InitializeNetworkSessionParams(&params); 227 InitializeNetworkSessionParams(&params);
221 net::QuicVersionVector supported_versions; 228 net::QuicVersionVector supported_versions;
222 supported_versions.push_back(net::QuicSupportedVersions().back()); 229 supported_versions.push_back(net::QuicSupportedVersions().back());
223 EXPECT_EQ(supported_versions, params.quic_supported_versions); 230 EXPECT_EQ(supported_versions, params.quic_supported_versions);
224 EXPECT_FALSE(params.quic_disable_loading_server_info_for_new_servers); 231 EXPECT_FALSE(params.quic_disable_loading_server_info_for_new_servers);
232 EXPECT_FALSE(params.quic_disable_truncated_connection_ids);
225 } 233 }
226 234
227 TEST_F(IOThreadTest, QuicConnectionOptionsFromCommandLine) { 235 TEST_F(IOThreadTest, QuicConnectionOptionsFromCommandLine) {
228 command_line_.AppendSwitch("enable-quic"); 236 command_line_.AppendSwitch("enable-quic");
229 command_line_.AppendSwitchASCII("quic-connection-options", 237 command_line_.AppendSwitchASCII("quic-connection-options",
230 "PACE,TIME,TBBR,REJ"); 238 "PACE,TIME,TBBR,REJ");
231 239
232 ConfigureQuicGlobals(); 240 ConfigureQuicGlobals();
233 net::HttpNetworkSession::Params params; 241 net::HttpNetworkSession::Params params;
234 InitializeNetworkSessionParams(&params); 242 InitializeNetworkSessionParams(&params);
235 243
236 net::QuicTagVector options; 244 net::QuicTagVector options;
237 options.push_back(net::kPACE); 245 options.push_back(net::kPACE);
238 options.push_back(net::kTIME); 246 options.push_back(net::kTIME);
239 options.push_back(net::kTBBR); 247 options.push_back(net::kTBBR);
240 options.push_back(net::kREJ); 248 options.push_back(net::kREJ);
241 EXPECT_EQ(options, params.quic_connection_options); 249 EXPECT_EQ(options, params.quic_connection_options);
242 EXPECT_FALSE(params.quic_disable_loading_server_info_for_new_servers); 250 EXPECT_FALSE(params.quic_disable_loading_server_info_for_new_servers);
251 EXPECT_FALSE(params.quic_disable_truncated_connection_ids);
243 } 252 }
244 253
245 TEST_F(IOThreadTest, QuicConnectionOptionsFromFieldTrialParams) { 254 TEST_F(IOThreadTest, QuicConnectionOptionsFromFieldTrialParams) {
246 field_trial_group_ = "Enabled"; 255 field_trial_group_ = "Enabled";
247 field_trial_params_["connection_options"] = "PACE,TIME,TBBR,REJ"; 256 field_trial_params_["connection_options"] = "PACE,TIME,TBBR,REJ";
248 257
249 ConfigureQuicGlobals(); 258 ConfigureQuicGlobals();
250 net::HttpNetworkSession::Params params; 259 net::HttpNetworkSession::Params params;
251 InitializeNetworkSessionParams(&params); 260 InitializeNetworkSessionParams(&params);
252 261
253 net::QuicTagVector options; 262 net::QuicTagVector options;
254 options.push_back(net::kPACE); 263 options.push_back(net::kPACE);
255 options.push_back(net::kTIME); 264 options.push_back(net::kTIME);
256 options.push_back(net::kTBBR); 265 options.push_back(net::kTBBR);
257 options.push_back(net::kREJ); 266 options.push_back(net::kREJ);
258 EXPECT_EQ(options, params.quic_connection_options); 267 EXPECT_EQ(options, params.quic_connection_options);
259 EXPECT_FALSE(params.quic_disable_loading_server_info_for_new_servers); 268 EXPECT_FALSE(params.quic_disable_loading_server_info_for_new_servers);
269 EXPECT_FALSE(params.quic_disable_truncated_connection_ids);
260 } 270 }
261 271
262 TEST_F(IOThreadTest, QuicConnectionOptionsFromDeprecatedFieldTrialParams) { 272 TEST_F(IOThreadTest, QuicConnectionOptionsFromDeprecatedFieldTrialParams) {
263 field_trial_group_ = "Enabled"; 273 field_trial_group_ = "Enabled";
264 field_trial_params_["congestion_options"] = "PACE,TIME,TBBR,REJ"; 274 field_trial_params_["congestion_options"] = "PACE,TIME,TBBR,REJ";
265 275
266 ConfigureQuicGlobals(); 276 ConfigureQuicGlobals();
267 net::HttpNetworkSession::Params params; 277 net::HttpNetworkSession::Params params;
268 InitializeNetworkSessionParams(&params); 278 InitializeNetworkSessionParams(&params);
269 279
270 net::QuicTagVector options; 280 net::QuicTagVector options;
271 options.push_back(net::kPACE); 281 options.push_back(net::kPACE);
272 options.push_back(net::kTIME); 282 options.push_back(net::kTIME);
273 options.push_back(net::kTBBR); 283 options.push_back(net::kTBBR);
274 options.push_back(net::kREJ); 284 options.push_back(net::kREJ);
275 EXPECT_EQ(options, params.quic_connection_options); 285 EXPECT_EQ(options, params.quic_connection_options);
276 EXPECT_FALSE(params.quic_disable_loading_server_info_for_new_servers); 286 EXPECT_FALSE(params.quic_disable_loading_server_info_for_new_servers);
287 EXPECT_FALSE(params.quic_disable_truncated_connection_ids);
277 } 288 }
278 289
279 TEST_F(IOThreadTest, 290 TEST_F(IOThreadTest,
280 QuicAlwaysRequireHandshakeConfirmationFromFieldTrialParams) { 291 QuicAlwaysRequireHandshakeConfirmationFromFieldTrialParams) {
281 field_trial_group_ = "Enabled"; 292 field_trial_group_ = "Enabled";
282 field_trial_params_["always_require_handshake_confirmation"] = "true"; 293 field_trial_params_["always_require_handshake_confirmation"] = "true";
283 ConfigureQuicGlobals(); 294 ConfigureQuicGlobals();
284 net::HttpNetworkSession::Params params; 295 net::HttpNetworkSession::Params params;
285 InitializeNetworkSessionParams(&params); 296 InitializeNetworkSessionParams(&params);
286 EXPECT_TRUE(params.quic_always_require_handshake_confirmation); 297 EXPECT_TRUE(params.quic_always_require_handshake_confirmation);
287 EXPECT_FALSE(params.quic_disable_loading_server_info_for_new_servers); 298 EXPECT_FALSE(params.quic_disable_loading_server_info_for_new_servers);
299 EXPECT_FALSE(params.quic_disable_truncated_connection_ids);
288 } 300 }
289 301
290 TEST_F(IOThreadTest, 302 TEST_F(IOThreadTest,
291 QuicDisableConnectionPoolingFromFieldTrialParams) { 303 QuicDisableConnectionPoolingFromFieldTrialParams) {
292 field_trial_group_ = "Enabled"; 304 field_trial_group_ = "Enabled";
293 field_trial_params_["disable_connection_pooling"] = "true"; 305 field_trial_params_["disable_connection_pooling"] = "true";
294 ConfigureQuicGlobals(); 306 ConfigureQuicGlobals();
295 net::HttpNetworkSession::Params params; 307 net::HttpNetworkSession::Params params;
296 InitializeNetworkSessionParams(&params); 308 InitializeNetworkSessionParams(&params);
297 EXPECT_TRUE(params.quic_disable_connection_pooling); 309 EXPECT_TRUE(params.quic_disable_connection_pooling);
298 EXPECT_FALSE(params.quic_disable_loading_server_info_for_new_servers); 310 EXPECT_FALSE(params.quic_disable_loading_server_info_for_new_servers);
311 EXPECT_FALSE(params.quic_disable_truncated_connection_ids);
299 } 312 }
300 313
301 TEST_F(IOThreadTest, QuicLoadServerInfoTimeoutFromFieldTrialParams) { 314 TEST_F(IOThreadTest, QuicLoadServerInfoTimeoutFromFieldTrialParams) {
302 field_trial_group_ = "Enabled"; 315 field_trial_group_ = "Enabled";
303 field_trial_params_["load_server_info_timeout"] = "50"; 316 field_trial_params_["load_server_info_timeout"] = "50";
304 ConfigureQuicGlobals(); 317 ConfigureQuicGlobals();
305 net::HttpNetworkSession::Params params; 318 net::HttpNetworkSession::Params params;
306 InitializeNetworkSessionParams(&params); 319 InitializeNetworkSessionParams(&params);
307 EXPECT_EQ(50, params.quic_load_server_info_timeout_ms); 320 EXPECT_EQ(50, params.quic_load_server_info_timeout_ms);
308 EXPECT_FALSE(params.quic_disable_loading_server_info_for_new_servers); 321 EXPECT_FALSE(params.quic_disable_loading_server_info_for_new_servers);
322 EXPECT_FALSE(params.quic_disable_truncated_connection_ids);
309 } 323 }
310 324
311 TEST_F(IOThreadTest, QuicDisableLoadingServerInfoForNewServers) { 325 TEST_F(IOThreadTest, QuicDisableLoadingServerInfoForNewServers) {
312 field_trial_group_ = "Enabled"; 326 field_trial_group_ = "Enabled";
313 field_trial_params_["disable_loading_server_info_for_new_servers"] = "true"; 327 field_trial_params_["disable_loading_server_info_for_new_servers"] = "true";
314 ConfigureQuicGlobals(); 328 ConfigureQuicGlobals();
315 net::HttpNetworkSession::Params params; 329 net::HttpNetworkSession::Params params;
316 InitializeNetworkSessionParams(&params); 330 InitializeNetworkSessionParams(&params);
317 EXPECT_TRUE(params.quic_disable_loading_server_info_for_new_servers); 331 EXPECT_TRUE(params.quic_disable_loading_server_info_for_new_servers);
332 EXPECT_FALSE(params.quic_disable_truncated_connection_ids);
318 } 333 }
319 334
320 TEST_F(IOThreadTest, QuicLoadServerInfoTimeToSmoothedRttFromFieldTrialParams) { 335 TEST_F(IOThreadTest, QuicLoadServerInfoTimeToSmoothedRttFromFieldTrialParams) {
321 field_trial_group_ = "Enabled"; 336 field_trial_group_ = "Enabled";
322 field_trial_params_["load_server_info_time_to_srtt"] = "0.5"; 337 field_trial_params_["load_server_info_time_to_srtt"] = "0.5";
323 ConfigureQuicGlobals(); 338 ConfigureQuicGlobals();
324 net::HttpNetworkSession::Params params; 339 net::HttpNetworkSession::Params params;
325 InitializeNetworkSessionParams(&params); 340 InitializeNetworkSessionParams(&params);
326 EXPECT_EQ(0.5f, params.quic_load_server_info_timeout_srtt_multiplier); 341 EXPECT_EQ(0.5f, params.quic_load_server_info_timeout_srtt_multiplier);
327 } 342 }
328 343
344 TEST_F(IOThreadTest, QuicDisableTruncatedConnectionIds) {
345 field_trial_group_ = "Enabled";
346 field_trial_params_["disable_truncated_connection_ids"] = "true";
347 ConfigureQuicGlobals();
348 net::HttpNetworkSession::Params params;
349 InitializeNetworkSessionParams(&params);
350 EXPECT_TRUE(params.quic_disable_truncated_connection_ids);
351 }
352
329 TEST_F(IOThreadTest, 353 TEST_F(IOThreadTest,
330 AlternateProtocolProbabilityThresholdFromFlag) { 354 AlternateProtocolProbabilityThresholdFromFlag) {
331 command_line_.AppendSwitchASCII("alternate-protocol-probability-threshold", 355 command_line_.AppendSwitchASCII("alternate-protocol-probability-threshold",
332 ".5"); 356 ".5");
333 357
334 ConfigureQuicGlobals(); 358 ConfigureQuicGlobals();
335 net::HttpNetworkSession::Params params; 359 net::HttpNetworkSession::Params params;
336 InitializeNetworkSessionParams(&params); 360 InitializeNetworkSessionParams(&params);
337 EXPECT_EQ(.5, params.alternate_protocol_probability_threshold); 361 EXPECT_EQ(.5, params.alternate_protocol_probability_threshold);
338 } 362 }
(...skipping 13 matching lines...) Expand all
352 field_trial_group_ = "Enabled"; 376 field_trial_group_ = "Enabled";
353 field_trial_params_["alternate_protocol_probability_threshold"] = ".5"; 377 field_trial_params_["alternate_protocol_probability_threshold"] = ".5";
354 378
355 ConfigureQuicGlobals(); 379 ConfigureQuicGlobals();
356 net::HttpNetworkSession::Params params; 380 net::HttpNetworkSession::Params params;
357 InitializeNetworkSessionParams(&params); 381 InitializeNetworkSessionParams(&params);
358 EXPECT_EQ(.5, params.alternate_protocol_probability_threshold); 382 EXPECT_EQ(.5, params.alternate_protocol_probability_threshold);
359 } 383 }
360 384
361 } // namespace test 385 } // namespace test
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698