summaryrefslogtreecommitdiffstats
path: root/test-framework/checker/testrunner/registry.py
diff options
context:
space:
mode:
Diffstat (limited to 'test-framework/checker/testrunner/registry.py')
-rw-r--r--test-framework/checker/testrunner/registry.py21
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 ) )