Skip to content

Commit

Permalink
8319128: sun/security/pkcs11 tests fail on OL 7.9 aarch64
Browse files Browse the repository at this point in the history
Reviewed-by: mbaesken
  • Loading branch information
Matthew Donovan committed Jan 11, 2024
1 parent 9fd855e commit c2e77e2
Show file tree
Hide file tree
Showing 6 changed files with 41 additions and 9 deletions.
1 change: 0 additions & 1 deletion test/jdk/ProblemList.txt
Expand Up @@ -624,7 +624,6 @@ sun/security/provider/PolicyFile/GrantAllPermToExtWhenNoPolicy.java 8039280 gene
sun/security/provider/PolicyParser/PrincipalExpansionError.java 8039280 generic-all

sun/security/pkcs11/sslecc/ClientJSSEServerJSSE.java 8316183 linux-ppc64le
sun/security/pkcs11/Provider/MultipleLogins.sh 8319128 linux-aarch64

############################################################################

Expand Down
16 changes: 14 additions & 2 deletions test/jdk/sun/security/pkcs11/PKCS11Test.java
Expand Up @@ -54,10 +54,14 @@
import java.util.ServiceConfigurationError;
import java.util.ServiceLoader;
import java.util.Set;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.stream.Collectors;

import javax.crypto.SecretKey;
import javax.crypto.spec.SecretKeySpec;

import jdk.test.lib.Platform;
import jdk.test.lib.artifacts.Artifact;
import jdk.test.lib.artifacts.ArtifactResolver;
import jdk.test.lib.artifacts.ArtifactResolverException;
Expand Down Expand Up @@ -743,10 +747,18 @@ private static String fetchNssLib(String osId) {
return fetchNssLib(MACOSX_AARCH64.class);

case "Linux-amd64-64":
return fetchNssLib(LINUX_X64.class);
if (Platform.isOracleLinux7()) {
throw new SkippedException("Skipping Oracle Linux prior to v8");
} else {
return fetchNssLib(LINUX_X64.class);
}

case "Linux-aarch64-64":
throw new SkippedException("Per JDK-8319128, skipping Linux aarch64 platforms.");
if (Platform.isOracleLinux7()) {
throw new SkippedException("Skipping Oracle Linux prior to v8");
} else {
return fetchNssLib(LINUX_AARCH64.class);
}
default:
return null;
}
Expand Down
15 changes: 10 additions & 5 deletions test/jdk/sun/security/pkcs11/Provider/MultipleLogins.java
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2021, 2023, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
Expand All @@ -21,6 +21,7 @@
* questions.
*/


import sun.security.pkcs11.SunPKCS11;

import javax.security.auth.Subject;
Expand All @@ -32,12 +33,10 @@
import java.io.IOException;
import java.lang.ref.WeakReference;
import java.security.*;
import java.util.Iterator;
import java.util.PropertyPermission;
import java.util.ServiceConfigurationError;
import java.util.ServiceLoader;

import jdk.test.lib.util.ForceGC;
import jtreg.SkippedException;

public class MultipleLogins {
private static final String KS_TYPE = "PKCS11";
Expand All @@ -46,7 +45,13 @@ public class MultipleLogins {
static final Policy DEFAULT_POLICY = Policy.getPolicy();

public static void main(String[] args) throws Exception {
String nssConfig = PKCS11Test.getNssConfig();
String nssConfig = null;
try {
nssConfig = PKCS11Test.getNssConfig();
} catch (SkippedException exc) {
System.out.println("Skipping test: " + exc.getMessage());
}

if (nssConfig == null) {
// No test framework support yet. Ignore
System.out.println("No NSS config found. Skipping.");
Expand Down
1 change: 1 addition & 0 deletions test/jdk/sun/security/pkcs11/Provider/MultipleLogins.sh
Expand Up @@ -26,6 +26,7 @@
# @summary
# @library /test/lib/
# @build jdk.test.lib.util.ForceGC
# jdk.test.lib.Platform
# @run shell MultipleLogins.sh

# set a few environment variables so that the shell-script can run stand-alone
Expand Down
Expand Up @@ -53,7 +53,7 @@ private static enum MethodGroup {
IGNORED("isEmulatedClient", "isDebugBuild", "isFastDebugBuild", "isMusl",
"isSlowDebugBuild", "hasSA", "isRoot", "isTieredSupported",
"areCustomLoadersSupportedForCDS", "isDefaultCDSArchiveSupported",
"isHardenedOSX", "hasOSXPlistEntries");
"isHardenedOSX", "hasOSXPlistEntries", "isOracleLinux7");

public final List<String> methodNames;

Expand Down
15 changes: 15 additions & 0 deletions test/lib/jdk/test/lib/Platform.java
Expand Up @@ -33,6 +33,7 @@
import java.security.AccessController;
import java.security.PrivilegedAction;
import java.util.concurrent.TimeUnit;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Platform {
Expand Down Expand Up @@ -348,6 +349,20 @@ private static boolean isArch(String archnameRE) {
.matches();
}

public static boolean isOracleLinux7() {
if (System.getProperty("os.name").toLowerCase().contains("linux") &&
System.getProperty("os.version").toLowerCase().contains("el")) {
Pattern p = Pattern.compile("el(\\d+)");
Matcher m = p.matcher(System.getProperty("os.version"));
if (m.find()) {
try {
return Integer.parseInt(m.group(1)) <= 7;
} catch (NumberFormatException nfe) {}
}
}
return false;
}

/**
* Returns file extension of shared library, e.g. "so" on linux, "dll" on windows.
* @return file extension
Expand Down

3 comments on commit c2e77e2

@openjdk-notifier
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@GoeLin
Copy link
Member

@GoeLin GoeLin commented on c2e77e2 Jan 23, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/backport jdk22

@openjdk
Copy link

@openjdk openjdk bot commented on c2e77e2 Jan 23, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@GoeLin the backport was successfully created on the branch backport-GoeLin-c2e77e2f in my personal fork of openjdk/jdk22. To create a pull request with this backport targeting openjdk/jdk22:master, just click the following link:

➡️ Create pull request

The title of the pull request is automatically filled in correctly and below you find a suggestion for the pull request body:

Hi all,

This pull request contains a backport of commit c2e77e2f from the openjdk/jdk repository.

The commit being backported was authored by Matthew Donovan on 11 Jan 2024 and was reviewed by Matthias Baesken.

Thanks!

If you need to update the source branch of the pull then run the following commands in a local clone of your personal fork of openjdk/jdk22:

$ git fetch https://github.com/openjdk-bots/jdk22.git backport-GoeLin-c2e77e2f:backport-GoeLin-c2e77e2f
$ git checkout backport-GoeLin-c2e77e2f
# make changes
$ git add paths/to/changed/files
$ git commit --message 'Describe additional changes made'
$ git push https://github.com/openjdk-bots/jdk22.git backport-GoeLin-c2e77e2f

⚠️ @GoeLin You are not yet a collaborator in my fork openjdk-bots/jdk22. An invite will be sent out and you need to accept it before you can proceed.

Please sign in to comment.