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

Side by Side Diff: chrome/installer/util/install_util_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/install_util.h" 5 #include "chrome/installer/util/install_util.h"
6 6
7 #include <memory> 7 #include <memory>
8 #include <string> 8 #include <string>
9 #include <utility> 9 #include <utility>
10 10
(...skipping 29 matching lines...) Expand all
40 class TestBrowserDistribution : public BrowserDistribution { 40 class TestBrowserDistribution : public BrowserDistribution {
41 public: 41 public:
42 TestBrowserDistribution() 42 TestBrowserDistribution()
43 : BrowserDistribution(base::MakeUnique<TestAppRegistrationData>()) {} 43 : BrowserDistribution(base::MakeUnique<TestAppRegistrationData>()) {}
44 }; 44 };
45 45
46 class InstallUtilTest : public testing::Test { 46 class InstallUtilTest : public testing::Test {
47 protected: 47 protected:
48 InstallUtilTest() {} 48 InstallUtilTest() {}
49 49
50 void SetUp() override { 50 void SetUp() override { ASSERT_NO_FATAL_FAILURE(ResetRegistryOverrides()); }
51 ResetRegistryOverrides();
52 }
53 51
54 void ResetRegistryOverrides() { 52 void ResetRegistryOverrides() {
55 registry_override_manager_.reset( 53 registry_override_manager_.reset(
56 new registry_util::RegistryOverrideManager); 54 new registry_util::RegistryOverrideManager);
57 registry_override_manager_->OverrideRegistry(HKEY_CURRENT_USER); 55 ASSERT_NO_FATAL_FAILURE(
58 registry_override_manager_->OverrideRegistry(HKEY_LOCAL_MACHINE); 56 registry_override_manager_->OverrideRegistry(HKEY_CURRENT_USER));
57 ASSERT_NO_FATAL_FAILURE(
58 registry_override_manager_->OverrideRegistry(HKEY_LOCAL_MACHINE));
59 } 59 }
60 60
61 private: 61 private:
62 std::unique_ptr<registry_util::RegistryOverrideManager> 62 std::unique_ptr<registry_util::RegistryOverrideManager>
63 registry_override_manager_; 63 registry_override_manager_;
64 64
65 DISALLOW_COPY_AND_ASSIGN(InstallUtilTest); 65 DISALLOW_COPY_AND_ASSIGN(InstallUtilTest);
66 }; 66 };
67 67
68 TEST_F(InstallUtilTest, ComposeCommandLine) { 68 TEST_F(InstallUtilTest, ComposeCommandLine) {
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after
200 } 200 }
201 } 201 }
202 202
203 TEST_F(InstallUtilTest, DeleteRegistryValueIf) { 203 TEST_F(InstallUtilTest, DeleteRegistryValueIf) {
204 const HKEY root = HKEY_CURRENT_USER; 204 const HKEY root = HKEY_CURRENT_USER;
205 std::wstring key_path(L"SomeKey\\ToDelete"); 205 std::wstring key_path(L"SomeKey\\ToDelete");
206 const wchar_t value_name[] = L"some_value_name"; 206 const wchar_t value_name[] = L"some_value_name";
207 const wchar_t value[] = L"hi mom"; 207 const wchar_t value[] = L"hi mom";
208 208
209 { 209 {
210 ResetRegistryOverrides(); 210 ASSERT_NO_FATAL_FAILURE(ResetRegistryOverrides());
211 // Nothing to delete if the key isn't even there. 211 // Nothing to delete if the key isn't even there.
212 { 212 {
213 MockRegistryValuePredicate pred; 213 MockRegistryValuePredicate pred;
214 214
215 EXPECT_CALL(pred, Evaluate(_)).Times(0); 215 EXPECT_CALL(pred, Evaluate(_)).Times(0);
216 ASSERT_FALSE(RegKey(root, key_path.c_str(), KEY_QUERY_VALUE).Valid()); 216 ASSERT_FALSE(RegKey(root, key_path.c_str(), KEY_QUERY_VALUE).Valid());
217 EXPECT_EQ(InstallUtil::NOT_FOUND, 217 EXPECT_EQ(InstallUtil::NOT_FOUND,
218 InstallUtil::DeleteRegistryValueIf(root, key_path.c_str(), 218 InstallUtil::DeleteRegistryValueIf(root, key_path.c_str(),
219 WorkItem::kWow64Default, 219 WorkItem::kWow64Default,
220 value_name, pred)); 220 value_name, pred));
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
263 InstallUtil::DeleteRegistryValueIf(root, key_path.c_str(), 263 InstallUtil::DeleteRegistryValueIf(root, key_path.c_str(),
264 WorkItem::kWow64Default, 264 WorkItem::kWow64Default,
265 value_name, pred)); 265 value_name, pred));
266 EXPECT_TRUE(RegKey(root, key_path.c_str(), KEY_QUERY_VALUE).Valid()); 266 EXPECT_TRUE(RegKey(root, key_path.c_str(), KEY_QUERY_VALUE).Valid());
267 EXPECT_FALSE(RegKey(root, key_path.c_str(), 267 EXPECT_FALSE(RegKey(root, key_path.c_str(),
268 KEY_QUERY_VALUE).HasValue(value_name)); 268 KEY_QUERY_VALUE).HasValue(value_name));
269 } 269 }
270 } 270 }
271 271
272 { 272 {
273 ResetRegistryOverrides(); 273 ASSERT_NO_FATAL_FAILURE(ResetRegistryOverrides());
274 // Default value matches: delete using empty string. 274 // Default value matches: delete using empty string.
275 { 275 {
276 MockRegistryValuePredicate pred; 276 MockRegistryValuePredicate pred;
277 277
278 EXPECT_CALL(pred, Evaluate(StrEq(value))).WillOnce(Return(true)); 278 EXPECT_CALL(pred, Evaluate(StrEq(value))).WillOnce(Return(true));
279 ASSERT_EQ(ERROR_SUCCESS, 279 ASSERT_EQ(ERROR_SUCCESS,
280 RegKey(root, key_path.c_str(), 280 RegKey(root, key_path.c_str(),
281 KEY_SET_VALUE).WriteValue(L"", value)); 281 KEY_SET_VALUE).WriteValue(L"", value));
282 EXPECT_EQ(InstallUtil::DELETED, 282 EXPECT_EQ(InstallUtil::DELETED,
283 InstallUtil::DeleteRegistryValueIf(root, key_path.c_str(), 283 InstallUtil::DeleteRegistryValueIf(root, key_path.c_str(),
284 WorkItem::kWow64Default, L"", 284 WorkItem::kWow64Default, L"",
285 pred)); 285 pred));
286 EXPECT_TRUE(RegKey(root, key_path.c_str(), KEY_QUERY_VALUE).Valid()); 286 EXPECT_TRUE(RegKey(root, key_path.c_str(), KEY_QUERY_VALUE).Valid());
287 EXPECT_FALSE(RegKey(root, key_path.c_str(), 287 EXPECT_FALSE(RegKey(root, key_path.c_str(),
288 KEY_QUERY_VALUE).HasValue(L"")); 288 KEY_QUERY_VALUE).HasValue(L""));
289 } 289 }
290 } 290 }
291 291
292 { 292 {
293 ResetRegistryOverrides(); 293 ASSERT_NO_FATAL_FAILURE(ResetRegistryOverrides());
294 // Default value matches: delete using NULL. 294 // Default value matches: delete using NULL.
295 { 295 {
296 MockRegistryValuePredicate pred; 296 MockRegistryValuePredicate pred;
297 297
298 EXPECT_CALL(pred, Evaluate(StrEq(value))).WillOnce(Return(true)); 298 EXPECT_CALL(pred, Evaluate(StrEq(value))).WillOnce(Return(true));
299 ASSERT_EQ(ERROR_SUCCESS, 299 ASSERT_EQ(ERROR_SUCCESS,
300 RegKey(root, key_path.c_str(), 300 RegKey(root, key_path.c_str(),
301 KEY_SET_VALUE).WriteValue(L"", value)); 301 KEY_SET_VALUE).WriteValue(L"", value));
302 EXPECT_EQ(InstallUtil::DELETED, 302 EXPECT_EQ(InstallUtil::DELETED,
303 InstallUtil::DeleteRegistryValueIf(root, key_path.c_str(), 303 InstallUtil::DeleteRegistryValueIf(root, key_path.c_str(),
(...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after
497 ASSERT_TRUE(list->Do()); 497 ASSERT_TRUE(list->Do());
498 EXPECT_EQ(current_version, 498 EXPECT_EQ(current_version,
499 InstallUtil::GetDowngradeVersion(system_install, &dist)); 499 InstallUtil::GetDowngradeVersion(system_install, &dist));
500 list.reset(WorkItem::CreateWorkItemList()); 500 list.reset(WorkItem::CreateWorkItemList());
501 InstallUtil::AddUpdateDowngradeVersionItem( 501 InstallUtil::AddUpdateDowngradeVersionItem(
502 system_install, nullptr, lower_new_version_1, &dist, list.get()); 502 system_install, nullptr, lower_new_version_1, &dist, list.get());
503 ASSERT_TRUE(list->Do()); 503 ASSERT_TRUE(list->Do());
504 ASSERT_FALSE( 504 ASSERT_FALSE(
505 InstallUtil::GetDowngradeVersion(system_install, &dist).IsValid()); 505 InstallUtil::GetDowngradeVersion(system_install, &dist).IsValid());
506 } 506 }
OLDNEW
« no previous file with comments | « chrome/installer/util/google_update_settings_unittest.cc ('k') | chrome/installer/util/product_state_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698