gfe-relnote: For QUIC BBR tests, add the ability to save test results and compare with saved results. Test only, not protected.
Note for Chromium/Envoy merge: quic_test_output_impl.(h|cc) needs to implement two functions:
1) QuicSaveTestOutputImpl: Can be implemented as a call to QuicRecordTestOutputToFile.
2) QuicLoadTestOutputImpl: Can be implemented using platform-specific file read apis. For example: use base::ReadFileToString in Chromium.
Usage:
$ blaze build third_party/quic/core/congestion_control:bbr_sender_test
// Save test results(one file per test) to <some directory>
$ QUIC_TEST_OUTPUT_DIR=<some directory> blaze-bin/third_party/quic/core/congestion_control/bbr_sender_test --quic_bbr_test_regression_mode=record
// Compare with test results in <some directory>, test fails if e.g. a test takes longer than the duration recorded in test results.
$ QUIC_TEST_OUTPUT_DIR=<some directory> blaze-bin/third_party/quic/core/congestion_control/bbr_sender_test --quic_bbr_test_regression_mode=regress
PiperOrigin-RevId: 284566985
Change-Id: I9610766cde7d014d2ddcdb629cd83626362af8d6
diff --git a/quic/test_tools/send_algorithm_test_result.proto b/quic/test_tools/send_algorithm_test_result.proto
new file mode 100644
index 0000000..a836c47
--- /dev/null
+++ b/quic/test_tools/send_algorithm_test_result.proto
@@ -0,0 +1,15 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+syntax = "proto2";
+
+option optimize_for = LITE_RUNTIME;
+
+package quic;
+
+message SendAlgorithmTestResult {
+ optional string test_name = 1;
+ optional uint64 random_seed = 2;
+ optional int64 simulated_duration_micros = 3;
+}