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;
     }