diff options
author | robertshield@chromium.org <robertshield@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-05-29 01:15:40 +0000 |
---|---|---|
committer | robertshield@chromium.org <robertshield@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-05-29 01:15:40 +0000 |
commit | ed44abb427a11b618142f05dd9e68cf00d20ab69 (patch) | |
tree | 781e124fe7aa23b4cdcdb62780eeba142cb3428f /chrome/installer/mini_installer | |
parent | 3e9d334025c213155c49b19ab584e8759a240d24 (diff) | |
download | chromium_src-ed44abb427a11b618142f05dd9e68cf00d20ab69.zip chromium_src-ed44abb427a11b618142f05dd9e68cf00d20ab69.tar.gz chromium_src-ed44abb427a11b618142f05dd9e68cf00d20ab69.tar.bz2 |
Cause mini_installer tests to noop on component builds.
BUG=377839, 264859
TEST=/src/chrome/test/mini_installer/test_installer.py
Review URL: https://codereview.chromium.org/304673004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@273429 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/installer/mini_installer')
-rw-r--r-- | chrome/installer/mini_installer/configuration.cc | 3 | ||||
-rw-r--r-- | chrome/installer/mini_installer/configuration.h | 6 | ||||
-rw-r--r-- | chrome/installer/mini_installer/mini_installer.cc | 25 |
3 files changed, 28 insertions, 6 deletions
diff --git a/chrome/installer/mini_installer/configuration.cc b/chrome/installer/mini_installer/configuration.cc index 34f81ef..023ed6c 100644 --- a/chrome/installer/mini_installer/configuration.cc +++ b/chrome/installer/mini_installer/configuration.cc @@ -37,6 +37,7 @@ void Configuration::Clear() { has_app_host_ = false; is_multi_install_ = false; is_system_level_ = false; + query_component_build_ = false; } bool Configuration::Initialize() { @@ -69,6 +70,8 @@ bool Configuration::InitializeFromCommandLine(const wchar_t* command_line) { is_system_level_ = true; else if (0 == ::lstrcmpi(args_[i], L"--cleanup")) operation_ = CLEANUP; + else if (0 == ::lstrcmpi(args_[i], L"--query-component-build")) + query_component_build_ = true; } // Single-install defaults to Chrome. diff --git a/chrome/installer/mini_installer/configuration.h b/chrome/installer/mini_installer/configuration.h index fb955ad..2e108c7 100644 --- a/chrome/installer/mini_installer/configuration.h +++ b/chrome/installer/mini_installer/configuration.h @@ -55,6 +55,11 @@ class Configuration { // Returns true if --system-level is on the command line. bool is_system_level() const { return is_system_level_; } + // Returns true if --query-component-build is on the command line. + // This will cause mini_installer to exit and return 1 if this is + // a component install or 0 otherwise. + bool query_component_build() const { return query_component_build_; } + protected: void Clear(); bool InitializeFromCommandLine(const wchar_t* command_line); @@ -69,6 +74,7 @@ class Configuration { bool has_app_host_; bool is_multi_install_; bool is_system_level_; + bool query_component_build_; private: Configuration(const Configuration&); diff --git a/chrome/installer/mini_installer/mini_installer.cc b/chrome/installer/mini_installer/mini_installer.cc index 21208a6..87094553 100644 --- a/chrome/installer/mini_installer/mini_installer.cc +++ b/chrome/installer/mini_installer/mini_installer.cc @@ -754,12 +754,14 @@ bool ShouldDeleteExtractedFiles() { // executes setup.exe to do the install/upgrade. int WMain(HMODULE module) { #if defined(COMPONENT_BUILD) - static const wchar_t kComponentBuildIncompatibleMessage[] = - L"mini_installer.exe is incompatible with the component build, please run" - L" setup.exe with the same command line instead. See" - L" http://crbug.com/127233#c17 for details."; - ::MessageBox(NULL, kComponentBuildIncompatibleMessage, NULL, MB_ICONERROR); - return 1; + if (::GetEnvironmentVariable(L"MINI_INSTALLER_TEST", NULL, 0) == 0) { + static const wchar_t kComponentBuildIncompatibleMessage[] = + L"mini_installer.exe is incompatible with the component build, please" + L" run setup.exe with the same command line instead. See" + L" http://crbug.com/127233#c17 for details."; + ::MessageBox(NULL, kComponentBuildIncompatibleMessage, NULL, MB_ICONERROR); + return 1; + } #endif // Always start with deleting potential leftovers from previous installations. @@ -777,6 +779,17 @@ int WMain(HMODULE module) { if (!configuration.Initialize()) return exit_code; + if (configuration.query_component_build()) { + // Exit immediately with an exit code of 1 to indicate component build and 0 + // to indicate static build. This is used by the tests in + // /src/chrome/test/mini_installer/. +#if defined(COMPONENT_BUILD) + return 1; +#else + return 0; +#endif + } + // If the --cleanup switch was specified on the command line, then that means // we should only do the cleanup and then exit. if (ProcessNonInstallOperations(configuration, &exit_code)) |