OLD | NEW |
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/setup/installer_state.h" | 5 #include "chrome/installer/setup/installer_state.h" |
6 | 6 |
7 #include <windows.h> | 7 #include <windows.h> |
8 #include <stddef.h> | 8 #include <stddef.h> |
9 | 9 |
10 #include <fstream> | 10 #include <fstream> |
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
80 EXPECT_EQ(system_level, installer_state.system_install()); | 80 EXPECT_EQ(system_level, installer_state.system_install()); |
81 | 81 |
82 const char kCurrentVersion[] = "1.2.3.4"; | 82 const char kCurrentVersion[] = "1.2.3.4"; |
83 base::Version current_version(kCurrentVersion); | 83 base::Version current_version(kCurrentVersion); |
84 | 84 |
85 HKEY root = system_level ? HKEY_LOCAL_MACHINE : HKEY_CURRENT_USER; | 85 HKEY root = system_level ? HKEY_LOCAL_MACHINE : HKEY_CURRENT_USER; |
86 EXPECT_EQ(root, installer_state.root_key()); | 86 EXPECT_EQ(root, installer_state.root_key()); |
87 | 87 |
88 { | 88 { |
89 RegistryOverrideManager override_manager; | 89 RegistryOverrideManager override_manager; |
90 override_manager.OverrideRegistry(root); | 90 ASSERT_NO_FATAL_FAILURE(override_manager.OverrideRegistry(root)); |
91 BrowserDistribution* dist = BrowserDistribution::GetDistribution(); | 91 BrowserDistribution* dist = BrowserDistribution::GetDistribution(); |
92 RegKey chrome_key(root, dist->GetVersionKey().c_str(), KEY_ALL_ACCESS); | 92 RegKey chrome_key(root, dist->GetVersionKey().c_str(), KEY_ALL_ACCESS); |
93 EXPECT_TRUE(chrome_key.Valid()); | 93 EXPECT_TRUE(chrome_key.Valid()); |
94 if (chrome_key.Valid()) { | 94 if (chrome_key.Valid()) { |
95 chrome_key.WriteValue(google_update::kRegVersionField, | 95 chrome_key.WriteValue(google_update::kRegVersionField, |
96 base::UTF8ToWide( | 96 base::UTF8ToWide( |
97 current_version.GetString()).c_str()); | 97 current_version.GetString()).c_str()); |
98 machine_state.Initialize(); | 98 machine_state.Initialize(); |
99 // TODO(tommi): Also test for when there exists a new_chrome.exe. | 99 // TODO(tommi): Also test for when there exists a new_chrome.exe. |
100 base::Version found_version( | 100 base::Version found_version( |
(...skipping 15 matching lines...) Expand all Loading... |
116 DWORD dw_value; | 116 DWORD dw_value; |
117 | 117 |
118 // Check results for a fresh install of Chrome and the same for an attempt at | 118 // Check results for a fresh install of Chrome and the same for an attempt at |
119 // multi-install, which is now ignored. | 119 // multi-install, which is now ignored. |
120 static constexpr const wchar_t* kCommandLines[] = { | 120 static constexpr const wchar_t* kCommandLines[] = { |
121 L"setup.exe --system-level", | 121 L"setup.exe --system-level", |
122 L"setup.exe --system-level --multi-install --chrome", | 122 L"setup.exe --system-level --multi-install --chrome", |
123 }; | 123 }; |
124 for (const wchar_t* command_line : kCommandLines) { | 124 for (const wchar_t* command_line : kCommandLines) { |
125 RegistryOverrideManager override_manager; | 125 RegistryOverrideManager override_manager; |
126 override_manager.OverrideRegistry(root); | 126 ASSERT_NO_FATAL_FAILURE(override_manager.OverrideRegistry(root)); |
127 base::CommandLine cmd_line = base::CommandLine::FromString(command_line); | 127 base::CommandLine cmd_line = base::CommandLine::FromString(command_line); |
128 const MasterPreferences prefs(cmd_line); | 128 const MasterPreferences prefs(cmd_line); |
129 InstallationState machine_state; | 129 InstallationState machine_state; |
130 machine_state.Initialize(); | 130 machine_state.Initialize(); |
131 InstallerState state; | 131 InstallerState state; |
132 state.Initialize(cmd_line, prefs, machine_state); | 132 state.Initialize(cmd_line, prefs, machine_state); |
133 state.WriteInstallerResult(installer::FIRST_INSTALL_SUCCESS, | 133 state.WriteInstallerResult(installer::FIRST_INSTALL_SUCCESS, |
134 IDS_INSTALL_OS_ERROR_BASE, &launch_cmd); | 134 IDS_INSTALL_OS_ERROR_BASE, &launch_cmd); |
135 BrowserDistribution* distribution = BrowserDistribution::GetDistribution(); | 135 BrowserDistribution* distribution = BrowserDistribution::GetDistribution(); |
136 EXPECT_EQ(ERROR_SUCCESS, | 136 EXPECT_EQ(ERROR_SUCCESS, |
(...skipping 20 matching lines...) Expand all Loading... |
157 PathService::Get(base::DIR_PROGRAM_FILES, &temp); | 157 PathService::Get(base::DIR_PROGRAM_FILES, &temp); |
158 base::ScopedPathOverride program_files_override(base::DIR_PROGRAM_FILES, | 158 base::ScopedPathOverride program_files_override(base::DIR_PROGRAM_FILES, |
159 temp); | 159 temp); |
160 PathService::Get(base::DIR_PROGRAM_FILESX86, &temp); | 160 PathService::Get(base::DIR_PROGRAM_FILESX86, &temp); |
161 base::ScopedPathOverride program_filesx86_override(base::DIR_PROGRAM_FILESX86, | 161 base::ScopedPathOverride program_filesx86_override(base::DIR_PROGRAM_FILESX86, |
162 temp); | 162 temp); |
163 PathService::Get(base::DIR_LOCAL_APP_DATA, &temp); | 163 PathService::Get(base::DIR_LOCAL_APP_DATA, &temp); |
164 base::ScopedPathOverride local_app_data_override(base::DIR_LOCAL_APP_DATA, | 164 base::ScopedPathOverride local_app_data_override(base::DIR_LOCAL_APP_DATA, |
165 temp); | 165 temp); |
166 registry_util::RegistryOverrideManager override_manager; | 166 registry_util::RegistryOverrideManager override_manager; |
167 override_manager.OverrideRegistry(HKEY_CURRENT_USER); | 167 ASSERT_NO_FATAL_FAILURE(override_manager.OverrideRegistry(HKEY_CURRENT_USER)); |
168 override_manager.OverrideRegistry(HKEY_LOCAL_MACHINE); | 168 ASSERT_NO_FATAL_FAILURE( |
| 169 override_manager.OverrideRegistry(HKEY_LOCAL_MACHINE)); |
169 | 170 |
170 InstallationState machine_state; | 171 InstallationState machine_state; |
171 machine_state.Initialize(); | 172 machine_state.Initialize(); |
172 | 173 |
173 InstallerState installer_state; | 174 InstallerState installer_state; |
174 | 175 |
175 // Initialize the instance to install user-level Chrome. | 176 // Initialize the instance to install user-level Chrome. |
176 { | 177 { |
177 base::CommandLine cmd_line(base::CommandLine::FromString(L"setup.exe")); | 178 base::CommandLine cmd_line(base::CommandLine::FromString(L"setup.exe")); |
178 MasterPreferences prefs(cmd_line); | 179 MasterPreferences prefs(cmd_line); |
(...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
351 // Critical update newer than the new version. | 352 // Critical update newer than the new version. |
352 EXPECT_FALSE( | 353 EXPECT_FALSE( |
353 installer_state.DetermineCriticalVersion(NULL, *pv_version_).IsValid()); | 354 installer_state.DetermineCriticalVersion(NULL, *pv_version_).IsValid()); |
354 EXPECT_FALSE( | 355 EXPECT_FALSE( |
355 installer_state.DetermineCriticalVersion(opv_version_, *pv_version_) | 356 installer_state.DetermineCriticalVersion(opv_version_, *pv_version_) |
356 .IsValid()); | 357 .IsValid()); |
357 EXPECT_FALSE( | 358 EXPECT_FALSE( |
358 installer_state.DetermineCriticalVersion(pv_version_, *pv_version_) | 359 installer_state.DetermineCriticalVersion(pv_version_, *pv_version_) |
359 .IsValid()); | 360 .IsValid()); |
360 } | 361 } |
OLD | NEW |