diff options
| author | J08nY | 2017-10-25 18:58:52 +0200 |
|---|---|---|
| committer | J08nY | 2017-10-25 18:58:52 +0200 |
| commit | 69a4116df7b54ddfdaba2f8aa80ecb9e9a2ed9a7 (patch) | |
| tree | b0500700cddf9f228f5e79d74331831429b5b583 /src | |
| parent | cd2a972ee05c88c2a83e7788839bbd657c2cf1c4 (diff) | |
| download | ECTester-69a4116df7b54ddfdaba2f8aa80ecb9e9a2ed9a7.tar.gz ECTester-69a4116df7b54ddfdaba2f8aa80ecb9e9a2ed9a7.tar.zst ECTester-69a4116df7b54ddfdaba2f8aa80ecb9e9a2ed9a7.zip | |
Diffstat (limited to 'src')
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; |
