Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(54)

Unified Diff: base/metrics/field_trial_unittest.cc

Issue 153913009: Make some field trials unforceable via command-line in the official build. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: 1 param per line Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « base/metrics/field_trial.cc ('k') | chrome/browser/chrome_browser_main.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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"));
« no previous file with comments | « base/metrics/field_trial.cc ('k') | chrome/browser/chrome_browser_main.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698