summaryrefslogtreecommitdiffstats
path: root/chrome/installer/util/helper_unittest.cc
Commit message (Collapse)AuthorAgeFilesLines
* More installer refactoring in the interest of fixing some bugs and cleaning ↵grt@chromium.org2011-01-251-204/+0
| | | | | | | | | | | | | | | | | | | | | | | | | things up: - Introduced ProductOperations: an interface implemented for each product that takes care of product-specific functions. Each Product owns an instance and delegates certain operations to it. - Removed the use of MasterPreferences by BrowserDistribution so that the former isn't needed outside of the installer. - Replaced PackageProperties with a new BrowserDistribution type (CHROME_BINARIES) - Plumbed the concept of InstallerState more thoroughly through installer - Removed ProductPackageMapping and Package - Moved more registry read ops into ProductState - Validation of products to be installed is now done in CheckPreInstallConditions - Ignore --chrome-frame --ready-mode if chrome is also being installed/updated and a SxS GCF is found (chrome is updated). - Migrates existing single-install Chrome to multi-install where appropriate. - Fixes update to Chrome's uninstallation arguments when Chrome Frame is uninstalled. - Removed dead code from install.cc. - Added code to update products' "ap" values when ready-mode is accepted. - Skip post-install things such as launching the browser when Chrome was implicitly added to the install/upgrade process by virtue of being part of a multi-install. BUG=61609 TEST=run the installer, see it work. existing tests in installer_util_unittests have been updated; new tests are included for ProductState, ChannelInfo, etc. Review URL: http://codereview.chromium.org/6288009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@72497 0039d316-1c4b-4281-b951-d872f2087c98
* base/version: remove wstring versionevan@chromium.org2010-12-231-2/+2
| | | | | | | | | | | And fix callers. BUG=23581 TEST=trybots Review URL: http://codereview.chromium.org/5848005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70098 0039d316-1c4b-4281-b951-d872f2087c98
* - Installation results for use by Google Update are now written at the ↵grt@chromium.org2010-12-221-2/+3
| | | | | | | | | | | | | | | | | | Package level. Furthermore, such results are placed in the product keys as well as the package key, if there is one. This ensures that the result will be available for Google Update regardless of whether or not a migration from single to unified is taking place. - The mutex protecting creation of the window used to join chrome processes no longer contains the app_guid. This increases contention for the lock slightly, but ensures that window creation is safe in light of unified installs. - Fixed placement of the user data directory for Chrome Frame. Previously, GetChromeFrameUserDataDirectory contained its own, different, ChromeFrameDistribution::GetInstallSubDir implementation. Now, GetChromeFrameUserDataDirectory delegates to ChromeFrameDistribution. - Product now caches and owns the Version instance returned by is GetInstalledVersion method (msi state is also cached). Also added Product::IsInstalled. - Moved GetInstallReturnCode from BrowserDistribution to InstallUtil because I didn't see why it belonged to the dist class. - SetEULAConsent now writes the consent value to either the product or package key as appropriate. - Disallow --multi-install when operating on a SxS Chrome installation. - Propagate --multi-install when running setup.exe with --rename-chrome-exe so that installer results can get written to the correct place. BUG=61609 TEST=New tests added to installer_util_unittests for WriteInstallerResult and SetEULAConsent changes. Review URL: http://codereview.chromium.org/6061003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69944 0039d316-1c4b-4281-b951-d872f2087c98
* Installer cleanupamit@chromium.org2010-12-161-2/+1
| | | | | | | | | | | | | 1] Remove installer::version and use base::version in installer 2] Use file_util::FileEnumerator instead of calling FindFirstFile directly BUG=none TEST=covered by existing tests Review URL: http://codereview.chromium.org/5687004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69433 0039d316-1c4b-4281-b951-d872f2087c98
* Adding a new class, PackageProperties that represents the shared binaries ↵tommi@chromium.org2010-12-151-2/+7
| | | | | | | | | | | | | for each of the products. Also removing the system_level() property out of the Product class and into the Package class as system_level can't be different for products that share the same package. TEST=Run installer and unit tests. BUG=61609 Review URL: http://codereview.chromium.org/5744001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69314 0039d316-1c4b-4281-b951-d872f2087c98
* Cleanup some installer style nits.thestig@chromium.org2010-12-021-2/+2
| | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/5430003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@67931 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor the installer to support multi-install.tommi@chromium.org2010-12-011-4/+11
| | | | | | | | | | | | | | | | | | The installer now does its work based on distributions and target installation paths. Each distribution has exactly one target installation path but each installation path can have more than one distribution. In the absense of the --multi-install switch, the installer should continue to work as before. The biggest difference here is that we don't rely on a single global distribution object that controls the entire installation flow and we have a few classes for the new abstractions instead of global functions. It's far from perfect, but it's a step towards separating the core file package required for all distributions from the distributions themselves. Additionally, there are tons of little changes here such as consistant usage of FilePath and CommandLine instead of mixing them with std::wstring. TEST=Install, uninstall, upgrade, etc. Everything install related. BUG=61609 Review URL: http://codereview.chromium.org/5172011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@67818 0039d316-1c4b-4281-b951-d872f2087c98
* Remove <iostream> where possible.erg@google.com2010-07-201-1/+0
| | | | | | | | | | | | | <iostream> creates a static initializer. Most people don't need <iostream> anyway--they really need <ostream> for operator<< overloads. <iostream> should *never* be included in a header file; <iosfwd> exists for that purpose. BUG=none TEST=none Review URL: http://codereview.chromium.org/3014015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53083 0039d316-1c4b-4281-b951-d872f2087c98
* Windows: Make file_util::Delete("c:\\foo_dir", false) work correctly. Add ↵thestig@chromium.org2010-05-071-1/+1
| | | | | | | | | | more unit tests for Delete. BUG=42374 TEST=included Review URL: http://codereview.chromium.org/1763008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46725 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 46633 - Windows: Make file_util::Delete("c:\\foo_dir", false) work ↵zork@chromium.org2010-05-071-1/+1
| | | | | | | | | | | | | correctly. Add more unit tests for Delete. BUG=42374 TEST=included Review URL: http://codereview.chromium.org/1763008 TBR=thestig@chromium.org Review URL: http://codereview.chromium.org/2038004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46640 0039d316-1c4b-4281-b951-d872f2087c98
* Windows: Make file_util::Delete("c:\\foo_dir", false) work correctly. Add ↵thestig@chromium.org2010-05-061-1/+1
| | | | | | | | | | more unit tests for Delete. BUG=42374 TEST=included Review URL: http://codereview.chromium.org/1763008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46633 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "installer: clean up to use FilePath instead of std::wstring."kuchhal@chromium.org2009-11-231-2/+2
| | | | | | | | | | | This reverts commit 9da05365beb211e3879e6049547e5e92c4c0a5a2 (r32811). TBR=thiago.farina@gmail.com BUG=32811 Review URL: http://codereview.chromium.org/437011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32817 0039d316-1c4b-4281-b951-d872f2087c98
* installer: clean up to use FilePath instead of std::wstring.kuchhal@chromium.org2009-11-231-2/+2
| | | | | | | | | | BUG=24672 TEST=installer_util_unittests and setup_unittests Review URL: http://codereview.chromium.org/385129 Patch from Thiago Farina <thiago.farina@gmail.com>. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32811 0039d316-1c4b-4281-b951-d872f2087c98
* Replaces the windows function CreateDirectory with the CreateDirectory ↵kuchhal@chromium.org2009-09-151-10/+10
| | | | | | | | | | | | method from FileUtil API. BUG=None TEST=ran installer_util_unittests.exe Review URL: http://codereview.chromium.org/202002 Patch from Thiago Farina <thiago.farina@gmail.com>. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@26225 0039d316-1c4b-4281-b951-d872f2087c98
* Remove uses of deprecated version of FileUtil::PathExists() in the installer.thestig@chromium.org2009-08-251-63/+63
| | | | | | | | | | | BUG=None TEST=run installer_util_unittests.exe Review URL: http://codereview.chromium.org/174189 Patch from Thiago Farina <thiago.farina@gmail.com>. Review URL: http://codereview.chromium.org/173369 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@24320 0039d316-1c4b-4281-b951-d872f2087c98
* Fix missing assignment in helper_unittest.thestig@chromium.org2009-05-051-1/+1
| | | | | | TBR=tony git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15336 0039d316-1c4b-4281-b951-d872f2087c98
* Remove uses of deprecated version of PathService::Get() in the installer.thestig@chromium.org2009-05-051-5/+5
| | | | | | Review URL: http://codereview.chromium.org/109033 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15325 0039d316-1c4b-4281-b951-d872f2087c98
* Removed unneeded includes of base/scoped_ptr.h. Reduce usage from ~800 files ↵thestig@chromium.org2009-03-131-1/+0
| | | | | | | | to ~400. Review URL: http://codereview.chromium.org/46039 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11651 0039d316-1c4b-4281-b951-d872f2087c98
* Remove logging.h from cc files that don't use it.thestig@chromium.org2009-03-121-1/+0
| | | | | | Review URL: http://codereview.chromium.org/42155 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11593 0039d316-1c4b-4281-b951-d872f2087c98
* NO CODE CHANGEdeanm@chromium.org2009-03-101-1/+0
| | | | | | | | | Normalize end of file newlines in chrome/. All files end in a single newline. Review URL: http://codereview.chromium.org/42015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11331 0039d316-1c4b-4281-b951-d872f2087c98
* Use a more compact license header in source files.license.bot2008-08-241-28/+4
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1287 0039d316-1c4b-4281-b951-d872f2087c98
* Do not leave temp files in %TEMP% folder. The log file initialization ↵rahulk@google.com2008-08-201-11/+0
| | | | | | | | | creates these temporary files and these log files are of no use. BUG=1330260 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1111 0039d316-1c4b-4281-b951-d872f2087c98
* Add chrome to the repository.initial.commit2008-07-261-0/+231
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15 0039d316-1c4b-4281-b951-d872f2087c98