[richfaces-svn-commits] JBoss Rich Faces SVN: r18574 - modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/tests/metamer/ftest.

richfaces-svn-commits at lists.jboss.org richfaces-svn-commits at lists.jboss.org
Wed Aug 11 17:16:22 EDT 2010


Author: lfryc at redhat.com
Date: 2010-08-11 17:16:21 -0400 (Wed, 11 Aug 2010)
New Revision: 18574

Modified:
   modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/tests/metamer/ftest/MetamerFailureLoggingTestListener.java
   modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/tests/metamer/ftest/MetamerTestInfo.java
Log:
improved failure logging by separating template information as sub-directory for other test parameters and by sorting parameters by its length

Modified: modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/tests/metamer/ftest/MetamerFailureLoggingTestListener.java
===================================================================
--- modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/tests/metamer/ftest/MetamerFailureLoggingTestListener.java	2010-08-11 21:15:41 UTC (rev 18573)
+++ modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/tests/metamer/ftest/MetamerFailureLoggingTestListener.java	2010-08-11 21:16:21 UTC (rev 18574)
@@ -21,6 +21,10 @@
  *******************************************************************************/
 package org.richfaces.tests.metamer.ftest;
 
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import org.apache.commons.lang.StringUtils;
 import org.jboss.test.selenium.listener.FailureLoggingTestListener;
 import org.jboss.test.selenium.utils.testng.TestInfo;
 import org.testng.ITestResult;
@@ -35,8 +39,18 @@
         String packageName = TestInfo.getContainingPackageName(result);
         String className = TestInfo.getClassName(result);
         String methodName = TestInfo.getMethodName(result);
-        String testInfo = MetamerTestInfo.getConfigurationInfo().replaceAll(" ", "");
 
+        String testInfo = MetamerTestInfo.getConfigurationInfo();
+        testInfo = StringUtils.replaceChars(testInfo, "\\/*?\"<>|", "");
+        testInfo = StringUtils.replaceChars(testInfo, "\r\n \t", "_");
+        testInfo = StringUtils.replaceChars(testInfo, ":", "-");
+
+        // derives template and sort it as sub-directory after other attributes
+        Matcher matcher = Pattern.compile("^(template-[^,]+),(.*)$").matcher(testInfo);
+        if (matcher.find()) {
+            testInfo = matcher.group(2) + "/" + matcher.group(1);
+        }
+
         return packageName + "/" + className + "/" + methodName + "/" + testInfo;
     }
 

Modified: modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/tests/metamer/ftest/MetamerTestInfo.java
===================================================================
--- modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/tests/metamer/ftest/MetamerTestInfo.java	2010-08-11 21:15:41 UTC (rev 18573)
+++ modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/tests/metamer/ftest/MetamerTestInfo.java	2010-08-11 21:16:21 UTC (rev 18574)
@@ -22,9 +22,15 @@
 package org.richfaces.tests.metamer.ftest;
 
 import java.lang.reflect.Field;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.LinkedList;
+import java.util.List;
 import java.util.Map;
 import java.util.Map.Entry;
 
+import org.apache.commons.lang.StringUtils;
+
 /**
  * @author <a href="mailto:ppitonak at redhat.com">Lukas Fryc</a>
  * @version $Revision$
@@ -35,22 +41,32 @@
 
     public static String getConfigurationInfo() {
         Map<Field, Object> configuration = MatrixConfigurator.getCurrentConfiguration();
-        StringBuffer info = new StringBuffer();
+
+        List<String> info = new LinkedList<String>();
         if (!configuration.isEmpty()) {
             for (Entry<Field, Object> entry : configuration.entrySet()) {
                 final String name = entry.getKey().getName();
                 final Object value = entry.getValue();
 
                 if (value != null) {
-                    if (info.length() > 0) {
-                        info.append(", ");
-                    }
-                    info.append(name + ": " + value);
+                    info.add(name + ": " + value);
                 }
             }
         }
 
-        return info.toString();
+        Collections.sort(info, new Comparator<String>() {
+            public int compare(String o1, String o2) {
+                if (o1.startsWith("template: ")) {
+                    return -1;
+                }
+                if (o2.startsWith("template: ")) {
+                    return 1;
+                }
+                return o1.length() - o2.length();
+            }
+        });
+
+        return StringUtils.join(info, ", ");
     }
 
     public static String getConfigurationInfoInParenthesses() {



More information about the richfaces-svn-commits mailing list