Repository: maven-surefire Updated Branches: refs/heads/SUREFIRE-1317 1c9df460e -> 8b656ae81
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/8b656ae8 Tree: http://git-wip-us.apache.org/repos/asf/maven-surefire/tree/8b656ae8 Diff: http://git-wip-us.apache.org/repos/asf/maven-surefire/diff/8b656ae8 Branch: refs/heads/SUREFIRE-1317 Commit: 8b656ae8102ec4019b1d38a0e5176081e70e3c22 Parents: 1c9df46 Author: Tibor17 <tibo...@lycos.com> Authored: Thu Feb 9 23:00:39 2017 +0100 Committer: Tibor17 <tibo...@lycos.com> Committed: Thu Feb 9 23:00:39 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 +++++-------- .../maven/surefire/report/SafeThrowable.java | 5 ++++ .../surefire/util/internal/StringUtils.java | 26 -------------------- 9 files changed, 37 insertions(+), 47 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/8b656ae8/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/8b656ae8/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/8b656ae8/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/8b656ae8/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/8b656ae8/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/8b656ae8/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/8b656ae8/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/8b656ae8/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/8b656ae8/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..c73171c 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,32 +345,6 @@ 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 ) - { - try - { - // @todo use new JDK 1.6 method getBytes(Charset charset) - return toEncode.getBytes( charset.name() ); - } - catch ( UnsupportedEncodingException e ) - { - throw new RuntimeException( "The JVM must support Charset " + charset, e ); - } - } - public static byte[] encodeStringForForkCommunication( String string ) { try