aboutsummaryrefslogtreecommitdiff
path: root/standalone/src
diff options
context:
space:
mode:
authorJ08nY2024-03-31 11:18:40 +0200
committerJ08nY2024-03-31 11:18:40 +0200
commit6c2d68b4772b5276e2abd6208aee2618b6e32227 (patch)
tree2b72066c0f34146a46b5f860080e98e90ea9c026 /standalone/src
parentb026dacd1af1970fb27f13783e039415cc862015 (diff)
downloadECTester-6c2d68b4772b5276e2abd6208aee2618b6e32227.tar.gz
ECTester-6c2d68b4772b5276e2abd6208aee2618b6e32227.tar.zst
ECTester-6c2d68b4772b5276e2abd6208aee2618b6e32227.zip
Diffstat (limited to 'standalone/src')
-rw-r--r--standalone/src/test/java/cz/crcs/ectester/standalone/AppTests.java50
-rw-r--r--standalone/src/test/java/cz/crcs/ectester/standalone/OutputTests.java2
2 files changed, 39 insertions, 13 deletions
diff --git a/standalone/src/test/java/cz/crcs/ectester/standalone/AppTests.java b/standalone/src/test/java/cz/crcs/ectester/standalone/AppTests.java
index e3ae573..0476818 100644
--- a/standalone/src/test/java/cz/crcs/ectester/standalone/AppTests.java
+++ b/standalone/src/test/java/cz/crcs/ectester/standalone/AppTests.java
@@ -7,7 +7,12 @@ import org.junitpioneer.jupiter.StdIo;
import org.junitpioneer.jupiter.StdOut;
import java.io.ByteArrayOutputStream;
+import java.io.File;
import java.io.PrintStream;
+import java.nio.file.Path;
+import java.util.Collections;
+import java.util.LinkedList;
+import java.util.List;
import java.util.stream.Stream;
import static org.junit.jupiter.api.Assertions.*;
@@ -59,6 +64,27 @@ public class AppTests {
return Stream.of("BoringSSL", "Botan", "BouncyCastle", "Crypto++", "IPPCP", "LibreSSL", "libgcrypt", "mbedTLS", "Nettle", "OpenSSL", "SunEC", "tomcrypt", "wolfCrypt");
}
+ String[] buildCLIArgs(String libName, String suite, String... additional) {
+ String resultPath = System.getenv("RESULT_PATH");
+ List<String> args = new LinkedList<>();
+ args.add("test");
+ if (resultPath != null) {
+ File resultDir = new File(resultPath);
+ if (resultDir.exists() || resultDir.mkdirs()) {
+ args.add("-o");
+ args.add(String.format("text:%s/%s_%s.txt", resultPath, suite, libName));
+ args.add("-o");
+ args.add(String.format("yaml:%s/%s_%s.yml", resultPath, suite, libName));
+ args.add("-o");
+ args.add(String.format("xml:%s/%s_%s.xml", resultPath, suite, libName));
+ }
+ }
+ Collections.addAll(args, additional);
+ args.add(suite);
+ args.add(libName);
+ return args.toArray(new String[]{});
+ }
+
@SuppressWarnings("JUnitMalformedDeclaration")
@ParameterizedTest
@MethodSource("libs")
@@ -67,9 +93,9 @@ public class AppTests {
// TODO: "Nettle" is very broken here for a weird reason.
assumeFalse(libName.equals("Nettle"));
- String[] args = new String[]{"test", "default", libName};
+ String[] args = buildCLIArgs(libName, "default");
if (libName.equals("Botan") || libName.equals("Crypto++")) {
- args = new String[]{"test", "--kpg-type", "ECDH", "default", libName};
+ args = buildCLIArgs(libName, "default", "--kpg-type", "ECDH");
}
ECTesterStandalone.main(args);
String sout = out.capturedString();
@@ -83,9 +109,9 @@ public class AppTests {
@MethodSource("libs")
@StdIo()
public void testVectorSuite(String libName, StdOut out) {
- String[] args = new String[]{"test", "test-vectors", libName};
+ String[] args = buildCLIArgs(libName, "test-vectors");
if (libName.equals("Botan") || libName.equals("Crypto++")) {
- args = new String[]{"test", "--kpg-type", "ECDH", "test-vectors", libName};
+ args = buildCLIArgs(libName, "test-vectors", "--kpg-type", "ECDH");
}
ECTesterStandalone.main(args);
String sout = out.capturedString();
@@ -100,9 +126,9 @@ public class AppTests {
// TODO: "Nettle" is very broken here for a weird reason.
assumeFalse(libName.equals("Nettle"));
- String[] args = new String[]{"test", "performance", libName};
+ String[] args = buildCLIArgs(libName, "performance");
if (libName.equals("Botan") || libName.equals("Crypto++")) {
- args = new String[]{"test", "--kpg-type", "ECDH", "performance", libName};
+ args = buildCLIArgs(libName, "performance", "--kpg-type", "ECDH");
}
ByteArrayOutputStream baos = new ByteArrayOutputStream();
PrintStream ps = new PrintStream(baos);
@@ -117,7 +143,7 @@ public class AppTests {
@ParameterizedTest
@MethodSource("libs")
public void signatureSuite(String libName) {
- String[] args = new String[]{"test", "signature", libName};
+ String[] args = buildCLIArgs(libName, "signature");
switch (libName) {
case "Nettle":
case "libgcrypt":
@@ -127,7 +153,7 @@ public class AppTests {
case "LibreSSL":
case "IPPCP":
case "mbedTLS":
- args = new String[]{"test", "-st", "NONEwithECDSA", "signature", libName};
+ args = buildCLIArgs(libName, "signature", "-st", "NONEwithECDSA");
break;
}
ECTesterStandalone.main(args);
@@ -136,9 +162,9 @@ public class AppTests {
@ParameterizedTest
@MethodSource("libs")
public void miscSuite(String libName) {
- String[] args = new String[]{"test", "miscellaneous", libName};
+ String[] args = buildCLIArgs(libName, "miscellaneous");
if (libName.equals("Botan") || libName.equals("Crypto++")) {
- args = new String[]{"test", "--kpg-type", "ECDH", "miscellaneous", libName};
+ args = buildCLIArgs(libName, "miscellaneous", "--kpg-type", "ECDH");
}
ECTesterStandalone.main(args);
}
@@ -149,9 +175,9 @@ public class AppTests {
// TODO: "Nettle" is very broken here for a weird reason.
assumeFalse(libName.equals("Nettle"));
- String[] args = new String[]{"test", "invalid", libName};
+ String[] args = buildCLIArgs(libName, "invalid");
if (libName.equals("Botan") || libName.equals("Crypto++")) {
- args = new String[]{"test", "--kpg-type", "ECDH", "invalid", libName};
+ args = buildCLIArgs(libName, "invalid", "--kpg-type", "ECDH");
}
ECTesterStandalone.main(args);
}
diff --git a/standalone/src/test/java/cz/crcs/ectester/standalone/OutputTests.java b/standalone/src/test/java/cz/crcs/ectester/standalone/OutputTests.java
index 7218094..7247195 100644
--- a/standalone/src/test/java/cz/crcs/ectester/standalone/OutputTests.java
+++ b/standalone/src/test/java/cz/crcs/ectester/standalone/OutputTests.java
@@ -14,7 +14,7 @@ public class OutputTests {
@ValueSource(strings = {"text", "xml", "yml"})
@StdIo()
public void formats(String format, StdOut out) {
- ECTesterStandalone.main(new String[]{"test", "-f", format, "default", "Sun"});
+ ECTesterStandalone.main(new String[]{"test", "-f", format, "default", "SunEC"});
String s = out.capturedString();
assertFalse(s.isEmpty());
}