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

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

Issue 1109043003: Apply automated fixits for Chrome clang plugin to chrome. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 7 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) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 <windows.h> 5 #include <windows.h>
6 #include <shlobj.h> 6 #include <shlobj.h>
7 7
8 #include "base/files/file_util.h" 8 #include "base/files/file_util.h"
9 #include "base/memory/scoped_ptr.h" 9 #include "base/memory/scoped_ptr.h"
10 #include "base/strings/string_util.h" 10 #include "base/strings/string_util.h"
11 #include "base/win/registry.h" 11 #include "base/win/registry.h"
12 #include "chrome/installer/util/delete_after_reboot_helper.h" 12 #include "chrome/installer/util/delete_after_reboot_helper.h"
13 #include "testing/gtest/include/gtest/gtest.h" 13 #include "testing/gtest/include/gtest/gtest.h"
14 14
15 namespace { 15 namespace {
16 16
17 // These tests exercise the Delete-After-Reboot code which requires 17 // These tests exercise the Delete-After-Reboot code which requires
18 // modifications to HKLM. This will fail on Vista and above if the user 18 // modifications to HKLM. This will fail on Vista and above if the user
19 // is not an admin or if UAC is on. 19 // is not an admin or if UAC is on.
20 // I tried using RegOverridePredefKey to test, but MoveFileEx ignore this 20 // I tried using RegOverridePredefKey to test, but MoveFileEx ignore this
21 // even on 32 bit machines :-( As such, running this test may pollute 21 // even on 32 bit machines :-( As such, running this test may pollute
22 // your PendingFileRenameOperations value. 22 // your PendingFileRenameOperations value.
23 class DeleteAfterRebootHelperTest : public testing::Test { 23 class DeleteAfterRebootHelperTest : public testing::Test {
24 protected: 24 protected:
25 virtual void SetUp() { 25 void SetUp() override {
26 // Create a temporary directory for testing and fill it with some files. 26 // Create a temporary directory for testing and fill it with some files.
27 base::CreateNewTempDirectory(base::FilePath::StringType(), &temp_dir_); 27 base::CreateNewTempDirectory(base::FilePath::StringType(), &temp_dir_);
28 base::CreateTemporaryFileInDir(temp_dir_, &temp_file_); 28 base::CreateTemporaryFileInDir(temp_dir_, &temp_file_);
29 29
30 temp_subdir_ = temp_dir_.Append(L"subdir"); 30 temp_subdir_ = temp_dir_.Append(L"subdir");
31 base::CreateDirectory(temp_subdir_); 31 base::CreateDirectory(temp_subdir_);
32 base::CreateTemporaryFileInDir(temp_subdir_, &temp_subdir_file_); 32 base::CreateTemporaryFileInDir(temp_subdir_, &temp_subdir_file_);
33 33
34 // Copy the current pending moves and then clear it if we can: 34 // Copy the current pending moves and then clear it if we can:
35 if (IsUserAnAdmin()) { 35 if (IsUserAnAdmin()) {
36 GetPendingMovesValue(&original_pending_moves_); 36 GetPendingMovesValue(&original_pending_moves_);
37 } 37 }
38 } 38 }
39 virtual void TearDown() { 39 void TearDown() override {
40 // Delete the temporary directory if it's still there. 40 // Delete the temporary directory if it's still there.
41 base::DeleteFile(temp_dir_, true); 41 base::DeleteFile(temp_dir_, true);
42 42
43 // Try and restore the pending moves value, if we have one. 43 // Try and restore the pending moves value, if we have one.
44 if (IsUserAnAdmin() && original_pending_moves_.size() > 1) { 44 if (IsUserAnAdmin() && original_pending_moves_.size() > 1) {
45 base::win::RegKey session_manager_key( 45 base::win::RegKey session_manager_key(
46 HKEY_LOCAL_MACHINE, kSessionManagerKey, 46 HKEY_LOCAL_MACHINE, kSessionManagerKey,
47 KEY_CREATE_SUB_KEY | KEY_SET_VALUE); 47 KEY_CREATE_SUB_KEY | KEY_SET_VALUE);
48 if (!session_manager_key.Handle()) { 48 if (!session_manager_key.Handle()) {
49 // Couldn't open / create the key. 49 // Couldn't open / create the key.
(...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after
243 243
244 EXPECT_EQ(initial_pending_moves_size, pending_moves.size()); 244 EXPECT_EQ(initial_pending_moves_size, pending_moves.size());
245 245
246 std::vector<PendingMove>::const_iterator check_iter(pending_moves.begin()); 246 std::vector<PendingMove>::const_iterator check_iter(pending_moves.begin());
247 for (; check_iter != pending_moves.end(); ++check_iter) { 247 for (; check_iter != pending_moves.end(); ++check_iter) {
248 base::FilePath move_path(check_iter->first); 248 base::FilePath move_path(check_iter->first);
249 EXPECT_FALSE(MatchPendingDeletePath(short_temp_file, move_path)); 249 EXPECT_FALSE(MatchPendingDeletePath(short_temp_file, move_path));
250 } 250 }
251 } 251 }
252 252
OLDNEW
« no previous file with comments | « chrome/installer/util/create_reg_key_work_item_unittest.cc ('k') | chrome/installer/util/delete_reg_key_work_item_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698