summaryrefslogtreecommitdiffstats
path: root/chrome/installer/util/product_unittest.cc
Commit message (Collapse)AuthorAgeFilesLines
* Use a direct include of utf_string_conversions.h in chrome/app/, ↵avi@chromium.org2013-06-071-1/+1
| | | | | | | | | | | chrome/common/, chrome/installer. BUG=none TEST=none Review URL: https://chromiumcodereview.appspot.com/16026013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@204902 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 184352brettw@chromium.org2013-02-241-1/+1
| | | | | | | | | | | | | | | | | > Add utf_string_conversions to base namespace. > > This adds "using"s for all functions so those can be fixed in a separate pass. > > This converts the "Wide" versions of the functions in the Chrome directory as a first pass on the changeover. > > BUG= > > Review URL: https://codereview.chromium.org/12314090 TBR=brettw@chromium.org Review URL: https://codereview.chromium.org/12315071 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@184355 0039d316-1c4b-4281-b951-d872f2087c98
* Add utf_string_conversions to base namespace.brettw@chromium.org2013-02-241-1/+1
| | | | | | | | | | | | This adds "using"s for all functions so those can be fixed in a separate pass. This converts the "Wide" versions of the functions in the Chrome directory as a first pass on the changeover. BUG= Review URL: https://codereview.chromium.org/12314090 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@184352 0039d316-1c4b-4281-b951-d872f2087c98
* Move FilePath->base::FilePathbrettw@chromium.org2013-02-111-3/+3
| | | | | | Review URL: https://codereview.chromium.org/12213104 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@181663 0039d316-1c4b-4281-b951-d872f2087c98
* Fix backwards use of EXPECT_OP in test.grt@chromium.org2012-08-071-1/+1
| | | | | | | | | | | BUG=none TEST=none TBR=gab@chromium.org Review URL: https://chromiumcodereview.appspot.com/10827174 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@150340 0039d316-1c4b-4281-b951-d872f2087c98
* Delete both regular and Metro user data dirs on uninstall.grt@chromium.org2012-08-031-3/+13
| | | | | | | | | | | | | Also: - The uninstall survey will use the metro Chrome local state if there is no desktop Chrome local state (although in the future we maybe want to aggregate them). - Chrome inactivity for toast purposes is now based on the most-recently used of both desktop and metro Chrome. BUG=125793 TEST=install chrome, make it the default, launch into metro at least once, quit, then uninstall and check the "also clear..." box. Metro data dir should be gone. Review URL: https://chromiumcodereview.appspot.com/10826144 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@149968 0039d316-1c4b-4281-b951-d872f2087c98
* Remove two deprecated methods from base::Versionisherman@chromium.org2012-07-111-5/+4
| | | | | | | | | | BUG=none TEST=none TBR=sky@chromium.org Review URL: https://chromiumcodereview.appspot.com/10683005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@146157 0039d316-1c4b-4281-b951-d872f2087c98
* Flakiness cleanup: disable flaky tests under chrome/evan@chromium.org2012-02-151-1/+1
| | | | | | | | | BUG=84299,99469,90557,109292,38497,45243,84854,59785,59783,59784,100567,62777,60426 TBR=thakis Review URL: https://chromiumcodereview.appspot.com/9406017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@122137 0039d316-1c4b-4281-b951-d872f2087c98
* Mark ProductTest.ProductInstallBasic flaky on Win.nkostylev@chromium.org2011-10-171-1/+8
| | | | | | | | | | BUG=100567 TEST=ProductTest.ProductInstallBasic TBR=tommi@chromium.org Review URL: http://codereview.chromium.org/8321006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@105819 0039d316-1c4b-4281-b951-d872f2087c98
* Tommi: I need an owner review for the chrome frame changes.rogerta@chromium.org2011-08-241-31/+4
| | | | | | | | | | | | | | Moving the test helper class TempRegKeyOverride since I need to do something similar in some new RLZ tests, and I don't want to duplicate the code. Please suggest a better namespace name if needed, I was just following the same pattern found in test_file_util in the same directory. BUG=None TEST=No new tests, just refactoring test helpers Review URL: http://codereview.chromium.org/7669061 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@98100 0039d316-1c4b-4281-b951-d872f2087c98
* More installer refactoring in the interest of fixing some bugs and cleaning ↵grt@chromium.org2011-01-251-87/+42
| | | | | | | | | | | | | | | | | | | | | | | | | 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
* Regkey functions return error code instead of boolamit@chromium.org2011-01-191-4/+5
| | | | | | | | | | | | | | | | | | | | | | Change the Regkey helper to consistently use and return LONG instead of bool. Fix RegKey usage all over the code base and get rid of workarounds due to lack of return value. Reviewers: brettw: everything (skip parts for other reviewers if you wish) robertshield,grt: chrome_frame, installer siggi: ceee BUG=none TEST=covered by existing tests Review URL: http://codereview.chromium.org/6090006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@71768 0039d316-1c4b-4281-b951-d872f2087c98
* Reland "Remove base/scoped_handle_win.h."tfarina@chromium.org2011-01-091-3/+1
| | | | | | | | | | | | | | | Fixed the problem with rlz library. Now should be fine to land this again. This reverts commit 3620d9501af7bff688862c54fdd60f7eb41797f3. Original Review URL: http://codereview.chromium.org/6126002/ BUG=None TEST=trybots Review URL: http://codereview.chromium.org/6110005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70861 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Remove base/scoped_handle_win.h stub and fix up all callers to use ↵thakis@chromium.org2011-01-071-1/+3
| | | | | | | | | | the new location and namespace." This reverts r 70795, it broke the build. TBR=vandebo git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70802 0039d316-1c4b-4281-b951-d872f2087c98
* Remove base/scoped_handle_win.h stub and fix up all callers to use the new ↵tfarina@chromium.org2011-01-071-3/+1
| | | | | | | | | | | location and namespace. BUG=None TEST=trybots Review URL: http://codereview.chromium.org/6126002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70795 0039d316-1c4b-4281-b951-d872f2087c98
* - WriteInstallerResult is now back in InstallUtil and only writes the result ↵grt@chromium.org2011-01-051-10/+16
| | | | | | | | | | | | | | | | | | | | | where it is needed - WriteInstallerResult is no longer called on uninstall (Google Update doesn't check it on uninstall) - Introduced the poorly named InstallationState (state of the system based on registry inspection) and InstallerState (state of the current operation) classes - Product::GetInstalledVersion and Product::IsInstalled are gone; use InstallationState instead - A few cleanups to make the code comply with the style guide - UpdateDiffInstallStatus has been renamed to UpdateInstallStatus - Chromium builds noop in UpdateInstallStatus (this was always the case for the browser, but now also is for GCF and the multi-installer package). - The -multifail suffixes is now added to/removed from the Google Update "ap" value by UpdateInstallStatus on the basis of multi-install success/failure. - Added code to update the Google Update "ap" value based on the set up products/options installed - ChannelInfo is now an ordered list of modifiers and suffixes. We're careful to keep -full at the end since that was an operating assumption previously. - ActivePackageProperties is a typedef to either the Chrome or Chromium PackageProperties class TEST=Some existing unit tests updated; more new unit tests to follow. BUG=61609 Review URL: http://codereview.chromium.org/5988007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70483 0039d316-1c4b-4281-b951-d872f2087c98
* base/version: remove wstring versionevan@chromium.org2010-12-231-1/+1
| | | | | | | | | | | 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-16/+17
| | | | | | | | | | | | | | | | | | 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-3/+3
| | | | | | | | | | | | | 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-6/+10
| | | | | | | | | | | | | 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
* Revert 69167, itself a revert of 69165 - Merge the installer, installer_util ↵robertshield@chromium.org2010-12-151-9/+9
| | | | | | | | | | | | and setup_util namespaces into a single installer namespace. BUG=61609 TEST=NONE Review URL: http://codereview.chromium.org/5738009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69256 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 69165 - Merge the installer, installer_util and setup_util namespaces ↵robertshield@chromium.org2010-12-141-9/+9
| | | | | | | | | | | | | | into a single installer namespace. BUG=61609 TEST=NONE Review URL: http://codereview.chromium.org/5729004 TBR=robertshield@chromium.org Review URL: http://codereview.chromium.org/5756007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69167 0039d316-1c4b-4281-b951-d872f2087c98
* Merge the installer, installer_util and setup_util namespaces into a single ↵robertshield@chromium.org2010-12-141-9/+9
| | | | | | | | | | | installer namespace. BUG=61609 TEST=NONE Review URL: http://codereview.chromium.org/5729004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69165 0039d316-1c4b-4281-b951-d872f2087c98
* Add a CEEE mode to the ChromeFrame distribution class.robertshield@chromium.org2010-12-131-4/+17
| | | | | | | | | | | | | | Pass a MasterPreferences into BrowserDistribution et al. to allow for preferences-based behaviour. Add a GetComDllList() method that returns the set of registerable components for that distribution. Change GetKeyFile() on BrowserDistribution to GetKeyFiles(). Refactor GetMasterPreferencesForCurrentProcess into a static method on MasterPreferences. BUG=61609 TEST=None Review URL: http://codereview.chromium.org/5558006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68996 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor the installer to support multi-install.tommi@chromium.org2010-12-011-0/+179
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