Commit fb4bb567 authored by David Schinazi's avatar David Schinazi Committed by Commit Bot

Do not use version flags in Chrome QUIC code

This CL replaces instances of flag-setting
with calls to QuicEnableVersion and
QuicDisableVersion. Some tests were using
version flags as any flags, and those have
been replaced with test flags. This will make
changing versions easier.

R=renjietang@chromium.org

Change-Id: Id96f2fc92a10de3e410b4995190582e657dc57dd
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2253209
Auto-Submit: David Schinazi <dschinazi@chromium.org>
Reviewed-by: default avatarRenjie Tang <renjietang@chromium.org>
Commit-Queue: David Schinazi <dschinazi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#780372}
parent 0174675c
...@@ -68,10 +68,8 @@ TEST(URLRequestContextConfigTest, TestExperimentalOptionParsing) { ...@@ -68,10 +68,8 @@ TEST(URLRequestContextConfigTest, TestExperimentalOptionParsing) {
options.SetPath({"QUIC", "connection_options"}, base::Value("TIME,TBBR,REJ")); options.SetPath({"QUIC", "connection_options"}, base::Value("TIME,TBBR,REJ"));
options.SetPath( options.SetPath(
{"QUIC", "set_quic_flags"}, {"QUIC", "set_quic_flags"},
base::Value( base::Value("FLAGS_quic_reloadable_flag_quic_testonly_default_false=true,"
"FLAGS_quic_max_aggressive_retransmittable_on_wire_ping_count=5," "FLAGS_quic_restart_flag_quic_testonly_default_true=false"));
"FLAGS_quic_reloadable_flag_quic_enable_version_draft_29=true,"
"FLAGS_quic_reloadable_flag_quic_disable_version_draft_27=true"));
options.SetPath({"AsyncDNS", "enable"}, base::Value(true)); options.SetPath({"AsyncDNS", "enable"}, base::Value(true));
options.SetPath({"NetworkErrorLogging", "enable"}, base::Value(true)); options.SetPath({"NetworkErrorLogging", "enable"}, base::Value(true));
options.SetPath({"NetworkErrorLogging", "preloaded_report_to_headers"}, options.SetPath({"NetworkErrorLogging", "preloaded_report_to_headers"},
...@@ -143,9 +141,8 @@ TEST(URLRequestContextConfigTest, TestExperimentalOptionParsing) { ...@@ -143,9 +141,8 @@ TEST(URLRequestContextConfigTest, TestExperimentalOptionParsing) {
EXPECT_TRUE(base::JSONWriter::Write(options, &options_json)); EXPECT_TRUE(base::JSONWriter::Write(options, &options_json));
// Initialize QUIC flags set by the config. // Initialize QUIC flags set by the config.
FLAGS_quic_max_aggressive_retransmittable_on_wire_ping_count = 0; FLAGS_quic_reloadable_flag_quic_testonly_default_false = false;
FLAGS_quic_reloadable_flag_quic_enable_version_draft_29 = false; FLAGS_quic_restart_flag_quic_testonly_default_true = true;
FLAGS_quic_reloadable_flag_quic_disable_version_draft_27 = false;
URLRequestContextConfig config( URLRequestContextConfig config(
// Enable QUIC. // Enable QUIC.
...@@ -196,9 +193,9 @@ TEST(URLRequestContextConfigTest, TestExperimentalOptionParsing) { ...@@ -196,9 +193,9 @@ TEST(URLRequestContextConfigTest, TestExperimentalOptionParsing) {
quic_connection_options.push_back(quic::kREJ); quic_connection_options.push_back(quic::kREJ);
EXPECT_EQ(quic_connection_options, quic_params->connection_options); EXPECT_EQ(quic_connection_options, quic_params->connection_options);
EXPECT_EQ(FLAGS_quic_max_aggressive_retransmittable_on_wire_ping_count, 5); // Check QUIC flags.
EXPECT_TRUE(FLAGS_quic_reloadable_flag_quic_enable_version_draft_29); EXPECT_TRUE(FLAGS_quic_reloadable_flag_quic_testonly_default_false);
EXPECT_TRUE(FLAGS_quic_reloadable_flag_quic_disable_version_draft_27); EXPECT_FALSE(FLAGS_quic_restart_flag_quic_testonly_default_true);
// Check Custom QUIC User Agent Id. // Check Custom QUIC User Agent Id.
EXPECT_EQ("Custom QUIC UAID", quic_params->user_agent_id); EXPECT_EQ("Custom QUIC UAID", quic_params->user_agent_id);
......
...@@ -597,19 +597,19 @@ TEST_F(NetworkSessionConfiguratorTest, QuicHostAllowlistEmpty) { ...@@ -597,19 +597,19 @@ TEST_F(NetworkSessionConfiguratorTest, QuicHostAllowlistEmpty) {
} }
TEST_F(NetworkSessionConfiguratorTest, QuicFlags) { TEST_F(NetworkSessionConfiguratorTest, QuicFlags) {
FLAGS_quic_reloadable_flag_quic_enable_version_draft_29 = false; FLAGS_quic_reloadable_flag_quic_testonly_default_false = false;
FLAGS_quic_reloadable_flag_quic_disable_version_draft_27 = false; FLAGS_quic_restart_flag_quic_testonly_default_true = true;
std::map<std::string, std::string> field_trial_params; std::map<std::string, std::string> field_trial_params;
field_trial_params["set_quic_flags"] = field_trial_params["set_quic_flags"] =
"FLAGS_quic_reloadable_flag_quic_enable_version_draft_29=true," "FLAGS_quic_reloadable_flag_quic_testonly_default_false=true,"
"FLAGS_quic_reloadable_flag_quic_disable_version_draft_27=true"; "FLAGS_quic_restart_flag_quic_testonly_default_true=false";
variations::AssociateVariationParams("QUIC", "Enabled", field_trial_params); variations::AssociateVariationParams("QUIC", "Enabled", field_trial_params);
base::FieldTrialList::CreateFieldTrial("QUIC", "Enabled"); base::FieldTrialList::CreateFieldTrial("QUIC", "Enabled");
ParseFieldTrials(); ParseFieldTrials();
EXPECT_TRUE(FLAGS_quic_reloadable_flag_quic_enable_version_draft_29); EXPECT_TRUE(FLAGS_quic_reloadable_flag_quic_testonly_default_false);
EXPECT_TRUE(FLAGS_quic_reloadable_flag_quic_disable_version_draft_27); EXPECT_FALSE(FLAGS_quic_restart_flag_quic_testonly_default_true);
} }
TEST_F(NetworkSessionConfiguratorTest, Http2SettingsFromFieldTrialParams) { TEST_F(NetworkSessionConfiguratorTest, Http2SettingsFromFieldTrialParams) {
......
...@@ -236,6 +236,15 @@ QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_disable_version_q050, false) ...@@ -236,6 +236,15 @@ QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_disable_version_q050, false)
// A testonly reloadable flag that will always default to false. // A testonly reloadable flag that will always default to false.
QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_testonly_default_false, false) QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_testonly_default_false, false)
// A testonly reloadable flag that will always default to true.
QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_testonly_default_true, true)
// A testonly restart flag that will always default to false.
QUIC_FLAG(bool, FLAGS_quic_restart_flag_quic_testonly_default_false, false)
// A testonly restart flag that will always default to true.
QUIC_FLAG(bool, FLAGS_quic_restart_flag_quic_testonly_default_true, true)
// In BBR, slow pacing rate if it is likely causing overshoot. // In BBR, slow pacing rate if it is likely causing overshoot.
QUIC_FLAG( QUIC_FLAG(
bool, bool,
......
...@@ -76,8 +76,10 @@ class TestConnectionHelper : public quic::QuicConnectionHelperInterface { ...@@ -76,8 +76,10 @@ class TestConnectionHelper : public quic::QuicConnectionHelperInterface {
class QuicTransportEndToEndTest : public TestWithTaskEnvironment { class QuicTransportEndToEndTest : public TestWithTaskEnvironment {
public: public:
QuicTransportEndToEndTest() { QuicTransportEndToEndTest() {
quic::QuicEnableVersion( for (const quic::ParsedQuicVersion& version :
QuicTransportClient::QuicVersionsForWebTransportOriginTrial()[0]); QuicTransportClient::QuicVersionsForWebTransportOriginTrial()) {
quic::QuicEnableVersion(version);
}
origin_ = url::Origin::Create(GURL{"https://example.org"}); origin_ = url::Origin::Create(GURL{"https://example.org"});
isolation_key_ = NetworkIsolationKey(origin_, origin_); isolation_key_ = NetworkIsolationKey(origin_, origin_);
...@@ -265,8 +267,9 @@ TEST_F(QuicTransportEndToEndTest, CertificateFingerprintMismatch) { ...@@ -265,8 +267,9 @@ TEST_F(QuicTransportEndToEndTest, CertificateFingerprintMismatch) {
} }
TEST_F(QuicTransportEndToEndTest, OldVersion) { TEST_F(QuicTransportEndToEndTest, OldVersion) {
SetQuicReloadableFlag(quic_enable_version_draft_29, false); // Ensure all WebTransport versions are enabled except the first one.
SetQuicReloadableFlag(quic_disable_version_draft_27, false); quic::QuicDisableVersion(
QuicTransportClient::QuicVersionsForWebTransportOriginTrial().front());
StartServer(); StartServer();
client_ = std::make_unique<QuicTransportClient>( client_ = std::make_unique<QuicTransportClient>(
...@@ -280,8 +283,11 @@ TEST_F(QuicTransportEndToEndTest, OldVersion) { ...@@ -280,8 +283,11 @@ TEST_F(QuicTransportEndToEndTest, OldVersion) {
} }
TEST_F(QuicTransportEndToEndTest, NoCommonVersion) { TEST_F(QuicTransportEndToEndTest, NoCommonVersion) {
SetQuicReloadableFlag(quic_enable_version_draft_29, false); // Disable all WebTransport versions.
SetQuicReloadableFlag(quic_disable_version_draft_27, true); for (const quic::ParsedQuicVersion& version :
QuicTransportClient::QuicVersionsForWebTransportOriginTrial()) {
quic::QuicDisableVersion(version);
}
StartServer(); StartServer();
client_ = std::make_unique<QuicTransportClient>( client_ = std::make_unique<QuicTransportClient>(
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment