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

Side by Side Diff: base/metrics/field_trial_unittest.cc

Issue 706203003: Update from https://crrev.com/303153 (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 6 years, 1 month 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 unified diff | Download patch
« no previous file with comments | « base/metrics/field_trial.cc ('k') | base/posix/unix_domain_socket_linux.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "base/metrics/field_trial.h" 5 #include "base/metrics/field_trial.h"
6 6
7 #include "base/build_time.h" 7 #include "base/build_time.h"
8 #include "base/message_loop/message_loop.h" 8 #include "base/message_loop/message_loop.h"
9 #include "base/rand_util.h" 9 #include "base/rand_util.h"
10 #include "base/run_loop.h" 10 #include "base/run_loop.h"
(...skipping 410 matching lines...) Expand 10 before | Expand all | Expand 10 after
421 TEST_F(FieldTrialTest, BogusRestore) { 421 TEST_F(FieldTrialTest, BogusRestore) {
422 EXPECT_FALSE(FieldTrialList::CreateTrialsFromString( 422 EXPECT_FALSE(FieldTrialList::CreateTrialsFromString(
423 "MissingSlash", FieldTrialList::DONT_ACTIVATE_TRIALS, 423 "MissingSlash", FieldTrialList::DONT_ACTIVATE_TRIALS,
424 std::set<std::string>())); 424 std::set<std::string>()));
425 EXPECT_FALSE(FieldTrialList::CreateTrialsFromString( 425 EXPECT_FALSE(FieldTrialList::CreateTrialsFromString(
426 "MissingGroupName/", FieldTrialList::DONT_ACTIVATE_TRIALS, 426 "MissingGroupName/", FieldTrialList::DONT_ACTIVATE_TRIALS,
427 std::set<std::string>())); 427 std::set<std::string>()));
428 EXPECT_FALSE(FieldTrialList::CreateTrialsFromString( 428 EXPECT_FALSE(FieldTrialList::CreateTrialsFromString(
429 "noname, only group/", FieldTrialList::DONT_ACTIVATE_TRIALS, 429 "noname, only group/", FieldTrialList::DONT_ACTIVATE_TRIALS,
430 std::set<std::string>())); 430 std::set<std::string>()));
431 EXPECT_FALSE(FieldTrialList::CreateTrialsFromString(
432 "/emptyname", FieldTrialList::DONT_ACTIVATE_TRIALS,
433 std::set<std::string>()));
434 EXPECT_FALSE(FieldTrialList::CreateTrialsFromString(
435 "*/emptyname", FieldTrialList::DONT_ACTIVATE_TRIALS,
436 std::set<std::string>()));
431 } 437 }
432 438
433 TEST_F(FieldTrialTest, DuplicateRestore) { 439 TEST_F(FieldTrialTest, DuplicateRestore) {
434 scoped_refptr<FieldTrial> trial = 440 scoped_refptr<FieldTrial> trial =
435 CreateFieldTrial("Some name", 10, "Default", NULL); 441 CreateFieldTrial("Some name", 10, "Default", NULL);
436 trial->AppendGroup("Winner", 10); 442 trial->AppendGroup("Winner", 10);
437 // Finalize the group selection by accessing the selected group. 443 // Finalize the group selection by accessing the selected group.
438 trial->group(); 444 trial->group();
439 std::string save_string; 445 std::string save_string;
440 FieldTrialList::StatesToString(&save_string); 446 FieldTrialList::StatesToString(&save_string);
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
483 EXPECT_EQ("zyx", FieldTrialList::FindFullName("Xyz")); 489 EXPECT_EQ("zyx", FieldTrialList::FindFullName("Xyz"));
484 490
485 FieldTrialList::GetActiveFieldTrialGroups(&active_groups); 491 FieldTrialList::GetActiveFieldTrialGroups(&active_groups);
486 ASSERT_EQ(2U, active_groups.size()); 492 ASSERT_EQ(2U, active_groups.size());
487 EXPECT_EQ("Abc", active_groups[0].trial_name); 493 EXPECT_EQ("Abc", active_groups[0].trial_name);
488 EXPECT_EQ("def", active_groups[0].group_name); 494 EXPECT_EQ("def", active_groups[0].group_name);
489 EXPECT_EQ("Xyz", active_groups[1].trial_name); 495 EXPECT_EQ("Xyz", active_groups[1].trial_name);
490 EXPECT_EQ("zyx", active_groups[1].group_name); 496 EXPECT_EQ("zyx", active_groups[1].group_name);
491 } 497 }
492 498
499 TEST_F(FieldTrialTest, CreateTrialsFromStringForceActivation) {
500 ASSERT_FALSE(FieldTrialList::TrialExists("Abc"));
501 ASSERT_FALSE(FieldTrialList::TrialExists("def"));
502 ASSERT_FALSE(FieldTrialList::TrialExists("Xyz"));
503 ASSERT_TRUE(FieldTrialList::CreateTrialsFromString(
504 "*Abc/cba/def/fed/*Xyz/zyx/", FieldTrialList::DONT_ACTIVATE_TRIALS,
505 std::set<std::string>()));
506
507 FieldTrial::ActiveGroups active_groups;
508 FieldTrialList::GetActiveFieldTrialGroups(&active_groups);
509 ASSERT_EQ(2U, active_groups.size());
510 EXPECT_EQ("Abc", active_groups[0].trial_name);
511 EXPECT_EQ("cba", active_groups[0].group_name);
512 EXPECT_EQ("Xyz", active_groups[1].trial_name);
513 EXPECT_EQ("zyx", active_groups[1].group_name);
514 }
515
493 TEST_F(FieldTrialTest, CreateTrialsFromStringActiveObserver) { 516 TEST_F(FieldTrialTest, CreateTrialsFromStringActiveObserver) {
494 ASSERT_FALSE(FieldTrialList::TrialExists("Abc")); 517 ASSERT_FALSE(FieldTrialList::TrialExists("Abc"));
495 518
496 TestFieldTrialObserver observer; 519 TestFieldTrialObserver observer;
497 ASSERT_TRUE(FieldTrialList::CreateTrialsFromString( 520 ASSERT_TRUE(FieldTrialList::CreateTrialsFromString(
498 "Abc/def/", FieldTrialList::ACTIVATE_TRIALS, std::set<std::string>())); 521 "Abc/def/", FieldTrialList::ACTIVATE_TRIALS, std::set<std::string>()));
499 522
500 RunLoop().RunUntilIdle(); 523 RunLoop().RunUntilIdle();
501 EXPECT_EQ("Abc", observer.trial_name()); 524 EXPECT_EQ("Abc", observer.trial_name());
502 EXPECT_EQ("def", observer.group_name()); 525 EXPECT_EQ("def", observer.group_name());
(...skipping 493 matching lines...) Expand 10 before | Expand all | Expand 10 after
996 // Trying to instantiate a one-time randomized field trial before the 1019 // Trying to instantiate a one-time randomized field trial before the
997 // FieldTrialList is created should crash. 1020 // FieldTrialList is created should crash.
998 EXPECT_DEATH(FieldTrialList::FactoryGetFieldTrial( 1021 EXPECT_DEATH(FieldTrialList::FactoryGetFieldTrial(
999 "OneTimeRandomizedTrialWithoutFieldTrialList", 100, kDefaultGroupName, 1022 "OneTimeRandomizedTrialWithoutFieldTrialList", 100, kDefaultGroupName,
1000 base::FieldTrialList::kNoExpirationYear, 1, 1, 1023 base::FieldTrialList::kNoExpirationYear, 1, 1,
1001 base::FieldTrial::ONE_TIME_RANDOMIZED, NULL), ""); 1024 base::FieldTrial::ONE_TIME_RANDOMIZED, NULL), "");
1002 } 1025 }
1003 #endif 1026 #endif
1004 1027
1005 } // namespace base 1028 } // namespace base
OLDNEW
« no previous file with comments | « base/metrics/field_trial.cc ('k') | base/posix/unix_domain_socket_linux.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698