Repository: maven-surefire
Updated Branches:
  refs/heads/SUREFIRE-1361 [created] 9c0025ed5


[SUREFIRE-1361] Buffering in StatelessXmlReporter


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

Branch: refs/heads/SUREFIRE-1361
Commit: 9c0025ed53d70c06279fef6c0fc30a54aeeab27b
Parents: 03ae55f
Author: Tibor17 <tibo...@lycos.com>
Authored: Sun Apr 16 17:52:44 2017 +0200
Committer: Tibor17 <tibo...@lycos.com>
Committed: Sun Apr 16 17:52:44 2017 +0200

----------------------------------------------------------------------
 .../report/ConsoleOutputFileReporter.java         | 18 +++++++++++++++---
 .../plugin/surefire/report/FileReporter.java      | 11 ++++++++---
 .../surefire/report/StatelessXmlReporter.java     | 13 +++++++------
 3 files changed, 30 insertions(+), 12 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/9c0025ed/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/report/ConsoleOutputFileReporter.java
----------------------------------------------------------------------
diff --git 
a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/report/ConsoleOutputFileReporter.java
 
b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/report/ConsoleOutputFileReporter.java
index 682686c..35ee965 100644
--- 
a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/report/ConsoleOutputFileReporter.java
+++ 
b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/report/ConsoleOutputFileReporter.java
@@ -19,9 +19,11 @@ package org.apache.maven.plugin.surefire.report;
  * under the License.
  */
 
+import java.io.BufferedOutputStream;
 import java.io.File;
 import java.io.FileOutputStream;
 import java.io.IOException;
+import java.io.OutputStream;
 
 import org.apache.maven.surefire.report.ReportEntry;
 
@@ -44,7 +46,7 @@ public class ConsoleOutputFileReporter
 
     private String reportEntryName;
 
-    private FileOutputStream fileOutputStream;
+    private OutputStream fileOutputStream;
 
     public ConsoleOutputFileReporter( File reportsDirectory, String 
reportNameSuffix )
     {
@@ -70,14 +72,24 @@ public class ConsoleOutputFileReporter
     {
         if ( fileOutputStream != null )
         {
+            //noinspection EmptyCatchBlock
             try
             {
                 fileOutputStream.flush();
-                fileOutputStream.close();
             }
             catch ( IOException e )
             {
             }
+            finally
+            {
+                try
+                {
+                    fileOutputStream.close();
+                }
+                catch ( IOException ignored )
+                {
+                }
+            }
             fileOutputStream = null;
         }
     }
@@ -95,7 +107,7 @@ public class ConsoleOutputFileReporter
                     reportsDirectory.mkdirs();
                 }
                 File file = getReportFile( reportsDirectory, reportEntryName, 
reportNameSuffix, "-output.txt" );
-                fileOutputStream = new FileOutputStream( file );
+                fileOutputStream = new BufferedOutputStream( new 
FileOutputStream( file ), 16 * 1024 );
             }
             fileOutputStream.write( buf, off, len );
         }

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/9c0025ed/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/report/FileReporter.java
----------------------------------------------------------------------
diff --git 
a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/report/FileReporter.java
 
b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/report/FileReporter.java
index a4d8c8e..15b902d 100644
--- 
a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/report/FileReporter.java
+++ 
b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/report/FileReporter.java
@@ -22,6 +22,7 @@ package org.apache.maven.plugin.surefire.report;
 import org.apache.maven.surefire.report.ReportEntry;
 import org.apache.maven.surefire.report.ReporterException;
 
+import java.io.BufferedWriter;
 import java.io.File;
 import java.io.FileWriter;
 import java.io.IOException;
@@ -60,7 +61,7 @@ public class FileReporter
 
         try
         {
-            PrintWriter writer = new PrintWriter( new FileWriter( reportFile ) 
);
+            PrintWriter writer = new PrintWriter( new BufferedWriter( new 
FileWriter( reportFile ), 16 * 1024 ) );
 
             writer.println( 
"-------------------------------------------------------------------------------"
 );
 
@@ -86,9 +87,10 @@ public class FileReporter
 
     public void testSetCompleted( WrappedReportEntry report, TestSetStats 
testSetStats, List<String> testResults )
     {
-        PrintWriter writer = testSetStarting( report );
+        PrintWriter writer = null;
         try
         {
+            writer = testSetStarting( report );
             writer.println( testSetStats.getTestSetSummary( report ) );
             for ( String testResult : testResults )
             {
@@ -98,7 +100,10 @@ public class FileReporter
         }
         finally
         {
-            writer.close();
+            if ( writer != null )
+            {
+                writer.close();
+            }
         }
     }
 }

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/9c0025ed/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 c57123e..d10151a 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
@@ -27,6 +27,7 @@ import org.apache.maven.surefire.report.ReporterException;
 import org.apache.maven.surefire.report.SafeThrowable;
 import org.apache.maven.surefire.util.internal.StringUtils;
 
+import java.io.BufferedOutputStream;
 import java.io.File;
 import java.io.FileOutputStream;
 import java.io.FilterOutputStream;
@@ -120,7 +121,7 @@ public class StatelessXmlReporter
             getAddMethodEntryList( methodRunHistoryMap, methodEntry );
         }
 
-        FileOutputStream outputStream = getOutputStream( testSetReportEntry );
+        OutputStream outputStream = getOutputStream( testSetReportEntry );
         OutputStreamWriter fw = getWriter( outputStream );
         try
         {
@@ -277,7 +278,7 @@ public class StatelessXmlReporter
         return methodRunHistoryMap;
     }
 
-    private FileOutputStream getOutputStream( WrappedReportEntry 
testSetReportEntry )
+    private OutputStream getOutputStream( WrappedReportEntry 
testSetReportEntry )
     {
         File reportFile = getReportFile( testSetReportEntry, reportsDirectory, 
reportNameSuffix );
 
@@ -288,7 +289,7 @@ public class StatelessXmlReporter
 
         try
         {
-            return new FileOutputStream( reportFile );
+            return new BufferedOutputStream( new FileOutputStream( reportFile 
), 16 * 1024 );
         }
         catch ( Exception e )
         {
@@ -296,7 +297,7 @@ public class StatelessXmlReporter
         }
     }
 
-    private static OutputStreamWriter getWriter( FileOutputStream fos )
+    private static OutputStreamWriter getWriter( OutputStream fos )
     {
         return new OutputStreamWriter( fos, UTF_8 );
     }
@@ -370,7 +371,7 @@ public class StatelessXmlReporter
     }
 
     private static void getTestProblems( OutputStreamWriter 
outputStreamWriter, XMLWriter ppw,
-                                         WrappedReportEntry report, boolean 
trimStackTrace, FileOutputStream fw,
+                                         WrappedReportEntry report, boolean 
trimStackTrace, OutputStream fw,
                                          String testErrorType, boolean 
createOutErrElementsInside )
     {
         ppw.startElement( testErrorType );
@@ -416,7 +417,7 @@ public class StatelessXmlReporter
 
     // Create system-out and system-err elements
     private static void createOutErrElements( OutputStreamWriter 
outputStreamWriter, XMLWriter ppw,
-                                              WrappedReportEntry report, 
FileOutputStream fw )
+                                              WrappedReportEntry report, 
OutputStream fw )
     {
         EncodingOutputStream eos = new EncodingOutputStream( fw );
         addOutputStreamElement( outputStreamWriter, eos, ppw, 
report.getStdout(), "system-out" );

Reply via email to