diff options
| author | J08nY | 2017-10-25 20:17:07 +0200 |
|---|---|---|
| committer | J08nY | 2017-10-25 20:17:07 +0200 |
| commit | 2c6c2a2d35292368b7263fedb6db508da7ded4c4 (patch) | |
| tree | e5c3c549c0ee58af6f50b1c73dc11d93f6498da3 /src/cz/crcs/ectester/reader/output | |
| parent | 69a4116df7b54ddfdaba2f8aa80ecb9e9a2ed9a7 (diff) | |
| download | ECTester-2c6c2a2d35292368b7263fedb6db508da7ded4c4.tar.gz ECTester-2c6c2a2d35292368b7263fedb6db508da7ded4c4.tar.zst ECTester-2c6c2a2d35292368b7263fedb6db508da7ded4c4.zip | |
Split ResponseWriter into separate class, introduce TestRunner.
Diffstat (limited to 'src/cz/crcs/ectester/reader/output')
| -rw-r--r-- | src/cz/crcs/ectester/reader/output/OutputWriter.java | 18 | ||||
| -rw-r--r-- | src/cz/crcs/ectester/reader/output/ResponseWriter.java | 39 | ||||
| -rw-r--r-- | src/cz/crcs/ectester/reader/output/TeeOutputStream.java | 4 | ||||
| -rw-r--r-- | src/cz/crcs/ectester/reader/output/TestWriter.java | 15 | ||||
| -rw-r--r-- | src/cz/crcs/ectester/reader/output/TextTestWriter.java (renamed from src/cz/crcs/ectester/reader/output/TextOutputWriter.java) | 38 | ||||
| -rw-r--r-- | src/cz/crcs/ectester/reader/output/XMLTestWriter.java (renamed from src/cz/crcs/ectester/reader/output/XMLOutputWriter.java) | 17 | ||||
| -rw-r--r-- | src/cz/crcs/ectester/reader/output/YAMLTestWriter.java (renamed from src/cz/crcs/ectester/reader/output/YAMLOutputWriter.java) | 15 |
7 files changed, 80 insertions, 66 deletions
diff --git a/src/cz/crcs/ectester/reader/output/OutputWriter.java b/src/cz/crcs/ectester/reader/output/OutputWriter.java deleted file mode 100644 index 09185b1..0000000 --- a/src/cz/crcs/ectester/reader/output/OutputWriter.java +++ /dev/null @@ -1,18 +0,0 @@ -package cz.crcs.ectester.reader.output; - -import cz.crcs.ectester.reader.response.Response; -import cz.crcs.ectester.reader.test.Test; - -import javax.xml.stream.XMLStreamException; -import javax.xml.transform.TransformerConfigurationException; -import javax.xml.transform.TransformerException; - -/** - * @author Jan Jancar johny@neuromancer.sk - */ -public interface OutputWriter { - void begin(); - void outputResponse(Response r); - void outputTest(Test t); - void end(); -} diff --git a/src/cz/crcs/ectester/reader/output/ResponseWriter.java b/src/cz/crcs/ectester/reader/output/ResponseWriter.java new file mode 100644 index 0000000..120fdba --- /dev/null +++ b/src/cz/crcs/ectester/reader/output/ResponseWriter.java @@ -0,0 +1,39 @@ +package cz.crcs.ectester.reader.output; + +import cz.crcs.ectester.reader.Util; +import cz.crcs.ectester.reader.response.Response; + +import java.io.PrintStream; + +/** + * @author Jan Jancar johny@neuromancer.sk + */ +public class ResponseWriter { + private PrintStream output; + + public ResponseWriter(PrintStream output) { + this.output = output; + } + + public String responseSuffix(Response r) { + StringBuilder suffix = new StringBuilder(); + for (int j = 0; j < r.getNumSW(); ++j) { + short sw = r.getSW(j); + if (sw != 0) { + suffix.append(" ").append(Util.getSWString(sw)); + } + } + if (suffix.length() == 0) { + suffix.append(" [").append(Util.getSW(r.getNaturalSW())).append("]"); + } + return String.format("%4d ms : %s", r.getDuration() / 1000000, suffix); + } + + public void outputResponse(Response r) { + String out = ""; + out += String.format("%-70s:", r.getDescription()) + " : "; + out += responseSuffix(r); + output.println(out); + output.flush(); + } +} diff --git a/src/cz/crcs/ectester/reader/output/TeeOutputStream.java b/src/cz/crcs/ectester/reader/output/TeeOutputStream.java index e18d32b..2a1af99 100644 --- a/src/cz/crcs/ectester/reader/output/TeeOutputStream.java +++ b/src/cz/crcs/ectester/reader/output/TeeOutputStream.java @@ -22,14 +22,14 @@ public class TeeOutputStream extends OutputStream { @Override public void flush() throws IOException { - for (OutputStream out :outputs) { + for (OutputStream out : outputs) { out.flush(); } } @Override public void close() throws IOException { - for (OutputStream out :outputs) { + for (OutputStream out : outputs) { out.close(); } } diff --git a/src/cz/crcs/ectester/reader/output/TestWriter.java b/src/cz/crcs/ectester/reader/output/TestWriter.java new file mode 100644 index 0000000..74c76fb --- /dev/null +++ b/src/cz/crcs/ectester/reader/output/TestWriter.java @@ -0,0 +1,15 @@ +package cz.crcs.ectester.reader.output; + +import cz.crcs.ectester.reader.test.Test; +import cz.crcs.ectester.reader.test.TestSuite; + +/** + * @author Jan Jancar johny@neuromancer.sk + */ +public interface TestWriter { + void begin(TestSuite suite); + + void outputTest(Test t); + + void end(); +} diff --git a/src/cz/crcs/ectester/reader/output/TextOutputWriter.java b/src/cz/crcs/ectester/reader/output/TextTestWriter.java index 7f9cdae..80c7204 100644 --- a/src/cz/crcs/ectester/reader/output/TextOutputWriter.java +++ b/src/cz/crcs/ectester/reader/output/TextTestWriter.java @@ -1,52 +1,30 @@ package cz.crcs.ectester.reader.output; -import cz.crcs.ectester.reader.Util; -import cz.crcs.ectester.reader.response.Response; import cz.crcs.ectester.reader.test.Test; +import cz.crcs.ectester.reader.test.TestSuite; import java.io.PrintStream; /** * @author Jan Jancar johny@neuromancer.sk */ -public class TextOutputWriter implements OutputWriter { +public class TextTestWriter implements TestWriter { private PrintStream output; + private ResponseWriter respWriter; - public TextOutputWriter(PrintStream output) { + public TextTestWriter(PrintStream output) { this.output = output; + this.respWriter = new ResponseWriter(output); } @Override - public void begin() { + public void begin(TestSuite suite) { } private String testPrefix(Test t) { return String.format("%-4s", t.getResult() == Test.Result.SUCCESS ? "OK" : "NOK"); } - private String responseSuffix(Response r) { - StringBuilder suffix = new StringBuilder(); - for (int j = 0; j < r.getNumSW(); ++j) { - short sw = r.getSW(j); - if (sw != 0) { - suffix.append(" ").append(Util.getSWString(sw)); - } - } - if (suffix.length() == 0) { - suffix.append(" [").append(Util.getSW(r.getNaturalSW())).append("]"); - } - return String.format("%4d ms : %s", r.getDuration() / 1000000, suffix); - } - - @Override - public void outputResponse(Response r) { - String out = ""; - out += String.format("%-70s:", r.getDescription()) + " : "; - out += responseSuffix(r); - output.println(out); - output.flush(); - } - private String testString(Test t) { if (!t.hasRun()) return null; @@ -55,7 +33,7 @@ public class TextOutputWriter implements OutputWriter { if (t instanceof Test.Simple) { Test.Simple test = (Test.Simple) t; out.append(String.format("%-70s:", testPrefix(t) + " : " + test.getDescription())).append(" : "); - out.append(responseSuffix(test.getResponse())); + out.append(respWriter.responseSuffix(test.getResponse())); } else if (t instanceof Test.Compound) { Test.Compound test = (Test.Compound) t; Test[] tests = test.getTests(); @@ -76,6 +54,8 @@ public class TextOutputWriter implements OutputWriter { @Override public void outputTest(Test t) { + if (!t.hasRun()) + return; output.println(testString(t)); output.flush(); } diff --git a/src/cz/crcs/ectester/reader/output/XMLOutputWriter.java b/src/cz/crcs/ectester/reader/output/XMLTestWriter.java index b9f8c8f..29a97db 100644 --- a/src/cz/crcs/ectester/reader/output/XMLOutputWriter.java +++ b/src/cz/crcs/ectester/reader/output/XMLTestWriter.java @@ -3,13 +3,17 @@ package cz.crcs.ectester.reader.output; import cz.crcs.ectester.reader.Util; import cz.crcs.ectester.reader.response.Response; import cz.crcs.ectester.reader.test.Test; +import cz.crcs.ectester.reader.test.TestSuite; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; -import javax.xml.transform.*; +import javax.xml.transform.OutputKeys; +import javax.xml.transform.Transformer; +import javax.xml.transform.TransformerException; +import javax.xml.transform.TransformerFactory; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult; import java.io.OutputStream; @@ -17,18 +21,18 @@ import java.io.OutputStream; /** * @author Jan Jancar johny@neuromancer.sk */ -public class XMLOutputWriter implements OutputWriter { +public class XMLTestWriter implements TestWriter { private OutputStream output; private Document doc; private Node root; - public XMLOutputWriter(OutputStream output) throws ParserConfigurationException { + public XMLTestWriter(OutputStream output) throws ParserConfigurationException { this.output = output; this.doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument(); } @Override - public void begin() { + public void begin(TestSuite suite) { root = doc.createElement("testRun"); doc.appendChild(root); } @@ -64,11 +68,6 @@ public class XMLOutputWriter implements OutputWriter { return responseElem; } - @Override - public void outputResponse(Response r) { - root.appendChild(responseElement(r)); - } - private Element testElement(Test t) { Element testElem = doc.createElement("test"); diff --git a/src/cz/crcs/ectester/reader/output/YAMLOutputWriter.java b/src/cz/crcs/ectester/reader/output/YAMLTestWriter.java index 211bd47..10d9bb9 100644 --- a/src/cz/crcs/ectester/reader/output/YAMLOutputWriter.java +++ b/src/cz/crcs/ectester/reader/output/YAMLTestWriter.java @@ -3,6 +3,7 @@ package cz.crcs.ectester.reader.output; import cz.crcs.ectester.reader.Util; import cz.crcs.ectester.reader.response.Response; import cz.crcs.ectester.reader.test.Test; +import cz.crcs.ectester.reader.test.TestSuite; import org.yaml.snakeyaml.DumperOptions; import org.yaml.snakeyaml.Yaml; @@ -15,16 +16,16 @@ import java.util.Map; /** * @author Jan Jancar johny@neuromancer.sk */ -public class YAMLOutputWriter implements OutputWriter { +public class YAMLTestWriter implements TestWriter { private PrintStream output; private List<Object> testRun; - public YAMLOutputWriter(PrintStream output) { + public YAMLTestWriter(PrintStream output) { this.output = output; } @Override - public void begin() { + public void begin(TestSuite suite) { output.println("---"); testRun = new LinkedList<>(); } @@ -44,11 +45,6 @@ public class YAMLOutputWriter implements OutputWriter { return responseObj; } - @Override - public void outputResponse(Response r) { - testRun.add(responseObject(r)); - } - private Map<String, Object> testObject(Test t) { Map<String, Object> testObj = new HashMap<>(); @@ -74,6 +70,8 @@ public class YAMLOutputWriter implements OutputWriter { @Override public void outputTest(Test t) { + if (!t.hasRun()) + return; testRun.add(testObject(t)); } @@ -81,6 +79,7 @@ public class YAMLOutputWriter implements OutputWriter { public void end() { DumperOptions options = new DumperOptions(); options.setDefaultFlowStyle(DumperOptions.FlowStyle.BLOCK); + options.setPrettyFlow(true); Yaml yaml = new Yaml(options); Map<String, List<Object>> result = new HashMap<>(); |
