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/06/03 08:54:46 UTC
maven-surefire git commit: [SUREFIRE-1380] Command stream should
flush data anyway and refactoring
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 <ti...@apache.org>
Authored: Sat Jun 3 10:54:33 2017 +0200
Committer: Tibor17 <ti...@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;
}