]> granicus.if.org Git - python/commitdiff
Issue #6221: Delete test registry key before running the test.
authorMartin v. Löwis <martin@v.loewis.de>
Sun, 7 Jun 2009 17:55:17 +0000 (17:55 +0000)
committerMartin v. Löwis <martin@v.loewis.de>
Sun, 7 Jun 2009 17:55:17 +0000 (17:55 +0000)
Lib/test/test_winreg.py
Misc/NEWS

index 0b778b2056e5bf6db1acbbf19980254e46869cfd..3b314dd02616012d5b22af8ce400fbda0757569c 100644 (file)
@@ -28,6 +28,27 @@ test_data = [
 class WinregTests(unittest.TestCase):
     remote_name = None
 
+    def setUp(self):
+        # Make sure that the test key is absent when the test
+        # starts.
+        self.delete_tree(HKEY_CURRENT_USER, test_key_name)
+
+    def delete_tree(self, root, subkey):
+        try:
+            hkey = OpenKey(root, subkey, KEY_ALL_ACCESS)
+        except WindowsError:
+            # subkey does not exist
+            return
+        while True:
+            try:
+                subsubkey = EnumKey(hkey, 0)
+            except WindowsError:
+                # no more subkeys
+                break
+            self.delete_tree(hkey, subsubkey)
+        CloseKey(hkey)
+        DeleteKey(root, subkey)
+
     def WriteTestData(self, root_key, subkeystr="sub_key"):
         # Set the default value for this key.
         SetValue(root_key, test_key_name, REG_SZ, "Default value")
index dd544dd82dde69e89451939b23006faf5e5aaf78..7673f996aaee154e03cc3e4296e115a52920861c 100644 (file)
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -46,6 +46,8 @@ Library
 Windows
 -------
 
+- Issue #6221: Delete test registry key before running the test.
+
 - Issue #6158: Package Sine-1000Hz-300ms.aif in MSI file.
 
 C-API