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 |
deleted file mode 100644 |
index bd790d574823082202e3bc5c5eda561b9b2e1abb..0000000000000000000000000000000000000000 |
--- a/chrome/test/mini_installer/registry_verifier.py |
+++ /dev/null |
@@ -1,112 +0,0 @@ |
-# 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 verifier |
- |
- |
-class RegistryVerifier(verifier.Verifier): |
- """Verifies that the current registry matches the specified criteria.""" |
- |
- def _RootKeyConstant(self, root_key): |
- """Converts a root registry key string into a _winreg.HKEY_* constant.""" |
- root_key_mapping = { |
- 'HKEY_CLASSES_ROOT': _winreg.HKEY_CLASSES_ROOT, |
- 'HKEY_CURRENT_USER': _winreg.HKEY_CURRENT_USER, |
- 'HKEY_LOCAL_MACHINE': _winreg.HKEY_LOCAL_MACHINE, |
- 'HKEY_USERS': _winreg.HKEY_USERS, |
- } |
- if root_key not in root_key_mapping: |
- raise KeyError("Unknown root registry key '%s'" % root_key) |
- return root_key_mapping[root_key] |
- |
- def _ValueTypeConstant(self, value_type): |
- """Converts a registry value type string into a _winreg.REG_* constant.""" |
- value_type_mapping = { |
- 'BINARY': _winreg.REG_BINARY, |
- 'DWORD': _winreg.REG_DWORD, |
- 'DWORD_LITTLE_ENDIAN': _winreg.REG_DWORD_LITTLE_ENDIAN, |
- 'DWORD_BIG_ENDIAN': _winreg.REG_DWORD_BIG_ENDIAN, |
- 'EXPAND_SZ': _winreg.REG_EXPAND_SZ, |
- 'LINK': _winreg.REG_LINK, |
- 'MULTI_SZ': _winreg.REG_MULTI_SZ, |
- 'NONE': _winreg.REG_NONE, |
- 'SZ': _winreg.REG_SZ, |
- } |
- if value_type not in value_type_mapping: |
- raise KeyError("Unknown registry value type '%s'" % value_type) |
- return value_type_mapping[value_type] |
- |
- def _VerifyExpectation(self, expectation_name, expectation, |
- variable_expander): |
- """Overridden from verifier.Verifier. |
- |
- Verifies a registry key according to the |expectation|. |
- |
- Args: |
- expectation_name: The registry key being verified. It is expanded using |
- Expand. |
- expectation: A dictionary with the following keys and values: |
- 'exists' a string indicating whether the registry key's existence is |
- 'required', 'optional', or 'forbidden'. Values are not checked if |
- an 'optional' key is not present in the registry. |
- 'values' (optional) a dictionary where each key is a registry value |
- and its associated value is a dictionary with the following key |
- and values: |
- 'type' (optional) a string indicating the type of the registry |
- value. If not present, the corresponding value is expected |
- to be absent in the registry. |
- 'data' the associated data of the registry value if 'type' is |
- specified. If it is a string, it is expanded using Expand. |
- variable_expander: A VariableExpander object. |
- """ |
- key = variable_expander.Expand(expectation_name) |
- root_key, sub_key = key.split('\\', 1) |
- try: |
- # Query the Windows registry for the registry key. It will throw a |
- # WindowsError if the key doesn't exist. |
- key_handle = _winreg.OpenKey(self._RootKeyConstant(root_key), sub_key, 0, |
- _winreg.KEY_QUERY_VALUE) |
- except WindowsError: |
- # Key doesn't exist. See that it matches the expectation. |
- assert expectation['exists'] != 'required', ('Registry key %s is ' |
- 'missing' % key) |
- # Values are not checked if the missing key's existence is optional. |
- return |
- # The key exists, see that it matches the expectation. |
- assert expectation['exists'] != 'forbidden', ('Registry key %s exists' % |
- key) |
- |
- # Verify the expected values. |
- if 'values' not in expectation: |
- return |
- for value, value_expectation in expectation['values'].iteritems(): |
- # Query the value. It will throw a WindowsError if the value doesn't |
- # exist. |
- try: |
- data, value_type = _winreg.QueryValueEx(key_handle, value) |
- except WindowsError: |
- # The value does not exist. See that this matches the expectation. |
- assert 'type' not in value_expectation, ('Value %s of registry key %s ' |
- 'is missing' % (value, key)) |
- continue |
- |
- assert 'type' in value_expectation, ('Value %s of registry key %s exists ' |
- 'with value %s' % (value, key, data)) |
- |
- # Verify the type of the value. |
- expected_value_type = value_expectation['type'] |
- assert self._ValueTypeConstant(expected_value_type) == value_type, \ |
- "Value '%s' of registry key %s has unexpected type '%s'" % ( |
- value, key, expected_value_type) |
- |
- # Verify the associated data of the value. |
- expected_data = value_expectation['data'] |
- if isinstance(expected_data, basestring): |
- expected_data = variable_expander.Expand(expected_data) |
- assert expected_data == data, \ |
- ("Value '%s' of registry key %s has unexpected data.\n" |
- " Expected: %s\n" |
- " Actual: %s" % (value, key, expected_data, data)) |