Juan Lang : advapi32: Test the MachineGuid value.
Alexandre Julliard
julliard at winehq.org
Tue Mar 25 14:20:01 CDT 2008
Module: wine
Branch: master
Commit: 4c984e089a892a49e234bc09a62a2fe3d2178324
URL: http://source.winehq.org/git/wine.git/?a=commit;h=4c984e089a892a49e234bc09a62a2fe3d2178324
Author: Juan Lang <juan.lang at gmail.com>
Date: Tue Mar 25 10:38:30 2008 -0700
advapi32: Test the MachineGuid value.
---
dlls/advapi32/tests/crypt.c | 48 +++++++++++++++++++++++++++++++++++++++++++
1 files changed, 48 insertions(+), 0 deletions(-)
diff --git a/dlls/advapi32/tests/crypt.c b/dlls/advapi32/tests/crypt.c
index d6453d4..1832ca1 100644
--- a/dlls/advapi32/tests/crypt.c
+++ b/dlls/advapi32/tests/crypt.c
@@ -871,6 +871,53 @@ static void test_set_provider_ex(void)
LocalFree(pszProvName);
}
+static void test_machine_guid(void)
+{
+ char originalGuid[40], guid[40];
+ LONG r;
+ HKEY key;
+ DWORD size;
+ HCRYPTPROV hCryptProv;
+ BOOL restoreGuid = FALSE, ret;
+
+ r = RegOpenKeyExA(HKEY_LOCAL_MACHINE, "Software\\Microsoft\\Cryptography",
+ 0, KEY_ALL_ACCESS, &key);
+ if (r != ERROR_SUCCESS)
+ {
+ skip("couldn't open HKLM\\Software\\Microsoft\\Cryptography\n");
+ return;
+ }
+ /* Cache existing MachineGuid, and delete it */
+ size = sizeof(originalGuid);
+ r = RegQueryValueExA(key, "MachineGuid", NULL, NULL, (BYTE *)originalGuid,
+ &size);
+ if (r == ERROR_SUCCESS)
+ {
+ restoreGuid = TRUE;
+ r = RegDeleteValueA(key, "MachineGuid");
+ ok(!r, "RegDeleteValueA failed: %d\n", r);
+ }
+ else
+ ok(r == ERROR_FILE_NOT_FOUND, "expected ERROR_FILE_NOT_FOUND, got %d\n",
+ r);
+ /* Create and release a provider */
+ ret = pCryptAcquireContextA(&hCryptProv, szKeySet, NULL, PROV_RSA_FULL, 0);
+ ok(ret, "CryptAcquireContextA failed: %08x\n", GetLastError());
+ CryptReleaseContext(hCryptProv, 0);
+ /* Check that MachineGuid was created */
+ size = sizeof(guid);
+ r = RegQueryValueExA(key, "MachineGuid", NULL, NULL, (BYTE *)guid, &size);
+ todo_wine
+ ok(!r, "expected to find MachineGuid: %d\n", r);
+ r = RegDeleteValueA(key, "MachineGuid");
+ todo_wine
+ ok(!r, "RegDeleteValueA failed: %d\n", r);
+ if (restoreGuid)
+ RegSetValueExA(key, "MachineGuid", 0, REG_SZ, (const BYTE *)originalGuid,
+ strlen(originalGuid)+1);
+ RegCloseKey(key);
+}
+
START_TEST(crypt)
{
init_function_pointers();
@@ -879,6 +926,7 @@ START_TEST(crypt)
test_acquire_context();
test_incorrect_api_usage();
test_verify_sig();
+ test_machine_guid();
clean_up_environment();
}
More information about the wine-cvs
mailing list