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

Side by Side Diff: chrome/browser/chrome_elf_init_unittest_win.cc

Issue 1841573002: [Chrome ELF] New NT registry API. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Clean up OverrideRegistry function. Created 4 years, 8 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "chrome/browser/chrome_elf_init_win.h" 5 #include "chrome/browser/chrome_elf_init_win.h"
6 6
7 #include "base/macros.h" 7 #include "base/macros.h"
8 #include "base/memory/scoped_ptr.h" 8 #include "base/memory/scoped_ptr.h"
9 #include "base/metrics/field_trial.h" 9 #include "base/metrics/field_trial.h"
10 #include "base/strings/string16.h" 10 #include "base/strings/string16.h"
(...skipping 147 matching lines...) Expand 10 before | Expand all | Expand 10 after
158 TEST_F(ChromeBlacklistTrialTest, AddFinchBlacklistToRegistry) { 158 TEST_F(ChromeBlacklistTrialTest, AddFinchBlacklistToRegistry) {
159 // Create the field trial with the blacklist enabled group. 159 // Create the field trial with the blacklist enabled group.
160 base::FieldTrialList field_trial_list( 160 base::FieldTrialList field_trial_list(
161 new metrics::SHA1EntropyProvider("test")); 161 new metrics::SHA1EntropyProvider("test"));
162 162
163 scoped_refptr<base::FieldTrial> trial(base::FieldTrialList::CreateFieldTrial( 163 scoped_refptr<base::FieldTrial> trial(base::FieldTrialList::CreateFieldTrial(
164 kBrowserBlacklistTrialName, kBrowserBlacklistTrialEnabledGroupName)); 164 kBrowserBlacklistTrialName, kBrowserBlacklistTrialEnabledGroupName));
165 165
166 // Set up the trial with the desired parameters. 166 // Set up the trial with the desired parameters.
167 std::map<std::string, std::string> desired_params; 167 std::map<std::string, std::string> desired_params;
168 desired_params["TestDllName1"] = "TestDll1.dll"; 168
169 desired_params["TestDllName2"] = "TestDll2.dll"; 169 desired_params[blacklist::kRegistryFinchListValueNameStr] =
170 "TestDll1.dll,TestDll2.dll";
170 171
171 variations::AssociateVariationParams( 172 variations::AssociateVariationParams(
172 kBrowserBlacklistTrialName, 173 kBrowserBlacklistTrialName,
173 kBrowserBlacklistTrialEnabledGroupName, 174 kBrowserBlacklistTrialEnabledGroupName,
174 desired_params); 175 desired_params);
175 176
176 // This should add the dlls in those parameters to the registry. 177 // This should add the dlls in those parameters to the registry.
177 AddFinchBlacklistToRegistry(); 178 AddFinchBlacklistToRegistry();
178 179
179 // Check that all the values in desired_params were added to the registry. 180 // Check that all the dll names in desired_params were added to the registry.
181 std::vector<std::wstring> dlls;
182
180 base::win::RegKey finch_blacklist_registry_key( 183 base::win::RegKey finch_blacklist_registry_key(
181 HKEY_CURRENT_USER, 184 HKEY_CURRENT_USER,
182 blacklist::kRegistryFinchListPath, 185 blacklist::kRegistryFinchListPath,
183 KEY_QUERY_VALUE | KEY_SET_VALUE); 186 KEY_QUERY_VALUE | KEY_SET_VALUE);
184 187
185 ASSERT_EQ(desired_params.size(), 188 ASSERT_TRUE(finch_blacklist_registry_key.HasValue(
186 finch_blacklist_registry_key.GetValueCount()); 189 blacklist::kRegistryFinchListValueName));
190 ASSERT_EQ(ERROR_SUCCESS, finch_blacklist_registry_key.ReadValues(
191 blacklist::kRegistryFinchListValueName, &dlls));
187 192
188 for (std::map<std::string, std::string>::iterator it = desired_params.begin(); 193 ASSERT_EQ(2, /* Number of dll names passed in this test. */ dlls.size());
189 it != desired_params.end(); 194 EXPECT_TRUE((dlls.at(0)).compare(L"TestDll1.dll") == 0);
robertshield 2016/04/20 05:16:09 How about: EXPECT_STREQ(L"TestDll.dll", dlls[0].c_
penny 2016/05/28 01:34:22 Done.
190 ++it) { 195 EXPECT_TRUE((dlls.at(1)).compare(L"TestDll2.dll") == 0);
191 std::wstring name = base::UTF8ToWide(it->first);
192 ASSERT_TRUE(finch_blacklist_registry_key.HasValue(name.c_str()));
193 }
194 } 196 }
195 197
196 } // namespace 198 } // namespace
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698