summaryrefslogtreecommitdiffstats
path: root/chrome/installer/mini_installer
diff options
context:
space:
mode:
authorrobertshield@chromium.org <robertshield@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-05-29 01:15:40 +0000
committerrobertshield@chromium.org <robertshield@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-05-29 01:15:40 +0000
commited44abb427a11b618142f05dd9e68cf00d20ab69 (patch)
tree781e124fe7aa23b4cdcdb62780eeba142cb3428f /chrome/installer/mini_installer
parent3e9d334025c213155c49b19ab584e8759a240d24 (diff)
downloadchromium_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.cc3
-rw-r--r--chrome/installer/mini_installer/configuration.h6
-rw-r--r--chrome/installer/mini_installer/mini_installer.cc25
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))