| Index: net/tools/quic/end_to_end_test.cc
|
| diff --git a/net/tools/quic/end_to_end_test.cc b/net/tools/quic/end_to_end_test.cc
|
| index 5907cd08ccd35e84992a58dedad812585e90fa39..c6a0a91d7199b7336fe034d57d923bacb31cc642 100644
|
| --- a/net/tools/quic/end_to_end_test.cc
|
| +++ b/net/tools/quic/end_to_end_test.cc
|
| @@ -147,30 +147,51 @@ vector<TestParams> GetTestParams() {
|
| // to do 0-RTT across incompatible versions. Chromium only supports
|
| // a single version at a time anyway. :)
|
| QuicVersionVector all_supported_versions = QuicSupportedVersions();
|
| - QuicVersionVector client_version_buckets[2];
|
| + QuicVersionVector version_buckets[2];
|
| for (const QuicVersion version : all_supported_versions) {
|
| if (version <= QUIC_VERSION_25) {
|
| // SPDY/4
|
| - client_version_buckets[0].push_back(version);
|
| + version_buckets[0].push_back(version);
|
| } else {
|
| // QUIC_VERSION_26 changes the kdf in a way that is incompatible with
|
| // version negotiation across the version 26 boundary.
|
| - client_version_buckets[1].push_back(version);
|
| + version_buckets[1].push_back(version);
|
| }
|
| }
|
|
|
| vector<TestParams> params;
|
| - // TODO(rtenneti): Add kTBBR after BBR code is checked in.
|
| - // for (const QuicTag congestion_control_tag : {kRENO, kTBBR, kQBIC}) {
|
| - for (const QuicTag congestion_control_tag : {kRENO, kQBIC}) {
|
| - for (const bool use_fec : {false, true}) {
|
| - for (const QuicVersionVector& client_versions : client_version_buckets) {
|
| - // A number of end to end tests fail when stateless rejects are enabled
|
| - // *and* there are more than two QUIC versions.
|
| - for (bool client_supports_stateless_rejects : {true, false}) {
|
| - for (bool server_uses_stateless_rejects_if_peer_supported :
|
| - {true, false}) {
|
| - for (bool auto_tune_flow_control_window : {true, false}) {
|
| + for (bool server_uses_stateless_rejects_if_peer_supported : {true, false}) {
|
| + for (bool client_supports_stateless_rejects : {true, false}) {
|
| + // TODO(rtenneti): Add kTBBR after BBR code is checked in.
|
| + for (const QuicTag congestion_control_tag : {kRENO, kQBIC}) {
|
| + for (bool auto_tune_flow_control_window : {true, false}) {
|
| + for (const bool use_fec : {false, true}) {
|
| + const int kMaxEnabledOptions = 5;
|
| + int enabled_options = 0;
|
| + if (congestion_control_tag != kQBIC) {
|
| + ++enabled_options;
|
| + }
|
| + if (use_fec) {
|
| + ++enabled_options;
|
| + }
|
| + if (auto_tune_flow_control_window) {
|
| + ++enabled_options;
|
| + }
|
| + if (client_supports_stateless_rejects) {
|
| + ++enabled_options;
|
| + }
|
| + if (server_uses_stateless_rejects_if_peer_supported) {
|
| + ++enabled_options;
|
| + }
|
| + CHECK_GE(kMaxEnabledOptions, enabled_options);
|
| +
|
| + // Run tests with no options, a single option, or all the options
|
| + // enabled to avoid a combinatorial explosion.
|
| + if (enabled_options > 1 && enabled_options < kMaxEnabledOptions) {
|
| + continue;
|
| + }
|
| +
|
| + for (const QuicVersionVector& client_versions : version_buckets) {
|
| CHECK(!client_versions.empty());
|
| // Add an entry for server and client supporting all versions.
|
| params.push_back(TestParams(
|
|
|