From 6b53212ef78ad50f9eede829c5ff87cadcdb434b Mon Sep 17 00:00:00 2001 From: Andrew John Hughes Date: Thu, 18 Apr 2024 00:55:59 +0000 Subject: [PATCH] 8258855: Two tests sun/security/krb5/auto/ReplayCacheTestProc.java and ReplayCacheTestProcWithMD5.java failed on OL8.3 Reviewed-by: mbalao, serb Backport-of: 8d780729c65bbfd19f23004723b8786d52f8310a --- .../krb5/auto/ReplayCacheTestProc.java | 45 ++++++++++--------- .../sun/security/krb5/auto/rcache_usemd5.sh | 4 +- 2 files changed, 26 insertions(+), 23 deletions(-) diff --git a/jdk/test/sun/security/krb5/auto/ReplayCacheTestProc.java b/jdk/test/sun/security/krb5/auto/ReplayCacheTestProc.java index f11f649847..2009fcf733 100644 --- a/jdk/test/sun/security/krb5/auto/ReplayCacheTestProc.java +++ b/jdk/test/sun/security/krb5/auto/ReplayCacheTestProc.java @@ -27,7 +27,10 @@ * @summary More krb5 tests * @library ../../../../java/security/testlibrary/ /test/lib * @compile -XDignore.symbol.file ReplayCacheTestProc.java - * @run main/othervm/timeout=300 -Dsun.net.spi.nameservice.provider.1=ns,mock ReplayCacheTestProc + * @run main/othervm/timeout=300 -Dsun.net.spi.nameservice.provider.1=ns,mock + * -Dtest.libs=J ReplayCacheTestProc + * @run main/othervm/timeout=300 -Dsun.net.spi.nameservice.provider.1=ns,mock + * -Dtest.libs=N ReplayCacheTestProc */ import java.io.*; @@ -43,6 +46,7 @@ import java.util.*; import java.util.regex.Matcher; import java.util.regex.Pattern; +import jdk.test.lib.Asserts; import jdk.test.lib.Platform; import sun.security.jgss.GSSUtil; import sun.security.krb5.internal.rcache.AuthTime; @@ -51,9 +55,8 @@ import sun.security.krb5.internal.rcache.AuthTime; * This test runs multiple acceptor Procs to mimic AP-REQ replays. * These system properties are supported: * - * - test.libs on what types of acceptors to use + * - test.libs on what types of acceptors to use. Cannot be null. * Format: CSV of (J|N|N=|J=) - * Default: J,N on Solaris and Linux where N is available, or J * Example: J,N,N14=/krb5-1.14/lib/libgssapi_krb5.so,J8=/java8/bin/java * * - test.runs on manual runs. If empty, a iterate through all pattern @@ -117,6 +120,16 @@ public class ReplayCacheTestProc { uid = -1; } + // User-provided libs + String userLibs = System.getProperty("test.libs"); + Asserts.assertNotNull(userLibs, "test.libs property must be provided"); + libs = userLibs.split(","); + if (Arrays.asList(libs).contains("N") && !isNativeLibAvailable()) { + // Skip test when native GSS libs are not available in running platform + System.out.println("Native mode not available - skipped"); + return; + } + KDC kdc = KDC.create(OneKDC.REALM, HOST, 0, true); for (int i=0; i