aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJ08nY2017-11-01 22:05:56 +0100
committerJ08nY2017-11-01 22:05:56 +0100
commitd776f70f6b913b65ed1c40a9020868d85edf7d9f (patch)
tree5bb288af51dfb191cf123853cb1bc5a69a0b08a1
parentca92d2e5237ce3efcfc90f22036b72a2a34679ac (diff)
downloadECTester-d776f70f6b913b65ed1c40a9020868d85edf7d9f.tar.gz
ECTester-d776f70f6b913b65ed1c40a9020868d85edf7d9f.tar.zst
ECTester-d776f70f6b913b65ed1c40a9020868d85edf7d9f.zip
-rw-r--r--src/cz/crcs/ectester/reader/output/TextTestWriter.java3
-rw-r--r--src/cz/crcs/ectester/reader/output/XMLTestWriter.java12
-rw-r--r--src/cz/crcs/ectester/reader/output/YAMLTestWriter.java26
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);