Repository: maven-surefire
Updated Branches:
  refs/heads/master 34d445be3 -> d3a7f35d0


[SUREFIRE] refactoring


Project: http://git-wip-us.apache.org/repos/asf/maven-surefire/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven-surefire/commit/d3a7f35d
Tree: http://git-wip-us.apache.org/repos/asf/maven-surefire/tree/d3a7f35d
Diff: http://git-wip-us.apache.org/repos/asf/maven-surefire/diff/d3a7f35d

Branch: refs/heads/master
Commit: d3a7f35d051d3fdae92645454af47afacced41ca
Parents: 34d445b
Author: Tibor17 <tibo...@lycos.com>
Authored: Sun Sep 13 23:04:51 2015 +0200
Committer: Tibor17 <tibo...@lycos.com>
Committed: Sun Sep 13 23:04:51 2015 +0200

----------------------------------------------------------------------
 .../surefire/report/StatelessXmlReporter.java   | 276 +++++++++----------
 1 file changed, 131 insertions(+), 145 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/d3a7f35d/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/report/StatelessXmlReporter.java
----------------------------------------------------------------------
diff --git 
a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/report/StatelessXmlReporter.java
 
b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/report/StatelessXmlReporter.java
index f46827c..3a8dc2c 100644
--- 
a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/report/StatelessXmlReporter.java
+++ 
b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/report/StatelessXmlReporter.java
@@ -44,6 +44,7 @@ import java.util.StringTokenizer;
 
 import static 
org.apache.maven.plugin.surefire.report.DefaultReporterFactory.TestResultType;
 import static 
org.apache.maven.plugin.surefire.report.FileReporterUtils.stripIllegalFilenameChars;
+import static org.apache.maven.surefire.util.internal.StringUtils.isNotBlank;
 
 // CHECKSTYLE_OFF: LineLength
 /**
@@ -80,7 +81,6 @@ import static 
org.apache.maven.plugin.surefire.report.FileReporterUtils.stripIll
  */
 public class StatelessXmlReporter
 {
-
     private static final String ENCODING = "UTF-8";
 
     private static final Charset ENCODING_CS = Charset.forName( ENCODING );
@@ -141,98 +141,97 @@ public class StatelessXmlReporter
                 {
                     throw new IllegalStateException( "Get null test method run 
history" );
                 }
-                if ( methodEntryList.isEmpty() )
-                {
-                    continue;
-                }
 
-                if ( rerunFailingTestsCount > 0 )
+                if ( !methodEntryList.isEmpty() )
                 {
-                    TestResultType resultType = getTestResultType( 
methodEntryList );
-                    switch ( resultType )
+                    if ( rerunFailingTestsCount > 0 )
                     {
-                        case success:
-                            for ( WrappedReportEntry methodEntry : 
methodEntryList )
-                            {
-                                if ( methodEntry.getReportEntryType() == 
ReportEntryType.SUCCESS )
+                        TestResultType resultType = getTestResultType( 
methodEntryList );
+                        switch ( resultType )
+                        {
+                            case success:
+                                for ( WrappedReportEntry methodEntry : 
methodEntryList )
                                 {
-                                    startTestElement( ppw, methodEntry, 
reportNameSuffix,
-                                                      methodEntryList.get( 0 
).elapsedTimeAsString() );
-                                    ppw.endElement();
+                                    if ( methodEntry.getReportEntryType() == 
ReportEntryType.SUCCESS )
+                                    {
+                                        startTestElement( ppw, methodEntry, 
reportNameSuffix,
+                                                          methodEntryList.get( 
0 ).elapsedTimeAsString() );
+                                        ppw.endElement();
+                                    }
                                 }
-                            }
-                            break;
-                        case error:
-                        case failure:
-                            // When rerunFailingTestsCount is set to larger 
than 0
-                            startTestElement( ppw, methodEntryList.get( 0 ), 
reportNameSuffix,
-                                              methodEntryList.get( 0 
).elapsedTimeAsString() );
-                            boolean firstRun = true;
-                            for ( WrappedReportEntry singleRunEntry : 
methodEntryList )
-                            {
-                                if ( firstRun )
+                                break;
+                            case error:
+                            case failure:
+                                // When rerunFailingTestsCount is set to 
larger than 0
+                                startTestElement( ppw, methodEntryList.get( 0 
), reportNameSuffix,
+                                                  methodEntryList.get( 0 
).elapsedTimeAsString() );
+                                boolean firstRun = true;
+                                for ( WrappedReportEntry singleRunEntry : 
methodEntryList )
                                 {
-                                    firstRun = false;
-                                    getTestProblems( fw, ppw, singleRunEntry, 
trimStackTrace, outputStream,
-                                                     
singleRunEntry.getReportEntryType().getXmlTag(), false );
-                                    createOutErrElements( fw, ppw, 
singleRunEntry, outputStream );
+                                    if ( firstRun )
+                                    {
+                                        firstRun = false;
+                                        getTestProblems( fw, ppw, 
singleRunEntry, trimStackTrace, outputStream,
+                                                         
singleRunEntry.getReportEntryType().getXmlTag(), false );
+                                        createOutErrElements( fw, ppw, 
singleRunEntry, outputStream );
+                                    }
+                                    else
+                                    {
+                                        getTestProblems( fw, ppw, 
singleRunEntry, trimStackTrace, outputStream,
+                                                         
singleRunEntry.getReportEntryType().getRerunXmlTag(), true );
+                                    }
                                 }
-                                else
+                                ppw.endElement();
+                                break;
+                            case flake:
+                                String runtime = "";
+                                // Get the run time of the first successful run
+                                for ( WrappedReportEntry singleRunEntry : 
methodEntryList )
                                 {
-                                    getTestProblems( fw, ppw, singleRunEntry, 
trimStackTrace, outputStream,
-                                                     
singleRunEntry.getReportEntryType().getRerunXmlTag(), true );
+                                    if ( singleRunEntry.getReportEntryType() 
== ReportEntryType.SUCCESS )
+                                    {
+                                        runtime = 
singleRunEntry.elapsedTimeAsString();
+                                        break;
+                                    }
                                 }
-                            }
-                            ppw.endElement();
-                            break;
-                        case flake:
-                            String runtime = "";
-                            // Get the run time of the first successful run
-                            for ( WrappedReportEntry singleRunEntry : 
methodEntryList )
-                            {
-                                if ( singleRunEntry.getReportEntryType() == 
ReportEntryType.SUCCESS )
-                                {
-                                    runtime = 
singleRunEntry.elapsedTimeAsString();
-                                    break;
-                                }
-                            }
-                            startTestElement( ppw, methodEntryList.get( 0 ), 
reportNameSuffix, runtime );
-                            for ( WrappedReportEntry singleRunEntry : 
methodEntryList )
-                            {
-                                if ( singleRunEntry.getReportEntryType() != 
ReportEntryType.SUCCESS )
+                                startTestElement( ppw, methodEntryList.get( 0 
), reportNameSuffix, runtime );
+                                for ( WrappedReportEntry singleRunEntry : 
methodEntryList )
                                 {
-                                    getTestProblems( fw, ppw, singleRunEntry, 
trimStackTrace, outputStream,
-                                                     
singleRunEntry.getReportEntryType().getFlakyXmlTag(), true );
+                                    if ( singleRunEntry.getReportEntryType() 
!= ReportEntryType.SUCCESS )
+                                    {
+                                        getTestProblems( fw, ppw, 
singleRunEntry, trimStackTrace, outputStream,
+                                                         
singleRunEntry.getReportEntryType().getFlakyXmlTag(), true );
+                                    }
                                 }
-                            }
-                            ppw.endElement();
-
-                            break;
-                        case skipped:
-                            startTestElement( ppw, methodEntryList.get( 0 ), 
reportNameSuffix,
-                                              methodEntryList.get( 0 
).elapsedTimeAsString() );
-                            getTestProblems( fw, ppw, methodEntryList.get( 0 
), trimStackTrace, outputStream,
-                                             methodEntryList.get( 0 
).getReportEntryType().getXmlTag(), false );
-                            ppw.endElement();
-                            break;
-                        default:
-                            throw new IllegalStateException( "Get unknown test 
result type" );
+                                ppw.endElement();
+
+                                break;
+                            case skipped:
+                                startTestElement( ppw, methodEntryList.get( 0 
), reportNameSuffix,
+                                                  methodEntryList.get( 0 
).elapsedTimeAsString() );
+                                getTestProblems( fw, ppw, methodEntryList.get( 
0 ), trimStackTrace, outputStream,
+                                                 methodEntryList.get( 0 
).getReportEntryType().getXmlTag(), false );
+                                ppw.endElement();
+                                break;
+                            default:
+                                throw new IllegalStateException( "Get unknown 
test result type" );
+                        }
                     }
-                }
-                else
-                {
-                    // rerunFailingTestsCount is smaller than 1, but for some 
reasons a test could be run
-                    // for more than once
-                    for ( WrappedReportEntry methodEntry : methodEntryList )
+                    else
                     {
-                        startTestElement( ppw, methodEntry, reportNameSuffix, 
methodEntry.elapsedTimeAsString() );
-                        if ( methodEntry.getReportEntryType() != 
ReportEntryType.SUCCESS )
+                        // rerunFailingTestsCount is smaller than 1, but for 
some reasons a test could be run
+                        // for more than once
+                        for ( WrappedReportEntry methodEntry : methodEntryList 
)
                         {
-                            getTestProblems( fw, ppw, methodEntry, 
trimStackTrace, outputStream,
-                                             
methodEntry.getReportEntryType().getXmlTag(), false );
-                            createOutErrElements( fw, ppw, methodEntry, 
outputStream );
+                            startTestElement( ppw, methodEntry, 
reportNameSuffix, methodEntry.elapsedTimeAsString() );
+                            if ( methodEntry.getReportEntryType() != 
ReportEntryType.SUCCESS )
+                            {
+                                getTestProblems( fw, ppw, methodEntry, 
trimStackTrace, outputStream,
+                                                 
methodEntry.getReportEntryType().getXmlTag(), false );
+                                createOutErrElements( fw, ppw, methodEntry, 
outputStream );
+                            }
+                            ppw.endElement();
                         }
-                        ppw.endElement();
                     }
                 }
             }
@@ -290,59 +289,40 @@ public class StatelessXmlReporter
             {
                 throw new IllegalStateException( "Get null test method run 
history" );
             }
-            if ( methodEntryList.isEmpty() )
-            {
-                continue;
-            }
 
-            TestResultType resultType = getTestResultType( methodEntryList );
-
-            switch ( resultType )
+            if ( !methodEntryList.isEmpty() )
             {
-                case success:
-                case error:
-                case failure:
-                    // Get the first run's time for failure/error/success runs
-                    totalTimeForSuite = totalTimeForSuite + 
methodEntryList.get( 0 ).getElapsed();
-                    break;
-                case flake:
-                    // Get the first successful run's time for flaky runs
-                    for ( WrappedReportEntry singleRunEntry : methodEntryList )
-                    {
-                        if ( singleRunEntry.getReportEntryType() == 
ReportEntryType.SUCCESS )
+                TestResultType resultType = getTestResultType( methodEntryList 
);
+
+                switch ( resultType )
+                {
+                    case success:
+                    case error:
+                    case failure:
+                        // Get the first run's time for failure/error/success 
runs
+                        totalTimeForSuite = totalTimeForSuite + 
methodEntryList.get( 0 ).getElapsed();
+                        break;
+                    case flake:
+                        // Get the first successful run's time for flaky runs
+                        for ( WrappedReportEntry singleRunEntry : 
methodEntryList )
                         {
-                            totalTimeForSuite = totalTimeForSuite + 
singleRunEntry.getElapsed();
-                            break;
+                            if ( singleRunEntry.getReportEntryType() == 
ReportEntryType.SUCCESS )
+                            {
+                                totalTimeForSuite = totalTimeForSuite + 
singleRunEntry.getElapsed();
+                                break;
+                            }
                         }
-                    }
-                    break;
-                case skipped:
-                    break;
-                default:
-                    throw new IllegalStateException( "Get unknown test result 
type" );
+                        break;
+                    case skipped:
+                        break;
+                    default:
+                        throw new IllegalStateException( "Get unknown test 
result type" );
+                }
             }
         }
         return totalTimeForSuite;
     }
 
-    private OutputStreamWriter getWriter( FileOutputStream fos )
-    {
-        return new OutputStreamWriter( fos, ENCODING_CS );
-    }
-
-
-    private void getAddMethodEntryList( Map<String, List<WrappedReportEntry>> 
methodRunHistoryMap,
-                                        WrappedReportEntry methodEntry )
-    {
-        List<WrappedReportEntry> methodEntryList = methodRunHistoryMap.get( 
methodEntry.getName() );
-        if ( methodEntryList == null )
-        {
-            methodEntryList = new ArrayList<WrappedReportEntry>();
-            methodRunHistoryMap.put( methodEntry.getName(), methodEntryList );
-        }
-        methodEntryList.add( methodEntry );
-    }
-
     private Map<String, List<WrappedReportEntry>> getAddMethodRunHistoryMap( 
String testClassName )
     {
         Map<String, List<WrappedReportEntry>> methodRunHistoryMap = 
testClassMethodRunHistoryMap.get( testClassName );
@@ -374,21 +354,29 @@ public class StatelessXmlReporter
         }
     }
 
-    private File getReportFile( ReportEntry report, File reportsDirectory, 
String reportNameSuffix )
+    private static OutputStreamWriter getWriter( FileOutputStream fos )
     {
-        File reportFile;
+        return new OutputStreamWriter( fos, ENCODING_CS );
+    }
 
-        if ( reportNameSuffix != null && reportNameSuffix.length() > 0 )
-        {
-            reportFile = new File( reportsDirectory, stripIllegalFilenameChars(
-                "TEST-" + report.getName() + "-" + reportNameSuffix + ".xml" ) 
);
-        }
-        else
+    private static void getAddMethodEntryList( Map<String, 
List<WrappedReportEntry>> methodRunHistoryMap,
+                                               WrappedReportEntry methodEntry )
+    {
+        List<WrappedReportEntry> methodEntryList = methodRunHistoryMap.get( 
methodEntry.getName() );
+        if ( methodEntryList == null )
         {
-            reportFile = new File( reportsDirectory, 
stripIllegalFilenameChars( "TEST-" + report.getName() + ".xml" ) );
+            methodEntryList = new ArrayList<WrappedReportEntry>();
+            methodRunHistoryMap.put( methodEntry.getName(), methodEntryList );
         }
+        methodEntryList.add( methodEntry );
+    }
 
-        return reportFile;
+    private static File getReportFile( ReportEntry report, File 
reportsDirectory, String reportNameSuffix )
+    {
+        String reportName = "TEST-" + report.getName();
+        return isNotBlank( reportNameSuffix )
+            ? new File( reportsDirectory, stripIllegalFilenameChars( 
reportName + "-" + reportNameSuffix + ".xml" ) )
+            : new File( reportsDirectory, stripIllegalFilenameChars( 
reportName + ".xml" ) );
     }
 
     private static void startTestElement( XMLWriter ppw, WrappedReportEntry 
report, String reportNameSuffix,
@@ -421,7 +409,8 @@ public class StatelessXmlReporter
 
         ppw.addAttribute( "xmlns:xsi", 
"http://www.w3.org/2001/XMLSchema-instance"; );
 
-        ppw.addAttribute( "xsi:schemaLocation", 
"https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd";
 );
+        ppw.addAttribute( "xsi:schemaLocation",
+                          
"https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd";
 );
 
         ppw.addAttribute( "name", report.getReportName( reportNameSuffix1 ) );
 
@@ -439,13 +428,11 @@ public class StatelessXmlReporter
         ppw.addAttribute( "skipped", String.valueOf( testSetStats.getSkipped() 
) );
 
         ppw.addAttribute( "failures", String.valueOf( 
testSetStats.getFailures() ) );
-
     }
 
-
-    private void getTestProblems( OutputStreamWriter outputStreamWriter, 
XMLWriter ppw, WrappedReportEntry report,
-                                  boolean trimStackTrace, FileOutputStream fw,
-                                  String testErrorType, boolean 
createOutErrElementsInside )
+    private static void getTestProblems( OutputStreamWriter 
outputStreamWriter, XMLWriter ppw,
+                                         WrappedReportEntry report, boolean 
trimStackTrace, FileOutputStream fw,
+                                         String testErrorType, boolean 
createOutErrElementsInside )
     {
         ppw.startElement( testErrorType );
 
@@ -489,22 +476,21 @@ public class StatelessXmlReporter
     }
 
     // Create system-out and system-err elements
-    private void createOutErrElements( OutputStreamWriter outputStreamWriter, 
XMLWriter ppw, WrappedReportEntry report,
-                                       FileOutputStream fw )
+    private static void createOutErrElements( OutputStreamWriter 
outputStreamWriter, XMLWriter ppw,
+                                              WrappedReportEntry report, 
FileOutputStream fw )
     {
         EncodingOutputStream eos = new EncodingOutputStream( fw );
-        addOutputStreamElement( outputStreamWriter, fw, eos, ppw, 
report.getStdout(), "system-out" );
-        addOutputStreamElement( outputStreamWriter, fw, eos, ppw, 
report.getStdErr(), "system-err" );
+        addOutputStreamElement( outputStreamWriter, eos, ppw, 
report.getStdout(), "system-out" );
+        addOutputStreamElement( outputStreamWriter, eos, ppw, 
report.getStdErr(), "system-err" );
     }
 
-    private void addOutputStreamElement( OutputStreamWriter 
outputStreamWriter, OutputStream fw,
+    private static void addOutputStreamElement( OutputStreamWriter 
outputStreamWriter,
                                          EncodingOutputStream eos, XMLWriter 
xmlWriter,
                                          Utf8RecodingDeferredFileOutputStream 
utf8RecodingDeferredFileOutputStream,
                                          String name )
     {
         if ( utf8RecodingDeferredFileOutputStream != null && 
utf8RecodingDeferredFileOutputStream.getByteCount() > 0 )
         {
-
             xmlWriter.startElement( name );
 
             try
@@ -531,7 +517,7 @@ public class StatelessXmlReporter
      *
      * @param xmlWriter The test suite to report to
      */
-    private void showProperties( XMLWriter xmlWriter )
+    private static void showProperties( XMLWriter xmlWriter )
     {
         xmlWriter.startElement( "properties" );
 

Reply via email to