diff --git a/pki/src/test/java/org/hyperledger/besu/pki/keystore/HardwareKeyStoreFileWrapperTest.java b/pki/src/test/java/org/hyperledger/besu/pki/keystore/HardwareKeyStoreFileWrapperTest.java index 0dde591cf50..31eb03126c5 100644 --- a/pki/src/test/java/org/hyperledger/besu/pki/keystore/HardwareKeyStoreFileWrapperTest.java +++ b/pki/src/test/java/org/hyperledger/besu/pki/keystore/HardwareKeyStoreFileWrapperTest.java @@ -22,11 +22,13 @@ import java.nio.file.Path; import java.security.Provider; import java.security.Security; -import java.util.Arrays; import java.util.Collection; +import java.util.List; import java.util.Optional; import java.util.stream.Stream; +import org.junit.jupiter.api.Assumptions; +import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.condition.OS; @@ -37,13 +39,19 @@ public class HardwareKeyStoreFileWrapperTest extends BaseKeyStoreFileWrapperTest private static final String crl = "/keystore/partner1client1/crl.pem"; private static final String configName = "NSScrypto-partner1client1"; private static final String validKeystorePassword = "test123"; + private static KeyStoreWrapperTestParameter keyStoreWrapperTestParameter; - public static Collection data() { - return Arrays.asList( + @BeforeAll + public static void setup() { + keyStoreWrapperTestParameter = new KeyStoreWrapperTestParameter( "HardwareKeyStoreWrapper[PKCS11 keystore/truststore]", true, - CryptoTestUtil.isNSSLibInstalled() ? getHardwareKeyStoreWrapper(configName) : null)); + CryptoTestUtil.isNSSLibInstalled() ? getHardwareKeyStoreWrapper(configName) : null); + } + + public static Collection data() { + return List.of(keyStoreWrapperTestParameter); } private static KeyStoreWrapper getHardwareKeyStoreWrapper(final String cfgName) { @@ -58,11 +66,10 @@ private static KeyStoreWrapper getHardwareKeyStoreWrapper(final String cfgName) .map(provider -> new HardwareKeyStoreWrapper(validKeystorePassword, provider, crlPath)) .orElseGet(() -> new HardwareKeyStoreWrapper(validKeystorePassword, path, crlPath)); } catch (final Exception e) { - if (OS.MAC.isCurrentOs()) { - // nss3 is difficult to setup on mac correctly, don't let it break unit tests for dev - // machines. - System.out.println("Failed to initialize hardware keystore " + e.getLocalizedMessage()); - } + // nss3 is difficult to setup on mac, don't let it break unit tests for dev machines. + Assumptions.assumeFalse( + OS.MAC.isCurrentOs(), + "Failed to initialize hardware keystore: " + e.getLocalizedMessage()); // Not a mac, probably a production build. Full failure. throw new PkiException("Failed to initialize hardware keystore", e); }