Skip to content

Commit

Permalink
8314283: Support for NSS tests on aarch64 platforms
Browse files Browse the repository at this point in the history
Backport-of: 2a8016096000de5836251f2ca9bc8ad6479e6942
  • Loading branch information
Andrew Lu committed Mar 12, 2024
1 parent 0606e5a commit 3433fdb
Show file tree
Hide file tree
Showing 2 changed files with 38 additions and 17 deletions.
4 changes: 4 additions & 0 deletions test/jdk/sun/security/pkcs11/KeyStore/ClientAuth.java
Original file line number Diff line number Diff line change
Expand Up @@ -389,6 +389,10 @@ void startClient (boolean newThread) {
* Our client thread just died.
*/
System.err.println("Client died...");
// if the exception is thrown before connecting to the
// server, the test will time out and the exception will
// be lost/hidden.
e.printStackTrace(System.err);
clientException = e;
}
});
Expand Down
51 changes: 34 additions & 17 deletions test/jdk/sun/security/pkcs11/PKCS11Test.java
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,11 @@ public abstract class PKCS11Test {
private static final String PKCS11_REL_PATH = "sun/security/pkcs11";
private static final char[] HEX_DIGITS = "0123456789abcdef".toCharArray();

// Version of the NSS artifact. This coincides with the version of
// the NSS version
private static final String NSS_BUNDLE_VERSION = "3.91";
private static final String NSSLIB = "jpg.tests.jdk.nsslib";

static double nss_version = -1;
static ECCState nss_ecc_status = ECCState.Basic;

Expand Down Expand Up @@ -744,18 +749,21 @@ static byte[] generateData(int length) {

private static String fetchNssLib(String osId) {
switch (osId) {
case "Windows-x86-32":
return fetchNssLib(WINDOWS_X86.class);

case "Windows-amd64-64":
return fetchNssLib(WINDOWS_X64.class);

case "MacOSX-x86_64-64":
return fetchNssLib(MACOSX_X64.class);

case "MacOSX-aarch64-64":
return fetchNssLib(MACOSX_AARCH64.class);

case "Linux-amd64-64":
return fetchNssLib(LINUX_X64.class);

case "Linux-aarch64-64":
return fetchNssLib(LINUX_AARCH64.class);

default:
return null;
}
Expand All @@ -765,8 +773,8 @@ private static String fetchNssLib(Class<?> clazz) {
String path = null;
try {
path = ArtifactResolver.resolve(clazz).entrySet().stream()
.findAny().get().getValue() + File.separator + "nsslib"
+ File.separator;
.findAny().get().getValue() + File.separator + "nss"
+ File.separator + "lib" + File.separator;
} catch (ArtifactResolverException e) {
Throwable cause = e.getCause();
if (cause == null) {
Expand Down Expand Up @@ -868,34 +876,43 @@ protected void copyNssCertKeyToClassesDir(Path dbPath) throws IOException {
public static enum ECCState {None, Basic, Extended}

@Artifact(
organization = "jpg.tests.jdk.nsslib",
organization = NSSLIB,
name = "nsslib-windows_x64",
revision = "3.46-VS2017",
revision = NSS_BUNDLE_VERSION,
extension = "zip")
private static class WINDOWS_X64 {
}

@Artifact(
organization = "jpg.tests.jdk.nsslib",
name = "nsslib-windows_x86",
revision = "3.46-VS2017",
organization = NSSLIB,
name = "nsslib-macosx_x64",
revision = NSS_BUNDLE_VERSION,
extension = "zip")
private static class WINDOWS_X86 {
private static class MACOSX_X64 {
}

@Artifact(
organization = "jpg.tests.jdk.nsslib",
name = "nsslib-macosx_x64",
revision = "3.46",
organization = NSSLIB,
name = "nsslib-macosx_aarch64",
revision = NSS_BUNDLE_VERSION,
extension = "zip")
private static class MACOSX_X64 {
private static class MACOSX_AARCH64 {
}

@Artifact(
organization = "jpg.tests.jdk.nsslib",
organization = NSSLIB,
name = "nsslib-linux_x64",
revision = "3.46",
revision = NSS_BUNDLE_VERSION,
extension = "zip")
private static class LINUX_X64 {
}

@Artifact(
organization = NSSLIB,
name = "nsslib-linux_aarch64",
revision = NSS_BUNDLE_VERSION,
extension = "zip"
)
private static class LINUX_AARCH64{
}
}

0 comments on commit 3433fdb

Please sign in to comment.