Index: setup/setup_files_unittest.cc |
diff --git a/setup/setup_files_unittest.cc b/setup/setup_files_unittest.cc |
deleted file mode 100644 |
index 607aafed0ccdae3dceb1c77528666f48ac06b980..0000000000000000000000000000000000000000 |
--- a/setup/setup_files_unittest.cc |
+++ /dev/null |
@@ -1,562 +0,0 @@ |
-// Copyright 2007-2009 Google Inc. |
-// |
-// Licensed under the Apache License, Version 2.0 (the "License"); |
-// you may not use this file except in compliance with the License. |
-// You may obtain a copy of the License at |
-// |
-// http://www.apache.org/licenses/LICENSE-2.0 |
-// |
-// Unless required by applicable law or agreed to in writing, software |
-// distributed under the License is distributed on an "AS IS" BASIS, |
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
-// See the License for the specific language governing permissions and |
-// limitations under the License. |
-// ======================================================================== |
- |
-#include <vector> |
-#include "base/scoped_ptr.h" |
-#include "omaha/base/app_util.h" |
-#include "omaha/base/error.h" |
-#include "omaha/base/file.h" |
-#include "omaha/base/omaha_version.h" |
-#include "omaha/base/path.h" |
-#include "omaha/base/utils.h" |
-#include "omaha/base/vistautil.h" |
-#include "omaha/common/config_manager.h" |
-#include "omaha/common/const_goopdate.h" |
-#include "omaha/setup/setup_files.h" |
-#include "omaha/testing/unit_test.h" |
- |
-namespace omaha { |
- |
-namespace { |
- |
-// TODO(omaha3): Update the numbers in the else block as we build more files. |
-// Eventually use the original values in the if block. |
-const int kNumberOfLanguageDlls = 55; |
-const int kNumberOfRequiredFiles = 6; |
-#if 0 |
-const int kNumberOfOptionalFiles = 4; |
-#else |
-const int kNumberOfOptionalFiles = 3; |
-#endif |
-const int kNumberOfInstalledRequiredFiles = |
- kNumberOfLanguageDlls + kNumberOfRequiredFiles; |
-// FindFiles returns "." and ".." in addition to the actual files. |
-const int kExtraFilesReturnedByFindFiles = 2; |
-const int kExpectedFilesReturnedByFindFiles = |
- kNumberOfInstalledRequiredFiles + kNumberOfOptionalFiles + |
- kExtraFilesReturnedByFindFiles; |
- |
-const TCHAR kFutureVersionString[] = _T("9.8.7.6"); |
-const ULONGLONG kFutureVersion = 0x0009000800070006; |
- |
-} // namespace |
- |
-void CopyGoopdateFiles(const CString& omaha_path, const CString& version) { |
- EXPECT_SUCCEEDED(CreateDir(omaha_path, NULL)); |
- const CString version_path = ConcatenatePath(omaha_path, version); |
- |
- EXPECT_SUCCEEDED(File::Copy( |
- ConcatenatePath(app_util::GetCurrentModuleDirectory(), |
- kOmahaShellFileName), |
- ConcatenatePath(omaha_path, kOmahaShellFileName), |
- false)); |
- |
- EXPECT_SUCCEEDED(CreateDir(version_path, NULL)); |
- |
- const TCHAR* files[] = {kCrashHandlerFileName, |
- kOmahaShellFileName, |
- kHelperInstallerName, |
- kOmahaDllName, |
- kOmahaBrokerFileName, |
- kOmahaOnDemandFileName, |
-// TODO(omaha3): Enable once this is being built. |
-#if 0 |
- _T("GoopdateBho.dll"), |
-#endif |
- UPDATE_PLUGIN_FILENAME, |
- kPSFileNameMachine, |
- kPSFileNameUser, |
- }; |
- for (size_t i = 0; i < arraysize(files); ++i) { |
- EXPECT_SUCCEEDED(File::Copy( |
- ConcatenatePath(app_util::GetCurrentModuleDirectory(), |
- files[i]), |
- ConcatenatePath(version_path, files[i]), |
- false)) << _T("Failed copying ") << files[i]; |
- } |
- |
- EXPECT_SUCCEEDED(File::CopyWildcards(app_util::GetCurrentModuleDirectory(), |
- version_path, |
- _T("goopdateres_\?\?.dll"), |
- false)); |
- EXPECT_SUCCEEDED(File::CopyWildcards(app_util::GetCurrentModuleDirectory(), |
- version_path, |
- _T("goopdateres_\?\?\?.dll"), |
- false)); |
- EXPECT_SUCCEEDED(File::CopyWildcards(app_util::GetCurrentModuleDirectory(), |
- version_path, |
- _T("goopdateres_\?\?-\?\?.dll"), |
- false)); |
- EXPECT_SUCCEEDED(File::CopyWildcards(app_util::GetCurrentModuleDirectory(), |
- version_path, |
- _T("goopdateres_\?\?-\?\?\?.dll"), |
- false)); |
-} |
- |
-class SetupFilesTest : public testing::Test { |
- protected: |
- explicit SetupFilesTest(bool is_machine) |
- : is_machine_(is_machine), |
- omaha_path_(is_machine ? |
- GetGoogleUpdateMachinePath() : GetGoogleUpdateUserPath()), |
- hive_override_key_name_(kRegistryHiveOverrideRoot) { |
- } |
- |
- static void SetUpTestCase() { |
- exe_parent_dir_ = ConcatenatePath(app_util::GetCurrentModuleDirectory(), |
- _T("unittest_support\\")); |
- |
- this_version_ = GetVersionString(); |
- |
- expected_is_overinstall_ = !OFFICIAL_BUILD; |
-#ifdef DEBUG |
- if (RegKey::HasValue(MACHINE_REG_UPDATE_DEV, kRegValueNameOverInstall)) { |
- DWORD value = 0; |
- EXPECT_SUCCEEDED(RegKey::GetValue(MACHINE_REG_UPDATE_DEV, |
- kRegValueNameOverInstall, |
- &value)); |
- expected_is_overinstall_ = value != 0; |
- } |
-#endif |
- } |
- |
- virtual void SetUp() { |
- RegKey::DeleteKey(hive_override_key_name_, true); |
- // Do not override HKLM because it contains the CSIDL_* definitions. |
- OverrideSpecifiedRegistryHives(hive_override_key_name_, false, true); |
- |
- setup_files_.reset(new SetupFiles(is_machine_)); |
- |
- ASSERT_HRESULT_SUCCEEDED(setup_files_->Init()); |
- } |
- |
- virtual void TearDown() { |
- RestoreRegistryHives(); |
- ASSERT_SUCCEEDED(RegKey::DeleteKey(hive_override_key_name_, true)); |
- } |
- |
- static bool IsOlderShellVersionCompatible(ULONGLONG version) { |
- return SetupFiles::IsOlderShellVersionCompatible(version); |
- } |
- |
- // Assumes the executable version has been changed to the future version. |
- void InstallHelper(const CString& omaha_path) { |
- const CString version_path = ConcatenatePath(omaha_path, |
- kFutureVersionString); |
- |
- ASSERT_EQ(kNumberOfInstalledRequiredFiles, |
- setup_files_->core_program_files_.size()); |
- ASSERT_EQ(kNumberOfOptionalFiles, setup_files_->optional_files_.size()); |
- |
- DeleteDirectory(version_path); |
- ASSERT_FALSE(File::IsDirectory(version_path)); |
- |
- EXPECT_SUCCEEDED(setup_files_->Install()); |
- |
- EXPECT_TRUE(File::Exists(ConcatenatePath(omaha_path, |
- kOmahaShellFileName))); |
- |
- EXPECT_TRUE(File::IsDirectory(version_path)); |
- |
- std::vector<CString> files; |
- EXPECT_SUCCEEDED(FindFiles(version_path, _T("*.*"), &files)); |
- ASSERT_EQ(kExpectedFilesReturnedByFindFiles, files.size()); |
- int file_index = kExtraFilesReturnedByFindFiles; |
- EXPECT_STREQ(kCrashHandlerFileName, files[file_index++]); |
- EXPECT_STREQ(kOmahaShellFileName, files[file_index++]); |
- EXPECT_STREQ(kOmahaBrokerFileName, files[file_index++]); |
- EXPECT_STREQ(kHelperInstallerName, files[file_index++]); |
- EXPECT_STREQ(kOmahaOnDemandFileName, files[file_index++]); |
- EXPECT_STREQ(kOmahaDllName, files[file_index++]); |
-// TODO(omaha3): Enable as this is built. |
-#if 0 |
- EXPECT_STREQ(_T("GoopdateBho.dll"), files[file_index++]); |
-#endif |
- EXPECT_STREQ(_T("goopdateres_am.dll"), files[file_index++]); |
- EXPECT_STREQ(_T("goopdateres_ar.dll"), files[file_index++]); |
- EXPECT_STREQ(_T("goopdateres_bg.dll"), files[file_index++]); |
- EXPECT_STREQ(_T("goopdateres_bn.dll"), files[file_index++]); |
- EXPECT_STREQ(_T("goopdateres_ca.dll"), files[file_index++]); |
- EXPECT_STREQ(_T("goopdateres_cs.dll"), files[file_index++]); |
- EXPECT_STREQ(_T("goopdateres_da.dll"), files[file_index++]); |
- EXPECT_STREQ(_T("goopdateres_de.dll"), files[file_index++]); |
- EXPECT_STREQ(_T("goopdateres_el.dll"), files[file_index++]); |
- EXPECT_STREQ(_T("goopdateres_en-GB.dll"), files[file_index++]); |
- EXPECT_STREQ(_T("goopdateres_en.dll"), files[file_index++]); |
- EXPECT_STREQ(_T("goopdateres_es-419.dll"), files[file_index++]); |
- EXPECT_STREQ(_T("goopdateres_es.dll"), files[file_index++]); |
- EXPECT_STREQ(_T("goopdateres_et.dll"), files[file_index++]); |
- EXPECT_STREQ(_T("goopdateres_fa.dll"), files[file_index++]); |
- EXPECT_STREQ(_T("goopdateres_fi.dll"), files[file_index++]); |
- EXPECT_STREQ(_T("goopdateres_fil.dll"), files[file_index++]); |
- EXPECT_STREQ(_T("goopdateres_fr.dll"), files[file_index++]); |
- EXPECT_STREQ(_T("goopdateres_gu.dll"), files[file_index++]); |
- EXPECT_STREQ(_T("goopdateres_hi.dll"), files[file_index++]); |
- EXPECT_STREQ(_T("goopdateres_hr.dll"), files[file_index++]); |
- EXPECT_STREQ(_T("goopdateres_hu.dll"), files[file_index++]); |
- EXPECT_STREQ(_T("goopdateres_id.dll"), files[file_index++]); |
- EXPECT_STREQ(_T("goopdateres_is.dll"), files[file_index++]); |
- EXPECT_STREQ(_T("goopdateres_it.dll"), files[file_index++]); |
- EXPECT_STREQ(_T("goopdateres_iw.dll"), files[file_index++]); |
- EXPECT_STREQ(_T("goopdateres_ja.dll"), files[file_index++]); |
- EXPECT_STREQ(_T("goopdateres_kn.dll"), files[file_index++]); |
- EXPECT_STREQ(_T("goopdateres_ko.dll"), files[file_index++]); |
- EXPECT_STREQ(_T("goopdateres_lt.dll"), files[file_index++]); |
- EXPECT_STREQ(_T("goopdateres_lv.dll"), files[file_index++]); |
- EXPECT_STREQ(_T("goopdateres_ml.dll"), files[file_index++]); |
- EXPECT_STREQ(_T("goopdateres_mr.dll"), files[file_index++]); |
- EXPECT_STREQ(_T("goopdateres_ms.dll"), files[file_index++]); |
- EXPECT_STREQ(_T("goopdateres_nl.dll"), files[file_index++]); |
- EXPECT_STREQ(_T("goopdateres_no.dll"), files[file_index++]); |
- EXPECT_STREQ(_T("goopdateres_pl.dll"), files[file_index++]); |
- EXPECT_STREQ(_T("goopdateres_pt-BR.dll"), files[file_index++]); |
- EXPECT_STREQ(_T("goopdateres_pt-PT.dll"), files[file_index++]); |
- EXPECT_STREQ(_T("goopdateres_ro.dll"), files[file_index++]); |
- EXPECT_STREQ(_T("goopdateres_ru.dll"), files[file_index++]); |
- EXPECT_STREQ(_T("goopdateres_sk.dll"), files[file_index++]); |
- EXPECT_STREQ(_T("goopdateres_sl.dll"), files[file_index++]); |
- EXPECT_STREQ(_T("goopdateres_sr.dll"), files[file_index++]); |
- EXPECT_STREQ(_T("goopdateres_sv.dll"), files[file_index++]); |
- EXPECT_STREQ(_T("goopdateres_sw.dll"), files[file_index++]); |
- EXPECT_STREQ(_T("goopdateres_ta.dll"), files[file_index++]); |
- EXPECT_STREQ(_T("goopdateres_te.dll"), files[file_index++]); |
- EXPECT_STREQ(_T("goopdateres_th.dll"), files[file_index++]); |
- EXPECT_STREQ(_T("goopdateres_tr.dll"), files[file_index++]); |
- EXPECT_STREQ(_T("goopdateres_uk.dll"), files[file_index++]); |
- EXPECT_STREQ(_T("goopdateres_ur.dll"), files[file_index++]); |
- EXPECT_STREQ(_T("goopdateres_vi.dll"), files[file_index++]); |
- EXPECT_STREQ(_T("goopdateres_zh-CN.dll"), files[file_index++]); |
- EXPECT_STREQ(_T("goopdateres_zh-TW.dll"), files[file_index++]); |
- EXPECT_STREQ(UPDATE_PLUGIN_FILENAME, files[file_index++]); |
- EXPECT_STREQ(kPSFileNameMachine, files[file_index++]); |
- EXPECT_STREQ(kPSFileNameUser, files[file_index++]); |
- |
- EXPECT_SUCCEEDED(DeleteDirectory(version_path)); |
- } |
- |
- HRESULT ShouldCopyShell(const CString& shell_install_path, |
- bool* should_copy, |
- bool* already_exists) const { |
- return setup_files_->ShouldCopyShell(shell_install_path, |
- should_copy, |
- already_exists); |
- } |
- |
- const bool is_machine_; |
- const CString omaha_path_; |
- const CString hive_override_key_name_; |
- scoped_ptr<SetupFiles> setup_files_; |
- |
- static CString exe_parent_dir_; |
- static CString this_version_; |
- static bool expected_is_overinstall_; |
-}; |
- |
-CString SetupFilesTest::exe_parent_dir_; |
-CString SetupFilesTest::this_version_; |
-bool SetupFilesTest::expected_is_overinstall_; |
- |
-class SetupFilesMachineTest : public SetupFilesTest { |
- protected: |
- SetupFilesMachineTest() |
- : SetupFilesTest(true) { |
- } |
-}; |
- |
-class SetupFilesUserTest : public SetupFilesTest { |
- protected: |
- SetupFilesUserTest() |
- : SetupFilesTest(false) { |
- } |
-}; |
- |
-TEST_F(SetupFilesUserTest, |
- ShouldOverinstallSameVersion_SameVersionFilesMissing) { |
- ASSERT_SUCCEEDED(RegKey::SetValue(USER_REG_CLIENTS_GOOPDATE, |
- kRegValueProductVersion, |
- this_version_)); |
- ASSERT_SUCCEEDED( |
- DeleteDirectory(ConcatenatePath(omaha_path_, this_version_))); |
- CString file_path = ConcatenatePath( |
- ConcatenatePath(omaha_path_, this_version_), |
- kOmahaDllName); |
- ASSERT_FALSE(File::Exists(file_path)); |
- |
- EXPECT_TRUE(setup_files_->ShouldOverinstallSameVersion()); |
-} |
- |
-TEST_F(SetupFilesUserTest, |
- ShouldOverinstallSameVersion_SameVersionFilesPresent) { |
- ASSERT_SUCCEEDED(RegKey::SetValue(USER_REG_CLIENTS_GOOPDATE, |
- kRegValueProductVersion, |
- this_version_)); |
- |
- CopyGoopdateFiles(omaha_path_, this_version_); |
- |
- EXPECT_FALSE(setup_files_->ShouldOverinstallSameVersion()); |
-} |
- |
-TEST_F(SetupFilesUserTest, |
- ShouldOverinstallSameVersion_SameVersionRequiredFileMissing) { |
- ASSERT_SUCCEEDED(RegKey::SetValue(USER_REG_CLIENTS_GOOPDATE, |
- kRegValueProductVersion, |
- this_version_)); |
- |
- CopyGoopdateFiles(omaha_path_, this_version_); |
- CString path = ConcatenatePath(ConcatenatePath(omaha_path_, this_version_), |
- kOmahaDllName); |
- ASSERT_SUCCEEDED(File::Remove(path)); |
- ASSERT_FALSE(File::Exists(path)); |
- |
- EXPECT_TRUE(setup_files_->ShouldOverinstallSameVersion()); |
-} |
- |
-TEST_F(SetupFilesUserTest, |
- ShouldOverinstallSameVersion_SameVersionOptionalFileMissing) { |
- ASSERT_SUCCEEDED(RegKey::SetValue(USER_REG_CLIENTS_GOOPDATE, |
- kRegValueProductVersion, |
- this_version_)); |
- |
- CopyGoopdateFiles(omaha_path_, this_version_); |
- CString path = ConcatenatePath(ConcatenatePath(omaha_path_, this_version_), |
- UPDATE_PLUGIN_FILENAME); |
- ASSERT_SUCCEEDED(File::Remove(path)); |
- ASSERT_FALSE(File::Exists(path)); |
- |
- EXPECT_TRUE(setup_files_->ShouldOverinstallSameVersion()); |
-} |
- |
-TEST_F(SetupFilesUserTest, |
- ShouldOverinstallSameVersion_SameVersionShellMissing) { |
- ASSERT_SUCCEEDED(RegKey::SetValue(USER_REG_CLIENTS_GOOPDATE, |
- kRegValueProductVersion, |
- this_version_)); |
- |
- CopyGoopdateFiles(omaha_path_, this_version_); |
- CString shell_path = ConcatenatePath(omaha_path_, kOmahaShellFileName); |
- ASSERT_TRUE(SUCCEEDED(File::DeleteAfterReboot(shell_path)) || |
- !vista_util::IsUserAdmin()); |
- ASSERT_FALSE(File::Exists(shell_path)); |
- |
- EXPECT_TRUE(setup_files_->ShouldOverinstallSameVersion()); |
-} |
- |
-TEST_F(SetupFilesUserTest, |
- ShouldOverinstallSameVersion_NewerVersionShellMissing) { |
- ASSERT_SUCCEEDED(RegKey::SetValue(USER_REG_CLIENTS_GOOPDATE, |
- kRegValueProductVersion, |
- kFutureVersionString)); |
- |
- CopyGoopdateFiles(omaha_path_, kFutureVersionString); |
- CString shell_path = ConcatenatePath(omaha_path_, kOmahaShellFileName); |
- ASSERT_TRUE(SUCCEEDED(File::DeleteAfterReboot(shell_path)) || |
- !vista_util::IsUserAdmin()); |
- ASSERT_FALSE(File::Exists(shell_path)); |
- |
- // Does not check the version. |
- EXPECT_TRUE(setup_files_->ShouldOverinstallSameVersion()); |
- |
- EXPECT_SUCCEEDED( |
- DeleteDirectory(ConcatenatePath(omaha_path_, kFutureVersionString))); |
-} |
- |
-// "NotOverInstall" refers to there not being files in the directory. |
-// should_over_install/overwrite will be true for unofficial builds. |
-TEST_F(SetupFilesMachineTest, Install_NotOverInstall) { |
- if (vista_util::IsUserAdmin()) { |
- // Fake the version |
- const ULONGLONG module_version = GetVersion(); |
- InitializeVersion(kFutureVersion); |
- |
- InstallHelper(omaha_path_); |
- |
- InitializeVersion(module_version); |
- } else { |
- // This method expects to be called elevated for machine installs. |
- ExpectAsserts expect_asserts; |
- EXPECT_EQ(GOOPDATE_E_ACCESSDENIED_COPYING_CORE_FILES, |
- setup_files_->Install()); |
- } |
-} |
- |
-TEST_F(SetupFilesUserTest, Install_NotOverInstall) { |
- // Fake the version |
- const ULONGLONG module_version = GetVersion(); |
- InitializeVersion(kFutureVersion); |
- |
- InstallHelper(omaha_path_); |
- |
- InitializeVersion(module_version); |
-} |
- |
-// TODO(omaha3): Need a 1.3.x_newer directory. |
-TEST_F(SetupFilesUserTest, DISABLED_ShouldCopyShell_ExistingIsNewer) { |
- CString target_path = ConcatenatePath( |
- ConcatenatePath(exe_parent_dir_, _T("omaha_1.3.x_newer")), |
- kOmahaShellFileName); |
- ASSERT_TRUE(File::Exists(target_path)); |
- bool should_copy = false; |
- bool already_exists = false; |
- EXPECT_SUCCEEDED(ShouldCopyShell(target_path, &should_copy, &already_exists)); |
- EXPECT_FALSE(should_copy); |
- EXPECT_TRUE(already_exists); |
-} |
- |
-TEST_F(SetupFilesUserTest, ShouldCopyShell_ExistingIsSame) { |
- CString target_path = ConcatenatePath(app_util::GetCurrentModuleDirectory(), |
- kOmahaShellFileName); |
- ASSERT_TRUE(File::Exists(target_path)); |
- bool should_copy = false; |
- bool already_exists = false; |
- |
- EXPECT_SUCCEEDED(ShouldCopyShell(target_path, &should_copy, &already_exists)); |
- EXPECT_EQ(expected_is_overinstall_, should_copy); |
- EXPECT_TRUE(already_exists); |
- |
- if (!ShouldRunLargeTest()) { |
- return; |
- } |
- |
- // Override OverInstall to test official behavior on non-official builds. |
- |
- DWORD existing_overinstall(0); |
- bool had_existing_overinstall = SUCCEEDED(RegKey::GetValue( |
- MACHINE_REG_UPDATE_DEV, |
- kRegValueNameOverInstall, |
- &existing_overinstall)); |
- |
- EXPECT_SUCCEEDED(RegKey::SetValue(MACHINE_REG_UPDATE_DEV, |
- kRegValueNameOverInstall, |
- static_cast<DWORD>(0))); |
- |
- EXPECT_SUCCEEDED( |
- ShouldCopyShell(target_path, &should_copy, &already_exists)); |
-#ifdef DEBUG |
- EXPECT_FALSE(should_copy); |
-#else |
- EXPECT_EQ(expected_is_overinstall_, should_copy); |
-#endif |
- EXPECT_TRUE(already_exists); |
- |
- // Restore "overinstall" |
- if (had_existing_overinstall) { |
- EXPECT_SUCCEEDED(RegKey::SetValue(MACHINE_REG_UPDATE_DEV, |
- kRegValueNameOverInstall, |
- existing_overinstall)); |
- } else { |
- EXPECT_SUCCEEDED(RegKey::DeleteValue(MACHINE_REG_UPDATE_DEV, |
- kRegValueNameOverInstall)); |
- } |
-} |
- |
-TEST_F(SetupFilesUserTest, IsOlderShellVersionCompatible_Compatible) { |
- EXPECT_TRUE(IsOlderShellVersionCompatible(MAKEDLLVERULL(1, 2, 131, 7))); |
- EXPECT_TRUE(IsOlderShellVersionCompatible(MAKEDLLVERULL(1, 2, 183, 9))); |
-} |
- |
-TEST_F(SetupFilesUserTest, IsOlderShellVersionCompatible_Incompatible) { |
- // Vary the four elements of the version. |
- EXPECT_FALSE(IsOlderShellVersionCompatible(MAKEDLLVERULL(1, 2, 183, 7))); |
- EXPECT_FALSE(IsOlderShellVersionCompatible(MAKEDLLVERULL(1, 2, 185, 9))); |
- EXPECT_FALSE(IsOlderShellVersionCompatible(MAKEDLLVERULL(1, 3, 183, 9))); |
- EXPECT_FALSE(IsOlderShellVersionCompatible(MAKEDLLVERULL(2, 2, 183, 9))); |
- |
- // Corner cases |
- EXPECT_FALSE(IsOlderShellVersionCompatible(_UI64_MAX)); |
- EXPECT_FALSE(IsOlderShellVersionCompatible(0)); |
- EXPECT_FALSE(IsOlderShellVersionCompatible(1)); |
-} |
- |
-TEST_F(SetupFilesUserTest, |
- ShouldCopyShell_ExistingIsOlderButCompatible_1_2_131_7) { |
- CString target_path = ConcatenatePath( |
- ConcatenatePath(exe_parent_dir_, _T("omaha_1.2.131.7_shell")), |
- kOmahaShellFileName); |
- ASSERT_TRUE(File::Exists(target_path)); |
- bool should_copy = false; |
- bool already_exists = false; |
- EXPECT_SUCCEEDED(ShouldCopyShell(target_path, &should_copy, &already_exists)); |
- EXPECT_FALSE(should_copy); |
- EXPECT_TRUE(already_exists); |
-} |
- |
-TEST_F(SetupFilesUserTest, |
- ShouldCopyShell_ExistingIsOlderButCompatible_1_2_183_9) { |
- CString target_path = ConcatenatePath( |
- ConcatenatePath(exe_parent_dir_, _T("omaha_1.2.183.9_shell")), |
- kOmahaShellFileName); |
- ASSERT_TRUE(File::Exists(target_path)); |
- bool should_copy = false; |
- bool already_exists = false; |
- EXPECT_SUCCEEDED(ShouldCopyShell(target_path, &should_copy, &already_exists)); |
- EXPECT_FALSE(should_copy); |
- EXPECT_TRUE(already_exists); |
-} |
- |
-TEST_F(SetupFilesUserTest, ShouldCopyShell_ExistingIsOlderMinor) { |
- CString target_path = ConcatenatePath( |
- ConcatenatePath(exe_parent_dir_, _T("omaha_1.2.x")), |
- kOmahaShellFileName); |
- ASSERT_TRUE(File::Exists(target_path)); |
- bool should_copy = false; |
- bool already_exists = false; |
- EXPECT_SUCCEEDED(ShouldCopyShell(target_path, &should_copy, &already_exists)); |
- EXPECT_TRUE(should_copy); |
- EXPECT_TRUE(already_exists); |
-} |
- |
-// The 1.3.x directory will not always have an older GoogleUpdate.exe than the |
-// saved version that we use for official builds. |
-#if !OFFICIAL_BUILD |
-TEST_F(SetupFilesUserTest, ShouldCopyShell_ExistingIsOlderSameMinor) { |
- CString target_path = ConcatenatePath( |
- ConcatenatePath(exe_parent_dir_, _T("omaha_1.3.x")), |
- kOmahaShellFileName); |
- ASSERT_TRUE(File::Exists(target_path)); |
- bool should_copy = false; |
- bool already_exists = false; |
- EXPECT_SUCCEEDED(ShouldCopyShell(target_path, &should_copy, &already_exists)); |
- EXPECT_TRUE(should_copy); |
- EXPECT_TRUE(already_exists); |
-} |
-#endif |
- |
-// Assumes LongRunningSilent.exe does not have a version resource. |
-TEST_F(SetupFilesUserTest, ShouldCopyShell_ExistingHasNoVersion) { |
- CString target_path = ConcatenatePath( |
- ConcatenatePath(exe_parent_dir_, _T("does_not_shutdown")), |
- kOmahaShellFileName); |
- ASSERT_TRUE(File::Exists(target_path)); |
- bool should_copy = false; |
- bool already_exists = false; |
- ExpectAsserts expect_asserts; |
- EXPECT_SUCCEEDED(ShouldCopyShell(target_path, &should_copy, &already_exists)); |
- EXPECT_TRUE(should_copy); |
- EXPECT_TRUE(already_exists); |
-} |
- |
-TEST_F(SetupFilesUserTest, ShouldCopyShell_NoExistingFile) { |
- CString target_path = ConcatenatePath( |
- ConcatenatePath(exe_parent_dir_, _T("no_such_dir")), |
- kOmahaShellFileName); |
- ASSERT_FALSE(File::Exists(target_path)); |
- bool should_copy = false; |
- bool already_exists = false; |
- EXPECT_SUCCEEDED(ShouldCopyShell(target_path, &should_copy, &already_exists)); |
- EXPECT_TRUE(should_copy); |
- EXPECT_FALSE(already_exists); |
-} |
- |
-} // namespace omaha |