| Index: chrome/browser/chrome_elf_init_unittest_win.cc
|
| diff --git a/chrome/browser/chrome_elf_init_unittest_win.cc b/chrome/browser/chrome_elf_init_unittest_win.cc
|
| index b7cee8af896a99a6487b227ea91689dc24c476e9..441f73665707f1f8dbc3bddc08729fb3ef70f91c 100644
|
| --- a/chrome/browser/chrome_elf_init_unittest_win.cc
|
| +++ b/chrome/browser/chrome_elf_init_unittest_win.cc
|
| @@ -6,11 +6,14 @@
|
|
|
| #include "base/basictypes.h"
|
| #include "base/memory/scoped_ptr.h"
|
| +#include "base/metrics/field_trial.h"
|
| #include "base/strings/string16.h"
|
| +#include "base/strings/string_util.h"
|
| #include "base/strings/utf_string_conversions.h"
|
| #include "base/test/test_reg_util_win.h"
|
| #include "chrome/common/chrome_version_info.h"
|
| #include "chrome_elf/chrome_elf_constants.h"
|
| +#include "components/variations/entropy_provider.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
| #include "version.h" // NOLINT
|
|
|
| @@ -54,20 +57,47 @@ class ChromeBlacklistTrialTest : public testing::Test {
|
| DISALLOW_COPY_AND_ASSIGN(ChromeBlacklistTrialTest);
|
| };
|
|
|
| -
|
| -// Ensure that the default trial deletes any existing blacklist beacons.
|
| +// Ensure that the default trial sets up the blacklist beacons.
|
| TEST_F(ChromeBlacklistTrialTest, DefaultRun) {
|
| // Set some dummy values as beacons.
|
| blacklist_registry_key_->WriteValue(blacklist::kBeaconState,
|
| + blacklist::BLACKLIST_DISABLED);
|
| + blacklist_registry_key_->WriteValue(blacklist::kBeaconVersion, L"Data");
|
| +
|
| + // This setup code should result in the default group, which should have
|
| + // the blacklist set up.
|
| + InitializeChromeElf();
|
| +
|
| + // Ensure the beacon values are now correct, indicating the
|
| + // blacklist beacon was setup.
|
| + ASSERT_EQ(blacklist::BLACKLIST_ENABLED, GetBlacklistState());
|
| + chrome::VersionInfo version_info;
|
| + base::string16 version(base::UTF8ToUTF16(version_info.Version()));
|
| + ASSERT_EQ(version, GetBlacklistVersion());
|
| +}
|
| +
|
| +
|
| +// Ensure that the blacklist is disabled for any users in the
|
| +// "BlacklistDisabled" finch group.
|
| +TEST_F(ChromeBlacklistTrialTest, BlacklistDisabledRun) {
|
| + // Set the beacons to enabled values.
|
| + blacklist_registry_key_->WriteValue(blacklist::kBeaconState,
|
| blacklist::BLACKLIST_ENABLED);
|
| blacklist_registry_key_->WriteValue(blacklist::kBeaconVersion, L"Data");
|
|
|
| - // This setup code should result in the default group, which should remove
|
| - // all the beacon values.
|
| + // Create the field trial with the blacklist disabled group.
|
| + base::FieldTrialList field_trial_list(
|
| + new metrics::SHA1EntropyProvider("test"));
|
| +
|
| + scoped_refptr<base::FieldTrial> trial(
|
| + base::FieldTrialList::CreateFieldTrial(
|
| + kBrowserBlacklistTrialName, kBrowserBlacklistTrialDisabledGroupName));
|
| +
|
| + // This setup code should now delete any existing blacklist beacons.
|
| InitializeChromeElf();
|
|
|
| - // Ensure that invalid values are returned to indicate that the
|
| - // beacon values are gone.
|
| + // Ensure invalid values are returned to indicate that the beacon
|
| + // values are indeed gone.
|
| ASSERT_EQ(blacklist::BLACKLIST_STATE_MAX, GetBlacklistState());
|
| ASSERT_EQ(base::string16(), GetBlacklistVersion());
|
| }
|
|
|