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

Side by Side Diff: chrome/installer/util/google_update_settings_unittest.cc

Issue 2692843002: Fail tests fast if overriding the Windows registry fails. (Closed)
Patch Set: sync to position 450085 Created 3 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 unified diff | Download patch
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 "chrome/installer/util/google_update_settings.h" 5 #include "chrome/installer/util/google_update_settings.h"
6 6
7 #include <windows.h> 7 #include <windows.h>
8 #include <shlwapi.h> // For SHDeleteKey. 8 #include <shlwapi.h> // For SHDeleteKey.
9 #include <stddef.h> 9 #include <stddef.h>
10 10
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
45 // and user settings. 45 // and user settings.
46 class GoogleUpdateSettingsTest : public testing::Test { 46 class GoogleUpdateSettingsTest : public testing::Test {
47 protected: 47 protected:
48 enum SystemUserInstall { 48 enum SystemUserInstall {
49 SYSTEM_INSTALL, 49 SYSTEM_INSTALL,
50 USER_INSTALL, 50 USER_INSTALL,
51 }; 51 };
52 52
53 GoogleUpdateSettingsTest() 53 GoogleUpdateSettingsTest()
54 : program_files_override_(base::DIR_PROGRAM_FILES), 54 : program_files_override_(base::DIR_PROGRAM_FILES),
55 program_files_x86_override_(base::DIR_PROGRAM_FILESX86) { 55 program_files_x86_override_(base::DIR_PROGRAM_FILESX86) {}
56 registry_overrides_.OverrideRegistry(HKEY_LOCAL_MACHINE); 56
57 registry_overrides_.OverrideRegistry(HKEY_CURRENT_USER); 57 void SetUp() override {
58 ASSERT_NO_FATAL_FAILURE(
59 registry_overrides_.OverrideRegistry(HKEY_LOCAL_MACHINE));
60 ASSERT_NO_FATAL_FAILURE(
61 registry_overrides_.OverrideRegistry(HKEY_CURRENT_USER));
58 } 62 }
59 63
60 void SetApField(SystemUserInstall is_system, const wchar_t* value) { 64 void SetApField(SystemUserInstall is_system, const wchar_t* value) {
61 HKEY root = is_system == SYSTEM_INSTALL ? 65 HKEY root = is_system == SYSTEM_INSTALL ?
62 HKEY_LOCAL_MACHINE : HKEY_CURRENT_USER; 66 HKEY_LOCAL_MACHINE : HKEY_CURRENT_USER;
63 67
64 RegKey update_key; 68 RegKey update_key;
65 BrowserDistribution* dist = BrowserDistribution::GetDistribution(); 69 BrowserDistribution* dist = BrowserDistribution::GetDistribution();
66 base::string16 path = dist->GetStateKey(); 70 base::string16 path = dist->GetStateKey();
67 ASSERT_EQ(ERROR_SUCCESS, update_key.Create(root, path.c_str(), KEY_WRITE)); 71 ASSERT_EQ(ERROR_SUCCESS, update_key.Create(root, path.c_str(), KEY_WRITE));
(...skipping 1128 matching lines...) Expand 10 before | Expand all | Expand 10 after
1196 1200
1197 void CollectStatsConsent::TearDownTestCase() { 1201 void CollectStatsConsent::TearDownTestCase() {
1198 delete chrome_version_key_; 1202 delete chrome_version_key_;
1199 delete chrome_state_key_; 1203 delete chrome_state_key_;
1200 delete chrome_state_medium_key_; 1204 delete chrome_state_medium_key_;
1201 } 1205 }
1202 1206
1203 // Install the registry override and apply the settings to the registry. 1207 // Install the registry override and apply the settings to the registry.
1204 void CollectStatsConsent::SetUp() { 1208 void CollectStatsConsent::SetUp() {
1205 // Override both HKLM and HKCU as tests may touch either/both. 1209 // Override both HKLM and HKCU as tests may touch either/both.
1206 override_manager_.OverrideRegistry(HKEY_LOCAL_MACHINE); 1210 ASSERT_NO_FATAL_FAILURE(
1207 override_manager_.OverrideRegistry(HKEY_CURRENT_USER); 1211 override_manager_.OverrideRegistry(HKEY_LOCAL_MACHINE));
1212 ASSERT_NO_FATAL_FAILURE(
1213 override_manager_.OverrideRegistry(HKEY_CURRENT_USER));
1208 1214
1209 const StatsState& stats_state = GetParam(); 1215 const StatsState& stats_state = GetParam();
1210 const HKEY root_key = stats_state.root_key(); 1216 const HKEY root_key = stats_state.root_key();
1211 ApplySetting(stats_state.state_value(), root_key, *chrome_state_key_); 1217 ApplySetting(stats_state.state_value(), root_key, *chrome_state_key_);
1212 ApplySetting(stats_state.state_medium_value(), root_key, 1218 ApplySetting(stats_state.state_medium_value(), root_key,
1213 *chrome_state_medium_key_); 1219 *chrome_state_medium_key_);
1214 } 1220 }
1215 1221
1216 // Write the correct value to represent |setting| in the registry. 1222 // Write the correct value to represent |setting| in the registry.
1217 void CollectStatsConsent::ApplySetting(StatsState::StateSetting setting, 1223 void CollectStatsConsent::ApplySetting(StatsState::StateSetting setting,
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
1307 StatsState::TRUE_SETTING), 1313 StatsState::TRUE_SETTING),
1308 StatsState(StatsState::kSystemLevel, 1314 StatsState(StatsState::kSystemLevel,
1309 StatsState::TRUE_SETTING, 1315 StatsState::TRUE_SETTING,
1310 StatsState::NO_SETTING), 1316 StatsState::NO_SETTING),
1311 StatsState(StatsState::kSystemLevel, 1317 StatsState(StatsState::kSystemLevel,
1312 StatsState::TRUE_SETTING, 1318 StatsState::TRUE_SETTING,
1313 StatsState::FALSE_SETTING), 1319 StatsState::FALSE_SETTING),
1314 StatsState(StatsState::kSystemLevel, 1320 StatsState(StatsState::kSystemLevel,
1315 StatsState::TRUE_SETTING, 1321 StatsState::TRUE_SETTING,
1316 StatsState::TRUE_SETTING))); 1322 StatsState::TRUE_SETTING)));
OLDNEW
« no previous file with comments | « chrome/installer/util/delete_reg_value_work_item_unittest.cc ('k') | chrome/installer/util/install_util_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698