diff --git a/test/jdk/ProblemList.txt b/test/jdk/ProblemList.txt index d91a54a77a8..c017cc9eea3 100644 --- a/test/jdk/ProblemList.txt +++ b/test/jdk/ProblemList.txt @@ -695,8 +695,6 @@ javax/security/auth/kerberos/KerberosTixDateTest.java 8039280 generic- sun/security/provider/PolicyFile/GrantAllPermToExtWhenNoPolicy.java 8039280 generic-all sun/security/provider/PolicyParser/ExtDirsChange.java 8039280 generic-all sun/security/provider/PolicyParser/PrincipalExpansionError.java 8039280 generic-all -sun/security/krb5/auto/ReplayCacheTestProcWithMD5.java 8258855 linux-all -sun/security/krb5/auto/ReplayCacheTestProc.java 8258855 linux-all ############################################################################ diff --git a/test/jdk/sun/security/krb5/auto/ReplayCacheTestProc.java b/test/jdk/sun/security/krb5/auto/ReplayCacheTestProc.java index ff99cf940c4..ae71fc04b0f 100644 --- a/test/jdk/sun/security/krb5/auto/ReplayCacheTestProc.java +++ b/test/jdk/sun/security/krb5/auto/ReplayCacheTestProc.java @@ -29,7 +29,9 @@ * @build jdk.test.lib.Platform * @run main jdk.test.lib.FileInstaller TestHosts TestHosts * @run main/othervm/timeout=300 -Djdk.net.hosts.file=TestHosts - * ReplayCacheTestProc + * -Dtest.libs=J ReplayCacheTestProc + * @run main/othervm/timeout=300 -Djdk.net.hosts.file=TestHosts + * -Dtest.libs=N ReplayCacheTestProc */ import java.io.*; @@ -45,6 +47,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; @@ -53,9 +56,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 +119,16 @@ public class ReplayCacheTestProc { Ex[] result; int numPerType = 2; // number of acceptors per type + // 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