]> granicus.if.org Git - python/commitdiff
#9289: Workaround for test_long_key(test_winreg) failure on Win2000.
authorHirokazu Yamamoto <ocean-city@m2.ccsnet.ne.jp>
Fri, 22 Oct 2010 11:47:07 +0000 (11:47 +0000)
committerHirokazu Yamamoto <ocean-city@m2.ccsnet.ne.jp>
Fri, 22 Oct 2010 11:47:07 +0000 (11:47 +0000)
RegDeleteKeyA fails with ERROR_MORE_DATA if the length of 2nd
parameter exceeds 260.

Lib/test/test_winreg.py

index da3a9187fd40f58a6d443b26f3f046f3d865b864..ad4cf42958fdeb3f7c5301812d5e004fea6effec 100644 (file)
@@ -261,7 +261,8 @@ class LocalWinregTests(BaseWinregTests):
         finally:
             done = True
             thread.join()
-            DeleteKey(HKEY_CURRENT_USER, test_key_name+'\\changing_value')
+            with OpenKey(HKEY_CURRENT_USER, test_key_name, 0, KEY_ALL_ACCESS) as key:
+                DeleteKey(key, 'changing_value')
             DeleteKey(HKEY_CURRENT_USER, test_key_name)
 
     def test_long_key(self):
@@ -275,7 +276,8 @@ class LocalWinregTests(BaseWinregTests):
                 num_subkeys, num_values, t = QueryInfoKey(key)
                 EnumKey(key, 0)
         finally:
-            DeleteKey(HKEY_CURRENT_USER, '\\'.join((test_key_name, name)))
+            with OpenKey(HKEY_CURRENT_USER, test_key_name, 0, KEY_ALL_ACCESS) as key:
+                DeleteKey(key, name)
             DeleteKey(HKEY_CURRENT_USER, test_key_name)
 
     def test_dynamic_key(self):