Repository: maven-surefire
Updated Branches:
  refs/heads/SUREFIRE-1317 8b656ae81 -> 4c502fd21 (forced update)


SUREFIRE-1317


Project: http://git-wip-us.apache.org/repos/asf/maven-surefire/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven-surefire/commit/4c502fd2
Tree: http://git-wip-us.apache.org/repos/asf/maven-surefire/tree/4c502fd2
Diff: http://git-wip-us.apache.org/repos/asf/maven-surefire/diff/4c502fd2

Branch: refs/heads/SUREFIRE-1317
Commit: 4c502fd2176fcdb0ded953fe22310759e4b4e188
Parents: 1c9df46
Author: Tibor17 <tibo...@lycos.com>
Authored: Thu Feb 9 23:00:39 2017 +0100
Committer: Tibor17 <tibo...@lycos.com>
Committed: Sat Feb 11 11:01:10 2017 +0100

----------------------------------------------------------------------
 maven-surefire-common/pom.xml                   |  1 +
 .../plugin/surefire/AbstractSurefireMojo.java   |  1 +
 .../output/DeserializedStacktraceWriter.java    |  2 +-
 .../booterclient/output/ForkClient.java         | 23 +++++++++--
 .../maven/plugins/surefire/report/Utils.java    |  1 +
 .../surefire/booter/MasterProcessCommand.java   |  8 ++--
 .../surefire/report/CategorizedReportEntry.java | 17 +++-----
 .../report/LegacyPojoStackTraceWriter.java      |  2 +-
 .../maven/surefire/report/SafeThrowable.java    |  5 +++
 .../surefire/util/internal/StringUtils.java     | 43 ++++++++++----------
 .../surefire/report/PojoStackTraceWriter.java   |  4 +-
 11 files changed, 62 insertions(+), 45 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/4c502fd2/maven-surefire-common/pom.xml
----------------------------------------------------------------------
diff --git a/maven-surefire-common/pom.xml b/maven-surefire-common/pom.xml
index 54825b7..ae71f0d 100644
--- a/maven-surefire-common/pom.xml
+++ b/maven-surefire-common/pom.xml
@@ -141,6 +141,7 @@
         </executions>
       </plugin>
       <plugin>
+        <!-- Remove in 3.0 -->
         <artifactId>maven-dependency-plugin</artifactId>
         <executions>
           <execution>

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/4c502fd2/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/AbstractSurefireMojo.java
----------------------------------------------------------------------
diff --git 
a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/AbstractSurefireMojo.java
 
b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/AbstractSurefireMojo.java
index 4f7744f..99eca2c 100644
--- 
a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/AbstractSurefireMojo.java
+++ 
b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/AbstractSurefireMojo.java
@@ -234,6 +234,7 @@ public abstract class AbstractSurefireMojo
      * unless overridden.
      */
     @Parameter
+    // TODO use regex for fully qualified class names in 3.0 and change the 
filtering abilities
     private List<String> excludes;
 
     /**

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/4c502fd2/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/output/DeserializedStacktraceWriter.java
----------------------------------------------------------------------
diff --git 
a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/output/DeserializedStacktraceWriter.java
 
b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/output/DeserializedStacktraceWriter.java
index 8832a36..952feb8 100644
--- 
a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/output/DeserializedStacktraceWriter.java
+++ 
b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/output/DeserializedStacktraceWriter.java
@@ -64,6 +64,6 @@ public class DeserializedStacktraceWriter
 
     public SafeThrowable getThrowable()
     {
-        return new SafeThrowable( new Throwable( message ) );
+        return new SafeThrowable( message );
     }
 }

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/4c502fd2/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/output/ForkClient.java
----------------------------------------------------------------------
diff --git 
a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/output/ForkClient.java
 
b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/output/ForkClient.java
index 68ce40d..cb7deec 100644
--- 
a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/output/ForkClient.java
+++ 
b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/output/ForkClient.java
@@ -68,6 +68,8 @@ import static 
org.apache.maven.surefire.util.internal.StringUtils.isNotBlank;
 import static 
org.apache.maven.surefire.util.internal.StringUtils.unescapeBytes;
 import static 
org.apache.maven.surefire.util.internal.StringUtils.unescapeString;
 
+// todo move to the same package with ForkStarter
+
 /**
  * Knows how to reconstruct *all* the state transmitted over stdout by the 
forked process.
  *
@@ -284,17 +286,30 @@ public class ForkClient
         }
         catch ( NumberFormatException e )
         {
+            // native stream sent a text e.g. GC verbose
             // SUREFIRE-859
-            LostCommandsDumpSingleton.getSingleton().dumpException( e, s, 
defaultReporterFactory );
+            String msg = "Corrupted native stream e.g. GC verbose. Received 
stream: '" + s + "'.";
+            LostCommandsDumpSingleton.getSingleton().dumpException( e, msg, 
defaultReporterFactory );
         }
         catch ( NoSuchElementException e )
         {
+            // native stream sent a text e.g. GC verbose
             // SUREFIRE-859
-            LostCommandsDumpSingleton.getSingleton().dumpException( e, s, 
defaultReporterFactory );
+            String msg = "Corrupted native stream e.g. GC verbose. Received 
stream: '" + s + "'.";
+            LostCommandsDumpSingleton.getSingleton().dumpException( e, msg, 
defaultReporterFactory );
         }
-        catch ( ReporterException e )
+        catch ( IndexOutOfBoundsException e )
+        {
+            // native stream sent a text e.g. GC verbose
+            String msg = "Corrupted native stream e.g. GC verbose. Received 
stream: '" + s + "'.";
+            LostCommandsDumpSingleton.getSingleton().dumpException( e, msg, 
defaultReporterFactory );
+            throw e;
+        }
+        catch ( RuntimeException e )
         {
-            LostCommandsDumpSingleton.getSingleton().dumpException( e, s, 
defaultReporterFactory );
+            // e.g. ReporterException
+            String msg = "Possibly reporter failure. Received stream: '" + s + 
"'.";
+            LostCommandsDumpSingleton.getSingleton().dumpException( e, msg, 
defaultReporterFactory );
             throw e;
         }
     }

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/4c502fd2/maven-surefire-report-plugin/src/test/java/org/apache/maven/plugins/surefire/report/Utils.java
----------------------------------------------------------------------
diff --git 
a/maven-surefire-report-plugin/src/test/java/org/apache/maven/plugins/surefire/report/Utils.java
 
b/maven-surefire-report-plugin/src/test/java/org/apache/maven/plugins/surefire/report/Utils.java
index 8fd91bf..d2cb04e 100644
--- 
a/maven-surefire-report-plugin/src/test/java/org/apache/maven/plugins/surefire/report/Utils.java
+++ 
b/maven-surefire-report-plugin/src/test/java/org/apache/maven/plugins/surefire/report/Utils.java
@@ -23,6 +23,7 @@ public final class Utils
 {
     private Utils()
     {
+        throw new IllegalStateException( "no instantiable constructor" );
     }
 
     public static String toSystemNewLine( String s )

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/4c502fd2/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 a53a046..0456abe 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
@@ -19,8 +19,6 @@ package org.apache.maven.surefire.booter;
  * under the License.
  */
 
-import org.apache.maven.surefire.util.internal.StringUtils;
-
 import java.io.DataInputStream;
 import java.io.EOFException;
 import java.io.IOException;
@@ -49,7 +47,7 @@ public enum MasterProcessCommand
     /** To tell a forked process that the master process is still alive. 
Repeated after 10 seconds. */
     NOOP( 4, Void.class );
 
-    private static final Charset ASCII = Charset.forName( "ASCII" );
+    private static final Charset ASCII = Charset.forName( "US-ASCII" );
 
     private final int id;
 
@@ -170,7 +168,7 @@ public enum MasterProcessCommand
                 case RUN_CLASS:
                     return new String( data, FORK_STREAM_CHARSET_NAME );
                 case SHUTDOWN:
-                    return StringUtils.decode( data, ASCII );
+                    return new String( data, ASCII );
                 default:
                     return null;
             }
@@ -188,7 +186,7 @@ public enum MasterProcessCommand
             case RUN_CLASS:
                 return encodeStringForForkCommunication( data );
             case SHUTDOWN:
-                return StringUtils.encode( data, ASCII );
+                return data.getBytes( ASCII );
             default:
                 return new byte[0];
         }

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/4c502fd2/surefire-api/src/main/java/org/apache/maven/surefire/report/CategorizedReportEntry.java
----------------------------------------------------------------------
diff --git 
a/surefire-api/src/main/java/org/apache/maven/surefire/report/CategorizedReportEntry.java
 
b/surefire-api/src/main/java/org/apache/maven/surefire/report/CategorizedReportEntry.java
index 77cfaf3..0cccd6e 100644
--- 
a/surefire-api/src/main/java/org/apache/maven/surefire/report/CategorizedReportEntry.java
+++ 
b/surefire-api/src/main/java/org/apache/maven/surefire/report/CategorizedReportEntry.java
@@ -67,17 +67,7 @@ public class CategorizedReportEntry
     @Override
     public String getNameWithGroup()
     {
-        StringBuilder result = new StringBuilder();
-        result.append( getName() );
-
-        if ( getGroup() != null && !getName().equals( getGroup() ) )
-        {
-            result.append( GROUP_PREFIX );
-            result.append( getGroup() );
-            result.append( GROUP_SUFIX );
-        }
-
-        return result.toString();
+        return isNameWithGroup() ? getName() + GROUP_PREFIX + getGroup() + 
GROUP_SUFIX : getName();
     }
 
     public boolean equals( Object o )
@@ -107,4 +97,9 @@ public class CategorizedReportEntry
         result = 31 * result + ( group != null ? group.hashCode() : 0 );
         return result;
     }
+
+    private boolean isNameWithGroup()
+    {
+        return getGroup() != null && !getGroup().equals( getName() );
+    }
 }

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/4c502fd2/surefire-api/src/main/java/org/apache/maven/surefire/report/LegacyPojoStackTraceWriter.java
----------------------------------------------------------------------
diff --git 
a/surefire-api/src/main/java/org/apache/maven/surefire/report/LegacyPojoStackTraceWriter.java
 
b/surefire-api/src/main/java/org/apache/maven/surefire/report/LegacyPojoStackTraceWriter.java
index 6ff45de..d1e1890 100644
--- 
a/surefire-api/src/main/java/org/apache/maven/surefire/report/LegacyPojoStackTraceWriter.java
+++ 
b/surefire-api/src/main/java/org/apache/maven/surefire/report/LegacyPojoStackTraceWriter.java
@@ -69,7 +69,7 @@ public class LegacyPojoStackTraceWriter
             {
                 // SUREFIRE-986
                 String exc = t.getClass().getName() + ": ";
-                if ( builder.toString().startsWith( exc ) )
+                if ( StringUtils.startsWith( builder, exc ) )
                 {
                     builder.insert( exc.length(), '\n' );
                 }

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/4c502fd2/surefire-api/src/main/java/org/apache/maven/surefire/report/SafeThrowable.java
----------------------------------------------------------------------
diff --git 
a/surefire-api/src/main/java/org/apache/maven/surefire/report/SafeThrowable.java
 
b/surefire-api/src/main/java/org/apache/maven/surefire/report/SafeThrowable.java
index 60c7897..b3b86f2 100644
--- 
a/surefire-api/src/main/java/org/apache/maven/surefire/report/SafeThrowable.java
+++ 
b/surefire-api/src/main/java/org/apache/maven/surefire/report/SafeThrowable.java
@@ -31,6 +31,11 @@ public class SafeThrowable
         this.target = target;
     }
 
+    public SafeThrowable( String message )
+    {
+        this( new Throwable( message ) );
+    }
+
     public String getLocalizedMessage()
     {
         try

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/4c502fd2/surefire-api/src/main/java/org/apache/maven/surefire/util/internal/StringUtils.java
----------------------------------------------------------------------
diff --git 
a/surefire-api/src/main/java/org/apache/maven/surefire/util/internal/StringUtils.java
 
b/surefire-api/src/main/java/org/apache/maven/surefire/util/internal/StringUtils.java
index 830cace..d1838b2 100644
--- 
a/surefire-api/src/main/java/org/apache/maven/surefire/util/internal/StringUtils.java
+++ 
b/surefire-api/src/main/java/org/apache/maven/surefire/util/internal/StringUtils.java
@@ -345,41 +345,40 @@ public final class StringUtils
         return ByteBuffer.wrap( out, 0, outPos );
     }
 
-    public static String decode( byte[] toDecode, Charset charset )
-    {
-        try
-        {
-            // @todo use new JDK 1.6 constructor String(byte bytes[], Charset 
charset)
-            return new String( toDecode, charset.name() );
-        }
-        catch ( UnsupportedEncodingException e )
-        {
-            throw new RuntimeException( "The JVM must support Charset " + 
charset, e );
-        }
-    }
-
-    public static byte[] encode( String toEncode, Charset charset )
+    public static byte[] encodeStringForForkCommunication( String string )
     {
         try
         {
-            // @todo use new JDK 1.6 method getBytes(Charset charset)
-            return toEncode.getBytes( charset.name() );
+            return string.getBytes( FORK_STREAM_CHARSET_NAME );
         }
         catch ( UnsupportedEncodingException e )
         {
-            throw new RuntimeException( "The JVM must support Charset " + 
charset, e );
+           throw new RuntimeException( "The JVM must support Charset " + 
FORK_STREAM_CHARSET_NAME, e );
         }
     }
 
-    public static byte[] encodeStringForForkCommunication( String string )
+    /**
+     *
+     * @param buffer     Examined StringBuffer
+     * @param pattern    a pattern which should start in <code>buffer</code>
+     * @return <tt>true</tt> if buffer's literal starts with given pattern
+     */
+    public static boolean startsWith( StringBuffer buffer, String pattern )
     {
-        try
+        if ( buffer.length() < pattern.length() )
         {
-            return string.getBytes( FORK_STREAM_CHARSET_NAME );
+            return false;
         }
-        catch ( UnsupportedEncodingException e )
+        else
         {
-           throw new RuntimeException( "The JVM must support Charset " + 
FORK_STREAM_CHARSET_NAME, e );
+            for ( int i = 0, len = pattern.length(); i < len; i++ )
+            {
+                if ( buffer.charAt( i ) != pattern.charAt( i ) )
+                {
+                    return false;
+                }
+            }
+            return true;
         }
     }
 }

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/4c502fd2/surefire-providers/common-java5/src/main/java/org/apache/maven/surefire/report/PojoStackTraceWriter.java
----------------------------------------------------------------------
diff --git 
a/surefire-providers/common-java5/src/main/java/org/apache/maven/surefire/report/PojoStackTraceWriter.java
 
b/surefire-providers/common-java5/src/main/java/org/apache/maven/surefire/report/PojoStackTraceWriter.java
index f8e4511..fdbc1be 100644
--- 
a/surefire-providers/common-java5/src/main/java/org/apache/maven/surefire/report/PojoStackTraceWriter.java
+++ 
b/surefire-providers/common-java5/src/main/java/org/apache/maven/surefire/report/PojoStackTraceWriter.java
@@ -20,6 +20,8 @@ package org.apache.maven.surefire.report;
  */
 
 
+import org.apache.maven.surefire.util.internal.StringUtils;
+
 import java.io.PrintWriter;
 import java.io.StringWriter;
 
@@ -64,7 +66,7 @@ public class PojoStackTraceWriter
             {
                 // SUREFIRE-986
                 String exc = t.getClass().getName() + ": ";
-                if ( builder.toString().startsWith( exc ) )
+                if ( StringUtils.startsWith( builder, exc ) )
                 {
                     builder.insert( exc.length(), '\n' );
                 }

Reply via email to