set_quic_flag_test.cc 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. // Copyright (c) 2018 The Chromium Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style license that can be
  3. // found in the LICENSE file.
  4. #include "net/quic/set_quic_flag.h"
  5. #include "net/third_party/quiche/src/quiche/quic/platform/api/quic_flags.h"
  6. #include "testing/gtest/include/gtest/gtest.h"
  7. namespace net::test {
  8. TEST(SetQuicFlagTest, Bool) {
  9. FLAGS_quic_enforce_single_packet_chlo = true;
  10. SetQuicFlagByName("FLAGS_quic_enforce_single_packet_chlo", "false");
  11. EXPECT_FALSE(FLAGS_quic_enforce_single_packet_chlo);
  12. SetQuicFlagByName("FLAGS_quic_enforce_single_packet_chlo", "true");
  13. EXPECT_TRUE(FLAGS_quic_enforce_single_packet_chlo);
  14. SetQuicFlagByName("FLAGS_quic_enforce_single_packet_chlo", "False");
  15. EXPECT_FALSE(FLAGS_quic_enforce_single_packet_chlo);
  16. SetQuicFlagByName("FLAGS_quic_enforce_single_packet_chlo", "True");
  17. EXPECT_TRUE(FLAGS_quic_enforce_single_packet_chlo);
  18. }
  19. TEST(SetQuicFlagTest, Double) {
  20. FLAGS_quic_bbr_cwnd_gain = 3.0;
  21. SetQuicFlagByName("FLAGS_quic_bbr_cwnd_gain", "1.5");
  22. EXPECT_EQ(1.5, FLAGS_quic_bbr_cwnd_gain);
  23. }
  24. TEST(SetQuicFlagTest, DoubleInvalid) {
  25. FLAGS_quic_bbr_cwnd_gain = 3.0;
  26. SetQuicFlagByName("FLAGS_quic_bbr_cwnd_gain", "true");
  27. EXPECT_EQ(3.0, FLAGS_quic_bbr_cwnd_gain);
  28. }
  29. TEST(SetQuicFlagTest, Int64) {
  30. FLAGS_quic_max_tracked_packet_count = 100;
  31. SetQuicFlagByName("FLAGS_quic_max_tracked_packet_count", "5");
  32. EXPECT_EQ(5, FLAGS_quic_max_tracked_packet_count);
  33. }
  34. TEST(SetQuicFlagTest, Int64Invalid) {
  35. FLAGS_quic_max_tracked_packet_count = 100;
  36. SetQuicFlagByName("FLAGS_quic_max_tracked_packet_count", "false");
  37. EXPECT_EQ(100, FLAGS_quic_max_tracked_packet_count);
  38. }
  39. TEST(SetQuicFlagTest, Uint64) {
  40. FLAGS_quic_key_update_confidentiality_limit = 100;
  41. SetQuicFlagByName("FLAGS_quic_key_update_confidentiality_limit", "5");
  42. EXPECT_EQ(5u, FLAGS_quic_key_update_confidentiality_limit);
  43. }
  44. TEST(SetQuicFlagTest, Uint64Invalid) {
  45. FLAGS_quic_key_update_confidentiality_limit = 100;
  46. SetQuicFlagByName("FLAGS_quic_key_update_confidentiality_limit", "false");
  47. EXPECT_EQ(100u, FLAGS_quic_key_update_confidentiality_limit);
  48. }
  49. TEST(SetQuicFlagTest, Uint64Negative) {
  50. FLAGS_quic_key_update_confidentiality_limit = 4096;
  51. SetQuicFlagByName("FLAGS_quic_key_update_confidentiality_limit", "-1");
  52. EXPECT_EQ(4096u, FLAGS_quic_key_update_confidentiality_limit);
  53. }
  54. TEST(SetQuicFlagTest, Int32) {
  55. FLAGS_quic_lumpy_pacing_size = 1;
  56. SetQuicFlagByName("FLAGS_quic_lumpy_pacing_size", "10");
  57. EXPECT_EQ(10, FLAGS_quic_lumpy_pacing_size);
  58. }
  59. TEST(SetQuicFlagTest, Int32Invalid) {
  60. FLAGS_quic_lumpy_pacing_size = 1;
  61. SetQuicFlagByName("FLAGS_quic_lumpy_pacing_size", "false");
  62. EXPECT_EQ(1, FLAGS_quic_lumpy_pacing_size);
  63. }
  64. } // namespace net::test