aboutsummaryrefslogtreecommitdiff
path: root/src/cz/crcs/ectester/reader/output/XMLTestWriter.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/cz/crcs/ectester/reader/output/XMLTestWriter.java')
-rw-r--r--src/cz/crcs/ectester/reader/output/XMLTestWriter.java32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/cz/crcs/ectester/reader/output/XMLTestWriter.java b/src/cz/crcs/ectester/reader/output/XMLTestWriter.java
index 00cc6c6..9add072 100644
--- a/src/cz/crcs/ectester/reader/output/XMLTestWriter.java
+++ b/src/cz/crcs/ectester/reader/output/XMLTestWriter.java
@@ -108,6 +108,37 @@ public class XMLTestWriter extends BaseXMLTestWriter {
return result;
}
+ private Element appletElement(CardMngr card) {
+ Element result = doc.createElement("applet");
+ try {
+ Response.GetInfo info = new Command.GetInfo(card).send();
+ result.setAttribute("version", info.getVersion());
+ result.setAttribute("javacard", String.format("%.1f", info.getJavaCardVersion()));
+ result.setAttribute("base", String.format("%#x",info.getBase()));
+ result.setAttribute("cleanup", String.valueOf(info.getCleanupSupport()));
+ Element arrays = doc.createElement("arrays");
+ Element apduBuf = doc.createElement("length");
+ apduBuf.setAttribute("name", "apduBuf");
+ apduBuf.setTextContent(String.valueOf(info.getApduBufferLength()));
+ Element ramArray = doc.createElement("length");
+ ramArray.setAttribute("name", "ramArray");
+ ramArray.setTextContent(String.valueOf(info.getRamArrayLength()));
+ Element ramArray2 = doc.createElement("length");
+ ramArray2.setAttribute("name", "ramArray2");
+ ramArray2.setTextContent(String.valueOf(info.getRamArray2Length()));
+ Element apduArray = doc.createElement("length");
+ apduArray.setAttribute("name", "apduArray");
+ apduArray.setTextContent(String.valueOf(info.getApduArrayLength()));
+ arrays.appendChild(apduBuf);
+ arrays.appendChild(ramArray);
+ arrays.appendChild(ramArray2);
+ arrays.appendChild(apduArray);
+ result.appendChild(arrays);
+ } catch (CardException ignored) {
+ }
+ return result;
+ }
+
@Override
protected Element deviceElement(TestSuite suite) {
if (suite instanceof CardTestSuite) {
@@ -116,6 +147,7 @@ public class XMLTestWriter extends BaseXMLTestWriter {
result.setAttribute("type", "card");
result.setAttribute("ectester", ECTesterReader.VERSION + ECTesterReader.GIT_COMMIT);
result.appendChild(cplcElement(cardSuite.getCard()));
+ result.appendChild(appletElement(cardSuite.getCard()));
Element atr = doc.createElement("ATR");
atr.setTextContent(ByteUtil.bytesToHex(cardSuite.getCard().getATR().getBytes(), false));