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
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
\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
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