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" );