
Adds SimulatedTimeClient, a class that simulates time so congestion controllers can be tested using the Scenario test framework without running in real time. This allows using simplified scenario tests as unit tests, narrowing the gap between end to end tests and unit tests. Bug: webrtc:9510 Change-Id: I61ab388bd610f636b926675b1f14b8d85e3c1114 Reviewed-on: https://webrtc-review.googlesource.com/99801 Commit-Queue: Sebastian Jansson <srte@webrtc.org> Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org> Cr-Commit-Position: refs/heads/master@{#24890}
198 lines
5.6 KiB
Plaintext
198 lines
5.6 KiB
Plaintext
# Copyright (c) 2018 The WebRTC project authors. All Rights Reserved.
|
|
#
|
|
# Use of this source code is governed by a BSD-style license
|
|
# that can be found in the LICENSE file in the root of the source
|
|
# tree. An additional intellectual property rights grant can be found
|
|
# in the file PATENTS. All contributing project authors may
|
|
# be found in the AUTHORS file in the root of the source tree.
|
|
|
|
import("../../../webrtc.gni")
|
|
|
|
config("bwe_test_logging") {
|
|
if (rtc_enable_bwe_test_logging) {
|
|
defines = [ "BWE_TEST_LOGGING_COMPILE_TIME_ENABLE=1" ]
|
|
} else {
|
|
defines = [ "BWE_TEST_LOGGING_COMPILE_TIME_ENABLE=0" ]
|
|
}
|
|
}
|
|
|
|
rtc_static_library("goog_cc") {
|
|
configs += [ ":bwe_test_logging" ]
|
|
sources = [
|
|
"goog_cc_factory.cc",
|
|
"goog_cc_network_control.cc",
|
|
"goog_cc_network_control.h",
|
|
"include/goog_cc_factory.h",
|
|
]
|
|
|
|
deps = [
|
|
":alr_detector",
|
|
":delay_based_bwe",
|
|
":estimators",
|
|
":probe_controller",
|
|
"../..:module_api",
|
|
"../../..:webrtc_common",
|
|
"../../../api/transport:network_control",
|
|
"../../../logging:rtc_event_log_api",
|
|
"../../../logging:rtc_event_pacing",
|
|
"../../../rtc_base:checks",
|
|
"../../../rtc_base:rtc_base_approved",
|
|
"../../../rtc_base/experiments:alr_experiment",
|
|
"../../../rtc_base/experiments:field_trial_parser",
|
|
"../../../system_wrappers",
|
|
"../../../system_wrappers:field_trial",
|
|
"../../bitrate_controller",
|
|
"../../remote_bitrate_estimator",
|
|
"../../rtp_rtcp:rtp_rtcp_format",
|
|
"//third_party/abseil-cpp/absl/memory",
|
|
"//third_party/abseil-cpp/absl/types:optional",
|
|
]
|
|
}
|
|
|
|
rtc_source_set("alr_detector") {
|
|
sources = [
|
|
"alr_detector.cc",
|
|
"alr_detector.h",
|
|
]
|
|
deps = [
|
|
"../../..:webrtc_common",
|
|
"../../../logging:rtc_event_log_api",
|
|
"../../../logging:rtc_event_pacing",
|
|
"../../../rtc_base:checks",
|
|
"../../../rtc_base:rtc_base_approved",
|
|
"../../../rtc_base/experiments:alr_experiment",
|
|
"../../../system_wrappers:field_trial",
|
|
"../../pacing:interval_budget",
|
|
"//third_party/abseil-cpp/absl/memory",
|
|
"//third_party/abseil-cpp/absl/types:optional",
|
|
]
|
|
}
|
|
rtc_source_set("estimators") {
|
|
configs += [ ":bwe_test_logging" ]
|
|
sources = [
|
|
"acknowledged_bitrate_estimator.cc",
|
|
"acknowledged_bitrate_estimator.h",
|
|
"bitrate_estimator.cc",
|
|
"bitrate_estimator.h",
|
|
"delay_increase_detector_interface.h",
|
|
"median_slope_estimator.cc",
|
|
"median_slope_estimator.h",
|
|
"probe_bitrate_estimator.cc",
|
|
"probe_bitrate_estimator.h",
|
|
"trendline_estimator.cc",
|
|
"trendline_estimator.h",
|
|
]
|
|
|
|
deps = [
|
|
"../../../logging:rtc_event_bwe",
|
|
"../../../logging:rtc_event_log_api",
|
|
"../../../rtc_base:checks",
|
|
"../../../rtc_base:rtc_base_approved",
|
|
"../../../rtc_base:rtc_numerics",
|
|
"../../../rtc_base:safe_minmax",
|
|
"../../../system_wrappers:field_trial",
|
|
"../../remote_bitrate_estimator",
|
|
"../../rtp_rtcp:rtp_rtcp_format",
|
|
"//third_party/abseil-cpp/absl/memory",
|
|
"//third_party/abseil-cpp/absl/types:optional",
|
|
]
|
|
}
|
|
|
|
rtc_source_set("delay_based_bwe") {
|
|
configs += [ ":bwe_test_logging" ]
|
|
sources = [
|
|
"delay_based_bwe.cc",
|
|
"delay_based_bwe.h",
|
|
]
|
|
|
|
deps = [
|
|
":estimators",
|
|
"../../../logging:rtc_event_bwe",
|
|
"../../../logging:rtc_event_log_api",
|
|
"../../../rtc_base:checks",
|
|
"../../../rtc_base:rtc_base_approved",
|
|
"../../../system_wrappers:field_trial",
|
|
"../../../system_wrappers:metrics",
|
|
"../../pacing",
|
|
"../../remote_bitrate_estimator",
|
|
"//third_party/abseil-cpp/absl/memory",
|
|
]
|
|
}
|
|
|
|
rtc_source_set("probe_controller") {
|
|
sources = [
|
|
"probe_controller.cc",
|
|
"probe_controller.h",
|
|
]
|
|
|
|
deps = [
|
|
"../../../api/transport:network_control",
|
|
"../../../logging:rtc_event_log_api",
|
|
"../../../logging:rtc_event_pacing",
|
|
"../../../rtc_base:checks",
|
|
"../../../rtc_base:rtc_base_approved",
|
|
"../../../rtc_base/system:unused",
|
|
"../../../system_wrappers:field_trial",
|
|
"../../../system_wrappers:metrics",
|
|
"//third_party/abseil-cpp/absl/types:optional",
|
|
]
|
|
}
|
|
|
|
if (rtc_include_tests) {
|
|
rtc_source_set("test_goog_cc_printer") {
|
|
testonly = true
|
|
sources = [
|
|
"test/goog_cc_printer.cc",
|
|
"test/goog_cc_printer.h",
|
|
]
|
|
deps = [
|
|
":estimators",
|
|
":goog_cc",
|
|
"..:test_controller_printer",
|
|
]
|
|
}
|
|
rtc_source_set("goog_cc_unittests") {
|
|
testonly = true
|
|
|
|
sources = [
|
|
"acknowledged_bitrate_estimator_unittest.cc",
|
|
"alr_detector_unittest.cc",
|
|
"delay_based_bwe_unittest.cc",
|
|
"delay_based_bwe_unittest_helper.cc",
|
|
"delay_based_bwe_unittest_helper.h",
|
|
"goog_cc_network_control_unittest.cc",
|
|
"median_slope_estimator_unittest.cc",
|
|
"probe_bitrate_estimator_unittest.cc",
|
|
"probe_controller_unittest.cc",
|
|
"trendline_estimator_unittest.cc",
|
|
]
|
|
if (!build_with_chromium && is_clang) {
|
|
suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
|
|
}
|
|
deps = [
|
|
":alr_detector",
|
|
":delay_based_bwe",
|
|
":estimators",
|
|
":goog_cc",
|
|
":probe_controller",
|
|
"../../../api/transport:network_control",
|
|
"../../../api/transport:network_control_test",
|
|
"../../../logging:mocks",
|
|
"../../../rtc_base:checks",
|
|
"../../../rtc_base:rtc_base_approved",
|
|
"../../../rtc_base:rtc_base_tests_utils",
|
|
"../../../rtc_base/experiments:alr_experiment",
|
|
"../../../system_wrappers",
|
|
"../../../system_wrappers:field_trial",
|
|
"../../../test:field_trial",
|
|
"../../../test:test_support",
|
|
"../../../test/scenario",
|
|
"../../pacing",
|
|
"../../remote_bitrate_estimator",
|
|
"../../rtp_rtcp:rtp_rtcp_format",
|
|
"//testing/gmock",
|
|
"//third_party/abseil-cpp/absl/memory",
|
|
]
|
|
}
|
|
}
|