diff options
| author | J08nY | 2017-11-01 22:05:56 +0100 |
|---|---|---|
| committer | J08nY | 2017-11-01 22:05:56 +0100 |
| commit | d776f70f6b913b65ed1c40a9020868d85edf7d9f (patch) | |
| tree | 5bb288af51dfb191cf123853cb1bc5a69a0b08a1 | |
| parent | ca92d2e5237ce3efcfc90f22036b72a2a34679ac (diff) | |
| download | ECTester-d776f70f6b913b65ed1c40a9020868d85edf7d9f.tar.gz ECTester-d776f70f6b913b65ed1c40a9020868d85edf7d9f.tar.zst ECTester-d776f70f6b913b65ed1c40a9020868d85edf7d9f.zip | |
| -rw-r--r-- | src/cz/crcs/ectester/reader/output/TextTestWriter.java | 3 | ||||
| -rw-r--r-- | src/cz/crcs/ectester/reader/output/XMLTestWriter.java | 12 | ||||
| -rw-r--r-- | src/cz/crcs/ectester/reader/output/YAMLTestWriter.java | 26 |
3 files changed, 35 insertions, 6 deletions
diff --git a/src/cz/crcs/ectester/reader/output/TextTestWriter.java b/src/cz/crcs/ectester/reader/output/TextTestWriter.java index a5cb526..dedefe6 100644 --- a/src/cz/crcs/ectester/reader/output/TextTestWriter.java +++ b/src/cz/crcs/ectester/reader/output/TextTestWriter.java @@ -20,7 +20,8 @@ public class TextTestWriter implements TestWriter { @Override public void begin(TestSuite suite) { - //TODO: output suite.name and suite.description + output.println("=== Running test suite: " + suite.getName() + " ==="); + output.println("=== " + suite.getDescription()); } private String testPrefix(Test t) { diff --git a/src/cz/crcs/ectester/reader/output/XMLTestWriter.java b/src/cz/crcs/ectester/reader/output/XMLTestWriter.java index d5902ae..b4accdd 100644 --- a/src/cz/crcs/ectester/reader/output/XMLTestWriter.java +++ b/src/cz/crcs/ectester/reader/output/XMLTestWriter.java @@ -1,6 +1,7 @@ package cz.crcs.ectester.reader.output; import cz.crcs.ectester.reader.Util; +import cz.crcs.ectester.reader.command.Command; import cz.crcs.ectester.reader.response.Response; import cz.crcs.ectester.reader.test.Test; import cz.crcs.ectester.reader.test.TestSuite; @@ -44,6 +45,16 @@ public class XMLTestWriter implements TestWriter { doc.appendChild(root); } + private Element commandElement(Command c) { + Element commandElem = doc.createElement("command"); + + Element apdu = doc.createElement("apdu"); + apdu.setTextContent(Util.bytesToHex(c.getAPDU().getBytes())); + commandElem.appendChild(apdu); + + return commandElem; + } + private Element responseElement(Response r) { Element responseElem = doc.createElement("response"); responseElem.setAttribute("successful", r.successful() ? "true" : "false"); @@ -81,6 +92,7 @@ public class XMLTestWriter implements TestWriter { if (t instanceof Test.Simple) { Test.Simple test = (Test.Simple) t; testElem.setAttribute("type", "simple"); + testElem.appendChild(commandElement(test.getCommand())); testElem.appendChild(responseElement(test.getResponse())); } else if (t instanceof Test.Compound) { Test.Compound test = (Test.Compound) t; diff --git a/src/cz/crcs/ectester/reader/output/YAMLTestWriter.java b/src/cz/crcs/ectester/reader/output/YAMLTestWriter.java index d2e3ff8..93e2b45 100644 --- a/src/cz/crcs/ectester/reader/output/YAMLTestWriter.java +++ b/src/cz/crcs/ectester/reader/output/YAMLTestWriter.java @@ -1,6 +1,7 @@ package cz.crcs.ectester.reader.output; import cz.crcs.ectester.reader.Util; +import cz.crcs.ectester.reader.command.Command; import cz.crcs.ectester.reader.response.Response; import cz.crcs.ectester.reader.test.Test; import cz.crcs.ectester.reader.test.TestSuite; @@ -18,7 +19,9 @@ import java.util.Map; */ public class YAMLTestWriter implements TestWriter { private PrintStream output; - private List<Object> testRun; + private Map<String, Object> testRun; + private Map<String, String> testSuite; + private List<Object> tests; public YAMLTestWriter(PrintStream output) { this.output = output; @@ -27,8 +30,20 @@ public class YAMLTestWriter implements TestWriter { @Override public void begin(TestSuite suite) { output.println("---"); - testRun = new LinkedList<>(); - //TODO: output suite.name and suite.description + testRun = new HashMap<>(); + testSuite = new HashMap<>(); + tests = new LinkedList<>(); + testSuite.put("name", suite.getName()); + testSuite.put("desc", suite.getDescription()); + + testRun.put("suite", testSuite); + testRun.put("tests", tests); + } + + private Map<String, Object> commandObject(Command c) { + Map<String, Object> commandObj = new HashMap<>(); + commandObj.put("apdu", Util.bytesToHex(c.getAPDU().getBytes())); + return commandObj; } private Map<String, Object> responseObject(Response r) { @@ -52,6 +67,7 @@ public class YAMLTestWriter implements TestWriter { if (t instanceof Test.Simple) { Test.Simple test = (Test.Simple) t; testObj.put("type", "simple"); + testObj.put("command", commandObject(test.getCommand())); testObj.put("response", responseObject(test.getResponse())); } else if (t instanceof Test.Compound) { Test.Compound test = (Test.Compound) t; @@ -76,7 +92,7 @@ public class YAMLTestWriter implements TestWriter { public void outputTest(Test t) { if (!t.hasRun()) return; - testRun.add(testObject(t)); + tests.add(testObject(t)); } @Override @@ -86,7 +102,7 @@ public class YAMLTestWriter implements TestWriter { options.setPrettyFlow(true); Yaml yaml = new Yaml(options); - Map<String, List<Object>> result = new HashMap<>(); + Map<String, Object> result = new HashMap<>(); result.put("testRun", testRun); String out = yaml.dump(result); |
