]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - org.argeo.slc.agent/src/main/java/org/argeo/slc/ant/test/SlcTestTask.java
Improve error management:
[gpl/argeo-slc.git] / org.argeo.slc.agent / src / main / java / org / argeo / slc / ant / test / SlcTestTask.java
index 37daed7d50b1f00b0ea165ceb735d2e4dd23ad92..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
@@ -58,7 +61,7 @@ public class SlcTestTask extends SAwareTask {
                        testRun = loadSingleFromContext(WritableTestRun.class);\r
                        if (testRun == null) {\r
                                testRun = new SimpleTestRun();\r
-                               log.warn("Created default simple test run");\r
+                               log.trace("Created default simple test run");\r
                        } else {\r
                                if (log.isTraceEnabled())\r
                                        log.trace("Load test run from scanning Spring context");\r
@@ -67,22 +70,22 @@ public class SlcTestTask extends SAwareTask {
 \r
                // set overridden references\r
                if (testDataArg != null) {\r
-                       testRun.setTestData(testDataArg.getBeanInstance());\r
+                       testRun.setTestData(testDataArg.getInstance());\r
                        log.trace("Overrides test data");\r
                }\r
 \r
                if (testDefinitionArg != null) {\r
-                       testRun.setTestDefinition(testDefinitionArg.getBeanInstance());\r
+                       testRun.setTestDefinition(testDefinitionArg.getInstance());\r
                        log.trace("Overrides test definition");\r
                }\r
 \r
                if (deployedSystemArg != null) {\r
-                       testRun.setDeployedSystem(deployedSystemArg.getBeanInstance());\r
+                       testRun.setDeployedSystem(deployedSystemArg.getInstance());\r
                        log.trace("Overrides deployed system");\r
                }\r
 \r
                if (testResultArg != null) {\r
-                       testRun.setTestResult(testResultArg.getBeanInstance());\r
+                       testRun.setTestResult(testResultArg.getInstance());\r
                        log.trace("Overrides test result");\r
                }\r
 \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