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 <windows.h> | 5 #include <windows.h> |
6 | 6 |
7 #include <fstream> | 7 #include <fstream> |
8 | 8 |
9 #include "base/base_paths.h" | 9 #include "base/base_paths.h" |
10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
90 wchar_t text_content_1[] = L"delete me"; | 90 wchar_t text_content_1[] = L"delete me"; |
91 wchar_t text_content_2[] = L"delete me as well"; | 91 wchar_t text_content_2[] = L"delete me as well"; |
92 | 92 |
93 // Delete version directories. Everything lower than the given version | 93 // Delete version directories. Everything lower than the given version |
94 // should be deleted. | 94 // should be deleted. |
95 TEST_F(InstallerStateTest, Delete) { | 95 TEST_F(InstallerStateTest, Delete) { |
96 // TODO(grt): move common stuff into the test fixture. | 96 // TODO(grt): move common stuff into the test fixture. |
97 // Create a Chrome dir | 97 // Create a Chrome dir |
98 base::FilePath chrome_dir(test_dir_.path()); | 98 base::FilePath chrome_dir(test_dir_.path()); |
99 chrome_dir = chrome_dir.AppendASCII("chrome"); | 99 chrome_dir = chrome_dir.AppendASCII("chrome"); |
100 file_util::CreateDirectory(chrome_dir); | 100 base::CreateDirectory(chrome_dir); |
101 ASSERT_TRUE(base::PathExists(chrome_dir)); | 101 ASSERT_TRUE(base::PathExists(chrome_dir)); |
102 | 102 |
103 base::FilePath chrome_dir_1(chrome_dir); | 103 base::FilePath chrome_dir_1(chrome_dir); |
104 chrome_dir_1 = chrome_dir_1.AppendASCII("1.0.1.0"); | 104 chrome_dir_1 = chrome_dir_1.AppendASCII("1.0.1.0"); |
105 file_util::CreateDirectory(chrome_dir_1); | 105 base::CreateDirectory(chrome_dir_1); |
106 ASSERT_TRUE(base::PathExists(chrome_dir_1)); | 106 ASSERT_TRUE(base::PathExists(chrome_dir_1)); |
107 | 107 |
108 base::FilePath chrome_dir_2(chrome_dir); | 108 base::FilePath chrome_dir_2(chrome_dir); |
109 chrome_dir_2 = chrome_dir_2.AppendASCII("1.0.2.0"); | 109 chrome_dir_2 = chrome_dir_2.AppendASCII("1.0.2.0"); |
110 file_util::CreateDirectory(chrome_dir_2); | 110 base::CreateDirectory(chrome_dir_2); |
111 ASSERT_TRUE(base::PathExists(chrome_dir_2)); | 111 ASSERT_TRUE(base::PathExists(chrome_dir_2)); |
112 | 112 |
113 base::FilePath chrome_dir_3(chrome_dir); | 113 base::FilePath chrome_dir_3(chrome_dir); |
114 chrome_dir_3 = chrome_dir_3.AppendASCII("1.0.3.0"); | 114 chrome_dir_3 = chrome_dir_3.AppendASCII("1.0.3.0"); |
115 file_util::CreateDirectory(chrome_dir_3); | 115 base::CreateDirectory(chrome_dir_3); |
116 ASSERT_TRUE(base::PathExists(chrome_dir_3)); | 116 ASSERT_TRUE(base::PathExists(chrome_dir_3)); |
117 | 117 |
118 base::FilePath chrome_dir_4(chrome_dir); | 118 base::FilePath chrome_dir_4(chrome_dir); |
119 chrome_dir_4 = chrome_dir_4.AppendASCII("1.0.4.0"); | 119 chrome_dir_4 = chrome_dir_4.AppendASCII("1.0.4.0"); |
120 file_util::CreateDirectory(chrome_dir_4); | 120 base::CreateDirectory(chrome_dir_4); |
121 ASSERT_TRUE(base::PathExists(chrome_dir_4)); | 121 ASSERT_TRUE(base::PathExists(chrome_dir_4)); |
122 | 122 |
123 base::FilePath chrome_dll_1(chrome_dir_1); | 123 base::FilePath chrome_dll_1(chrome_dir_1); |
124 chrome_dll_1 = chrome_dll_1.AppendASCII("chrome.dll"); | 124 chrome_dll_1 = chrome_dll_1.AppendASCII("chrome.dll"); |
125 CreateTextFile(chrome_dll_1.value(), text_content_1); | 125 CreateTextFile(chrome_dll_1.value(), text_content_1); |
126 ASSERT_TRUE(base::PathExists(chrome_dll_1)); | 126 ASSERT_TRUE(base::PathExists(chrome_dll_1)); |
127 | 127 |
128 base::FilePath chrome_dll_2(chrome_dir_2); | 128 base::FilePath chrome_dll_2(chrome_dir_2); |
129 chrome_dll_2 = chrome_dll_2.AppendASCII("chrome.dll"); | 129 chrome_dll_2 = chrome_dll_2.AppendASCII("chrome.dll"); |
130 CreateTextFile(chrome_dll_2.value(), text_content_1); | 130 CreateTextFile(chrome_dll_2.value(), text_content_1); |
(...skipping 25 matching lines...) Expand all Loading... |
156 EXPECT_FALSE(base::PathExists(chrome_dir_3)); | 156 EXPECT_FALSE(base::PathExists(chrome_dir_3)); |
157 // the latest version should stay | 157 // the latest version should stay |
158 EXPECT_TRUE(base::PathExists(chrome_dll_4)); | 158 EXPECT_TRUE(base::PathExists(chrome_dll_4)); |
159 } | 159 } |
160 | 160 |
161 // Delete older version directories, keeping the one in used intact. | 161 // Delete older version directories, keeping the one in used intact. |
162 TEST_F(InstallerStateTest, DeleteInUsed) { | 162 TEST_F(InstallerStateTest, DeleteInUsed) { |
163 // Create a Chrome dir | 163 // Create a Chrome dir |
164 base::FilePath chrome_dir(test_dir_.path()); | 164 base::FilePath chrome_dir(test_dir_.path()); |
165 chrome_dir = chrome_dir.AppendASCII("chrome"); | 165 chrome_dir = chrome_dir.AppendASCII("chrome"); |
166 file_util::CreateDirectory(chrome_dir); | 166 base::CreateDirectory(chrome_dir); |
167 ASSERT_TRUE(base::PathExists(chrome_dir)); | 167 ASSERT_TRUE(base::PathExists(chrome_dir)); |
168 | 168 |
169 base::FilePath chrome_dir_1(chrome_dir); | 169 base::FilePath chrome_dir_1(chrome_dir); |
170 chrome_dir_1 = chrome_dir_1.AppendASCII("1.0.1.0"); | 170 chrome_dir_1 = chrome_dir_1.AppendASCII("1.0.1.0"); |
171 file_util::CreateDirectory(chrome_dir_1); | 171 base::CreateDirectory(chrome_dir_1); |
172 ASSERT_TRUE(base::PathExists(chrome_dir_1)); | 172 ASSERT_TRUE(base::PathExists(chrome_dir_1)); |
173 | 173 |
174 base::FilePath chrome_dir_2(chrome_dir); | 174 base::FilePath chrome_dir_2(chrome_dir); |
175 chrome_dir_2 = chrome_dir_2.AppendASCII("1.0.2.0"); | 175 chrome_dir_2 = chrome_dir_2.AppendASCII("1.0.2.0"); |
176 file_util::CreateDirectory(chrome_dir_2); | 176 base::CreateDirectory(chrome_dir_2); |
177 ASSERT_TRUE(base::PathExists(chrome_dir_2)); | 177 ASSERT_TRUE(base::PathExists(chrome_dir_2)); |
178 | 178 |
179 base::FilePath chrome_dir_3(chrome_dir); | 179 base::FilePath chrome_dir_3(chrome_dir); |
180 chrome_dir_3 = chrome_dir_3.AppendASCII("1.0.3.0"); | 180 chrome_dir_3 = chrome_dir_3.AppendASCII("1.0.3.0"); |
181 file_util::CreateDirectory(chrome_dir_3); | 181 base::CreateDirectory(chrome_dir_3); |
182 ASSERT_TRUE(base::PathExists(chrome_dir_3)); | 182 ASSERT_TRUE(base::PathExists(chrome_dir_3)); |
183 | 183 |
184 base::FilePath chrome_dir_4(chrome_dir); | 184 base::FilePath chrome_dir_4(chrome_dir); |
185 chrome_dir_4 = chrome_dir_4.AppendASCII("1.0.4.0"); | 185 chrome_dir_4 = chrome_dir_4.AppendASCII("1.0.4.0"); |
186 file_util::CreateDirectory(chrome_dir_4); | 186 base::CreateDirectory(chrome_dir_4); |
187 ASSERT_TRUE(base::PathExists(chrome_dir_4)); | 187 ASSERT_TRUE(base::PathExists(chrome_dir_4)); |
188 | 188 |
189 base::FilePath chrome_dll_1(chrome_dir_1); | 189 base::FilePath chrome_dll_1(chrome_dir_1); |
190 chrome_dll_1 = chrome_dll_1.AppendASCII("chrome.dll"); | 190 chrome_dll_1 = chrome_dll_1.AppendASCII("chrome.dll"); |
191 CreateTextFile(chrome_dll_1.value(), text_content_1); | 191 CreateTextFile(chrome_dll_1.value(), text_content_1); |
192 ASSERT_TRUE(base::PathExists(chrome_dll_1)); | 192 ASSERT_TRUE(base::PathExists(chrome_dll_1)); |
193 | 193 |
194 base::FilePath chrome_dll_2(chrome_dir_2); | 194 base::FilePath chrome_dll_2(chrome_dir_2); |
195 chrome_dll_2 = chrome_dll_2.AppendASCII("chrome.dll"); | 195 chrome_dll_2 = chrome_dll_2.AppendASCII("chrome.dll"); |
196 CreateTextFile(chrome_dll_2.value(), text_content_1); | 196 CreateTextFile(chrome_dll_2.value(), text_content_1); |
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
277 | 277 |
278 base::FilePath new_version_dir(installer_state.target_path().Append( | 278 base::FilePath new_version_dir(installer_state.target_path().Append( |
279 UTF8ToWide(new_version.GetString()))); | 279 UTF8ToWide(new_version.GetString()))); |
280 base::FilePath old_version_dir(installer_state.target_path().Append( | 280 base::FilePath old_version_dir(installer_state.target_path().Append( |
281 UTF8ToWide(old_version.GetString()))); | 281 UTF8ToWide(old_version.GetString()))); |
282 | 282 |
283 EXPECT_FALSE(base::PathExists(new_version_dir)); | 283 EXPECT_FALSE(base::PathExists(new_version_dir)); |
284 EXPECT_FALSE(base::PathExists(old_version_dir)); | 284 EXPECT_FALSE(base::PathExists(old_version_dir)); |
285 | 285 |
286 EXPECT_FALSE(base::PathExists(installer_dir)); | 286 EXPECT_FALSE(base::PathExists(installer_dir)); |
287 file_util::CreateDirectory(installer_dir); | 287 base::CreateDirectory(installer_dir); |
288 EXPECT_TRUE(base::PathExists(new_version_dir)); | 288 EXPECT_TRUE(base::PathExists(new_version_dir)); |
289 | 289 |
290 file_util::CreateDirectory(old_version_dir); | 290 base::CreateDirectory(old_version_dir); |
291 EXPECT_TRUE(base::PathExists(old_version_dir)); | 291 EXPECT_TRUE(base::PathExists(old_version_dir)); |
292 | 292 |
293 // Create a fake chrome.dll key file in the old version directory. This | 293 // Create a fake chrome.dll key file in the old version directory. This |
294 // should prevent the old version directory from getting deleted. | 294 // should prevent the old version directory from getting deleted. |
295 base::FilePath old_chrome_dll(old_version_dir.Append(installer::kChromeDll)); | 295 base::FilePath old_chrome_dll(old_version_dir.Append(installer::kChromeDll)); |
296 EXPECT_FALSE(base::PathExists(old_chrome_dll)); | 296 EXPECT_FALSE(base::PathExists(old_chrome_dll)); |
297 | 297 |
298 // Hold on to the file exclusively to prevent the directory from | 298 // Hold on to the file exclusively to prevent the directory from |
299 // being deleted. | 299 // being deleted. |
300 base::win::ScopedHandle file( | 300 base::win::ScopedHandle file( |
(...skipping 226 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
527 installer_state.target_path().Append(ASCIIToWide(kOldVersion)), | 527 installer_state.target_path().Append(ASCIIToWide(kOldVersion)), |
528 installer_state.target_path().Append(ASCIIToWide(kOldChromeExeVersion)), | 528 installer_state.target_path().Append(ASCIIToWide(kOldChromeExeVersion)), |
529 installer_state.target_path().Append(L"2.1.1.0"), | 529 installer_state.target_path().Append(L"2.1.1.0"), |
530 installer_state.target_path().Append(ASCIIToWide(kChromeExeVersion)), | 530 installer_state.target_path().Append(ASCIIToWide(kChromeExeVersion)), |
531 installer_state.target_path().Append(ASCIIToWide(kNewVersion)), | 531 installer_state.target_path().Append(ASCIIToWide(kNewVersion)), |
532 installer_state.target_path().Append(L"3.9.1.1"), | 532 installer_state.target_path().Append(L"3.9.1.1"), |
533 }; | 533 }; |
534 | 534 |
535 // Create the version directories. | 535 // Create the version directories. |
536 for (int i = 0; i < arraysize(version_dirs); i++) { | 536 for (int i = 0; i < arraysize(version_dirs); i++) { |
537 file_util::CreateDirectory(version_dirs[i]); | 537 base::CreateDirectory(version_dirs[i]); |
538 EXPECT_TRUE(base::PathExists(version_dirs[i])); | 538 EXPECT_TRUE(base::PathExists(version_dirs[i])); |
539 } | 539 } |
540 | 540 |
541 // Create exes with the appropriate version resource. | 541 // Create exes with the appropriate version resource. |
542 // Use the current test exe as a baseline. | 542 // Use the current test exe as a baseline. |
543 base::FilePath exe_path; | 543 base::FilePath exe_path; |
544 ASSERT_TRUE(PathService::Get(base::FILE_EXE, &exe_path)); | 544 ASSERT_TRUE(PathService::Get(base::FILE_EXE, &exe_path)); |
545 | 545 |
546 struct target_info { | 546 struct target_info { |
547 base::FilePath target_file; | 547 base::FilePath target_file; |
(...skipping 200 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
748 // Critical update newer than the new version. | 748 // Critical update newer than the new version. |
749 EXPECT_FALSE( | 749 EXPECT_FALSE( |
750 installer_state.DetermineCriticalVersion(NULL, *pv_version_).IsValid()); | 750 installer_state.DetermineCriticalVersion(NULL, *pv_version_).IsValid()); |
751 EXPECT_FALSE( | 751 EXPECT_FALSE( |
752 installer_state.DetermineCriticalVersion(opv_version_, *pv_version_) | 752 installer_state.DetermineCriticalVersion(opv_version_, *pv_version_) |
753 .IsValid()); | 753 .IsValid()); |
754 EXPECT_FALSE( | 754 EXPECT_FALSE( |
755 installer_state.DetermineCriticalVersion(pv_version_, *pv_version_) | 755 installer_state.DetermineCriticalVersion(pv_version_, *pv_version_) |
756 .IsValid()); | 756 .IsValid()); |
757 } | 757 } |
OLD | NEW |