summaryrefslogtreecommitdiffstats
path: root/chrome/test/mini_installer_test
diff options
context:
space:
mode:
authoranantha@chromium.org <anantha@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2008-10-30 23:07:58 +0000
committeranantha@chromium.org <anantha@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2008-10-30 23:07:58 +0000
commit5674adca742f29b43ae32726ba01587bb30b1827 (patch)
tree02f1d18308bf50facf321179873baf3092dcb724 /chrome/test/mini_installer_test
parentf28c8aa77ba5ebf9c931683b33ad8d6d65fd1acb (diff)
downloadchromium_src-5674adca742f29b43ae32726ba01587bb30b1827.zip
chromium_src-5674adca742f29b43ae32726ba01587bb30b1827.tar.gz
chromium_src-5674adca742f29b43ae32726ba01587bb30b1827.tar.bz2
Tests were failing because mini_installer.exe was not found. Added logic to get the path from base::DIR_EXE.
Review URL: http://codereview.chromium.org/8750 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@4242 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/test/mini_installer_test')
-rw-r--r--chrome/test/mini_installer_test/chrome_mini_installer.cc37
-rw-r--r--chrome/test/mini_installer_test/chrome_mini_installer.h3
2 files changed, 27 insertions, 13 deletions
diff --git a/chrome/test/mini_installer_test/chrome_mini_installer.cc b/chrome/test/mini_installer_test/chrome_mini_installer.cc
index 5819e57..d4f0f11 100644
--- a/chrome/test/mini_installer_test/chrome_mini_installer.cc
+++ b/chrome/test/mini_installer_test/chrome_mini_installer.cc
@@ -18,14 +18,15 @@
// Installs the Chrome mini-installer, checks the registry and shortcuts.
void ChromeMiniInstaller::InstallMiniInstaller(bool over_install) {
+ std::wstring mini_installer_path = GetMiniInstallerExePath();
// If need to do clean installation, uninstall chrome if exists.
if (!over_install) {
UnInstall();
}
printf("Will proceed with the test only if mini_installer.exe exists\n");
- ASSERT_TRUE(file_util::PathExists(
- mini_installer_constants::kChromeMiniInstallerExecutable));
- LaunchExe(mini_installer_constants::kChromeMiniInstallerExecutable,
+ printf("Checking for its path %ls\n", mini_installer_path.c_str());
+ ASSERT_TRUE(file_util::PathExists(mini_installer_path));
+ LaunchExe(mini_installer_path,
mini_installer_constants::kChromeMiniInstallerExecutable);
BrowserDistribution* dist = BrowserDistribution::GetDistribution();
ASSERT_TRUE(CheckRegistryKey(dist->GetVersionKey()));
@@ -44,9 +45,6 @@ void ChromeMiniInstaller::InstallMiniInstaller(bool over_install) {
// Installs chromesetup.exe, waits for the install to finish and then
// checks the registry and shortcuts.
void ChromeMiniInstaller::InstallMetaInstaller() {
- printf("Will proceed with the test only if mini_installer.exe exists\n");
- ASSERT_TRUE(file_util::PathExists(
- mini_installer_constants::kChromeMiniInstallerExecutable));
// Uninstall chrome, if already installed.
UnInstall();
// Install Google Chrome through meta installer.
@@ -76,13 +74,17 @@ void ChromeMiniInstaller::OverInstall() {
// gets the registry key value before overinstall.
std::wstring reg_key_value_returned = GetRegistryKey();
printf("\n\nPreparing to overinstall...\n");
- printf("\nOverinstall path is %ls\n",
- mini_installer_constants::kChromeMiniInstallerExecutable);
- InstallMiniInstaller(true);
- // Get the registry key value after over install
- std::wstring reg_key_value_after_overinstall = GetRegistryKey();
- ASSERT_TRUE(VerifyOverInstall(
- reg_key_value_returned, reg_key_value_after_overinstall));
+ std::wstring mini_installer_path = GetMiniInstallerExePath();
+ printf("\nOverinstall path is %ls\n", mini_installer_path.c_str());
+ if (file_util::PathExists(mini_installer_path)) {
+ InstallMiniInstaller(true);
+ // Get the registry key value after over install
+ std::wstring reg_key_value_after_overinstall = GetRegistryKey();
+ ASSERT_TRUE(VerifyOverInstall(
+ reg_key_value_returned, reg_key_value_after_overinstall));
+ } else {
+ UnInstall();
+ }
} else {
printf("This test doesn't run on a chromium build\n");
}
@@ -207,6 +209,15 @@ void ChromeMiniInstaller::FindChromeShortcut() {
printf("Chrome shortcuts not found\n");
}
+// Get path for mini_installer.exe.
+std::wstring ChromeMiniInstaller::GetMiniInstallerExePath() {
+ std::wstring mini_installer_path;
+ PathService::Get(base::DIR_EXE, &mini_installer_path);
+ file_util::AppendToPath(&mini_installer_path,
+ mini_installer_constants::kChromeMiniInstallerExecutable);
+ return mini_installer_path;
+}
+
// Gets the path for uninstall.
std::wstring ChromeMiniInstaller::GetUninstallPath() {
std::wstring username, append_path, path;
diff --git a/chrome/test/mini_installer_test/chrome_mini_installer.h b/chrome/test/mini_installer_test/chrome_mini_installer.h
index 52dbca1..012766e 100644
--- a/chrome/test/mini_installer_test/chrome_mini_installer.h
+++ b/chrome/test/mini_installer_test/chrome_mini_installer.h
@@ -55,6 +55,9 @@ class ChromeMiniInstaller {
// This method verifies Chrome shortcut.
void FindChromeShortcut();
+ // Get path for mini_installer.exe.
+ std::wstring GetMiniInstallerExePath();
+
// Get path for uninstall.
std::wstring GetUninstallPath();