OLD | NEW |
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 126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
137 EXPECT_FALSE(params.quic_enable_truncated_connection_ids); | 137 EXPECT_FALSE(params.quic_enable_truncated_connection_ids); |
138 } | 138 } |
139 | 139 |
140 TEST_F(IOThreadTest, EnableQuicFromCommandLine) { | 140 TEST_F(IOThreadTest, EnableQuicFromCommandLine) { |
141 command_line_.AppendSwitch("enable-quic"); | 141 command_line_.AppendSwitch("enable-quic"); |
142 | 142 |
143 ConfigureQuicGlobals(); | 143 ConfigureQuicGlobals(); |
144 net::HttpNetworkSession::Params params; | 144 net::HttpNetworkSession::Params params; |
145 InitializeNetworkSessionParams(¶ms); | 145 InitializeNetworkSessionParams(¶ms); |
146 EXPECT_TRUE(params.enable_quic); | 146 EXPECT_TRUE(params.enable_quic); |
147 EXPECT_FALSE(params.quic_disable_loading_server_info_for_new_servers); | |
148 } | 147 } |
149 | 148 |
150 TEST_F(IOThreadTest, EnablePacingFromCommandLine) { | 149 TEST_F(IOThreadTest, EnablePacingFromCommandLine) { |
151 command_line_.AppendSwitch("enable-quic"); | 150 command_line_.AppendSwitch("enable-quic"); |
152 command_line_.AppendSwitch("enable-quic-pacing"); | 151 command_line_.AppendSwitch("enable-quic-pacing"); |
153 | 152 |
154 ConfigureQuicGlobals(); | 153 ConfigureQuicGlobals(); |
155 net::HttpNetworkSession::Params params; | 154 net::HttpNetworkSession::Params params; |
156 InitializeNetworkSessionParams(¶ms); | 155 InitializeNetworkSessionParams(¶ms); |
157 net::QuicTagVector options; | 156 net::QuicTagVector options; |
158 options.push_back(net::kPACE); | 157 options.push_back(net::kPACE); |
159 EXPECT_EQ(options, params.quic_connection_options); | 158 EXPECT_EQ(options, params.quic_connection_options); |
160 EXPECT_FALSE(params.quic_disable_loading_server_info_for_new_servers); | |
161 } | 159 } |
162 | 160 |
163 TEST_F(IOThreadTest, EnablePacingFromFieldTrialParams) { | 161 TEST_F(IOThreadTest, EnablePacingFromFieldTrialParams) { |
164 field_trial_group_ = "Enabled"; | 162 field_trial_group_ = "Enabled"; |
165 field_trial_params_["enable_pacing"] = "true"; | 163 field_trial_params_["enable_pacing"] = "true"; |
166 | 164 |
167 ConfigureQuicGlobals(); | 165 ConfigureQuicGlobals(); |
168 net::HttpNetworkSession::Params params; | 166 net::HttpNetworkSession::Params params; |
169 InitializeNetworkSessionParams(¶ms); | 167 InitializeNetworkSessionParams(¶ms); |
170 net::QuicTagVector options; | 168 net::QuicTagVector options; |
171 options.push_back(net::kPACE); | 169 options.push_back(net::kPACE); |
172 EXPECT_EQ(options, params.quic_connection_options); | 170 EXPECT_EQ(options, params.quic_connection_options); |
173 EXPECT_FALSE(params.quic_disable_loading_server_info_for_new_servers); | |
174 } | 171 } |
175 | 172 |
176 TEST_F(IOThreadTest, PacketLengthFromCommandLine) { | 173 TEST_F(IOThreadTest, PacketLengthFromCommandLine) { |
177 command_line_.AppendSwitch("enable-quic"); | 174 command_line_.AppendSwitch("enable-quic"); |
178 command_line_.AppendSwitchASCII("quic-max-packet-length", "1450"); | 175 command_line_.AppendSwitchASCII("quic-max-packet-length", "1450"); |
179 | 176 |
180 ConfigureQuicGlobals(); | 177 ConfigureQuicGlobals(); |
181 net::HttpNetworkSession::Params params; | 178 net::HttpNetworkSession::Params params; |
182 InitializeNetworkSessionParams(¶ms); | 179 InitializeNetworkSessionParams(¶ms); |
183 EXPECT_EQ(1450u, params.quic_max_packet_length); | 180 EXPECT_EQ(1450u, params.quic_max_packet_length); |
184 EXPECT_FALSE(params.quic_disable_loading_server_info_for_new_servers); | |
185 } | 181 } |
186 | 182 |
187 TEST_F(IOThreadTest, PacketLengthFromFieldTrialParams) { | 183 TEST_F(IOThreadTest, PacketLengthFromFieldTrialParams) { |
188 field_trial_group_ = "Enabled"; | 184 field_trial_group_ = "Enabled"; |
189 field_trial_params_["max_packet_length"] = "1450"; | 185 field_trial_params_["max_packet_length"] = "1450"; |
190 | 186 |
191 ConfigureQuicGlobals(); | 187 ConfigureQuicGlobals(); |
192 net::HttpNetworkSession::Params params; | 188 net::HttpNetworkSession::Params params; |
193 InitializeNetworkSessionParams(¶ms); | 189 InitializeNetworkSessionParams(¶ms); |
194 EXPECT_EQ(1450u, params.quic_max_packet_length); | 190 EXPECT_EQ(1450u, params.quic_max_packet_length); |
195 EXPECT_FALSE(params.quic_disable_loading_server_info_for_new_servers); | |
196 } | 191 } |
197 | 192 |
198 TEST_F(IOThreadTest, QuicVersionFromCommandLine) { | 193 TEST_F(IOThreadTest, QuicVersionFromCommandLine) { |
199 command_line_.AppendSwitch("enable-quic"); | 194 command_line_.AppendSwitch("enable-quic"); |
200 std::string version = | 195 std::string version = |
201 net::QuicVersionToString(net::QuicSupportedVersions().back()); | 196 net::QuicVersionToString(net::QuicSupportedVersions().back()); |
202 command_line_.AppendSwitchASCII("quic-version", version); | 197 command_line_.AppendSwitchASCII("quic-version", version); |
203 | 198 |
204 ConfigureQuicGlobals(); | 199 ConfigureQuicGlobals(); |
205 net::HttpNetworkSession::Params params; | 200 net::HttpNetworkSession::Params params; |
206 InitializeNetworkSessionParams(¶ms); | 201 InitializeNetworkSessionParams(¶ms); |
207 net::QuicVersionVector supported_versions; | 202 net::QuicVersionVector supported_versions; |
208 supported_versions.push_back(net::QuicSupportedVersions().back()); | 203 supported_versions.push_back(net::QuicSupportedVersions().back()); |
209 EXPECT_EQ(supported_versions, params.quic_supported_versions); | 204 EXPECT_EQ(supported_versions, params.quic_supported_versions); |
210 EXPECT_FALSE(params.quic_disable_loading_server_info_for_new_servers); | |
211 } | 205 } |
212 | 206 |
213 TEST_F(IOThreadTest, QuicVersionFromFieldTrialParams) { | 207 TEST_F(IOThreadTest, QuicVersionFromFieldTrialParams) { |
214 field_trial_group_ = "Enabled"; | 208 field_trial_group_ = "Enabled"; |
215 field_trial_params_["quic_version"] = | 209 field_trial_params_["quic_version"] = |
216 net::QuicVersionToString(net::QuicSupportedVersions().back()); | 210 net::QuicVersionToString(net::QuicSupportedVersions().back()); |
217 | 211 |
218 ConfigureQuicGlobals(); | 212 ConfigureQuicGlobals(); |
219 net::HttpNetworkSession::Params params; | 213 net::HttpNetworkSession::Params params; |
220 InitializeNetworkSessionParams(¶ms); | 214 InitializeNetworkSessionParams(¶ms); |
221 net::QuicVersionVector supported_versions; | 215 net::QuicVersionVector supported_versions; |
222 supported_versions.push_back(net::QuicSupportedVersions().back()); | 216 supported_versions.push_back(net::QuicSupportedVersions().back()); |
223 EXPECT_EQ(supported_versions, params.quic_supported_versions); | 217 EXPECT_EQ(supported_versions, params.quic_supported_versions); |
224 EXPECT_FALSE(params.quic_disable_loading_server_info_for_new_servers); | |
225 } | 218 } |
226 | 219 |
227 TEST_F(IOThreadTest, QuicConnectionOptionsFromCommandLine) { | 220 TEST_F(IOThreadTest, QuicConnectionOptionsFromCommandLine) { |
228 command_line_.AppendSwitch("enable-quic"); | 221 command_line_.AppendSwitch("enable-quic"); |
229 command_line_.AppendSwitchASCII("quic-connection-options", | 222 command_line_.AppendSwitchASCII("quic-connection-options", |
230 "PACE,TIME,TBBR,REJ"); | 223 "PACE,TIME,TBBR,REJ"); |
231 | 224 |
232 ConfigureQuicGlobals(); | 225 ConfigureQuicGlobals(); |
233 net::HttpNetworkSession::Params params; | 226 net::HttpNetworkSession::Params params; |
234 InitializeNetworkSessionParams(¶ms); | 227 InitializeNetworkSessionParams(¶ms); |
235 | 228 |
236 net::QuicTagVector options; | 229 net::QuicTagVector options; |
237 options.push_back(net::kPACE); | 230 options.push_back(net::kPACE); |
238 options.push_back(net::kTIME); | 231 options.push_back(net::kTIME); |
239 options.push_back(net::kTBBR); | 232 options.push_back(net::kTBBR); |
240 options.push_back(net::kREJ); | 233 options.push_back(net::kREJ); |
241 EXPECT_EQ(options, params.quic_connection_options); | 234 EXPECT_EQ(options, params.quic_connection_options); |
242 EXPECT_FALSE(params.quic_disable_loading_server_info_for_new_servers); | |
243 } | 235 } |
244 | 236 |
245 TEST_F(IOThreadTest, QuicConnectionOptionsFromFieldTrialParams) { | 237 TEST_F(IOThreadTest, QuicConnectionOptionsFromFieldTrialParams) { |
246 field_trial_group_ = "Enabled"; | 238 field_trial_group_ = "Enabled"; |
247 field_trial_params_["connection_options"] = "PACE,TIME,TBBR,REJ"; | 239 field_trial_params_["connection_options"] = "PACE,TIME,TBBR,REJ"; |
248 | 240 |
249 ConfigureQuicGlobals(); | 241 ConfigureQuicGlobals(); |
250 net::HttpNetworkSession::Params params; | 242 net::HttpNetworkSession::Params params; |
251 InitializeNetworkSessionParams(¶ms); | 243 InitializeNetworkSessionParams(¶ms); |
252 | 244 |
253 net::QuicTagVector options; | 245 net::QuicTagVector options; |
254 options.push_back(net::kPACE); | 246 options.push_back(net::kPACE); |
255 options.push_back(net::kTIME); | 247 options.push_back(net::kTIME); |
256 options.push_back(net::kTBBR); | 248 options.push_back(net::kTBBR); |
257 options.push_back(net::kREJ); | 249 options.push_back(net::kREJ); |
258 EXPECT_EQ(options, params.quic_connection_options); | 250 EXPECT_EQ(options, params.quic_connection_options); |
259 EXPECT_FALSE(params.quic_disable_loading_server_info_for_new_servers); | |
260 } | |
261 | |
262 TEST_F(IOThreadTest, QuicConnectionOptionsFromDeprecatedFieldTrialParams) { | |
263 field_trial_group_ = "Enabled"; | |
264 field_trial_params_["congestion_options"] = "PACE,TIME,TBBR,REJ"; | |
265 | |
266 ConfigureQuicGlobals(); | |
267 net::HttpNetworkSession::Params params; | |
268 InitializeNetworkSessionParams(¶ms); | |
269 | |
270 net::QuicTagVector options; | |
271 options.push_back(net::kPACE); | |
272 options.push_back(net::kTIME); | |
273 options.push_back(net::kTBBR); | |
274 options.push_back(net::kREJ); | |
275 EXPECT_EQ(options, params.quic_connection_options); | |
276 EXPECT_FALSE(params.quic_disable_loading_server_info_for_new_servers); | |
277 } | 251 } |
278 | 252 |
279 TEST_F(IOThreadTest, | 253 TEST_F(IOThreadTest, |
280 QuicAlwaysRequireHandshakeConfirmationFromFieldTrialParams) { | 254 QuicAlwaysRequireHandshakeConfirmationFromFieldTrialParams) { |
281 field_trial_group_ = "Enabled"; | 255 field_trial_group_ = "Enabled"; |
282 field_trial_params_["always_require_handshake_confirmation"] = "true"; | 256 field_trial_params_["always_require_handshake_confirmation"] = "true"; |
283 ConfigureQuicGlobals(); | 257 ConfigureQuicGlobals(); |
284 net::HttpNetworkSession::Params params; | 258 net::HttpNetworkSession::Params params; |
285 InitializeNetworkSessionParams(¶ms); | 259 InitializeNetworkSessionParams(¶ms); |
286 EXPECT_TRUE(params.quic_always_require_handshake_confirmation); | 260 EXPECT_TRUE(params.quic_always_require_handshake_confirmation); |
287 EXPECT_FALSE(params.quic_disable_loading_server_info_for_new_servers); | |
288 } | 261 } |
289 | 262 |
290 TEST_F(IOThreadTest, | 263 TEST_F(IOThreadTest, |
291 QuicDisableConnectionPoolingFromFieldTrialParams) { | 264 QuicDisableConnectionPoolingFromFieldTrialParams) { |
292 field_trial_group_ = "Enabled"; | 265 field_trial_group_ = "Enabled"; |
293 field_trial_params_["disable_connection_pooling"] = "true"; | 266 field_trial_params_["disable_connection_pooling"] = "true"; |
294 ConfigureQuicGlobals(); | 267 ConfigureQuicGlobals(); |
295 net::HttpNetworkSession::Params params; | 268 net::HttpNetworkSession::Params params; |
296 InitializeNetworkSessionParams(¶ms); | 269 InitializeNetworkSessionParams(¶ms); |
297 EXPECT_TRUE(params.quic_disable_connection_pooling); | 270 EXPECT_TRUE(params.quic_disable_connection_pooling); |
298 EXPECT_FALSE(params.quic_disable_loading_server_info_for_new_servers); | |
299 } | 271 } |
300 | 272 |
301 TEST_F(IOThreadTest, QuicLoadServerInfoTimeoutFromFieldTrialParams) { | 273 TEST_F(IOThreadTest, QuicLoadServerInfoTimeoutFromFieldTrialParams) { |
302 field_trial_group_ = "Enabled"; | 274 field_trial_group_ = "Enabled"; |
303 field_trial_params_["load_server_info_timeout"] = "50"; | 275 field_trial_params_["load_server_info_timeout"] = "50"; |
304 ConfigureQuicGlobals(); | 276 ConfigureQuicGlobals(); |
305 net::HttpNetworkSession::Params params; | 277 net::HttpNetworkSession::Params params; |
306 InitializeNetworkSessionParams(¶ms); | 278 InitializeNetworkSessionParams(¶ms); |
307 EXPECT_EQ(50, params.quic_load_server_info_timeout_ms); | 279 EXPECT_EQ(50, params.quic_load_server_info_timeout_ms); |
308 EXPECT_FALSE(params.quic_disable_loading_server_info_for_new_servers); | |
309 } | 280 } |
310 | 281 |
311 TEST_F(IOThreadTest, QuicDisableLoadingServerInfoForNewServers) { | 282 TEST_F(IOThreadTest, QuicDisableLoadingServerInfoForNewServers) { |
312 field_trial_group_ = "Enabled"; | 283 field_trial_group_ = "Enabled"; |
313 field_trial_params_["disable_loading_server_info_for_new_servers"] = "true"; | 284 field_trial_params_["disable_loading_server_info_for_new_servers"] = "true"; |
314 ConfigureQuicGlobals(); | 285 ConfigureQuicGlobals(); |
315 net::HttpNetworkSession::Params params; | 286 net::HttpNetworkSession::Params params; |
316 InitializeNetworkSessionParams(¶ms); | 287 InitializeNetworkSessionParams(¶ms); |
317 EXPECT_TRUE(params.quic_disable_loading_server_info_for_new_servers); | 288 EXPECT_TRUE(params.quic_disable_loading_server_info_for_new_servers); |
318 } | 289 } |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
361 field_trial_group_ = "Enabled"; | 332 field_trial_group_ = "Enabled"; |
362 field_trial_params_["alternate_protocol_probability_threshold"] = ".5"; | 333 field_trial_params_["alternate_protocol_probability_threshold"] = ".5"; |
363 | 334 |
364 ConfigureQuicGlobals(); | 335 ConfigureQuicGlobals(); |
365 net::HttpNetworkSession::Params params; | 336 net::HttpNetworkSession::Params params; |
366 InitializeNetworkSessionParams(¶ms); | 337 InitializeNetworkSessionParams(¶ms); |
367 EXPECT_EQ(.5, params.alternate_protocol_probability_threshold); | 338 EXPECT_EQ(.5, params.alternate_protocol_probability_threshold); |
368 } | 339 } |
369 | 340 |
370 } // namespace test | 341 } // namespace test |
OLD | NEW |