Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(99)

Unified Diff: chrome/test/mini_installer/uninstall_chrome.py

Issue 23523045: Clean the machine before running commands in the mini_installer test framework. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Address gab's comment. Created 7 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/test/mini_installer/uninstall_chrome.py
diff --git a/chrome/test/mini_installer/uninstall_chrome.py b/chrome/test/mini_installer/uninstall_chrome.py
index f501856737d1b6eee8869193cbe9d83e7013d2c4..3ce22e4e572388f8ff5477dc317f60a87679e4cd 100644
--- a/chrome/test/mini_installer/uninstall_chrome.py
+++ b/chrome/test/mini_installer/uninstall_chrome.py
@@ -20,6 +20,12 @@ def main():
default=False, help='Uninstall Chrome at system level.')
parser.add_option('--chrome-long-name', default='Google Chrome',
help='Google Chrome or Chromium)')
+ parser.add_option('--interactive', action='store_true', dest='interactive',
+ default=False, help='Ask before uninstalling Chrome.')
+ parser.add_option('--no-error-if-absent', action='store_true',
+ dest='no_error_if_absent', default=False,
+ help='No error if the registry key for uninstalling Chrome '
+ 'is absent.')
options, _ = parser.parse_args()
# TODO(sukolsak): Add support for uninstalling MSI-based Chrome installs when
@@ -34,9 +40,19 @@ def main():
try:
key = _winreg.OpenKey(root_key, sub_key, 0, _winreg.KEY_QUERY_VALUE)
except WindowsError:
+ if options.no_error_if_absent:
+ return 0
raise KeyError('Registry key %s\\%s is missing' % (
'HKEY_LOCAL_MACHINE' if options.system_level else 'HKEY_CURRENT_USER',
sub_key))
+ if options.interactive:
+ prompt = ('Warning: This will uninstall %s at %s. Do you want to continue? '
+ '(y/N) ' % (options.chrome_long_name,
+ 'system-level' if
+ options.system_level else 'user-level'))
+ if raw_input(prompt).strip() != 'y':
+ print >> sys.stderr, 'User aborted'
+ return 1
uninstall_string, _ = _winreg.QueryValueEx(key, 'UninstallString')
exit_status = subprocess.call(uninstall_string + ' --force-uninstall',
shell=True)
« chrome/test/mini_installer/test_installer.py ('K') | « chrome/test/mini_installer/test_installer.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698