Fix ALR field trial parsing
Bug: chromium:770429 Change-Id: Ic869e74ec7086f5a2cb3968c0d2335fd7df7f618 Reviewed-on: https://webrtc-review.googlesource.com/5483 Reviewed-by: Philip Eliasson <philipel@webrtc.org> Commit-Queue: Erik Språng <sprang@webrtc.org> Cr-Commit-Position: refs/heads/master@{#20076}
This commit is contained in:
parent
c545daf7c5
commit
b378a22544
@ -65,6 +65,7 @@ if (rtc_include_tests) {
|
||||
"../../rtc_base:rtc_base_approved",
|
||||
"../../rtc_base:rtc_base_tests_utils",
|
||||
"../../system_wrappers:system_wrappers",
|
||||
"../../test:field_trial",
|
||||
"../../test:test_support",
|
||||
"../rtp_rtcp",
|
||||
"../rtp_rtcp:mock_rtp_rtcp",
|
||||
|
||||
@ -83,8 +83,9 @@ AlrDetector::ParseAlrSettingsFromFieldTrial(const char* experiment_name) {
|
||||
std::string group_name = field_trial::FindFullName(experiment_name);
|
||||
|
||||
const std::string kIgnoredSuffix = "_Dogfood";
|
||||
if (group_name.rfind(kIgnoredSuffix) ==
|
||||
group_name.length() - kIgnoredSuffix.length()) {
|
||||
std::string::size_type suffix_pos = group_name.rfind(kIgnoredSuffix);
|
||||
if (suffix_pos != std::string::npos &&
|
||||
suffix_pos == group_name.length() - kIgnoredSuffix.length()) {
|
||||
group_name.resize(group_name.length() - kIgnoredSuffix.length());
|
||||
}
|
||||
|
||||
|
||||
@ -10,6 +10,7 @@
|
||||
|
||||
#include "modules/pacing/alr_detector.h"
|
||||
|
||||
#include "test/field_trial.h"
|
||||
#include "test/gtest.h"
|
||||
|
||||
namespace {
|
||||
@ -142,4 +143,28 @@ TEST_F(AlrDetectorTest, BandwidthEstimateChanges) {
|
||||
EXPECT_FALSE(alr_detector_.GetApplicationLimitedRegionStartTime());
|
||||
}
|
||||
|
||||
TEST_F(AlrDetectorTest, ParseControlFieldTrial) {
|
||||
webrtc::test::ScopedFieldTrials field_trial(
|
||||
"WebRTC-ProbingScreenshareBwe/Control/");
|
||||
rtc::Optional<AlrDetector::AlrExperimentSettings> parsed_params =
|
||||
AlrDetector::ParseAlrSettingsFromFieldTrial(
|
||||
"WebRTC-ProbingScreenshareBwe");
|
||||
EXPECT_FALSE(static_cast<bool>(parsed_params));
|
||||
}
|
||||
|
||||
TEST_F(AlrDetectorTest, ParseActiveFieldTrial) {
|
||||
webrtc::test::ScopedFieldTrials field_trial(
|
||||
"WebRTC-ProbingScreenshareBwe/1.1,2875,85,20,-20,1/");
|
||||
rtc::Optional<AlrDetector::AlrExperimentSettings> parsed_params =
|
||||
AlrDetector::ParseAlrSettingsFromFieldTrial(
|
||||
"WebRTC-ProbingScreenshareBwe");
|
||||
ASSERT_TRUE(static_cast<bool>(parsed_params));
|
||||
EXPECT_EQ(1.1f, parsed_params->pacing_factor);
|
||||
EXPECT_EQ(2875, parsed_params->max_paced_queue_time);
|
||||
EXPECT_EQ(85, parsed_params->alr_bandwidth_usage_percent);
|
||||
EXPECT_EQ(20, parsed_params->alr_start_budget_level_percent);
|
||||
EXPECT_EQ(-20, parsed_params->alr_stop_budget_level_percent);
|
||||
EXPECT_EQ(1, parsed_params->group_id);
|
||||
}
|
||||
|
||||
} // namespace webrtc
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user