diff options
-rw-r--r-- | chrome/installer/installer.gyp | 26 | ||||
-rw-r--r-- | chrome/installer/setup/main.cc | 33 | ||||
-rw-r--r-- | chrome/installer/setup/run_all_unittests.cc | 9 | ||||
-rw-r--r-- | chrome/installer/setup/setup.vcproj | 8 | ||||
-rw-r--r-- | chrome/installer/setup/setup_util.cc | 36 | ||||
-rw-r--r-- | chrome/installer/setup/setup_util.h | 19 | ||||
-rw-r--r-- | chrome/installer/setup/setup_util_unittest.cc | 70 | ||||
-rw-r--r-- | chrome/installer/util/installer_unittests.rc (renamed from chrome/installer/util/util_unittests.rc) | 2 | ||||
-rw-r--r-- | chrome/installer/util/installer_unittests.vcproj (renamed from chrome/installer/util/util_unittests.vcproj) | 8 | ||||
-rw-r--r-- | chrome/installer/util/installer_unittests_resource.h (renamed from chrome/installer/util/util_unittests_resource.h) | 28 |
10 files changed, 54 insertions, 185 deletions
diff --git a/chrome/installer/installer.gyp b/chrome/installer/installer.gyp index 3e45670..807fb47 100644 --- a/chrome/installer/installer.gyp +++ b/chrome/installer/installer.gyp @@ -238,10 +238,10 @@ ], }, { - 'target_name': 'util_unittests', + 'target_name': 'installer_unittests', 'type': 'executable', 'msvs_guid': '903F8C1E-537A-4C9E-97BE-075147CBE769', - 'msvs_existing_vcproj': 'util/util_unittests.vcproj', + 'msvs_existing_vcproj': 'util/installer_unittests.vcproj', 'dependencies': [ 'installer_util', 'installer_util_strings', @@ -261,8 +261,8 @@ 'util/delete_tree_work_item_unittest.cc', 'util/google_chrome_distribution_unittest.cc', 'util/helper_unittest.cc', - 'util/util_unittests.rc', - 'util/util_unittests_resource.h', + 'util/installer_unittests.rc', + 'util/installer_unittests_resource.h', 'util/move_tree_work_item_unittest.cc', 'util/run_all_unittests.cc', 'util/set_reg_value_work_item_unittest.cc', @@ -546,24 +546,6 @@ }], ], }, - { - 'target_name': 'setup_unittests', - 'type': 'executable', - 'msvs_guid': 'C0AE4E06-F023-460F-BC14-6302CEAC51F8', - 'dependencies': [ - 'installer_util', - '../../base/base.gyp:base', - '../../testing/gtest.gyp:gtest', - ], - 'include_dirs': [ - '../..', - ], - 'sources': [ - 'setup/run_all_unittests.cc', - 'setup/setup_util.cc', - 'setup/setup_util_unittest.cc', - ], - }, ], }], [ 'branding == "Chrome"', { diff --git a/chrome/installer/setup/main.cc b/chrome/installer/setup/main.cc index d840982..f1e38ad 100644 --- a/chrome/installer/setup/main.cc +++ b/chrome/installer/setup/main.cc @@ -17,7 +17,6 @@ #include "base/win_util.h" #include "chrome/installer/setup/setup.h" #include "chrome/installer/setup/setup_constants.h" -#include "chrome/installer/setup/setup_util.h" #include "chrome/installer/setup/uninstall.h" #include "chrome/installer/util/browser_distribution.h" #include "chrome/installer/util/delete_tree_work_item.h" @@ -155,6 +154,36 @@ DWORD UnPackArchive(const std::wstring& archive, bool system_install, } +// Find the version of Chrome from an install source directory. +// Chrome_path should contain a complete and unpacked install package (i.e. +// a Chrome directory under which there is a version folder). +// Returns the version or NULL if no version is found. +installer::Version* GetVersionFromDir(const std::wstring& chrome_path) { + LOG(INFO) << "Looking for Chrome version folder under " << chrome_path; + std::wstring root_path(chrome_path); + file_util::AppendToPath(&root_path, L"*"); + + WIN32_FIND_DATA find_file_data; + HANDLE file_handle = FindFirstFile(root_path.c_str(), &find_file_data); + BOOL ret = TRUE; + installer::Version *version = NULL; + // Here we are assuming that the installer we have is really valid so there + // can not be two version directories. We exit as soon as we find a valid + // version directory. + while (ret) { + if (find_file_data.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) { + LOG(INFO) << "directory found: " << find_file_data.cFileName; + version = + installer::Version::GetVersionFromString(find_file_data.cFileName); + if (version) break; + } + ret = FindNextFile(file_handle, &find_file_data); + } + FindClose(file_handle); + + return version; +} + // This function is called when --rename-chrome-exe option is specified on // setup.exe command line. This function assumes an in-use update has happened // for Chrome so there should be a file called new_chrome.exe on the file @@ -356,7 +385,7 @@ installer_util::InstallStatus InstallChrome(const CommandLine& cmd_line, file_util::AppendToPath(&src_path, std::wstring(installer::kInstallSourceChromeDir)); scoped_ptr<installer::Version> - installer_version(setup_util::GetVersionFromDir(src_path)); + installer_version(GetVersionFromDir(src_path)); if (!installer_version.get()) { LOG(ERROR) << "Did not find any valid version in installer."; install_status = installer_util::INVALID_ARCHIVE; diff --git a/chrome/installer/setup/run_all_unittests.cc b/chrome/installer/setup/run_all_unittests.cc deleted file mode 100644 index b5fc4a6..0000000 --- a/chrome/installer/setup/run_all_unittests.cc +++ /dev/null @@ -1,9 +0,0 @@ -// Copyright (c) 2009 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "base/test_suite.h" - -int main(int argc, char** argv) { - return TestSuite(argc, argv).Run(); -} diff --git a/chrome/installer/setup/setup.vcproj b/chrome/installer/setup/setup.vcproj index 00792ce..4afb42f 100644 --- a/chrome/installer/setup/setup.vcproj +++ b/chrome/installer/setup/setup.vcproj @@ -108,14 +108,6 @@ > </File> <File - RelativePath=".\setup_util.cc" - > - </File> - <File - RelativePath=".\setup_util.h" - > - </File> - <File RelativePath=".\setup_constants.cc" > </File> diff --git a/chrome/installer/setup/setup_util.cc b/chrome/installer/setup/setup_util.cc deleted file mode 100644 index 7356ecf..0000000 --- a/chrome/installer/setup/setup_util.cc +++ /dev/null @@ -1,36 +0,0 @@ -// Copyright (c) 2009 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. -// -// This file declares util functions for setup project. - -#include "chrome/installer/setup/setup_util.h" - -#include "base/file_util.h" -#include "base/logging.h" - -installer::Version* setup_util::GetVersionFromDir( - const std::wstring& chrome_path) { - LOG(INFO) << "Looking for Chrome version folder under " << chrome_path; - std::wstring root_path(chrome_path); - file_util::AppendToPath(&root_path, L"*"); - - WIN32_FIND_DATA find_data; - HANDLE file_handle = FindFirstFile(root_path.c_str(), &find_data); - BOOL ret = TRUE; - installer::Version *version = NULL; - // Here we are assuming that the installer we have is really valid so there - // can not be two version directories. We exit as soon as we find a valid - // version directory. - while (ret) { - if (find_data.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) { - LOG(INFO) << "directory found: " << find_data.cFileName; - version = installer::Version::GetVersionFromString(find_data.cFileName); - if (version) break; - } - ret = FindNextFile(file_handle, &find_data); - } - FindClose(file_handle); - - return version; -} diff --git a/chrome/installer/setup/setup_util.h b/chrome/installer/setup/setup_util.h deleted file mode 100644 index c9e067f..0000000 --- a/chrome/installer/setup/setup_util.h +++ /dev/null @@ -1,19 +0,0 @@ -// Copyright (c) 2009 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. -// -// This file declares util functions for setup project. - -#ifndef CHROME_INSTALLER_SETUP_SETUP_UTIL_H_ -#define CHROME_INSTALLER_SETUP_SETUP_UTIL_H_ - -#include "chrome/installer/util/version.h" - -namespace setup_util { - // Find the version of Chrome from an install source directory. - // Chrome_path should contain a version folder. - // Returns the first version found or NULL if no version is found. - installer::Version* GetVersionFromDir(const std::wstring& chrome_path); -} // namespace setup_util - -#endif // CHROME_INSTALLER_SETUP_SETUP_UTIL_H_ diff --git a/chrome/installer/setup/setup_util_unittest.cc b/chrome/installer/setup/setup_util_unittest.cc deleted file mode 100644 index 42cecdf..0000000 --- a/chrome/installer/setup/setup_util_unittest.cc +++ /dev/null @@ -1,70 +0,0 @@ -// Copyright (c) 2009 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include <windows.h> - -#include <fstream> -#include <iostream> - -#include "base/base_paths.h" -#include "base/file_util.h" -#include "base/path_service.h" -#include "base/process_util.h" -#include "base/string_util.h" -#include "chrome/installer/setup/setup_util.h" -#include "testing/gtest/include/gtest/gtest.h" - -namespace { - class SetupUtilTest : public testing::Test { - protected: - virtual void SetUp() { - // Name a subdirectory of the user temp directory. - ASSERT_TRUE(PathService::Get(base::DIR_TEMP, &test_dir_)); - test_dir_ = test_dir_.AppendASCII("SetupUtilTest"); - - // Create a fresh, empty copy of this test directory. - file_util::Delete(test_dir_, true); - file_util::CreateDirectory(test_dir_); - ASSERT_TRUE(file_util::PathExists(test_dir_)); - } - - virtual void TearDown() { - // Clean up test directory - ASSERT_TRUE(file_util::Delete(test_dir_, false)); - ASSERT_FALSE(file_util::PathExists(test_dir_)); - } - - // the path to temporary directory used to contain the test operations - FilePath test_dir_; - }; -}; - -// Test that we are parsing Chrome version correctly. -TEST_F(SetupUtilTest, GetVersionFromDirTest) { - // Create a version dir - std::wstring chrome_dir(test_dir_.value()); - file_util::AppendToPath(&chrome_dir, L"1.0.0.0"); - CreateDirectory(chrome_dir.c_str(), NULL); - ASSERT_TRUE(file_util::PathExists(chrome_dir)); - scoped_ptr<installer::Version> version( - setup_util::GetVersionFromDir(test_dir_.value())); - ASSERT_TRUE(version->GetString() == L"1.0.0.0"); - - file_util::Delete(chrome_dir, true); - ASSERT_FALSE(file_util::PathExists(chrome_dir)); - ASSERT_TRUE(setup_util::GetVersionFromDir(test_dir_.value()) == NULL); - - chrome_dir = test_dir_.value(); - file_util::AppendToPath(&chrome_dir, L"ABC"); - CreateDirectory(chrome_dir.c_str(), NULL); - ASSERT_TRUE(file_util::PathExists(chrome_dir)); - ASSERT_TRUE(setup_util::GetVersionFromDir(test_dir_.value()) == NULL); - - chrome_dir = test_dir_.value(); - file_util::AppendToPath(&chrome_dir, L"2.3.4.5"); - CreateDirectory(chrome_dir.c_str(), NULL); - ASSERT_TRUE(file_util::PathExists(chrome_dir)); - version.reset(setup_util::GetVersionFromDir(test_dir_.value())); - ASSERT_TRUE(version->GetString() == L"2.3.4.5"); -} diff --git a/chrome/installer/util/util_unittests.rc b/chrome/installer/util/installer_unittests.rc index 7519c5c..0df7619 100644 --- a/chrome/installer/util/util_unittests.rc +++ b/chrome/installer/util/installer_unittests.rc @@ -1,6 +1,6 @@ // Microsoft Visual C++ generated resource script.
//
-#include "util_unittests_resource.h"
+#include "installer_unittests_resource.h"
#define APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
diff --git a/chrome/installer/util/util_unittests.vcproj b/chrome/installer/util/installer_unittests.vcproj index 4e95cf6..99aa3b1 100644 --- a/chrome/installer/util/util_unittests.vcproj +++ b/chrome/installer/util/installer_unittests.vcproj @@ -2,9 +2,9 @@ <VisualStudioProject ProjectType="Visual C++" Version="8.00" - Name="util_unittests" + Name="installer_unittests" ProjectGUID="{903F8C1E-537A-4C9E-97BE-075147CBE769}" - RootNamespace="util_unittests" + RootNamespace="installer_unittests" > <Platforms> <Platform @@ -144,11 +144,11 @@ Name="resources" > <File - RelativePath="util_unittests.rc" + RelativePath="installer_unittests.rc" > </File> <File - RelativePath="unit_unittests_resource.h" + RelativePath="installer_unittests_resource.h" > </File> </Filter> diff --git a/chrome/installer/util/util_unittests_resource.h b/chrome/installer/util/installer_unittests_resource.h index 97c58c3..16f608a 100644 --- a/chrome/installer/util/util_unittests_resource.h +++ b/chrome/installer/util/installer_unittests_resource.h @@ -1,14 +1,14 @@ -//{{NO_DEPENDENCIES}}
-// Microsoft Visual C++ generated include file.
-// Used by util_unittests.rc
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 101
-#define _APS_NEXT_COMMAND_VALUE 40001
-#define _APS_NEXT_CONTROL_VALUE 1001
-#define _APS_NEXT_SYMED_VALUE 101
-#endif
-#endif
+//{{NO_DEPENDENCIES}} +// Microsoft Visual C++ generated include file. +// Used by installer_unittests.rc + +// Next default values for new objects +// +#ifdef APSTUDIO_INVOKED +#ifndef APSTUDIO_READONLY_SYMBOLS +#define _APS_NEXT_RESOURCE_VALUE 101 +#define _APS_NEXT_COMMAND_VALUE 40001 +#define _APS_NEXT_CONTROL_VALUE 1001 +#define _APS_NEXT_SYMED_VALUE 101 +#endif +#endif |