Robert Reif : advapi32:
Output information on failed LsaQueryInformationPolicy tests.
Alexandre Julliard
julliard at wine.codeweavers.com
Thu Aug 24 07:55:54 CDT 2006
Module: wine
Branch: master
Commit: 58ce495599b38464649cdda7d062732908e65fe9
URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=58ce495599b38464649cdda7d062732908e65fe9
Author: Robert Reif <reif at earthlink.net>
Date: Thu Aug 17 15:26:40 2006 -0400
advapi32: Output information on failed LsaQueryInformationPolicy tests.
---
dlls/advapi32/tests/Makefile.in | 2 +
dlls/advapi32/tests/lsa.c | 60 +++++++++++++++++++++++++++++++++++++++
2 files changed, 61 insertions(+), 1 deletions(-)
diff --git a/dlls/advapi32/tests/Makefile.in b/dlls/advapi32/tests/Makefile.in
index 875b0c7..d60b31d 100644
--- a/dlls/advapi32/tests/Makefile.in
+++ b/dlls/advapi32/tests/Makefile.in
@@ -3,7 +3,7 @@ TOPOBJDIR = ../../..
SRCDIR = @srcdir@
VPATH = @srcdir@
TESTDLL = advapi32.dll
-IMPORTS = advapi32 kernel32
+IMPORTS = ole32 advapi32 kernel32
EXTRALIBS = -luuid
CTESTS = \
diff --git a/dlls/advapi32/tests/lsa.c b/dlls/advapi32/tests/lsa.c
index abc7f59..8158783 100644
--- a/dlls/advapi32/tests/lsa.c
+++ b/dlls/advapi32/tests/lsa.c
@@ -28,6 +28,9 @@ #include "winbase.h"
#include "winreg.h"
#include "winternl.h"
#include "ntsecapi.h"
+#include "sddl.h"
+#include "winnls.h"
+#include "objbase.h"
#define INITGUID
#include "guiddef.h"
#include "wine/test.h"
@@ -91,6 +94,25 @@ static void test_lsa(void)
ok(status == STATUS_SUCCESS, "LsaQueryInformationPolicy(PolicyPrimaryDomainInformation) failed, returned 0x%08lx\n", status);
if (status == STATUS_SUCCESS) {
ok(primary_domain_info->Sid==0,"Sid should be NULL on the local computer\n");
+ if (primary_domain_info->Sid) {
+ LPSTR strsid;
+ if (ConvertSidToStringSidA(primary_domain_info->Sid, &strsid))
+ {
+ if (primary_domain_info->Name.Buffer) {
+ LPSTR name = NULL;
+ UINT len;
+ len = WideCharToMultiByte( CP_ACP, 0, primary_domain_info->Name.Buffer, -1, NULL, 0, NULL, NULL );
+ name = LocalAlloc( 0, len );
+ WideCharToMultiByte( CP_ACP, 0, primary_domain_info->Name.Buffer, -1, name, len, NULL, NULL );
+ trace(" name: %s sid: %s\n", name, strsid);
+ LocalFree( name );
+ } else
+ trace(" name: NULL sid: %s\n", strsid);
+ LocalFree( strsid );
+ }
+ else
+ trace("invalid sid\n");
+ }
pLsaFreeMemory((LPVOID)primary_domain_info);
}
@@ -107,6 +129,44 @@ static void test_lsa(void)
if (status == STATUS_SUCCESS) {
ok(IsEqualGUID(&dns_domain_info->DomainGuid, &GUID_NULL), "DomainGUID should be GUID_NULL on local computer\n");
ok(dns_domain_info->Sid==0,"Sid should be NULL on the local computer\n");
+ if (dns_domain_info->Sid || !IsEqualGUID(&dns_domain_info->DomainGuid, &GUID_NULL)) {
+ LPSTR strsid = NULL;
+ LPSTR name = NULL;
+ LPSTR domain = NULL;
+ LPSTR forest = NULL;
+ LPSTR guidstr = NULL;
+ WCHAR guidstrW[64];
+ UINT len;
+ guidstr[0] = '\0';
+ ConvertSidToStringSidA(dns_domain_info->Sid, &strsid);
+ StringFromGUID2(&dns_domain_info->DomainGuid, guidstrW, sizeof(guidstrW)/sizeof(WCHAR));
+ len = WideCharToMultiByte( CP_ACP, 0, guidstrW, -1, NULL, 0, NULL, NULL );
+ guidstr = LocalAlloc( 0, len );
+ WideCharToMultiByte( CP_ACP, 0, guidstrW, -1, guidstr, len, NULL, NULL );
+ if (dns_domain_info->Name.Buffer) {
+ len = WideCharToMultiByte( CP_ACP, 0, dns_domain_info->Name.Buffer, -1, NULL, 0, NULL, NULL );
+ name = LocalAlloc( 0, len );
+ WideCharToMultiByte( CP_ACP, 0, dns_domain_info->Name.Buffer, -1, name, len, NULL, NULL );
+ }
+ if (dns_domain_info->DnsDomainName.Buffer) {
+ len = WideCharToMultiByte( CP_ACP, 0, dns_domain_info->DnsDomainName.Buffer, -1, NULL, 0, NULL, NULL );
+ domain = LocalAlloc( 0, len );
+ WideCharToMultiByte( CP_ACP, 0, dns_domain_info->DnsDomainName.Buffer, -1, name, len, NULL, NULL );
+ }
+ if (dns_domain_info->DnsForestName.Buffer) {
+ len = WideCharToMultiByte( CP_ACP, 0, dns_domain_info->DnsForestName.Buffer, -1, NULL, 0, NULL, NULL );
+ forest = LocalAlloc( 0, len );
+ WideCharToMultiByte( CP_ACP, 0, dns_domain_info->DnsForestName.Buffer, -1, name, len, NULL, NULL );
+ }
+ trace(" name: %s domain: %s forest: %s guid: %s sid: %s\n",
+ name ? name : "NULL", domain ? domain : "NULL",
+ forest ? forest : "NULL", guidstr, strsid ? strsid : "NULL");
+ LocalFree( name );
+ LocalFree( forest );
+ LocalFree( domain );
+ LocalFree( guidstr );
+ LocalFree( strsid );
+ }
pLsaFreeMemory((LPVOID)dns_domain_info);
}
More information about the wine-cvs
mailing list