You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by ti...@apache.org on 2018/12/30 18:10:54 UTC
[maven-surefire] branch master updated: [SUREFIRE-1619]
FileReporter should not use PintWriter because i/o errors are not thrown
This is an automated email from the ASF dual-hosted git repository.
tibordigana pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/maven-surefire.git
The following commit(s) were added to refs/heads/master by this push:
new 7b1f70c [SUREFIRE-1619] FileReporter should not use PintWriter because i/o errors are not thrown
7b1f70c is described below
commit 7b1f70c81a578e283593cab5963e7d85b68bd853
Author: Tibor17 <ti...@apache.org>
AuthorDate: Sun Dec 30 19:10:24 2018 +0100
[SUREFIRE-1619] FileReporter should not use PintWriter because i/o errors are not thrown
---
.../maven/plugin/surefire/report/FileReporter.java | 59 ++++++++++------------
1 file changed, 28 insertions(+), 31 deletions(-)
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 290c252..5d25e6a 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
@@ -19,16 +19,14 @@ package org.apache.maven.plugin.surefire.report;
* under the License.
*/
-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.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
-import java.io.PrintWriter;
-import java.io.Writer;
import java.nio.charset.Charset;
import java.util.List;
@@ -54,7 +52,15 @@ public class FileReporter
this.encoding = encoding;
}
- private PrintWriter testSetStarting( ReportEntry report )
+ static File getReportFile( File reportsDirectory, String reportEntryName, String reportNameSuffix,
+ String fileExtension )
+ {
+ String fileName =
+ reportEntryName + ( isNotBlank( reportNameSuffix ) ? "-" + reportNameSuffix : "" ) + fileExtension;
+ return new File( reportsDirectory, stripIllegalFilenameChars( fileName ) );
+ }
+
+ public void testSetCompleted( WrappedReportEntry report, TestSetStats testSetStats, List<String> testResults )
{
File reportFile = getReportFile( reportsDirectory, report.getName(), reportNameSuffix, ".txt" );
@@ -63,43 +69,34 @@ public class FileReporter
// noinspection ResultOfMethodCallIgnored
reportDir.mkdirs();
- try
+ try ( BufferedWriter writer = createFileReporterWriter( reportFile, encoding ) )
{
- Writer encodedStream = new OutputStreamWriter( new FileOutputStream( reportFile ), encoding );
-
- PrintWriter writer = new PrintWriter( new BufferedWriter( encodedStream, 16 * 1024 ) );
-
- writer.println( "-------------------------------------------------------------------------------" );
+ writer.write( "-------------------------------------------------------------------------------" );
+ writer.newLine();
- writer.println( "Test set: " + report.getName() );
+ writer.write( "Test set: " + report.getName() );
+ writer.newLine();
- writer.println( "-------------------------------------------------------------------------------" );
+ writer.write( "-------------------------------------------------------------------------------" );
+ writer.newLine();
- return writer;
+ writer.write( testSetStats.getTestSetSummary( report ) );
+ writer.newLine();
+ for ( String testResult : testResults )
+ {
+ writer.write( testResult );
+ writer.newLine();
+ }
}
catch ( IOException e )
{
- throw new ReporterException( "Unable to create file for report: " + e.getMessage(), e );
+ throw new ReporterException( "Unable to create file for report: " + e.getLocalizedMessage(), e );
}
}
- static File getReportFile( File reportsDirectory, String reportEntryName, String reportNameSuffix,
- String fileExtension )
- {
- String fileName =
- reportEntryName + ( isNotBlank( reportNameSuffix ) ? "-" + reportNameSuffix : "" ) + fileExtension;
- return new File( reportsDirectory, stripIllegalFilenameChars( fileName ) );
- }
-
- public void testSetCompleted( WrappedReportEntry report, TestSetStats testSetStats, List<String> testResults )
+ private static BufferedWriter createFileReporterWriter( File reportFile, Charset encoding )
+ throws FileNotFoundException
{
- try ( PrintWriter writer = testSetStarting( report ) )
- {
- writer.println( testSetStats.getTestSetSummary( report ) );
- for ( String testResult : testResults )
- {
- writer.println( testResult );
- }
- }
+ return new BufferedWriter( new OutputStreamWriter( new FileOutputStream( reportFile ), encoding ), 64 * 1024 );
}
}