From: Francois Gouget fgouget@codeweavers.com
Wine-Bug: https://bugs.winehq.org//show_bug.cgi?id=55555 --- dlls/secur32/tests/secur32.c | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-)
diff --git a/dlls/secur32/tests/secur32.c b/dlls/secur32/tests/secur32.c index b1a1db76c3e..db81e23bd7e 100644 --- a/dlls/secur32/tests/secur32.c +++ b/dlls/secur32/tests/secur32.c @@ -56,6 +56,8 @@ static BOOLEAN (WINAPI * pGetUserNameExW)(EXTENDED_NAME_FORMAT NameFormat, LPWST static PSecurityFunctionTableA (SEC_ENTRY * pInitSecurityInterfaceA)(void); static PSecurityFunctionTableW (SEC_ENTRY * pInitSecurityInterfaceW)(void);
+static BOOLEAN has_kerberos; + static EXTENDED_NAME_FORMAT formats[] = { NameUnknown, NameFullyQualifiedDN, NameSamCompatible, NameDisplay, NameUniqueId, NameCanonical, NameUserPrincipal, NameCanonicalEx, @@ -446,9 +448,13 @@ static void test_kerberos(void)
status = QuerySecurityPackageInfoA(provider, &info); - ok(status == SEC_E_OK, "Kerberos package not installed, skipping test\n"); + if(status == SEC_E_SECPKG_NOT_FOUND) + skip("Skipping the Kerberos tests (package is not installed).\n"); + else + ok(status == SEC_E_OK, "Failed to query the Kerberos package: %lx\n", status); if(status != SEC_E_OK) return; + has_kerberos = TRUE;
ok( (info->fCapabilities & ~optional_mask) == expected_flags, "got %08lx, expected %08lx\n", info->fCapabilities, expected_flags ); ok( info->wVersion == 1, "got %u\n", info->wVersion ); @@ -479,7 +485,15 @@ static void test_ticket_cache(void)
RtlInitAnsiString( &name, MICROSOFT_KERBEROS_NAME_A ); status = LsaLookupAuthenticationPackage( lsa, &name, &package ); - ok( !status, "got %08lx\n", status ); + if (has_kerberos) + ok( !status, "got %08lx\n", status ); + else + { + ok( status, "expected Kerberos lookup to fail\n" ); + skip("Skipping the ticket cache tests (no Kerberos: %lx).\n", status); + LsaDeregisterLogonProcess( lsa ); + return; + }
status = LsaCallAuthenticationPackage( lsa, package, &req, sizeof(req), (void **)&resp, &len, &status ); ok( !status, "got %08lx\n", status );