Correctly register test field trials in parser unittest
Previously, field_trial::FindFullName would be called before
field_trial::FieldTrialsAllowedInScopeForTesting was initialized because
member variables will be initialized after the initializer list.
Bug: webrtc:14154
Change-Id: I69098259a21a55a268d5b45949c3ed02e82ae001
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/295541
Commit-Queue: Emil Lundmark <lndmrk@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39420}
diff --git a/rtc_base/experiments/field_trial_parser_unittest.cc b/rtc_base/experiments/field_trial_parser_unittest.cc
index 33d275a..73d1153 100644
--- a/rtc_base/experiments/field_trial_parser_unittest.cc
+++ b/rtc_base/experiments/field_trial_parser_unittest.cc
@@ -30,10 +30,12 @@
FieldTrialParameter<std::string> hash =
FieldTrialParameter<std::string>("h", "a80");
- field_trial::FieldTrialsAllowedInScopeForTesting k{{kDummyExperiment}};
-
DummyExperiment()
- : DummyExperiment(field_trial::FindFullName(kDummyExperiment)) {}
+ : DummyExperiment([] {
+ field_trial::FieldTrialsAllowedInScopeForTesting k{
+ {kDummyExperiment}};
+ return field_trial::FindFullName(kDummyExperiment);
+ }()) {}
explicit DummyExperiment(absl::string_view field_trial) {
ParseFieldTrial({&enabled, &factor, &retries, &size, &ping, &hash},