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

Side by Side Diff: chrome/installer/automation_test/verifier.py

Issue 20578004: Initial commit for the Automated Installer Testing Framework. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Created 7 years, 4 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 unified diff | Download patch
OLDNEW
(Empty)
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
gab 2013/07/26 20:39:48 2013
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
4
5 import _winreg
6
7 def Verify(config):
8 for verifier_name, value in config.iteritems():
9 if verifier_name == "RegistryEntries":
gab 2013/07/26 20:39:48 Is there some kind of switch statement for strings
sukolsak 2013/07/30 15:40:32 Python doesn't have a switch statement.
10 VerifyRegistryEntries(value)
11 else:
12 # TODO: implement other verifiers
robertshield 2013/07/26 19:32:23 TODOs should be attributed: # TODO(sukolsak): impl
13 pass
14
15 def VerifyRegistryEntries(entries):
gab 2013/07/26 20:39:48 I would put individual verifiers in their own modu
16 for key, entry in entries.iteritems():
17 if VerifyRegistryEntry(key, entry):
18 print "Passed"
19 else:
20 print "Failed"
21
22 def RootKeyConstant(key):
23 if key == "HKEY_CLASSES_ROOT":
24 return _winreg.HKEY_CLASSES_ROOT
25 if key == "HKEY_CURRENT_USER":
26 return _winreg.HKEY_CURRENT_USER
27 if key == "HKEY_LOCAL_MACHINE":
28 return _winreg.HKEY_LOCAL_MACHINE
29 if key == "HKEY_USERS":
30 return _winreg.HKEY_USERS
31 raise Exception("Unknown registry key")
32
33 def VerifyRegistryEntry(key, entry):
34 expected = entry["expected"]
35 print " - " + key
gab 2013/07/26 20:39:48 Constantify/document arbitrary formatting spaces
36 if expected:
37 print " exists..."
38 else:
39 print " doesn't exist..."
40 try:
41 root_key, sub_key = key.split("\\", 1)
42 reg_key = _winreg.OpenKey(RootKeyConstant(root_key), \
gab 2013/07/26 20:39:48 Why do you need a backslash here? (Sorry if this i
43 sub_key, 0, _winreg.KEY_READ)
44 if expected == False:
45 return False
46 if "value" in entry:
47 # TODO: implement value
gab 2013/07/26 20:39:48 Name your TODO, i.e., TODO(sukolsak)
48 pass
49 return True
50 except WindowsError:
51 return expected == False
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698