AgcManagerDirect: improve AgcMinMicLevelExperimentEnabled50 test

Also test the field trial with valid parameter and non-empty suffix.

Bug: webrtc:7494
Change-Id: I3d871b41dd71c951ac56e180b3c09cda4c3627d4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/251441
Reviewed-by: Hanna Silen <silen@webrtc.org>
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36031}
diff --git a/modules/audio_processing/agc/agc_manager_direct_unittest.cc b/modules/audio_processing/agc/agc_manager_direct_unittest.cc
index d727449..5c9b383 100644
--- a/modules/audio_processing/agc/agc_manager_direct_unittest.cc
+++ b/modules/audio_processing/agc/agc_manager_direct_unittest.cc
@@ -128,13 +128,15 @@
   }
 }
 
-std::string GetAgcMinMicLevelExperimentFieldTrial(int enabled_value) {
+std::string GetAgcMinMicLevelExperimentFieldTrial(
+    int enabled_value,
+    const std::string& suffix = "") {
   RTC_DCHECK_GE(enabled_value, 0);
   RTC_DCHECK_LE(enabled_value, 255);
   char field_trial_buffer[64];
   rtc::SimpleStringBuilder builder(field_trial_buffer);
   builder << "WebRTC-Audio-AgcMinMicLevelExperiment/Enabled-" << enabled_value
-          << "/";
+          << suffix << "/";
   return builder.str();
 }
 
@@ -883,13 +885,16 @@
 }
 
 TEST(AgcManagerDirectStandaloneTest, AgcMinMicLevelExperimentDisabled) {
-  test::ScopedFieldTrials field_trial(
-      "WebRTC-Audio-AgcMinMicLevelExperiment/Disabled/");
-  std::unique_ptr<AgcManagerDirect> manager =
-      CreateAgcManagerDirect(kInitialVolume, kClippedLevelStep,
-                             kClippedRatioThreshold, kClippedWaitFrames);
-  EXPECT_EQ(manager->channel_agcs_[0]->min_mic_level(), kMinMicLevel);
-  EXPECT_EQ(manager->channel_agcs_[0]->startup_min_level(), kInitialVolume);
+  for (const std::string& field_trial_suffix : {"", "_20220210"}) {
+    test::ScopedFieldTrials field_trial(
+        "WebRTC-Audio-AgcMinMicLevelExperiment/Disabled" + field_trial_suffix +
+        "/");
+    std::unique_ptr<AgcManagerDirect> manager =
+        CreateAgcManagerDirect(kInitialVolume, kClippedLevelStep,
+                               kClippedRatioThreshold, kClippedWaitFrames);
+    EXPECT_EQ(manager->channel_agcs_[0]->min_mic_level(), kMinMicLevel);
+    EXPECT_EQ(manager->channel_agcs_[0]->startup_min_level(), kInitialVolume);
+  }
 }
 
 // Checks that a field-trial parameter outside of the valid range [0,255] is
@@ -921,13 +926,16 @@
 // changed.
 TEST(AgcManagerDirectStandaloneTest, AgcMinMicLevelExperimentEnabled50) {
   constexpr int kMinMicLevelOverride = 50;
-  test::ScopedFieldTrials field_trial(
-      GetAgcMinMicLevelExperimentFieldTrial(kMinMicLevelOverride));
-  std::unique_ptr<AgcManagerDirect> manager =
-      CreateAgcManagerDirect(kInitialVolume, kClippedLevelStep,
-                             kClippedRatioThreshold, kClippedWaitFrames);
-  EXPECT_EQ(manager->channel_agcs_[0]->min_mic_level(), kMinMicLevelOverride);
-  EXPECT_EQ(manager->channel_agcs_[0]->startup_min_level(), kInitialVolume);
+  for (const std::string& field_trial_suffix : {"", "_20220210"}) {
+    SCOPED_TRACE(field_trial_suffix);
+    test::ScopedFieldTrials field_trial(GetAgcMinMicLevelExperimentFieldTrial(
+        kMinMicLevelOverride, field_trial_suffix));
+    std::unique_ptr<AgcManagerDirect> manager =
+        CreateAgcManagerDirect(kInitialVolume, kClippedLevelStep,
+                               kClippedRatioThreshold, kClippedWaitFrames);
+    EXPECT_EQ(manager->channel_agcs_[0]->min_mic_level(), kMinMicLevelOverride);
+    EXPECT_EQ(manager->channel_agcs_[0]->startup_min_level(), kInitialVolume);
+  }
 }
 
 // Checks that, when the "WebRTC-Audio-AgcMinMicLevelExperiment" field trial is