Repository: maven-surefire Updated Branches: refs/heads/SUREFIRE-1380 [created] a9ea44b8e
[SUREFIRE-1380] Command stream should flush data anyway and refactoring Project: http://git-wip-us.apache.org/repos/asf/maven-surefire/repo Commit: http://git-wip-us.apache.org/repos/asf/maven-surefire/commit/a9ea44b8 Tree: http://git-wip-us.apache.org/repos/asf/maven-surefire/tree/a9ea44b8 Diff: http://git-wip-us.apache.org/repos/asf/maven-surefire/diff/a9ea44b8 Branch: refs/heads/SUREFIRE-1380 Commit: a9ea44b8e139bd59d613d470759da75ed4f47463 Parents: fac376c Author: Tibor17 <tibordig...@apache.org> Authored: Sat Jun 3 10:54:33 2017 +0200 Committer: Tibor17 <tibordig...@apache.org> Committed: Sat Jun 3 10:54:33 2017 +0200 ---------------------------------------------------------------------- .../lazytestprovider/AbstractCommandStream.java | 22 +++++++------------- .../surefire/booter/MasterProcessCommand.java | 9 +++++--- 2 files changed, 13 insertions(+), 18 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/a9ea44b8/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/lazytestprovider/AbstractCommandStream.java ---------------------------------------------------------------------- diff --git a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/lazytestprovider/AbstractCommandStream.java b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/lazytestprovider/AbstractCommandStream.java index 0bc2036..31b56c4 100644 --- a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/lazytestprovider/AbstractCommandStream.java +++ b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/lazytestprovider/AbstractCommandStream.java @@ -36,7 +36,6 @@ public abstract class AbstractCommandStream { private byte[] currentBuffer; private int currentPos; - private volatile MasterProcessCommand lastCommand; protected abstract boolean isClosed(); @@ -71,12 +70,6 @@ public abstract class AbstractCommandStream currentPos = 0; } - @Deprecated - protected final MasterProcessCommand getLastCommand() - { - return lastCommand; - } - /** * Used by single thread in StreamFeeder class. * @@ -90,11 +83,11 @@ public abstract class AbstractCommandStream { if ( isClosed() ) { + tryFlush(); return -1; } - byte[] buffer = currentBuffer; - if ( buffer == null ) + if ( currentBuffer == null ) { tryFlush(); @@ -112,17 +105,16 @@ public abstract class AbstractCommandStream } Command cmd = nextCommand(); - lastCommand = cmd.getCommandType(); - buffer = lastCommand.hasDataType() ? lastCommand.encode( cmd.getData() ) : lastCommand.encode(); + MasterProcessCommand cmdType = cmd.getCommandType(); + currentBuffer = cmdType.hasDataType() ? cmdType.encode( cmd.getData() ) : cmdType.encode(); } - int b = buffer[currentPos++] & 0xff; - if ( currentPos == buffer.length ) + int b = currentBuffer[currentPos++] & 0xff; + if ( currentPos == currentBuffer.length ) { - buffer = null; + currentBuffer = null; currentPos = 0; } - currentBuffer = buffer; return b; } } http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/a9ea44b8/surefire-api/src/main/java/org/apache/maven/surefire/booter/MasterProcessCommand.java ---------------------------------------------------------------------- diff --git a/surefire-api/src/main/java/org/apache/maven/surefire/booter/MasterProcessCommand.java b/surefire-api/src/main/java/org/apache/maven/surefire/booter/MasterProcessCommand.java index c82c798..a1c431a 100644 --- a/surefire-api/src/main/java/org/apache/maven/surefire/booter/MasterProcessCommand.java +++ b/surefire-api/src/main/java/org/apache/maven/surefire/booter/MasterProcessCommand.java @@ -85,11 +85,14 @@ public enum MasterProcessCommand } byte[] dataBytes = fromDataType( data ); - byte[] encoded = new byte[8 + dataBytes.length]; - int command = getId(); int len = dataBytes.length; + + byte[] encoded = new byte[8 + len]; + + int command = getId(); setCommandAndDataLength( command, len, encoded ); - System.arraycopy( dataBytes, 0, encoded, 8, dataBytes.length ); + System.arraycopy( dataBytes, 0, encoded, 8, len ); + return encoded; }