aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJ08nY2017-10-25 18:58:52 +0200
committerJ08nY2017-10-25 18:58:52 +0200
commit69a4116df7b54ddfdaba2f8aa80ecb9e9a2ed9a7 (patch)
treeb0500700cddf9f228f5e79d74331831429b5b583 /src
parentcd2a972ee05c88c2a83e7788839bbd657c2cf1c4 (diff)
downloadECTester-69a4116df7b54ddfdaba2f8aa80ecb9e9a2ed9a7.tar.gz
ECTester-69a4116df7b54ddfdaba2f8aa80ecb9e9a2ed9a7.tar.zst
ECTester-69a4116df7b54ddfdaba2f8aa80ecb9e9a2ed9a7.zip
Diffstat (limited to 'src')
-rw-r--r--src/cz/crcs/ectester/reader/output/TextOutputWriter.java20
-rw-r--r--src/cz/crcs/ectester/reader/output/XMLOutputWriter.java4
-rw-r--r--src/cz/crcs/ectester/reader/output/YAMLOutputWriter.java1
-rw-r--r--src/cz/crcs/ectester/reader/test/Test.java35
-rw-r--r--src/cz/crcs/ectester/reader/test/TestVectorSuite.java2
5 files changed, 29 insertions, 33 deletions
diff --git a/src/cz/crcs/ectester/reader/output/TextOutputWriter.java b/src/cz/crcs/ectester/reader/output/TextOutputWriter.java
index d9669be..7f9cdae 100644
--- a/src/cz/crcs/ectester/reader/output/TextOutputWriter.java
+++ b/src/cz/crcs/ectester/reader/output/TextOutputWriter.java
@@ -21,7 +21,7 @@ public class TextOutputWriter implements OutputWriter {
}
private String testPrefix(Test t) {
- return (t.ok() ? "OK" : "NOK");
+ return String.format("%-4s", t.getResult() == Test.Result.SUCCESS ? "OK" : "NOK");
}
private String responseSuffix(Response r) {
@@ -41,7 +41,7 @@ public class TextOutputWriter implements OutputWriter {
@Override
public void outputResponse(Response r) {
String out = "";
- out += String.format("%-62s:", r.getDescription()) + " : ";
+ out += String.format("%-70s:", r.getDescription()) + " : ";
out += responseSuffix(r);
output.println(out);
output.flush();
@@ -54,14 +54,22 @@ public class TextOutputWriter implements OutputWriter {
StringBuilder out = new StringBuilder();
if (t instanceof Test.Simple) {
Test.Simple test = (Test.Simple) t;
- out.append(String.format("%-62s:", testPrefix(t) + " " + test.getDescription())).append(" : ");
+ out.append(String.format("%-70s:", testPrefix(t) + " : " + test.getDescription())).append(" : ");
out.append(responseSuffix(test.getResponse()));
} else if (t instanceof Test.Compound) {
Test.Compound test = (Test.Compound) t;
- for (Test innerTest : test.getTests()) {
- out.append(" ").append(testString(innerTest)).append(System.lineSeparator());
+ Test[] tests = test.getTests();
+ for (int i = 0; i < tests.length; ++i) {
+ if (i == 0) {
+ out.append(" /- ");
+ } else if (i == tests.length - 1) {
+ out.append(" \\- ");
+ } else {
+ out.append(" | ");
+ }
+ out.append(testString(tests[i])).append(System.lineSeparator());
}
- out.append(String.format("%-62s:", testPrefix(t) + " " + test.getDescription()));
+ out.append(String.format("%-70s:", testPrefix(t) + " : " + test.getDescription()));
}
return out.toString();
}
diff --git a/src/cz/crcs/ectester/reader/output/XMLOutputWriter.java b/src/cz/crcs/ectester/reader/output/XMLOutputWriter.java
index 7d14cd4..b9f8c8f 100644
--- a/src/cz/crcs/ectester/reader/output/XMLOutputWriter.java
+++ b/src/cz/crcs/ectester/reader/output/XMLOutputWriter.java
@@ -92,10 +92,6 @@ public class XMLOutputWriter implements OutputWriter {
result.setTextContent(t.getResult().toString());
testElem.appendChild(result);
- Element ok = doc.createElement("ok");
- ok.setTextContent(t.ok() ? "true" : "false");
- testElem.appendChild(ok);
-
return testElem;
}
diff --git a/src/cz/crcs/ectester/reader/output/YAMLOutputWriter.java b/src/cz/crcs/ectester/reader/output/YAMLOutputWriter.java
index b42c095..211bd47 100644
--- a/src/cz/crcs/ectester/reader/output/YAMLOutputWriter.java
+++ b/src/cz/crcs/ectester/reader/output/YAMLOutputWriter.java
@@ -68,7 +68,6 @@ public class YAMLOutputWriter implements OutputWriter {
testObj.put("desc", t.getDescription());
testObj.put("result", t.getResult().name());
- testObj.put("ok", t.ok());
return testObj;
}
diff --git a/src/cz/crcs/ectester/reader/test/Test.java b/src/cz/crcs/ectester/reader/test/Test.java
index f873c19..1890e94 100644
--- a/src/cz/crcs/ectester/reader/test/Test.java
+++ b/src/cz/crcs/ectester/reader/test/Test.java
@@ -29,8 +29,6 @@ public abstract class Test {
return hasRun;
}
- public abstract boolean ok();
-
public abstract void run() throws CardException;
@@ -49,17 +47,20 @@ public abstract class Test {
*/
public static class Simple extends Test {
private BiFunction<Command, Response, Result> callback;
- private Result expected;
private Command command;
private Response response;
public Simple(Command command, Result expected) {
- this.command = command;
- this.expected = expected;
+ this(command, (cmd, resp) -> {
+ if (expected == Result.ANY)
+ return Result.SUCCESS;
+ Result respResult = resp.successful() ? Result.SUCCESS : Result.FAILURE;
+ return respResult == expected ? Result.SUCCESS : Result.FAILURE;
+ });
}
- public Simple(Command command, Result expected, BiFunction<Command, Response, Result> callback) {
- this(command, expected);
+ public Simple(Command command, BiFunction<Command, Response, Result> callback) {
+ this.command = command;
this.callback = callback;
}
@@ -71,17 +72,11 @@ public abstract class Test {
return response;
}
- public Result getExpected() {
- return expected;
- }
-
- @Override
- public boolean ok() {
- return result == expected || expected == Result.ANY;
- }
-
@Override
public void run() throws CardException {
+ if (hasRun)
+ return;
+
response = command.send();
if (callback != null) {
result = callback.apply(command, response);
@@ -183,12 +178,10 @@ public abstract class Test {
}
@Override
- public boolean ok() {
- return result == Result.SUCCESS;
- }
-
- @Override
public void run() throws CardException {
+ if (hasRun)
+ return;
+
for (Test test : tests) {
test.run();
}
diff --git a/src/cz/crcs/ectester/reader/test/TestVectorSuite.java b/src/cz/crcs/ectester/reader/test/TestVectorSuite.java
index 69f4ca3..2098ae3 100644
--- a/src/cz/crcs/ectester/reader/test/TestVectorSuite.java
+++ b/src/cz/crcs/ectester/reader/test/TestVectorSuite.java
@@ -63,7 +63,7 @@ public class TestVectorSuite extends TestSuite {
//tests.add(new Test.Simple(new Command.Generate(cardManager, ECTesterApplet.KEYPAIR_BOTH), Test.Result.SUCCESS));
testVector.add(new Test.Simple(new Command.Set(cardManager, ECTesterApplet.KEYPAIR_LOCAL, EC_Consts.CURVE_external, EC_Consts.PARAMETER_S, onekey.flatten(EC_Consts.PARAMETER_S)), Test.Result.SUCCESS));
testVector.add(new Test.Simple(new Command.Set(cardManager, ECTesterApplet.KEYPAIR_REMOTE, EC_Consts.CURVE_external, EC_Consts.PARAMETER_W, otherkey.flatten(EC_Consts.PARAMETER_W)), Test.Result.SUCCESS));
- testVector.add(new Test.Simple(new Command.ECDH(cardManager, ECTesterApplet.KEYPAIR_REMOTE, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.EXPORT_TRUE, EC_Consts.CORRUPTION_NONE, result.getKA()), Test.Result.SUCCESS, (command, response) -> {
+ testVector.add(new Test.Simple(new Command.ECDH(cardManager, ECTesterApplet.KEYPAIR_REMOTE, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.EXPORT_TRUE, EC_Consts.CORRUPTION_NONE, result.getKA()), (command, response) -> {
Response.ECDH dh = (Response.ECDH) response;
if (!dh.successful() || !dh.hasSecret())
return Test.Result.FAILURE;