You are viewing a plain text version of this content. The canonical link for it is here.
Posted to surefire-commits@maven.apache.org by ca...@apache.org on 2005/11/30 20:48:54 UTC

svn commit: r350029 - /maven/surefire/trunk/surefire/src/main/java/org/codehaus/surefire/report/XMLReporter.java

Author: carlos
Date: Wed Nov 30 11:48:51 2005
New Revision: 350029

URL: http://svn.apache.org/viewcvs?rev=350029&view=rev
Log:
Refactor common logic. Don't write stdOut and stdErr xml attributes if empty

Modified:
    maven/surefire/trunk/surefire/src/main/java/org/codehaus/surefire/report/XMLReporter.java

Modified: maven/surefire/trunk/surefire/src/main/java/org/codehaus/surefire/report/XMLReporter.java
URL: http://svn.apache.org/viewcvs/maven/surefire/trunk/surefire/src/main/java/org/codehaus/surefire/report/XMLReporter.java?rev=350029&r1=350028&r2=350029&view=diff
==============================================================================
--- maven/surefire/trunk/surefire/src/main/java/org/codehaus/surefire/report/XMLReporter.java (original)
+++ maven/surefire/trunk/surefire/src/main/java/org/codehaus/surefire/report/XMLReporter.java Wed Nov 30 11:48:51 2005
@@ -139,57 +139,27 @@
 
     public void testError( ReportEntry report, String stdOut, String stdErr )
     {
-        super.testError(report, stdOut, stdErr);
-        
-        String stackTrace = getStackTrace(report);
-        
-        Xpp3Dom error = createElement (testCase, "error");
-        
-        Throwable t = report.getThrowable();
-
-        if ( t != null )
-        {
-
-            String message = t.getMessage();
-
-            if ( ( message != null ) && ( message.trim().length() > 0 ) )
-            {
+        super.testError( report, stdOut, stdErr );
 
-                message = StringUtils.replace( report.getThrowable().getMessage(), "<", "&lt;" );
-
-                message = StringUtils.replace( message, ">", "&gt;" );
-
-                message = StringUtils.replace( message, "\"", "&quot;" );
-
-                error.setAttribute( "message", message );
+        Xpp3Dom element = createElement( testCase, "error" );
+        
+        writeTestProblems( report, stdOut, stdErr, element );
+    }
 
-                error.setAttribute( "type", stackTrace.substring( 0, stackTrace.indexOf( ":" ) ) );
-            }
-            
-            else
-            {
-                error.setAttribute( "type", new StringTokenizer( stackTrace ).nextToken() );
-            }
+    public void testFailed( ReportEntry report, String stdOut, String stdErr )
+    {
+        super.testFailed( report, stdOut, stdErr );
 
-        }
+        Xpp3Dom element = createElement( testCase, "failure" );
 
-        error.setValue( stackTrace );
-        
-        createElement(testCase, "system-out").setValue(stdOut);
-        
-        long runTime = endTime - startTime;
-        
-        testCase.setAttribute("time", elapsedTimeAsString( runTime ));
+        writeTestProblems( report, stdOut, stdErr, element );
     }
 
-    public void testFailed( ReportEntry report, String stdOut, String stdErr )
+    private void writeTestProblems( ReportEntry report, String stdOut, String stdErr, Xpp3Dom element )
     {
-        super.testFailed(report,stdOut,stdErr);
-        
-        String stackTrace = getStackTrace(report);
-        
-        Xpp3Dom failure = createElement (testCase, "failure");
-        
+
+        String stackTrace = getStackTrace( report );
+
         Throwable t = report.getThrowable();
 
         if ( t != null )
@@ -206,22 +176,28 @@
 
                 message = StringUtils.replace( message, "\"", "&quot;" );
 
-                failure.setAttribute( "message", message );
+                element.setAttribute( "message", message );
 
-                failure.setAttribute( "type", stackTrace.substring( 0, stackTrace.indexOf( ":" ) ) );
+                element.setAttribute( "type", stackTrace.substring( 0, stackTrace.indexOf( ":" ) ) );
             }
             else
             {
-                failure.setAttribute( "type", new StringTokenizer( stackTrace ).nextToken() );
+                element.setAttribute( "type", new StringTokenizer( stackTrace ).nextToken() );
             }
         }
-               
-        failure.setValue(getStackTrace(report));
 
-        createElement(testCase, "system-out").setValue(stdOut);
-        
-        createElement(testCase, "system-err").setValue(stdErr);
-        
+        element.setValue( stackTrace );
+
+        if ( ( stdOut != null ) && ( stdOut.trim().length() > 0 ) )
+        {
+            createElement( testCase, "system-out" ).setValue( stdOut );
+        }
+
+        if ( ( stdErr != null ) && ( stdErr.trim().length() > 0 ) )
+        {
+            createElement( testCase, "system-err" ).setValue( stdErr );
+        }
+
         long runTime = endTime - startTime;
         
         testCase.setAttribute("time", elapsedTimeAsString( runTime ));