Hugh McMaster : crypt32/tests: Delete WineTest registry key when tests are complete.

Alexandre Julliard julliard at wine.codeweavers.com
Mon Oct 5 10:30:26 CDT 2015


Module: wine
Branch: master
Commit: 82e1830f5cda487035e32073eb45063a236d65c4
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=82e1830f5cda487035e32073eb45063a236d65c4

Author: Hugh McMaster <hugh.mcmaster at outlook.com>
Date:   Mon Oct  5 17:15:20 2015 +1100

crypt32/tests: Delete WineTest registry key when tests are complete.

Signed-off-by: Hugh McMaster <hugh.mcmaster at outlook.com>

---

 dlls/crypt32/tests/store.c | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/dlls/crypt32/tests/store.c b/dlls/crypt32/tests/store.c
index a416a39..a0c209a 100644
--- a/dlls/crypt32/tests/store.c
+++ b/dlls/crypt32/tests/store.c
@@ -2203,6 +2203,35 @@ static const BYTE serializedStoreWithCertAndHash[] = {
 0xff,0x04,0x08,0x30,0x06,0x01,0x01,0xff,0x02,0x01,0x01,0x00,0x00,0x00,0x00,
 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 };
 
+static void delete_test_key(void)
+{
+    HKEY root_key, test_key;
+    static const WCHAR SysCertW[] = {'S','o','f','t','w','a','r','e','\\','M','i','c','r','o','s','o','f','t','\\',
+        'S','y','s','t','e','m','C','e','r','t','i','f','i','c','a','t','e','s',0};
+    static const WCHAR WineTestW[] = {'W','i','n','e','T','e','s','t',0};
+    WCHAR subkey_name[32];
+    DWORD num_subkeys, subkey_name_len;
+    int idx;
+
+    if (RegOpenKeyExW(HKEY_CURRENT_USER, SysCertW, 0, KEY_READ, &root_key))
+        return;
+    if (RegOpenKeyExW(root_key, WineTestW, 0, KEY_READ, &test_key))
+    {
+        RegCloseKey(root_key);
+        return;
+    }
+    RegQueryInfoKeyW(test_key, NULL, NULL, NULL, &num_subkeys, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
+    for (idx = num_subkeys; idx-- > 0;)
+    {
+        subkey_name_len = sizeof(subkey_name)/sizeof(WCHAR);
+        RegEnumKeyExW(test_key, idx, subkey_name, &subkey_name_len, NULL, NULL, NULL, NULL);
+        RegDeleteKeyW(test_key, subkey_name);
+    }
+    RegCloseKey(test_key);
+    RegDeleteKeyW(root_key, WineTestW);
+    RegCloseKey(root_key);
+}
+
 static void testAddCertificateLink(void)
 {
     BOOL ret;
@@ -2499,6 +2528,8 @@ static void testAddCertificateLink(void)
 
     CertFreeCertificateContext(source);
     CertCloseStore(store1, 0);
+
+    delete_test_key();
 }
 
 static DWORD countCertsInStore(HCERTSTORE store)




More information about the wine-cvs mailing list