diff options
Diffstat (limited to 'test-framework/checker/testrunner/registry.py')
-rw-r--r-- | test-framework/checker/testrunner/registry.py | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/test-framework/checker/testrunner/registry.py b/test-framework/checker/testrunner/registry.py new file mode 100644 index 000000000..854a029f3 --- /dev/null +++ b/test-framework/checker/testrunner/registry.py @@ -0,0 +1,21 @@ +# -*- coding: utf-8 -*- +from testexception import TestException +import _winreg + +_registry = dict() +_registry["HKEY_CLASSES_ROOT"] = _winreg.HKEY_CLASSES_ROOT +_registry["HKEY_CURRENT_USER"] = _winreg.HKEY_CURRENT_USER +_registry["HKEY_LOCAL_MACHINE"] = _winreg.HKEY_LOCAL_MACHINE +_registry["HKEY_USERS"] = _winreg.HKEY_USERS +_registry["HKEY_CURRENT_CONFIG"] = _winreg.HKEY_CURRENT_CONFIG + +def splitKey( key ): + key, seperator, subKey = key.partition( '\\' ) + return _registry[key], subKey + +def checkKey( key, value, expectedData ): + baseKey, subKey = splitKey( key ) + keyHandle = _winreg.OpenKey( baseKey, subKey ) + data, _ = _winreg.QueryValueEx( keyHandle, value ) + if data != expectedData: + raise TestException( '{0}: unexpected registry data. Actual: {1} Expected: {2}'.format( key, data, expectedData ) ) |