blob: e929adaade0b94ba3a60db6b25242c0f5684d0d6 [file] [log] [blame]
// Copyright 2018 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "net/quic/set_quic_flag.h"
#include "net/third_party/quiche/src/quiche/quic/platform/api/quic_flags.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace net::test {
TEST(SetQuicFlagTest, Bool) {
FLAGS_quic_enforce_single_packet_chlo = true;
SetQuicFlagByName("FLAGS_quic_enforce_single_packet_chlo", "false");
EXPECT_FALSE(FLAGS_quic_enforce_single_packet_chlo);
SetQuicFlagByName("FLAGS_quic_enforce_single_packet_chlo", "true");
EXPECT_TRUE(FLAGS_quic_enforce_single_packet_chlo);
SetQuicFlagByName("FLAGS_quic_enforce_single_packet_chlo", "False");
EXPECT_FALSE(FLAGS_quic_enforce_single_packet_chlo);
SetQuicFlagByName("FLAGS_quic_enforce_single_packet_chlo", "True");
EXPECT_TRUE(FLAGS_quic_enforce_single_packet_chlo);
}
TEST(SetQuicFlagTest, Double) {
FLAGS_quic_bbr_cwnd_gain = 3.0;
SetQuicFlagByName("FLAGS_quic_bbr_cwnd_gain", "1.5");
EXPECT_EQ(1.5, FLAGS_quic_bbr_cwnd_gain);
}
TEST(SetQuicFlagTest, DoubleInvalid) {
FLAGS_quic_bbr_cwnd_gain = 3.0;
SetQuicFlagByName("FLAGS_quic_bbr_cwnd_gain", "true");
EXPECT_EQ(3.0, FLAGS_quic_bbr_cwnd_gain);
}
TEST(SetQuicFlagTest, Int64) {
FLAGS_quic_max_tracked_packet_count = 100;
SetQuicFlagByName("FLAGS_quic_max_tracked_packet_count", "5");
EXPECT_EQ(5, FLAGS_quic_max_tracked_packet_count);
}
TEST(SetQuicFlagTest, Int64Invalid) {
FLAGS_quic_max_tracked_packet_count = 100;
SetQuicFlagByName("FLAGS_quic_max_tracked_packet_count", "false");
EXPECT_EQ(100, FLAGS_quic_max_tracked_packet_count);
}
TEST(SetQuicFlagTest, Uint64) {
FLAGS_quic_key_update_confidentiality_limit = 100;
SetQuicFlagByName("FLAGS_quic_key_update_confidentiality_limit", "5");
EXPECT_EQ(5u, FLAGS_quic_key_update_confidentiality_limit);
}
TEST(SetQuicFlagTest, Uint64Invalid) {
FLAGS_quic_key_update_confidentiality_limit = 100;
SetQuicFlagByName("FLAGS_quic_key_update_confidentiality_limit", "false");
EXPECT_EQ(100u, FLAGS_quic_key_update_confidentiality_limit);
}
TEST(SetQuicFlagTest, Uint64Negative) {
FLAGS_quic_key_update_confidentiality_limit = 4096;
SetQuicFlagByName("FLAGS_quic_key_update_confidentiality_limit", "-1");
EXPECT_EQ(4096u, FLAGS_quic_key_update_confidentiality_limit);
}
TEST(SetQuicFlagTest, Int32) {
FLAGS_quic_lumpy_pacing_size = 1;
SetQuicFlagByName("FLAGS_quic_lumpy_pacing_size", "10");
EXPECT_EQ(10, FLAGS_quic_lumpy_pacing_size);
}
TEST(SetQuicFlagTest, Int32Invalid) {
FLAGS_quic_lumpy_pacing_size = 1;
SetQuicFlagByName("FLAGS_quic_lumpy_pacing_size", "false");
EXPECT_EQ(1, FLAGS_quic_lumpy_pacing_size);
}
} // namespace net::test