Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/EtUnitReportConverter.java')
-rw-r--r--plugins/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/EtUnitReportConverter.java39
1 files changed, 27 insertions, 12 deletions
diff --git a/plugins/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/EtUnitReportConverter.java b/plugins/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/EtUnitReportConverter.java
index c31e4854e..c0b8d80e7 100644
--- a/plugins/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/EtUnitReportConverter.java
+++ b/plugins/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/EtUnitReportConverter.java
@@ -40,6 +40,7 @@ import org.eclipse.etrice.etunit.converter.Etunit.DocumentRoot;
import org.eclipse.etrice.etunit.converter.Etunit.EtunitFactory;
import org.eclipse.etrice.etunit.converter.Etunit.EtunitPackage;
import org.eclipse.etrice.etunit.converter.Etunit.FailureType;
+import org.eclipse.etrice.etunit.converter.Etunit.SkippedType;
import org.eclipse.etrice.etunit.converter.Etunit.TestcaseType;
import org.eclipse.etrice.etunit.converter.Etunit.TestsuiteType;
import org.eclipse.etrice.etunit.converter.Etunit.TestsuitesType;
@@ -223,6 +224,7 @@ public class EtUnitReportConverter {
private static final String TC_END = "tc end";
private static final String TC_FAIL = "tc fail";
+ private static final String TC_SKIP = "tc skip";
private static final String TC_START = "tc start";
private static final String TS_START = "ts start: ";
public static final String ETU_EXTENSION = ".etu";
@@ -491,12 +493,12 @@ public class EtUnitReportConverter {
FailureType fail = EtunitFactory.eINSTANCE.createFailureType();
pos = line.indexOf('#')+1;
int end = line.indexOf('#', pos);
- if (end>pos)
- fail.setExpected(line.substring(pos, end));
+ String expectedMsg = (end>pos) ? "expected=" + line.substring(pos, end) : "";
pos = end+1;
end = line.indexOf('#', pos);
- if (end>pos)
- fail.setActual(line.substring(pos, end));
+ String actualMsg = (end>pos) ? " actual=" + line.substring(pos, end) : "";
+ if(!(expectedMsg+actualMsg).isEmpty())
+ fail.setMessage(expectedMsg + actualMsg);
pos = end+1;
end = line.indexOf('#', pos);
String loc = (end>pos)? line.substring(pos, end) : null;
@@ -505,7 +507,7 @@ public class EtUnitReportConverter {
if (loc!=null)
trace += "\n at "+loc;
FeatureMapUtil.addText(fail.getMixed(), trace);
- tc.setFailure(fail);
+ tc.getFailure().add(fail);
}
else if (line.startsWith(TC_END)) {
int pos = line.indexOf(':');
@@ -517,7 +519,21 @@ public class EtUnitReportConverter {
return null;
}
// time was measured in ms. Convert to s
- tc.setTime(BigDecimal.valueOf(time/1000.0));
+ tc.setTime(BigDecimal.valueOf(time/1000.0).toString());
+ }
+ else if (line.startsWith(TC_SKIP)) {
+ int pos = line.indexOf(':');
+ int id = Integer.parseInt(line.substring(8, pos));
+ TestcaseType tc = id2case.get(id);
+ if (tc==null) {
+ System.err.println("Error: in etUnit report line "+count+" - unknown test case id");
+ return null;
+ }
+ SkippedType skip = EtunitFactory.eINSTANCE.createSkippedType();
+ String msg = line.substring(pos+1).trim();
+ if(!msg.isEmpty())
+ skip.setMessage(msg);
+ tc.setSkipped(skip);
}
line = bufRead.readLine();
++count;
@@ -538,13 +554,12 @@ public class EtUnitReportConverter {
BigDecimal time = new BigDecimal(0);
for (TestcaseType tc : ts.getTestcase()) {
if (tc.getTime()!=null)
- time = time.add(tc.getTime());
- if (tc.getFailure()!=null)
- ++failures;
+ time = time.add(new BigDecimal(tc.getTime()));
+ failures += tc.getFailure().size();
}
- ts.setTests(ts.getTestcase().size());
- ts.setFailures(failures);
- ts.setTime(time);
+ ts.setTests(Integer.toString(ts.getTestcase().size()));
+ ts.setFailures(Integer.toString(failures));
+ ts.setTime(time.toString());
}
}

Back to the top