| Index: chrome/test/mini_installer/registry_verifier.py
|
| diff --git a/chrome/test/mini_installer/registry_verifier.py b/chrome/test/mini_installer/registry_verifier.py
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..fa6698d196f86600f2ccc2966ff5663eaf9d9f72
|
| --- /dev/null
|
| +++ b/chrome/test/mini_installer/registry_verifier.py
|
| @@ -0,0 +1,50 @@
|
| +# Copyright 2013 The Chromium Authors. All rights reserved.
|
| +# Use of this source code is governed by a BSD-style license that can be
|
| +# found in the LICENSE file.
|
| +
|
| +import _winreg
|
| +import settings
|
| +
|
| +
|
| +def VerifyRegistryEntries(entries):
|
| + for key, entry in entries.iteritems():
|
| + # TODO(sukolsak): Use unittest framework instead of prints.
|
| + if VerifyRegistryEntry(key, entry):
|
| + print "Passed"
|
| + else:
|
| + print "Failed"
|
| +
|
| +
|
| +def RootKeyConstant(key):
|
| + if key == "HKEY_CLASSES_ROOT":
|
| + return _winreg.HKEY_CLASSES_ROOT
|
| + if key == "HKEY_CURRENT_USER":
|
| + return _winreg.HKEY_CURRENT_USER
|
| + if key == "HKEY_LOCAL_MACHINE":
|
| + return _winreg.HKEY_LOCAL_MACHINE
|
| + if key == "HKEY_USERS":
|
| + return _winreg.HKEY_USERS
|
| + # TODO(sukolsak: Use unittest framework instead of exceptions.
|
| + raise Exception("Unknown registry key")
|
| +
|
| +
|
| +def VerifyRegistryEntry(key, entry):
|
| + expected = entry["expected"]
|
| + # TODO(sukolsak): Debug prints to be removed later.
|
| + print settings.PRINT_VERIFIER_PREFIX + key,
|
| + if expected:
|
| + print "exists...",
|
| + else:
|
| + print "doesn't exist...",
|
| + root_key, sub_key = key.split("\\", 1)
|
| + try:
|
| + reg_key = _winreg.OpenKey(RootKeyConstant(root_key),
|
| + sub_key, 0, _winreg.KEY_READ)
|
| + except WindowsError:
|
| + return not expected
|
| + if not expected:
|
| + return False
|
| + if "value" in entry:
|
| + # TODO(sukolsak): implement value
|
| + pass
|
| + return True
|
|
|