| Index: base/metrics/field_trial_unittest.cc
|
| diff --git a/base/metrics/field_trial_unittest.cc b/base/metrics/field_trial_unittest.cc
|
| index a77633e8f097a927f5dd254e4674a0b970142053..866095ca66e74d81ae7245fa62e569d35a9ed892 100644
|
| --- a/base/metrics/field_trial_unittest.cc
|
| +++ b/base/metrics/field_trial_unittest.cc
|
| @@ -385,7 +385,8 @@ TEST_F(FieldTrialTest, Restore) {
|
| ASSERT_FALSE(FieldTrialList::TrialExists("xxx"));
|
|
|
| FieldTrialList::CreateTrialsFromString("Some_name/Winner/xxx/yyyy/",
|
| - FieldTrialList::DONT_ACTIVATE_TRIALS);
|
| + FieldTrialList::DONT_ACTIVATE_TRIALS,
|
| + std::set<std::string>());
|
|
|
| FieldTrial* trial = FieldTrialList::Find("Some_name");
|
| ASSERT_NE(static_cast<FieldTrial*>(NULL), trial);
|
| @@ -400,13 +401,17 @@ TEST_F(FieldTrialTest, Restore) {
|
|
|
| TEST_F(FieldTrialTest, BogusRestore) {
|
| EXPECT_FALSE(FieldTrialList::CreateTrialsFromString(
|
| - "MissingSlash", FieldTrialList::DONT_ACTIVATE_TRIALS));
|
| + "MissingSlash", FieldTrialList::DONT_ACTIVATE_TRIALS,
|
| + std::set<std::string>()));
|
| EXPECT_FALSE(FieldTrialList::CreateTrialsFromString(
|
| - "MissingGroupName/", FieldTrialList::DONT_ACTIVATE_TRIALS));
|
| + "MissingGroupName/", FieldTrialList::DONT_ACTIVATE_TRIALS,
|
| + std::set<std::string>()));
|
| EXPECT_FALSE(FieldTrialList::CreateTrialsFromString(
|
| - "MissingFinalSlash/gname", FieldTrialList::DONT_ACTIVATE_TRIALS));
|
| + "MissingFinalSlash/gname", FieldTrialList::DONT_ACTIVATE_TRIALS,
|
| + std::set<std::string>()));
|
| EXPECT_FALSE(FieldTrialList::CreateTrialsFromString(
|
| - "noname, only group/", FieldTrialList::DONT_ACTIVATE_TRIALS));
|
| + "noname, only group/", FieldTrialList::DONT_ACTIVATE_TRIALS,
|
| + std::set<std::string>()));
|
| }
|
|
|
| TEST_F(FieldTrialTest, DuplicateRestore) {
|
| @@ -420,18 +425,21 @@ TEST_F(FieldTrialTest, DuplicateRestore) {
|
|
|
| // It is OK if we redundantly specify a winner.
|
| EXPECT_TRUE(FieldTrialList::CreateTrialsFromString(
|
| - save_string, FieldTrialList::DONT_ACTIVATE_TRIALS));
|
| + save_string, FieldTrialList::DONT_ACTIVATE_TRIALS,
|
| + std::set<std::string>()));
|
|
|
| // But it is an error to try to change to a different winner.
|
| EXPECT_FALSE(FieldTrialList::CreateTrialsFromString(
|
| - "Some name/Loser/", FieldTrialList::DONT_ACTIVATE_TRIALS));
|
| + "Some name/Loser/", FieldTrialList::DONT_ACTIVATE_TRIALS,
|
| + std::set<std::string>()));
|
| }
|
|
|
| TEST_F(FieldTrialTest, CreateTrialsFromStringActive) {
|
| ASSERT_FALSE(FieldTrialList::TrialExists("Abc"));
|
| ASSERT_FALSE(FieldTrialList::TrialExists("Xyz"));
|
| ASSERT_TRUE(FieldTrialList::CreateTrialsFromString(
|
| - "Abc/def/Xyz/zyx/", FieldTrialList::ACTIVATE_TRIALS));
|
| + "Abc/def/Xyz/zyx/", FieldTrialList::ACTIVATE_TRIALS,
|
| + std::set<std::string>()));
|
|
|
| FieldTrial::ActiveGroups active_groups;
|
| FieldTrialList::GetActiveFieldTrialGroups(&active_groups);
|
| @@ -446,7 +454,8 @@ TEST_F(FieldTrialTest, CreateTrialsFromStringNotActive) {
|
| ASSERT_FALSE(FieldTrialList::TrialExists("Abc"));
|
| ASSERT_FALSE(FieldTrialList::TrialExists("Xyz"));
|
| ASSERT_TRUE(FieldTrialList::CreateTrialsFromString(
|
| - "Abc/def/Xyz/zyx/", FieldTrialList::DONT_ACTIVATE_TRIALS));
|
| + "Abc/def/Xyz/zyx/", FieldTrialList::DONT_ACTIVATE_TRIALS,
|
| + std::set<std::string>()));
|
|
|
| FieldTrial::ActiveGroups active_groups;
|
| FieldTrialList::GetActiveFieldTrialGroups(&active_groups);
|
| @@ -469,7 +478,7 @@ TEST_F(FieldTrialTest, CreateTrialsFromStringActiveObserver) {
|
|
|
| TestFieldTrialObserver observer;
|
| ASSERT_TRUE(FieldTrialList::CreateTrialsFromString(
|
| - "Abc/def/", FieldTrialList::ACTIVATE_TRIALS));
|
| + "Abc/def/", FieldTrialList::ACTIVATE_TRIALS, std::set<std::string>()));
|
|
|
| RunLoop().RunUntilIdle();
|
| EXPECT_EQ("Abc", observer.trial_name());
|
| @@ -481,7 +490,8 @@ TEST_F(FieldTrialTest, CreateTrialsFromStringNotActiveObserver) {
|
|
|
| TestFieldTrialObserver observer;
|
| ASSERT_TRUE(FieldTrialList::CreateTrialsFromString(
|
| - "Abc/def/", FieldTrialList::DONT_ACTIVATE_TRIALS));
|
| + "Abc/def/", FieldTrialList::DONT_ACTIVATE_TRIALS,
|
| + std::set<std::string>()));
|
| RunLoop().RunUntilIdle();
|
| // Observer shouldn't be notified.
|
| EXPECT_TRUE(observer.trial_name().empty());
|
| @@ -494,6 +504,48 @@ TEST_F(FieldTrialTest, CreateTrialsFromStringNotActiveObserver) {
|
| EXPECT_EQ("def", observer.group_name());
|
| }
|
|
|
| +TEST_F(FieldTrialTest, CreateTrialsFromStringWithIgnoredFieldTrials) {
|
| + ASSERT_FALSE(FieldTrialList::TrialExists("Unaccepted1"));
|
| + ASSERT_FALSE(FieldTrialList::TrialExists("Foo"));
|
| + ASSERT_FALSE(FieldTrialList::TrialExists("Unaccepted2"));
|
| + ASSERT_FALSE(FieldTrialList::TrialExists("Bar"));
|
| + ASSERT_FALSE(FieldTrialList::TrialExists("Unaccepted3"));
|
| +
|
| + std::set<std::string> ignored_trial_names;
|
| + ignored_trial_names.insert("Unaccepted1");
|
| + ignored_trial_names.insert("Unaccepted2");
|
| + ignored_trial_names.insert("Unaccepted3");
|
| +
|
| + FieldTrialList::CreateTrialsFromString(
|
| + "Unaccepted1/Unaccepted1_name/"
|
| + "Foo/Foo_name/"
|
| + "Unaccepted2/Unaccepted2_name/"
|
| + "Bar/Bar_name/"
|
| + "Unaccepted3/Unaccepted3_name/",
|
| + FieldTrialList::DONT_ACTIVATE_TRIALS,
|
| + ignored_trial_names);
|
| +
|
| + EXPECT_FALSE(FieldTrialList::TrialExists("Unaccepted1"));
|
| + EXPECT_TRUE(FieldTrialList::TrialExists("Foo"));
|
| + EXPECT_FALSE(FieldTrialList::TrialExists("Unaccepted2"));
|
| + EXPECT_TRUE(FieldTrialList::TrialExists("Bar"));
|
| + EXPECT_FALSE(FieldTrialList::TrialExists("Unaccepted3"));
|
| +
|
| + FieldTrial::ActiveGroups active_groups;
|
| + FieldTrialList::GetActiveFieldTrialGroups(&active_groups);
|
| + EXPECT_TRUE(active_groups.empty());
|
| +
|
| + FieldTrial* trial = FieldTrialList::Find("Foo");
|
| + ASSERT_NE(static_cast<FieldTrial*>(NULL), trial);
|
| + EXPECT_EQ("Foo", trial->trial_name());
|
| + EXPECT_EQ("Foo_name", trial->group_name());
|
| +
|
| + trial = FieldTrialList::Find("Bar");
|
| + ASSERT_NE(static_cast<FieldTrial*>(NULL), trial);
|
| + EXPECT_EQ("Bar", trial->trial_name());
|
| + EXPECT_EQ("Bar_name", trial->group_name());
|
| +}
|
| +
|
| TEST_F(FieldTrialTest, CreateFieldTrial) {
|
| ASSERT_FALSE(FieldTrialList::TrialExists("Some_name"));
|
|
|
|
|