aboutsummaryrefslogtreecommitdiff
path: root/src/cz/crcs/ectester/reader
diff options
context:
space:
mode:
authorJ08nY2017-12-03 20:59:41 +0100
committerJ08nY2017-12-03 20:59:41 +0100
commitda09715d9ec955b4b139b45a1b2c5270ca0ebf2d (patch)
tree2f4e711668e406f66d524e50ec4c59828e0d0d39 /src/cz/crcs/ectester/reader
parentda2f36d4d313dc4cc736d8789700d78e052d1fc8 (diff)
downloadECTester-da09715d9ec955b4b139b45a1b2c5270ca0ebf2d.tar.gz
ECTester-da09715d9ec955b4b139b45a1b2c5270ca0ebf2d.tar.zst
ECTester-da09715d9ec955b4b139b45a1b2c5270ca0ebf2d.zip
Introduce BaseTestable and Testable Metadata.
Diffstat (limited to 'src/cz/crcs/ectester/reader')
-rw-r--r--src/cz/crcs/ectester/reader/ECTesterReader.java1
-rw-r--r--src/cz/crcs/ectester/reader/output/TestWriter.java15
-rw-r--r--src/cz/crcs/ectester/reader/output/TextTestWriter.java1
-rw-r--r--src/cz/crcs/ectester/reader/output/XMLTestWriter.java1
-rw-r--r--src/cz/crcs/ectester/reader/output/YAMLTestWriter.java1
-rw-r--r--src/cz/crcs/ectester/reader/response/Response.java5
-rw-r--r--src/cz/crcs/ectester/reader/test/CommandTestable.java47
-rw-r--r--src/cz/crcs/ectester/reader/test/TestRunner.java2
8 files changed, 56 insertions, 17 deletions
diff --git a/src/cz/crcs/ectester/reader/ECTesterReader.java b/src/cz/crcs/ectester/reader/ECTesterReader.java
index d32d9d8..e627099 100644
--- a/src/cz/crcs/ectester/reader/ECTesterReader.java
+++ b/src/cz/crcs/ectester/reader/ECTesterReader.java
@@ -26,6 +26,7 @@ import cz.crcs.ectester.applet.EC_Consts;
import cz.crcs.ectester.common.cli.CLITools;
import cz.crcs.ectester.common.ec.EC_Params;
import cz.crcs.ectester.common.output.OutputLogger;
+import cz.crcs.ectester.common.output.TestWriter;
import cz.crcs.ectester.common.test.TestException;
import cz.crcs.ectester.common.util.ByteUtil;
import cz.crcs.ectester.data.EC_Store;
diff --git a/src/cz/crcs/ectester/reader/output/TestWriter.java b/src/cz/crcs/ectester/reader/output/TestWriter.java
deleted file mode 100644
index d79252d..0000000
--- a/src/cz/crcs/ectester/reader/output/TestWriter.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package cz.crcs.ectester.reader.output;
-
-import cz.crcs.ectester.common.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/TextTestWriter.java b/src/cz/crcs/ectester/reader/output/TextTestWriter.java
index dc285b5..a4bb33e 100644
--- a/src/cz/crcs/ectester/reader/output/TextTestWriter.java
+++ b/src/cz/crcs/ectester/reader/output/TextTestWriter.java
@@ -1,5 +1,6 @@
package cz.crcs.ectester.reader.output;
+import cz.crcs.ectester.common.output.TestWriter;
import cz.crcs.ectester.common.test.CompoundTest;
import cz.crcs.ectester.common.test.Test;
import cz.crcs.ectester.reader.test.CommandTest;
diff --git a/src/cz/crcs/ectester/reader/output/XMLTestWriter.java b/src/cz/crcs/ectester/reader/output/XMLTestWriter.java
index ebc93ac..1a94984 100644
--- a/src/cz/crcs/ectester/reader/output/XMLTestWriter.java
+++ b/src/cz/crcs/ectester/reader/output/XMLTestWriter.java
@@ -1,5 +1,6 @@
package cz.crcs.ectester.reader.output;
+import cz.crcs.ectester.common.output.TestWriter;
import cz.crcs.ectester.common.test.CompoundTest;
import cz.crcs.ectester.common.util.ByteUtil;
import cz.crcs.ectester.reader.command.Command;
diff --git a/src/cz/crcs/ectester/reader/output/YAMLTestWriter.java b/src/cz/crcs/ectester/reader/output/YAMLTestWriter.java
index d8350ac..e0038fd 100644
--- a/src/cz/crcs/ectester/reader/output/YAMLTestWriter.java
+++ b/src/cz/crcs/ectester/reader/output/YAMLTestWriter.java
@@ -1,5 +1,6 @@
package cz.crcs.ectester.reader.output;
+import cz.crcs.ectester.common.output.TestWriter;
import cz.crcs.ectester.common.test.CompoundTest;
import cz.crcs.ectester.common.util.ByteUtil;
import cz.crcs.ectester.reader.command.Command;
diff --git a/src/cz/crcs/ectester/reader/response/Response.java b/src/cz/crcs/ectester/reader/response/Response.java
index d8edf9e..3b5d98b 100644
--- a/src/cz/crcs/ectester/reader/response/Response.java
+++ b/src/cz/crcs/ectester/reader/response/Response.java
@@ -13,7 +13,6 @@ import javax.smartcardio.ResponseAPDU;
* @author Jan Jancar johny@neuromancer.sk
*/
public abstract class Response {
-
private ResponseAPDU resp;
private long time;
private short[] sws;
@@ -88,6 +87,10 @@ public abstract class Response {
return (short) resp.getSW();
}
+ public short[] getSWs() {
+ return sws;
+ }
+
public short getSW(int index) {
return sws[index];
}
diff --git a/src/cz/crcs/ectester/reader/test/CommandTestable.java b/src/cz/crcs/ectester/reader/test/CommandTestable.java
new file mode 100644
index 0000000..f09a736
--- /dev/null
+++ b/src/cz/crcs/ectester/reader/test/CommandTestable.java
@@ -0,0 +1,47 @@
+package cz.crcs.ectester.reader.test;
+
+import cz.crcs.ectester.common.test.BaseTestable;
+import cz.crcs.ectester.common.test.TestException;
+import cz.crcs.ectester.reader.command.Command;
+import cz.crcs.ectester.reader.response.Response;
+
+import javax.smartcardio.CardException;
+
+/**
+ * @author Jan Jancar johny@neuromancer.sk
+ */
+public class CommandTestable extends BaseTestable {
+ private Command command;
+ private Response response;
+
+ public CommandTestable(Command command) {
+ this.command = command;
+ }
+
+ public Command getCommand() {
+ return command;
+ }
+
+ public Response getResponse() {
+ return response;
+ }
+
+ @Override
+ public void run() throws TestException {
+ try {
+ response = command.send();
+ } catch (CardException e) {
+ throw new TestException(e);
+ }
+
+ hasRun = true;
+ if (response.error()) {
+ error = true;
+ } else if (response.successful()) {
+ ok = true;
+ }
+ meta.clear();
+ meta.put("Natural SW", response.getNaturalSW());
+ meta.put("SWs", response.getSWs());
+ }
+}
diff --git a/src/cz/crcs/ectester/reader/test/TestRunner.java b/src/cz/crcs/ectester/reader/test/TestRunner.java
index dcc78db..e581aaa 100644
--- a/src/cz/crcs/ectester/reader/test/TestRunner.java
+++ b/src/cz/crcs/ectester/reader/test/TestRunner.java
@@ -2,7 +2,7 @@ package cz.crcs.ectester.reader.test;
import cz.crcs.ectester.common.test.Test;
import cz.crcs.ectester.common.test.TestException;
-import cz.crcs.ectester.reader.output.TestWriter;
+import cz.crcs.ectester.common.output.TestWriter;
/**
* @author Jan Jancar johny@neuromancer.sk