Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHenrik Rentz-Reichert2013-08-05 12:55:36 +0000
committerHenrik Rentz-Reichert2013-08-05 12:55:36 +0000
commit656d38a620ad323d3a96003acac7bbb49fe7f29d (patch)
tree9e30eeb58052ce4c10f5e6feda4631c3689f90e6 /plugins/org.eclipse.etrice.etunit.converter
parent5885c07309adbca8d4a43c70626112509f2c20c8 (diff)
downloadorg.eclipse.etrice-656d38a620ad323d3a96003acac7bbb49fe7f29d.tar.gz
org.eclipse.etrice-656d38a620ad323d3a96003acac7bbb49fe7f29d.tar.xz
org.eclipse.etrice-656d38a620ad323d3a96003acac7bbb49fe7f29d.zip
[etunit.converter] improved error handling
Diffstat (limited to 'plugins/org.eclipse.etrice.etunit.converter')
-rw-r--r--plugins/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/EtUnitReportConverter.java34
1 files changed, 24 insertions, 10 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 67e2aca59..704524cbb 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
@@ -198,14 +198,20 @@ public class EtUnitReportConverter {
protected void run(String[] args) {
// check options and create file list
Options options = parseOptions(args);
-
+ if (options==null)
+ System.exit(1);
+
doEMFRegistration();
ResourceSet rs = new ResourceSetImpl();
rs.getResourceFactoryRegistry().getExtensionToFactoryMap().put("xml", new EtunitResourceFactoryImpl());
- saveReports(options, rs);
- saveCombinedReport(options, rs);
+ boolean success = saveReports(options, rs);
+ if (!saveCombinedReport(options, rs))
+ success = false;
+
+ if (!success)
+ System.exit(2);
}
/**
@@ -222,7 +228,7 @@ public class EtUnitReportConverter {
return options;
}
- protected void saveCombinedReport(Options options, ResourceSet rs) {
+ protected boolean saveCombinedReport(Options options, ResourceSet rs) {
if (options.needCombined()) {
DocumentRoot root = EtunitFactory.eINSTANCE.createDocumentRoot();
TestsuitesType testsuites = EtunitFactory.eINSTANCE.createTestsuitesType();
@@ -235,18 +241,21 @@ public class EtUnitReportConverter {
computeAndSetInfo(testsuites);
- saveCombined(root, options, rs);
+ return saveCombined(root, options, rs);
}
+ return true;
}
- protected void saveCombined(DocumentRoot root, Options options, ResourceSet rs) {
+ protected boolean saveCombined(DocumentRoot root, Options options, ResourceSet rs) {
if (options.isCombinedResults()) {
File report = new File(options.getCombinedFile());
- saveJUnitReport(root, report, rs, true);
+ return saveJUnitReport(root, report, rs, true);
}
+ return true;
}
- protected void saveReports(Options options, ResourceSet rs) {
+ protected boolean saveReports(Options options, ResourceSet rs) {
+ boolean success = true;
for (String file : options.getFiles()) {
File report = new File(file);
if (report.exists()) {
@@ -266,13 +275,16 @@ public class EtUnitReportConverter {
}
}
if (root!=null) {
- saveJUnitReport(root, report, rs, !options.isCombinedResults());
+ if (!saveJUnitReport(root, report, rs, !options.isCombinedResults()))
+ success = false;
}
}
else {
System.err.println("Error: report "+file+" does not exist");
+ success = false;
}
}
+ return success;
}
private void computeAndSetInfo(TestsuitesType testsuites) {
@@ -291,7 +303,7 @@ public class EtUnitReportConverter {
}
}
- private void saveJUnitReport(DocumentRoot root, File report, ResourceSet rs, boolean save) {
+ private boolean saveJUnitReport(DocumentRoot root, File report, ResourceSet rs, boolean save) {
URI uri = URI.createFileURI(report.toString());
uri = uri.trimFileExtension();
uri = uri.appendFileExtension("xml");
@@ -304,8 +316,10 @@ public class EtUnitReportConverter {
} catch (IOException e) {
e.printStackTrace();
System.err.println("Error: file "+uri+" could not be saved ("+e.getMessage()+")");
+ return false;
}
}
+ return true;
}
/**

Back to the top