]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - org.argeo.slc/src/main/java/org/argeo/slc/core/test/tree/TreeTestResultLogger.java
Improve error logging and reporting
[gpl/argeo-slc.git] / org.argeo.slc / src / main / java / org / argeo / slc / core / test / tree / TreeTestResultLogger.java
index 0e2d28825c7e8ec12095220b94753f223af38066..c09c18ac323923f7c7b1822845c8dc0c88cdb31d 100644 (file)
@@ -3,6 +3,10 @@ package org.argeo.slc.core.test.tree;
 import org.apache.commons.logging.Log;\r
 import org.apache.commons.logging.LogFactory;\r
 \r
+import org.argeo.slc.core.test.SimpleResultPart;\r
+import org.argeo.slc.core.test.TestResultPart;\r
+import org.argeo.slc.core.test.TestStatus;\r
+\r
 /**\r
  * Listener logging tree-based test results to the underlying logging system.\r
  * \r
@@ -12,11 +16,25 @@ import org.apache.commons.logging.LogFactory;
 public class TreeTestResultLogger extends AsynchronousTreeTestResultListener {\r
 \r
        private static Log log = LogFactory.getLog(TreeTestResultLogger.class);\r
+       \r
+       public TreeTestResultLogger() {\r
+               super(true);\r
+       }\r
 \r
        @Override\r
        protected void resultPartAdded(PartStruct partStruct) {\r
-               log.info(partStruct.part + " - " + partStruct.resultId + ":"\r
-                               + partStruct.path);\r
+               TestResultPart part = partStruct.part;\r
+               String msg = partStruct.part + " - " + partStruct.resultId + ":"\r
+                               + partStruct.path;\r
+               if (part.getStatus().equals(TestStatus.PASSED)) {\r
+                       log.info(msg);\r
+               } else if (part.getStatus().equals(TestStatus.FAILED)) {\r
+                       log.warn(msg);\r
+               } else if (part.getStatus().equals(TestStatus.ERROR)) {\r
+                       log.error(msg, ((SimpleResultPart) part).getException());\r
+               } else {\r
+                       log.error("Unknow test status: " + msg);\r
+               }\r
        }\r
 \r
 }\r