Repository: maven-surefire Updated Branches: refs/heads/2.19.2-experimental 179abbf02 -> 85eecedcb
SUREFIRE_STDOUT_FLUSH Project: http://git-wip-us.apache.org/repos/asf/maven-surefire/repo Commit: http://git-wip-us.apache.org/repos/asf/maven-surefire/commit/bff89ca6 Tree: http://git-wip-us.apache.org/repos/asf/maven-surefire/tree/bff89ca6 Diff: http://git-wip-us.apache.org/repos/asf/maven-surefire/diff/bff89ca6 Branch: refs/heads/2.19.2-experimental Commit: bff89ca6136412658c5d7fef8867bac1ef3262bf Parents: 179abbf Author: Tibor17 <tibo...@lycos.com> Authored: Wed Feb 15 21:12:54 2017 +0100 Committer: Tibor17 <tibo...@lycos.com> Committed: Wed Feb 15 21:12:54 2017 +0100 ---------------------------------------------------------------------- .../java/org/apache/maven/surefire/booter/CommandReader.java | 6 +++++- .../org/apache/maven/surefire/booter/ForkingRunListener.java | 2 ++ .../java/org/apache/maven/surefire/booter/ForkedBooter.java | 7 +++++-- 3 files changed, 12 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/bff89ca6/surefire-api/src/main/java/org/apache/maven/surefire/booter/CommandReader.java ---------------------------------------------------------------------- diff --git a/surefire-api/src/main/java/org/apache/maven/surefire/booter/CommandReader.java b/surefire-api/src/main/java/org/apache/maven/surefire/booter/CommandReader.java index 57f1c2c..65f49a2 100644 --- a/surefire-api/src/main/java/org/apache/maven/surefire/booter/CommandReader.java +++ b/surefire-api/src/main/java/org/apache/maven/surefire/booter/CommandReader.java @@ -336,7 +336,11 @@ public final class CommandReader private void requestNextTest() { byte[] encoded = encodeStringForForkCommunication( ( (char) BOOTERCODE_NEXT_TEST ) + ",0,want more!\n" ); - originalOutStream.write( encoded, 0, encoded.length ); + synchronized ( originalOutStream ) + { + originalOutStream.write( encoded, 0, encoded.length ); + originalOutStream.flush(); + } } private boolean shouldFinish() http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/bff89ca6/surefire-api/src/main/java/org/apache/maven/surefire/booter/ForkingRunListener.java ---------------------------------------------------------------------- diff --git a/surefire-api/src/main/java/org/apache/maven/surefire/booter/ForkingRunListener.java b/surefire-api/src/main/java/org/apache/maven/surefire/booter/ForkingRunListener.java index 1216502..7856dac 100644 --- a/surefire-api/src/main/java/org/apache/maven/surefire/booter/ForkingRunListener.java +++ b/surefire-api/src/main/java/org/apache/maven/surefire/booter/ForkingRunListener.java @@ -206,6 +206,7 @@ public class ForkingRunListener synchronized ( target ) // See notes about synchronization/thread safety in class javadoc { target.write( encodeBytes, 0, encodeBytes.length ); + target.flush(); if ( target.checkError() ) { // We MUST NOT throw any exception from this method; otherwise we are in loop and CPU goes up: @@ -275,6 +276,7 @@ public class ForkingRunListener synchronized ( target ) // See notes about synchronization/thread safety in class javadoc { target.write( encodeBytes, 0, encodeBytes.length ); + target.flush(); if ( target.checkError() ) { // We MUST NOT throw any exception from this method; otherwise we are in loop and CPU goes up: http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/bff89ca6/surefire-booter/src/main/java/org/apache/maven/surefire/booter/ForkedBooter.java ---------------------------------------------------------------------- diff --git a/surefire-booter/src/main/java/org/apache/maven/surefire/booter/ForkedBooter.java b/surefire-booter/src/main/java/org/apache/maven/surefire/booter/ForkedBooter.java index b76df2f..5cc2134 100644 --- a/surefire-booter/src/main/java/org/apache/maven/surefire/booter/ForkedBooter.java +++ b/surefire-booter/src/main/java/org/apache/maven/surefire/booter/ForkedBooter.java @@ -155,7 +155,6 @@ public final class ForkedBooter } // Say bye. encodeAndWriteToOutput( ( (char) BOOTERCODE_BYE ) + ",0,BYE!\n", originalOut ); - originalOut.flush(); // noinspection CallToSystemExit exit( 0, EXIT, reader, false ); } @@ -228,7 +227,11 @@ public final class ForkedBooter private static void encodeAndWriteToOutput( String string, PrintStream out ) { byte[] encodeBytes = encodeStringForForkCommunication( string ); - out.write( encodeBytes, 0, encodeBytes.length ); + synchronized ( out ) + { + out.write( encodeBytes, 0, encodeBytes.length ); + out.flush(); + } } private static void exit( int returnCode, Shutdown shutdownType, CommandReader reader, boolean stopReaderOnExit )