Paul Vriens : advapi32/tests: Don't test unimplemented functions.

Alexandre Julliard julliard at winehq.org
Tue Aug 26 07:06:39 CDT 2008


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

Author: Paul Vriens <paul.vriens.wine at gmail.com>
Date:   Mon Aug 25 14:16:25 2008 +0200

advapi32/tests: Don't test unimplemented functions.

---

 dlls/advapi32/tests/security.c |   19 +++++++++++++++++--
 1 files changed, 17 insertions(+), 2 deletions(-)

diff --git a/dlls/advapi32/tests/security.c b/dlls/advapi32/tests/security.c
index f2bafce..9b3f7e6 100644
--- a/dlls/advapi32/tests/security.c
+++ b/dlls/advapi32/tests/security.c
@@ -101,6 +101,8 @@ static NTSTATUS (WINAPI *pNtQueryObject)(HANDLE,OBJECT_INFORMATION_CLASS,PVOID,U
 static DWORD (WINAPI *pSetEntriesInAclW)(ULONG, PEXPLICIT_ACCESSW, PACL, PACL*);
 static BOOL (WINAPI *pSetSecurityDescriptorControl)(PSECURITY_DESCRIPTOR, SECURITY_DESCRIPTOR_CONTROL,
                                                     SECURITY_DESCRIPTOR_CONTROL);
+static DWORD (WINAPI *pGetSecurityInfo)(HANDLE, SE_OBJECT_TYPE, SECURITY_INFORMATION,
+                                        PSID*, PSID*, PACL*, PACL*, PSECURITY_DESCRIPTOR*);
 
 static HMODULE hmod;
 static int     myARGC;
@@ -149,6 +151,7 @@ static void init(void)
     pMakeSelfRelativeSD = (void *)GetProcAddress(hmod, "MakeSelfRelativeSD");
     pSetEntriesInAclW = (void *)GetProcAddress(hmod, "SetEntriesInAclW");
     pSetSecurityDescriptorControl = (void *)GetProcAddress(hmod, "SetSecurityDescriptorControl");
+    pGetSecurityInfo = (void *)GetProcAddress(hmod, "GetSecurityInfo");
 
     myARGC = winetest_get_mainargs( &myARGV );
 }
@@ -2493,6 +2496,12 @@ static void test_GetSecurityInfo(void)
     PACL dacl;
     DWORD ret;
 
+    if (!pGetSecurityInfo)
+    {
+        win_skip("GetSecurityInfo is not available\n");
+        return;
+    }
+
     /* Create something.  Files have lots of associated security info.  */
     obj = CreateFile(myARGV[0], GENERIC_READ, FILE_SHARE_READ, NULL,
                      OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
@@ -2502,9 +2511,15 @@ static void test_GetSecurityInfo(void)
         return;
     }
 
-    ret = GetSecurityInfo(obj, SE_FILE_OBJECT,
+    ret = pGetSecurityInfo(obj, SE_FILE_OBJECT,
                           OWNER_SECURITY_INFORMATION | GROUP_SECURITY_INFORMATION | DACL_SECURITY_INFORMATION,
                           &owner, &group, &dacl, NULL, &sd);
+    if (ret == ERROR_CALL_NOT_IMPLEMENTED)
+    {
+        win_skip("GetSecurityInfo is not implemented\n");
+        CloseHandle(obj);
+        return;
+    }
     ok(ret == ERROR_SUCCESS, "GetSecurityInfo returned %d\n", ret);
     ok(sd != NULL, "GetSecurityInfo\n");
     ok(owner != NULL, "GetSecurityInfo\n");
@@ -2516,7 +2531,7 @@ static void test_GetSecurityInfo(void)
 
     /* If we don't ask for the security descriptor, Windows will still give us
        the other stuff, leaving us no way to free it.  */
-    ret = GetSecurityInfo(obj, SE_FILE_OBJECT,
+    ret = pGetSecurityInfo(obj, SE_FILE_OBJECT,
                           OWNER_SECURITY_INFORMATION | GROUP_SECURITY_INFORMATION | DACL_SECURITY_INFORMATION,
                           &owner, &group, &dacl, NULL, NULL);
     ok(ret == ERROR_SUCCESS, "GetSecurityInfo returned %d\n", ret);




More information about the wine-cvs mailing list