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 2017/04/01 12:27:37 UTC
maven-surefire git commit: [SUREFIRE-1349] FreeBSD cross process
communication needs to commit stdout data in forked JVM within a synchronized
block
Repository: maven-surefire
Updated Branches:
refs/heads/master da7ff6aa2 -> 67e61b07e
[SUREFIRE-1349] FreeBSD cross process communication needs to commit stdout data in forked JVM within a synchronized block
Project: http://git-wip-us.apache.org/repos/asf/maven-surefire/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven-surefire/commit/67e61b07
Tree: http://git-wip-us.apache.org/repos/asf/maven-surefire/tree/67e61b07
Diff: http://git-wip-us.apache.org/repos/asf/maven-surefire/diff/67e61b07
Branch: refs/heads/master
Commit: 67e61b07e35ce2ade82efc8e69240003b28fd83e
Parents: da7ff6a
Author: Tibor17 <ti...@lycos.com>
Authored: Sat Apr 1 14:27:07 2017 +0200
Committer: Tibor17 <ti...@lycos.com>
Committed: Sat Apr 1 14:27:07 2017 +0200
----------------------------------------------------------------------
.../maven/plugin/surefire/booterclient/ForkConfiguration.java | 7 +++++--
.../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 +++++--
4 files changed, 17 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/67e61b07/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/ForkConfiguration.java
----------------------------------------------------------------------
diff --git a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/ForkConfiguration.java b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/ForkConfiguration.java
index 988af8f..52bc928 100644
--- a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/ForkConfiguration.java
+++ b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/ForkConfiguration.java
@@ -297,13 +297,16 @@ public class ForkConfiguration
man.getMainAttributes().putValue( "Main-Class", startClassName );
man.write( jos );
+
+ jos.closeEntry();
+ jos.flush();
+
+ return file;
}
finally
{
jos.close();
}
-
- return file;
}
public boolean isDebug()
http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/67e61b07/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 fb3ad05..2e80f44 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
@@ -342,7 +342,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/67e61b07/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/67e61b07/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 665e2f8..5401abf 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
@@ -158,7 +158,6 @@ public final class ForkedBooter
}
// Say bye.
encodeAndWriteToOutput( ( (char) BOOTERCODE_BYE ) + ",0,BYE!\n", originalOut );
- originalOut.flush();
// noinspection CallToSystemExit
exit( 0, reader );
}
@@ -240,7 +239,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 kill()