From 82e1830f5cda487035e32073eb45063a236d65c4 Mon Sep 17 00:00:00 2001 From: Hugh McMaster Date: Mon, 5 Oct 2015 17:15:20 +1100 Subject: [PATCH] crypt32/tests: Delete WineTest registry key when tests are complete. Signed-off-by: Hugh McMaster --- 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 a416a398c2c..a0c209af470 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)