OLD | NEW |
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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/test/mini_installer_test/mini_installer_test_util.h" | 5 #include "chrome/test/mini_installer_test/mini_installer_test_util.h" |
6 | 6 |
7 #include "base/file_util.h" | 7 #include "base/file_util.h" |
8 #include "base/path_service.h" | 8 #include "base/path_service.h" |
9 #include "base/platform_thread.h" | 9 #include "base/platform_thread.h" |
10 #include "base/process_util.h" | 10 #include "base/process_util.h" |
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
74 standalone_installer_path.assign( | 74 standalone_installer_path.assign( |
75 mini_installer_constants::kChromeStandAloneInstallerLocation); | 75 mini_installer_constants::kChromeStandAloneInstallerLocation); |
76 standalone_installer_path.append(file_details.at(0).name_); | 76 standalone_installer_path.append(file_details.at(0).name_); |
77 return_command->append(mini_installer_constants::kChromeApplyTagExe); | 77 return_command->append(mini_installer_constants::kChromeApplyTagExe); |
78 return_command->append(L" "); | 78 return_command->append(L" "); |
79 return_command->append(standalone_installer_path); | 79 return_command->append(standalone_installer_path); |
80 return_command->append(L" "); | 80 return_command->append(L" "); |
81 return_command->append(mini_installer_constants::kStandaloneInstaller); | 81 return_command->append(mini_installer_constants::kStandaloneInstaller); |
82 return_command->append(L" "); | 82 return_command->append(L" "); |
83 return_command->append(mini_installer_constants::kChromeApplyTagParameters); | 83 return_command->append(mini_installer_constants::kChromeApplyTagParameters); |
84 LOG(INFO) << "Command to run Apply tag: " << return_command->c_str(); | 84 VLOG(1) << "Command to run Apply tag: " << return_command->c_str(); |
85 return true; | 85 return true; |
86 } | 86 } |
87 | 87 |
88 std::wstring MiniInstallerTestUtil::GetFilePath(const wchar_t* exe_name) { | 88 std::wstring MiniInstallerTestUtil::GetFilePath(const wchar_t* exe_name) { |
89 FilePath installer_path; | 89 FilePath installer_path; |
90 PathService::Get(base::DIR_EXE, &installer_path); | 90 PathService::Get(base::DIR_EXE, &installer_path); |
91 installer_path = installer_path.Append(exe_name); | 91 installer_path = installer_path.Append(exe_name); |
92 LOG(INFO) << "Chrome exe path: " << installer_path.value().c_str(); | 92 VLOG(1) << "Chrome exe path: " << installer_path.value().c_str(); |
93 return installer_path.ToWStringHack(); | 93 return installer_path.ToWStringHack(); |
94 } | 94 } |
95 | 95 |
96 // This method will first call GetLatestFile to get the list of all | 96 // This method will first call GetLatestFile to get the list of all |
97 // builds, sorted on creation time. Then goes through each build folder | 97 // builds, sorted on creation time. Then goes through each build folder |
98 // until it finds the installer file that matches the pattern argument. | 98 // until it finds the installer file that matches the pattern argument. |
99 bool MiniInstallerTestUtil::GetInstaller(const wchar_t* pattern, | 99 bool MiniInstallerTestUtil::GetInstaller(const wchar_t* pattern, |
100 std::wstring *path, const wchar_t* channel_type, bool chrome_frame) { | 100 std::wstring *path, const wchar_t* channel_type, bool chrome_frame) { |
101 FileInfoList builds_list; | 101 FileInfoList builds_list; |
102 FileInfoList exe_list; | 102 FileInfoList exe_list; |
(...skipping 26 matching lines...) Expand all Loading... |
129 return file_util::PathExists(FilePath::FromWStringHack(*path)); | 129 return file_util::PathExists(FilePath::FromWStringHack(*path)); |
130 } | 130 } |
131 | 131 |
132 // This method will get the latest installer filename from the directory. | 132 // This method will get the latest installer filename from the directory. |
133 bool MiniInstallerTestUtil::GetLatestFile(const wchar_t* file_name, | 133 bool MiniInstallerTestUtil::GetLatestFile(const wchar_t* file_name, |
134 const wchar_t* pattern, FileInfoList *file_details) { | 134 const wchar_t* pattern, FileInfoList *file_details) { |
135 | 135 |
136 WIN32_FIND_DATA find_file_data; | 136 WIN32_FIND_DATA find_file_data; |
137 HANDLE file_handle = FindFirstFile(file_name, &find_file_data); | 137 HANDLE file_handle = FindFirstFile(file_name, &find_file_data); |
138 if (file_handle == INVALID_HANDLE_VALUE) { | 138 if (file_handle == INVALID_HANDLE_VALUE) { |
139 LOG(INFO) << "Handle is invalid."; | 139 VLOG(1) << "Handle is invalid."; |
140 return false; | 140 return false; |
141 } | 141 } |
142 BOOL ret = TRUE; | 142 BOOL ret = TRUE; |
143 bool return_val = false; | 143 bool return_val = false; |
144 while (ret) { | 144 while (ret) { |
145 std::wstring search_path = find_file_data.cFileName; | 145 std::wstring search_path = find_file_data.cFileName; |
146 size_t position_found = search_path.find(pattern); | 146 size_t position_found = search_path.find(pattern); |
147 if (position_found != -1) { | 147 if (position_found != -1) { |
148 std::wstring extension = file_util::GetFileExtensionFromPath(file_name); | 148 std::wstring extension = file_util::GetFileExtensionFromPath(file_name); |
149 if ((base::strcasecmp(WideToUTF8(extension).c_str(), "exe")) == 0) { | 149 if ((base::strcasecmp(WideToUTF8(extension).c_str(), "exe")) == 0) { |
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
241 // Following code will extract build, patch details from the file | 241 // Following code will extract build, patch details from the file |
242 // and concatenate with 1.0 to form the build version. | 242 // and concatenate with 1.0 to form the build version. |
243 // Patteren followed: 1.0.<build>.<patch>htt | 243 // Patteren followed: 1.0.<build>.<patch>htt |
244 file_name = file_name.substr(22, 25); | 244 file_name = file_name.substr(22, 25); |
245 std::wstring::size_type last_dot = file_name.find(L'.'); | 245 std::wstring::size_type last_dot = file_name.find(L'.'); |
246 file_name = file_name.substr(0, last_dot); | 246 file_name = file_name.substr(0, last_dot); |
247 std::wstring::size_type pos = file_name.find(L'_'); | 247 std::wstring::size_type pos = file_name.find(L'_'); |
248 file_name.replace(pos, 1, L"."); | 248 file_name.replace(pos, 1, L"."); |
249 file_name = L"3.0." + file_name; | 249 file_name = L"3.0." + file_name; |
250 return_file_name->assign(file_name.c_str()); | 250 return_file_name->assign(file_name.c_str()); |
251 LOG(INFO) << "Standalone installer version: " << file_name.c_str(); | 251 VLOG(1) << "Standalone installer version: " << file_name.c_str(); |
252 return true; | 252 return true; |
253 } | 253 } |
254 | 254 |
255 void MiniInstallerTestUtil::SendEnterKeyToWindow() { | 255 void MiniInstallerTestUtil::SendEnterKeyToWindow() { |
256 INPUT key; | 256 INPUT key; |
257 key.type = INPUT_KEYBOARD; | 257 key.type = INPUT_KEYBOARD; |
258 key.ki.wVk = VK_RETURN; | 258 key.ki.wVk = VK_RETURN; |
259 key.ki.dwFlags = 0; | 259 key.ki.dwFlags = 0; |
260 key.ki.time = 0; | 260 key.ki.time = 0; |
261 key.ki.wScan = 0; | 261 key.ki.wScan = 0; |
(...skipping 19 matching lines...) Expand all Loading... |
281 if (expected_status) | 281 if (expected_status) |
282 ASSERT_NE(0, base::GetProcessCount(process_name, NULL)); | 282 ASSERT_NE(0, base::GetProcessCount(process_name, NULL)); |
283 else | 283 else |
284 ASSERT_EQ(0, base::GetProcessCount(process_name, NULL)); | 284 ASSERT_EQ(0, base::GetProcessCount(process_name, NULL)); |
285 } | 285 } |
286 | 286 |
287 bool MiniInstallerTestUtil::VerifyProcessClose( | 287 bool MiniInstallerTestUtil::VerifyProcessClose( |
288 const wchar_t* process_name) { | 288 const wchar_t* process_name) { |
289 int timer = 0; | 289 int timer = 0; |
290 if (base::GetProcessCount(process_name, NULL) > 0) { | 290 if (base::GetProcessCount(process_name, NULL) > 0) { |
291 LOG(INFO) << "Waiting for this process to end: " << process_name; | 291 VLOG(1) << "Waiting for this process to end: " << process_name; |
292 while ((base::GetProcessCount(process_name, NULL) > 0) && | 292 while ((base::GetProcessCount(process_name, NULL) > 0) && |
293 (timer < TestTimeouts::large_test_timeout_ms())) { | 293 (timer < TestTimeouts::large_test_timeout_ms())) { |
294 PlatformThread::Sleep(200); | 294 PlatformThread::Sleep(200); |
295 timer = timer + 200; | 295 timer = timer + 200; |
296 } | 296 } |
297 } else { | 297 } else { |
298 if (base::GetProcessCount(process_name, NULL) != 0) | 298 if (base::GetProcessCount(process_name, NULL) != 0) |
299 return false; | 299 return false; |
300 } | 300 } |
301 return true; | 301 return true; |
302 } | 302 } |
303 | 303 |
304 bool MiniInstallerTestUtil::VerifyProcessHandleClosed( | 304 bool MiniInstallerTestUtil::VerifyProcessHandleClosed( |
305 base::ProcessHandle handle) { | 305 base::ProcessHandle handle) { |
306 DWORD result = WaitForSingleObject(handle, | 306 DWORD result = WaitForSingleObject(handle, |
307 TestTimeouts::large_test_timeout_ms()); | 307 TestTimeouts::large_test_timeout_ms()); |
308 return result == WAIT_OBJECT_0; | 308 return result == WAIT_OBJECT_0; |
309 } | 309 } |
OLD | NEW |