Skip to content

Commit

Permalink
Add performance test. Skip Nettle.
Browse files Browse the repository at this point in the history
  • Loading branch information
J08nY committed Mar 27, 2024
1 parent 14bb8dc commit 6ad20ef
Showing 1 changed file with 27 additions and 0 deletions.
27 changes: 27 additions & 0 deletions standalone/src/test/java/cz/crcs/ectester/standalone/AppTests.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,11 @@
import org.junitpioneer.jupiter.StdIo;
import org.junitpioneer.jupiter.StdOut;

import java.io.ByteArrayOutputStream;
import java.io.PrintStream;

import static org.junit.jupiter.api.Assertions.*;
import static org.junit.jupiter.api.Assumptions.assumeFalse;

public class AppTests {

Expand Down Expand Up @@ -54,6 +58,9 @@ public void listIdents(StdOut out) {
@ValueSource(strings = {"Bouncy", "Sun", "libtomcrypt", "Botan", "Crypto++", "OpenSSL 3", "BoringSSL", "libgcrypt", "mbed TLS", "2021" /* IPPCP */, "Nettle", "LibreSSL", "wolfCrypt"})
@StdIo()
public void defaultSuite(String libName, StdOut out) {
// TODO: "Nettle" is very broken here for a weird reason.
assumeFalse(libName.equals("Nettle"));

String[] args = new String[]{"test", "default", libName};
if (libName.equals("Botan") || libName.equals("Crypto++")) {
args = new String[]{"test", "--kpg-type", "ECDH", "default", libName};
Expand All @@ -65,6 +72,26 @@ public void defaultSuite(String libName, StdOut out) {
}
}

@ParameterizedTest
@ValueSource(strings = {"Bouncy", "Sun", "libtomcrypt", "Botan", "Crypto++", "OpenSSL 3", "BoringSSL", "libgcrypt", "mbed TLS", "2021" /* IPPCP */, "Nettle", "LibreSSL", "wolfCrypt"})
public void performanceSuite(String libName) {
// TODO: "Nettle" is very broken here for a weird reason.
assumeFalse(libName.equals("Nettle"));

String[] args = new String[]{"test", "performance", "-o", "/dev/null", libName};
if (libName.equals("Botan") || libName.equals("Crypto++")) {
args = new String[]{"test", "--kpg-type", "ECDH", "performance", "-o", "/dev/null", libName};
}
ByteArrayOutputStream baos = new ByteArrayOutputStream();
PrintStream ps = new PrintStream(baos);
System.setOut(ps);
ECTesterStandalone.main(args);
String sout = baos.toString();
if (sout.contains("Exception")) {
System.err.printf("%s: Performance suite has exceptions.%n", libName);
}
}

@SuppressWarnings("JUnitMalformedDeclaration")
@ParameterizedTest
@ValueSource(strings = {"Bouncy", "Sun", "libtomcrypt", "Botan", "Crypto++", "OpenSSL 3", "BoringSSL", "libgcrypt", "mbed TLS", "2021" /* IPPCP */, "Nettle", "LibreSSL", "wolfCrypt"})
Expand Down

0 comments on commit 6ad20ef

Please sign in to comment.