]> git.argeo.org Git - gpl/argeo-slc.git/commitdiff
Improve error management:
authorMathieu Baudier <mbaudier@argeo.org>
Fri, 3 Oct 2008 08:43:25 +0000 (08:43 +0000)
committerMathieu Baudier <mbaudier@argeo.org>
Fri, 3 Oct 2008 08:43:25 +0000 (08:43 +0000)
- register in collection the first result part
- catches errors in slc.test executions
- improve web display of errors

git-svn-id: https://svn.argeo.org/slc/trunk@1686 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc

org.argeo.slc.agent/src/main/java/org/argeo/slc/ant/test/SlcTestTask.java

index fa22269c222487a7c7c2de514a64531277aaa0b3..66444f17e755f8c692eec8e4b4b7392433196826 100644 (file)
@@ -11,11 +11,14 @@ import org.argeo.slc.core.process.SlcExecution;
 import org.argeo.slc.core.structure.StructureAware;\r
 import org.argeo.slc.core.structure.tree.TreeSPath;\r
 import org.argeo.slc.core.test.ExecutableTestRun;\r
+import org.argeo.slc.core.test.SimpleResultPart;\r
 import org.argeo.slc.core.test.SimpleTestResult;\r
 import org.argeo.slc.core.test.SimpleTestRun;\r
 import org.argeo.slc.core.test.TestData;\r
 import org.argeo.slc.core.test.TestDefinition;\r
 import org.argeo.slc.core.test.TestResult;\r
+import org.argeo.slc.core.test.TestResultPart;\r
+import org.argeo.slc.core.test.TestStatus;\r
 import org.argeo.slc.core.test.WritableTestRun;\r
 import org.argeo.slc.spring.SpringUtils;\r
 import org.springframework.beans.BeansException;\r
@@ -108,7 +111,17 @@ public class SlcTestTask extends SAwareTask {
                                        getRegistry(), getTreeSPath());\r
                }\r
 \r
-               ((ExecutableTestRun) testRun).execute();\r
+               try {\r
+                       ((ExecutableTestRun) testRun).execute();\r
+               } catch (RuntimeException e) {\r
+                       if (result != null) {\r
+                               SimpleResultPart errorPart = new SimpleResultPart(\r
+                                               TestStatus.ERROR,\r
+                                               "Unexpected exception when running test", e);\r
+                               result.addResultPart(errorPart);\r
+                       }\r
+                       throw e;\r
+               }\r
        }\r
 \r
        /**\r