George Stephanos : advapi32/tests: Add tests for hkcr handle mask.
Alexandre Julliard
julliard at winehq.org
Mon Aug 26 13:21:56 CDT 2013
Module: wine
Branch: master
Commit: 69208b60f887c4beaae7ce8c422551e92e8a4924
URL: http://source.winehq.org/git/wine.git/?a=commit;h=69208b60f887c4beaae7ce8c422551e92e8a4924
Author: George Stephanos <gaf.stephanos at gmail.com>
Date: Sat Aug 24 05:11:37 2013 +0200
advapi32/tests: Add tests for hkcr handle mask.
---
dlls/advapi32/tests/registry.c | 34 ++++++++++++++++++++++++++++++++++
1 files changed, 34 insertions(+), 0 deletions(-)
diff --git a/dlls/advapi32/tests/registry.c b/dlls/advapi32/tests/registry.c
index bd7e4e2..59ef82e 100644
--- a/dlls/advapi32/tests/registry.c
+++ b/dlls/advapi32/tests/registry.c
@@ -31,6 +31,8 @@
#include "winerror.h"
#include "aclapi.h"
+#define IS_HKCR(hk) ((UINT_PTR)hk > 0 && ((UINT_PTR)hk & 3) == 2)
+
static HKEY hkey_main;
static DWORD GLE;
@@ -2562,6 +2564,37 @@ cleanup:
RegCloseKey( hkcr );
}
+static void test_classesroot_mask(void)
+{
+ HKEY hkey;
+ LSTATUS res;
+
+ res = RegOpenKeyA( HKEY_CLASSES_ROOT, "CLSID", &hkey );
+ ok(res == ERROR_SUCCESS, "RegOpenKeyA failed: %d\n", res);
+ todo_wine ok(IS_HKCR(hkey), "hkcr mask not set in %p\n", hkey);
+ RegCloseKey( hkey );
+
+ res = RegOpenKeyA( HKEY_CURRENT_USER, "Software", &hkey );
+ ok(res == ERROR_SUCCESS, "RegOpenKeyA failed: %d\n", res);
+ ok(!IS_HKCR(hkey), "hkcr mask set in %p\n", hkey);
+ RegCloseKey( hkey );
+
+ res = RegOpenKeyA( HKEY_LOCAL_MACHINE, "Software", &hkey );
+ ok(res == ERROR_SUCCESS, "RegOpenKeyA failed: %d\n", res);
+ ok(!IS_HKCR(hkey), "hkcr mask set in %p\n", hkey);
+ RegCloseKey( hkey );
+
+ res = RegOpenKeyA( HKEY_USERS, ".Default", &hkey );
+ ok(res == ERROR_SUCCESS, "RegOpenKeyA failed: %d\n", res);
+ ok(!IS_HKCR(hkey), "hkcr mask set in %p\n", hkey);
+ RegCloseKey( hkey );
+
+ res = RegOpenKeyA( HKEY_CURRENT_CONFIG, "Software", &hkey );
+ ok(res == ERROR_SUCCESS, "RegOpenKeyA failed: %d\n", res);
+ ok(!IS_HKCR(hkey), "hkcr mask set in %p\n", hkey);
+ RegCloseKey( hkey );
+}
+
static void test_deleted_key(void)
{
HKEY hkey, hkey2;
@@ -2656,6 +2689,7 @@ START_TEST(registry)
test_redirection();
test_classesroot();
test_classesroot_enum();
+ test_classesroot_mask();
/* SaveKey/LoadKey require the SE_BACKUP_NAME privilege to be set */
if (set_privileges(SE_BACKUP_NAME, TRUE) &&
More information about the wine-cvs
mailing list