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 2016/09/16 22:55:03 UTC
[2/5] maven-surefire git commit: [SUREFIRE-1254] add color messages
http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/6a79127a/surefire-integration-tests/src/test/resources/surefire-1122-parallel-and-flakyTests/pom.xml
----------------------------------------------------------------------
diff --git a/surefire-integration-tests/src/test/resources/surefire-1122-parallel-and-flakyTests/pom.xml b/surefire-integration-tests/src/test/resources/surefire-1122-parallel-and-flakyTests/pom.xml
index 5fa0110..62ef251 100644
--- a/surefire-integration-tests/src/test/resources/surefire-1122-parallel-and-flakyTests/pom.xml
+++ b/surefire-integration-tests/src/test/resources/surefire-1122-parallel-and-flakyTests/pom.xml
@@ -20,15 +20,11 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.maven.surefire</groupId>
- <artifactId>it-parent</artifactId>
- <version>1.0</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
+
<groupId>org.apache.maven.plugins.surefire</groupId>
<artifactId>jiras-surefire-1122</artifactId>
<version>1.0</version>
+
<dependencies>
<dependency>
<groupId>junit</groupId>
@@ -37,10 +33,12 @@
<scope>test</scope>
</dependency>
</dependencies>
+
<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
+ <version>2.3.2</version>
<configuration>
<source>1.5</source>
<target>1.5</target>
@@ -48,6 +46,7 @@
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
+ <version>${surefire.version}</version>
<dependencies>
<dependency>
<groupId>org.apache.maven.surefire</groupId>
http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/6a79127a/surefire-logger-api/pom.xml
----------------------------------------------------------------------
diff --git a/surefire-logger-api/pom.xml b/surefire-logger-api/pom.xml
new file mode 100644
index 0000000..1e64159
--- /dev/null
+++ b/surefire-logger-api/pom.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing,
+ ~ software distributed under the License is distributed on an
+ ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ ~ KIND, either express or implied. See the License for the
+ ~ specific language governing permissions and limitations
+ ~ under the License.
+ -->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.surefire</groupId>
+ <artifactId>surefire</artifactId>
+ <version>2.19.2-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>surefire-logger-api</artifactId>
+
+ <name>SureFire Logger API</name>
+ <description>
+ Interfaces and Utilities related only to internal SureFire Logger API. Free of dependencies.
+ </description>
+
+ <properties>
+ <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
+ </properties>
+
+ <developers>
+ <developer>
+ <id>tibordigana</id>
+ <name>Tibor Diga\u0148a (tibor17)</name>
+ <email>tibordigana@apache.org</email>
+ <roles>
+ <role>PMC</role>
+ </roles>
+ <timezone>Europe/Bratislava</timezone>
+ </developer>
+ </developers>
+
+</project>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/6a79127a/surefire-logger-api/src/main/java/org/apache/maven/plugin/surefire/log/api/ConsoleLogger.java
----------------------------------------------------------------------
diff --git a/surefire-logger-api/src/main/java/org/apache/maven/plugin/surefire/log/api/ConsoleLogger.java b/surefire-logger-api/src/main/java/org/apache/maven/plugin/surefire/log/api/ConsoleLogger.java
new file mode 100644
index 0000000..6baa7e3
--- /dev/null
+++ b/surefire-logger-api/src/main/java/org/apache/maven/plugin/surefire/log/api/ConsoleLogger.java
@@ -0,0 +1,64 @@
+package org.apache.maven.plugin.surefire.log.api;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/**
+ * Allows providers to write console messages on the running maven process.
+ * <p/>
+ * This output is associated with the entire test run and not a specific
+ * test, which means it just goes "straight" to the console "immediately".
+ * <p/>
+ * s* <p/>
+ * <p/>
+ * This interface is used in org.apache.maven.plugin.surefire.CommonReflector and reflected
+ * via IsolatedClassLoader which can see classes from JRE only. This interface MUST use
+ * JRE types in method signatures, e.g. {@link String} or {@link Throwable}, etc.
+ * <p/>
+ */
+public interface ConsoleLogger
+{
+ void debug( String message );
+
+ void info( String message );
+
+ void warning( String message );
+
+ /**
+ * @param message message to log
+ */
+ void error( String message );
+
+ /**
+ * Simply delegates to {@link #error(String) error( toString( t, message ) )}.
+ *
+ * @param message message to log
+ * @param t exception, message and trace to log
+ */
+ void error( String message, Throwable t );
+
+ /**
+ * Simply delegates to method {@link #error(String, Throwable) error(null, Throwable)}.
+ *
+ * @param t exception, message and trace to log
+ */
+ void error( Throwable t );
+
+
+}
http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/6a79127a/surefire-logger-api/src/main/java/org/apache/maven/plugin/surefire/log/api/ConsoleLoggerDecorator.java
----------------------------------------------------------------------
diff --git a/surefire-logger-api/src/main/java/org/apache/maven/plugin/surefire/log/api/ConsoleLoggerDecorator.java b/surefire-logger-api/src/main/java/org/apache/maven/plugin/surefire/log/api/ConsoleLoggerDecorator.java
new file mode 100644
index 0000000..d0761d8
--- /dev/null
+++ b/surefire-logger-api/src/main/java/org/apache/maven/plugin/surefire/log/api/ConsoleLoggerDecorator.java
@@ -0,0 +1 @@
+package org.apache.maven.plugin.surefire.log.api;
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
/**
* Decorator around {@link ConsoleLogger}.
* This class is loaded in the isolated ClassLoader and the child logger in the in-plugi
n ClassLoader.
*
* @author <a href="mailto:tibordigana@apache.org">Tibor Digana (tibor17)</a>
* @since 2.19.2
*/
public final class ConsoleLoggerDecorator
implements ConsoleLogger
{
private final Object logger;
public ConsoleLoggerDecorator( Object logger )
{
if ( logger == null )
{
throw new NullPointerException( "logger argument is null in " + ConsoleLoggerDecorator.class );
}
this.logger = logger;
}
public void debug( String message )
{
try
{
logger.getClass()
.getMethod( "debug", String.class )
.invoke( logger, message );
}
catch ( Exception e )
{
throw new IllegalStateException( e.getLocalizedMessage(), e );
}
}
public void info( String message )
{
try
{
logger.getClass()
.getMethod( "info", String.class )
.
invoke( logger, message );
}
catch ( Exception e )
{
throw new IllegalStateException( e.getLocalizedMessage(), e );
}
}
public void warning( String message )
{
try
{
logger.getClass()
.getMethod( "warning", String.class )
.invoke( logger, message );
}
catch ( Exception e )
{
throw new IllegalStateException( e.getLocalizedMessage(), e );
}
}
public void error( String message )
{
try
{
logger.getClass()
.getMethod( "error", String.class )
.invoke( logger, message );
}
catch ( Exception e )
{
throw new IllegalStateException( e.getLocalizedMessage(), e );
}
}
public void error( String message, Throwable t )
{
try
{
logger.getClass()
.getM
ethod( "error", String.class, Throwable.class )
.invoke( logger, message, t );
}
catch ( Exception e )
{
throw new IllegalStateException( e.getLocalizedMessage(), e );
}
}
public void error( Throwable t )
{
try
{
logger.getClass()
.getMethod( "error", Throwable.class )
.invoke( logger, t );
}
catch ( Exception e )
{
throw new IllegalStateException( e.getLocalizedMessage(), e );
}
}
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/6a79127a/surefire-logger-api/src/main/java/org/apache/maven/plugin/surefire/log/api/ConsoleLoggerUtils.java
----------------------------------------------------------------------
diff --git a/surefire-logger-api/src/main/java/org/apache/maven/plugin/surefire/log/api/ConsoleLoggerUtils.java b/surefire-logger-api/src/main/java/org/apache/maven/plugin/surefire/log/api/ConsoleLoggerUtils.java
new file mode 100644
index 0000000..fe12ceb
--- /dev/null
+++ b/surefire-logger-api/src/main/java/org/apache/maven/plugin/surefire/log/api/ConsoleLoggerUtils.java
@@ -0,0 +1,55 @@
+package org.apache.maven.plugin.surefire.log.api;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import java.io.PrintWriter;
+import java.io.StringWriter;
+
+/**
+ * @author <a href="mailto:tibordigana@apache.org">Tibor Digana (tibor17)</a>
+ * @since 2.19.2
+ */
+public final class ConsoleLoggerUtils
+{
+ private ConsoleLoggerUtils()
+ {
+ throw new IllegalStateException( "non instantiable constructor" );
+ }
+
+ public static String toString( String message, Throwable t )
+ {
+ StringWriter result = new StringWriter( 512 );
+ PrintWriter writer = new PrintWriter( result );
+ try
+ {
+ if ( message != null )
+ {
+ writer.println( message );
+ }
+ t.printStackTrace( writer );
+ writer.flush();
+ return result.toString();
+ }
+ finally
+ {
+ writer.close();
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/6a79127a/surefire-logger-api/src/main/java/org/apache/maven/plugin/surefire/log/api/Level.java
----------------------------------------------------------------------
diff --git a/surefire-logger-api/src/main/java/org/apache/maven/plugin/surefire/log/api/Level.java b/surefire-logger-api/src/main/java/org/apache/maven/plugin/surefire/log/api/Level.java
new file mode 100644
index 0000000..0e7164d
--- /dev/null
+++ b/surefire-logger-api/src/main/java/org/apache/maven/plugin/surefire/log/api/Level.java
@@ -0,0 +1,66 @@
+package org.apache.maven.plugin.surefire.log.api;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/**
+ * Test result levels {@link #FAILURE}, {@link #UNSTABLE}, {@link #SUCCESS}.
+ * Writing to console without color via {@link #NO_COLOR}.
+ *
+ * @author <a href="mailto:tibordigana@apache.org">Tibor Digana (tibor17)</a>
+ * @since 2.19.2
+ */
+public enum Level
+{
+ /**
+ * direct println
+ */
+ NO_COLOR,
+
+ /**
+ * defaults to bold, green
+ */
+ FAILURE,
+
+ /**
+ * defaults to bold, yellow
+ */
+ UNSTABLE,
+
+ /**
+ * defaults to bold, red
+ */
+ SUCCESS;
+
+ public static Level resolveLevel( boolean hasSuccessful, boolean hasFailure, boolean hasError,
+ boolean hasSkipped, boolean hasFlake )
+ {
+ boolean isRed = hasFailure | hasError;
+ if ( isRed )
+ {
+ return FAILURE;
+ }
+ boolean isYellow = hasSkipped | hasFlake;
+ if ( isYellow )
+ {
+ return UNSTABLE;
+ }
+ return hasSuccessful ? SUCCESS : NO_COLOR;
+ }
+}
http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/6a79127a/surefire-logger-api/src/main/java/org/apache/maven/plugin/surefire/log/api/NullConsoleLogger.java
----------------------------------------------------------------------
diff --git a/surefire-logger-api/src/main/java/org/apache/maven/plugin/surefire/log/api/NullConsoleLogger.java b/surefire-logger-api/src/main/java/org/apache/maven/plugin/surefire/log/api/NullConsoleLogger.java
new file mode 100644
index 0000000..a78a615
--- /dev/null
+++ b/surefire-logger-api/src/main/java/org/apache/maven/plugin/surefire/log/api/NullConsoleLogger.java
@@ -0,0 +1,53 @@
+package org.apache.maven.plugin.surefire.log.api;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/**
+ * Logger doing nothing rather than using null.
+ *
+ * @author <a href="mailto:tibordigana@apache.org">Tibor Digana (tibor17)</a>
+ * @since 2.19.2
+ */
+public final class NullConsoleLogger implements ConsoleLogger
+{
+ public void debug( String message )
+ {
+ }
+
+ public void info( String message )
+ {
+ }
+
+ public void warning( String message )
+ {
+ }
+
+ public void error( String message )
+ {
+ }
+
+ public void error( String message, Throwable t )
+ {
+ }
+
+ public void error( Throwable t )
+ {
+ }
+}
http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/6a79127a/surefire-logger-api/src/main/java/org/apache/maven/plugin/surefire/log/api/PrintStreamLogger.java
----------------------------------------------------------------------
diff --git a/surefire-logger-api/src/main/java/org/apache/maven/plugin/surefire/log/api/PrintStreamLogger.java b/surefire-logger-api/src/main/java/org/apache/maven/plugin/surefire/log/api/PrintStreamLogger.java
new file mode 100644
index 0000000..0eac176
--- /dev/null
+++ b/surefire-logger-api/src/main/java/org/apache/maven/plugin/surefire/log/api/PrintStreamLogger.java
@@ -0,0 +1 @@
+package org.apache.maven.plugin.surefire.log.api;
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
import java.io.PrintStream;
/**
* For testing purposes.
*/
public class PrintStreamLogger
implements ConsoleLogger
{
private
final PrintStream stream;
public PrintStreamLogger( PrintStream stream )
{
this.stream = stream;
}
public void debug( String message )
{
stream.println( message );
}
public void info( String message )
{
stream.println( message );
}
public void warning( String message )
{
stream.println( message );
}
public void error( String message )
{
stream.println( message );
}
public void error( String message, Throwable t )
{
error( ConsoleLoggerUtils.toString( message, t ) );
}
public void error( Throwable t )
{
error( null, t );
}
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/6a79127a/surefire-providers/surefire-junit3/src/main/java/org/apache/maven/surefire/junit/JUnit3Provider.java
----------------------------------------------------------------------
diff --git a/surefire-providers/surefire-junit3/src/main/java/org/apache/maven/surefire/junit/JUnit3Provider.java b/surefire-providers/surefire-junit3/src/main/java/org/apache/maven/surefire/junit/JUnit3Provider.java
index 55f89be..a707fee 100644
--- a/surefire-providers/surefire-junit3/src/main/java/org/apache/maven/surefire/junit/JUnit3Provider.java
+++ b/surefire-providers/surefire-junit3/src/main/java/org/apache/maven/surefire/junit/JUnit3Provider.java
@@ -128,7 +128,6 @@ public class JUnit3Provider
private void executeTestSet( SurefireTestSet testSet, RunListener reporter, ClassLoader classLoader )
throws TestSetFailedException
{
-
ReportEntry report = new SimpleReportEntry( this.getClass().getName(), testSet.getName() );
reporter.testSetStarting( report );
http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/6a79127a/surefire-providers/surefire-junit4/src/test/java/org/apache/maven/surefire/junit4/JUnit4ProviderTest.java
----------------------------------------------------------------------
diff --git a/surefire-providers/surefire-junit4/src/test/java/org/apache/maven/surefire/junit4/JUnit4ProviderTest.java b/surefire-providers/surefire-junit4/src/test/java/org/apache/maven/surefire/junit4/JUnit4ProviderTest.java
index 586c55e..bf6cafc 100644
--- a/surefire-providers/surefire-junit4/src/test/java/org/apache/maven/surefire/junit4/JUnit4ProviderTest.java
+++ b/surefire-providers/surefire-junit4/src/test/java/org/apache/maven/surefire/junit4/JUnit4ProviderTest.java
@@ -24,9 +24,9 @@ import org.apache.maven.surefire.booter.BaseProviderFactory;
import org.apache.maven.surefire.testset.TestRequest;
import org.junit.runner.Description;
-import java.util.Arrays;
import java.util.HashMap;
+import static java.util.Arrays.asList;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.*;
import static org.junit.runner.Description.createSuiteDescription;
@@ -59,7 +59,7 @@ public class JUnit4ProviderTest
class B {
}
- Description d = JUnit4Provider.createTestsDescription( Arrays.<Class<?>>asList( A.class, B.class ) );
+ Description d = JUnit4Provider.createTestsDescription( asList( A.class, B.class ) );
assertThat( d, is( notNullValue() ) );
assertThat( d.getDisplayName(), not( isEmptyOrNullString() ) );
assertThat( d.getDisplayName(), is( "null" ) );
http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/6a79127a/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/ClassesParallelRunListener.java
----------------------------------------------------------------------
diff --git a/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/ClassesParallelRunListener.java b/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/ClassesParallelRunListener.java
index 542ffdb..e8ac786 100644
--- a/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/ClassesParallelRunListener.java
+++ b/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/ClassesParallelRunListener.java
@@ -20,7 +20,8 @@ package org.apache.maven.surefire.junitcore;
*/
import java.util.Map;
-import org.apache.maven.surefire.report.ConsoleLogger;
+
+import org.apache.maven.surefire.report.ConsoleStream;
import org.apache.maven.surefire.report.ReporterFactory;
import org.apache.maven.surefire.testset.TestSetFailedException;
@@ -32,10 +33,10 @@ public class ClassesParallelRunListener
extends ConcurrentRunListener
{
public ClassesParallelRunListener( Map<String, TestSet> classMethodCounts, ReporterFactory reporterFactory,
- ConsoleLogger consoleLogger )
+ ConsoleStream consoleStream )
throws TestSetFailedException
{
- super( reporterFactory, consoleLogger, false, classMethodCounts );
+ super( reporterFactory, consoleStream, false, classMethodCounts );
}
@Override
http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/6a79127a/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/ConcurrentRunListener.java
----------------------------------------------------------------------
diff --git a/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/ConcurrentRunListener.java b/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/ConcurrentRunListener.java
index 5886317..89c6104 100644
--- a/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/ConcurrentRunListener.java
+++ b/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/ConcurrentRunListener.java
@@ -20,13 +20,16 @@ package org.apache.maven.surefire.junitcore;
*/
import java.util.Map;
-import org.apache.maven.surefire.report.ConsoleLogger;
import org.apache.maven.surefire.report.ConsoleOutputReceiver;
+import org.apache.maven.surefire.report.ConsoleStream;
import org.apache.maven.surefire.report.ReportEntry;
import org.apache.maven.surefire.report.ReporterFactory;
import org.apache.maven.surefire.report.RunListener;
+import org.apache.maven.surefire.report.StackTraceWriter;
import org.apache.maven.surefire.testset.TestSetFailedException;
+import static org.apache.maven.surefire.junitcore.TestMethod.getThreadTestMethod;
+
/**
* Handles responses from concurrent junit
* <p/>
@@ -47,25 +50,21 @@ public abstract class ConcurrentRunListener
private final boolean reportImmediately;
- private final ReporterFactory reporterFactory;
-
- private final ConsoleLogger consoleLogger;
+ private final ConsoleStream consoleStream;
- ConcurrentRunListener( ReporterFactory reporterFactory, ConsoleLogger consoleLogger, boolean reportImmediately,
- Map<String, TestSet> classMethodCounts )
+ ConcurrentRunListener( final ReporterFactory reporterFactory, ConsoleStream consoleStream,
+ boolean reportImmediately, Map<String, TestSet> classMethodCounts )
throws TestSetFailedException
{
this.reportImmediately = reportImmediately;
- this.reporterFactory = reporterFactory;
this.classMethodCounts = classMethodCounts;
- this.consoleLogger = consoleLogger;
-
- this.reporterManagerThreadLocal = new ThreadLocal<RunListener>()
+ this.consoleStream = consoleStream;
+ reporterManagerThreadLocal = new ThreadLocal<RunListener>()
{
@Override
protected RunListener initialValue()
{
- return ConcurrentRunListener.this.reporterFactory.createReporter();
+ return reporterFactory.createReporter();
}
};
}
@@ -140,8 +139,8 @@ public abstract class ConcurrentRunListener
public void testSucceeded( ReportEntry report )
{
- TestMethod testMethod = getTestMethod();
- if ( null != testMethod )
+ TestMethod testMethod = getThreadTestMethod();
+ if ( testMethod != null )
{
testMethod.testFinished();
testMethod.getTestSet().incrementFinishedTests( getRunListener(), reportImmediately );
@@ -151,7 +150,7 @@ public abstract class ConcurrentRunListener
private TestMethod getOrCreateThreadAttachedTestMethod( ReportEntry description )
{
- TestMethod threadTestMethod = TestMethod.getThreadTestMethod();
+ TestMethod threadTestMethod = getThreadTestMethod();
if ( threadTestMethod != null )
{
return threadTestMethod;
@@ -159,8 +158,12 @@ public abstract class ConcurrentRunListener
TestSet testSet = getTestSet( description );
if ( testSet == null )
{
- consoleLogger.info( description.getName() );
- consoleLogger.info( description.getStackTraceWriter().writeTraceToString() );
+ consoleStream.println( description.getName() );
+ StackTraceWriter writer = description.getStackTraceWriter();
+ if ( writer != null )
+ {
+ consoleStream.println( writer.writeTraceToString() );
+ }
return null;
}
else
@@ -171,11 +174,6 @@ public abstract class ConcurrentRunListener
protected abstract void checkIfTestSetCanBeReported( TestSet testSetForTest );
- TestMethod getTestMethod()
- {
- return TestMethod.getThreadTestMethod();
- }
-
TestSet getTestSet( ReportEntry description )
{
return classMethodCounts.get( description.getSourceName() );
@@ -189,27 +187,27 @@ public abstract class ConcurrentRunListener
public static ConcurrentRunListener createInstance( Map<String, TestSet> classMethodCounts,
ReporterFactory reporterFactory,
boolean parallelClasses, boolean parallelBoth,
- ConsoleLogger consoleLogger )
+ ConsoleStream consoleStream )
throws TestSetFailedException
{
return parallelClasses
- ? new ClassesParallelRunListener( classMethodCounts, reporterFactory, consoleLogger )
- : new MethodsParallelRunListener( classMethodCounts, reporterFactory, !parallelBoth, consoleLogger );
+ ? new ClassesParallelRunListener( classMethodCounts, reporterFactory, consoleStream )
+ : new MethodsParallelRunListener( classMethodCounts, reporterFactory, !parallelBoth, consoleStream );
}
public void writeTestOutput( byte[] buf, int off, int len, boolean stdout )
{
- TestMethod threadTestMethod = TestMethod.getThreadTestMethod();
+ TestMethod threadTestMethod = getThreadTestMethod();
if ( threadTestMethod != null )
{
- final LogicalStream logicalStream = threadTestMethod.getLogicalStream();
+ LogicalStream logicalStream = threadTestMethod.getLogicalStream();
logicalStream.write( stdout, buf, off, len );
}
else
{
- // Not able to assocaite output with any thread. Just dump to console
- consoleLogger.info( new String( buf, off, len ) );
+ // Not able to associate output with any thread. Just dump to console
+ consoleStream.println( buf, off, len );
}
}
}
http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/6a79127a/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/JUnitCoreProvider.java
----------------------------------------------------------------------
diff --git a/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/JUnitCoreProvider.java b/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/JUnitCoreProvider.java
index 473da2a..0f41b6f 100644
--- a/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/JUnitCoreProvider.java
+++ b/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/JUnitCoreProvider.java
@@ -30,7 +30,7 @@ import org.apache.maven.surefire.common.junit48.JUnit48Reflector;
import org.apache.maven.surefire.common.junit48.JUnit48TestChecker;
import org.apache.maven.surefire.providerapi.AbstractProvider;
import org.apache.maven.surefire.providerapi.ProviderParameters;
-import org.apache.maven.surefire.report.ConsoleLogger;
+import org.apache.maven.surefire.report.ConsoleStream;
import org.apache.maven.surefire.report.ReporterFactory;
import org.apache.maven.surefire.suite.RunResult;
import org.apache.maven.surefire.testset.TestListResolver;
@@ -119,14 +119,12 @@ public class JUnitCoreProvider
{
final ReporterFactory reporterFactory = providerParameters.getReporterFactory();
- final RunResult runResult;
-
- final ConsoleLogger consoleLogger = providerParameters.getConsoleLogger();
+ final ConsoleStream consoleStream = providerParameters.getConsoleLogger();
Filter filter = jUnit48Reflector.isJUnit48Available() ? createJUnit48Filter() : null;
Notifier notifier =
- new Notifier( createRunListener( reporterFactory, consoleLogger ), getSkipAfterFailureCount() );
+ new Notifier( createRunListener( reporterFactory, consoleStream ), getSkipAfterFailureCount() );
// startCapture() called in createRunListener() in prior to setTestsToRun()
if ( testsToRun == null )
@@ -143,9 +141,11 @@ public class JUnitCoreProvider
registerPleaseStopJUnitListener( notifier );
}
+ final RunResult runResult;
+
try
{
- JUnitCoreWrapper core = new JUnitCoreWrapper( notifier, jUnitCoreParameters, consoleLogger );
+ JUnitCoreWrapper core = new JUnitCoreWrapper( notifier, jUnitCoreParameters, consoleStream );
if ( commandsReader != null )
{
@@ -162,7 +162,7 @@ public class JUnitCoreProvider
{
Notifier rerunNotifier = pureNotifier();
notifier.copyListenersTo( rerunNotifier );
- JUnitCoreWrapper rerunCore = new JUnitCoreWrapper( rerunNotifier, jUnitCoreParameters, consoleLogger );
+ JUnitCoreWrapper rerunCore = new JUnitCoreWrapper( rerunNotifier, jUnitCoreParameters, consoleStream );
for ( int i = 0; i < rerunFailingTestsCount && !testFailureListener.getAllFailures().isEmpty(); i++ )
{
List<Failure> failures = testFailureListener.getAllFailures();
@@ -237,7 +237,7 @@ public class JUnitCoreProvider
} );
}
- private JUnit4RunListener createRunListener( ReporterFactory reporterFactory, ConsoleLogger consoleLogger )
+ private JUnit4RunListener createRunListener( ReporterFactory reporterFactory, ConsoleStream consoleStream )
throws TestSetFailedException
{
if ( isSingleThreaded() )
@@ -251,7 +251,7 @@ public class JUnitCoreProvider
final Map<String, TestSet> testSetMap = new ConcurrentHashMap<String, TestSet>();
ConcurrentRunListener listener = createInstance( testSetMap, reporterFactory, isParallelTypes(),
- isParallelMethodsAndTypes(), consoleLogger );
+ isParallelMethodsAndTypes(), consoleStream );
startCapture( listener );
return new JUnitCoreRunListener( listener, testSetMap );
http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/6a79127a/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/JUnitCoreWrapper.java
----------------------------------------------------------------------
diff --git a/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/JUnitCoreWrapper.java b/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/JUnitCoreWrapper.java
index 21858fe..2abfa58 100644
--- a/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/JUnitCoreWrapper.java
+++ b/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/JUnitCoreWrapper.java
@@ -22,7 +22,7 @@ package org.apache.maven.surefire.junitcore;
import org.apache.maven.surefire.common.junit4.Notifier;
import org.apache.maven.surefire.junitcore.pc.ParallelComputer;
import org.apache.maven.surefire.junitcore.pc.ParallelComputerBuilder;
-import org.apache.maven.surefire.report.ConsoleLogger;
+import org.apache.maven.surefire.report.ConsoleStream;
import org.apache.maven.surefire.testset.TestSetFailedException;
import org.apache.maven.surefire.util.TestsToRun;
import org.junit.Ignore;
@@ -54,13 +54,13 @@ final class JUnitCoreWrapper
{
private final Notifier notifier;
private final JUnitCoreParameters jUnitCoreParameters;
- private final ConsoleLogger logger;
+ private final ConsoleStream consoleStream;
- JUnitCoreWrapper( Notifier notifier, JUnitCoreParameters jUnitCoreParameters, ConsoleLogger logger )
+ JUnitCoreWrapper( Notifier notifier, JUnitCoreParameters jUnitCoreParameters, ConsoleStream consoleStream )
{
this.notifier = notifier;
this.jUnitCoreParameters = jUnitCoreParameters;
- this.logger = logger;
+ this.consoleStream = consoleStream;
}
void execute( TestsToRun testsToRun, Filter filter )
@@ -151,7 +151,7 @@ final class JUnitCoreWrapper
{
return jUnitCoreParameters.isNoThreading()
? serial()
- : new ParallelComputerBuilder( logger, jUnitCoreParameters ).buildComputer();
+ : new ParallelComputerBuilder( consoleStream, jUnitCoreParameters ).buildComputer();
}
private final class JUnitCore
http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/6a79127a/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/MethodsParallelRunListener.java
----------------------------------------------------------------------
diff --git a/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/MethodsParallelRunListener.java b/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/MethodsParallelRunListener.java
index 4edc365..0e487b0 100644
--- a/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/MethodsParallelRunListener.java
+++ b/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/MethodsParallelRunListener.java
@@ -20,7 +20,8 @@ package org.apache.maven.surefire.junitcore;
*/
import java.util.Map;
-import org.apache.maven.surefire.report.ConsoleLogger;
+
+import org.apache.maven.surefire.report.ConsoleStream;
import org.apache.maven.surefire.report.ReporterFactory;
import org.apache.maven.surefire.testset.TestSetFailedException;
@@ -36,10 +37,10 @@ public class MethodsParallelRunListener
private final Object lock = new Object();
public MethodsParallelRunListener( Map<String, TestSet> classMethodCounts, ReporterFactory reporterFactory,
- boolean reportImmediately, ConsoleLogger consoleLogger )
+ boolean reportImmediately, ConsoleStream consoleStream )
throws TestSetFailedException
{
- super( reporterFactory, consoleLogger, reportImmediately, classMethodCounts );
+ super( reporterFactory, consoleStream, reportImmediately, classMethodCounts );
}
@Override
http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/6a79127a/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/pc/AbstractThreadPoolStrategy.java
----------------------------------------------------------------------
diff --git a/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/pc/AbstractThreadPoolStrategy.java b/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/pc/AbstractThreadPoolStrategy.java
index 17db2ba..5eb7715 100644
--- a/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/pc/AbstractThreadPoolStrategy.java
+++ b/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/pc/AbstractThreadPoolStrategy.java
@@ -19,7 +19,7 @@ package org.apache.maven.surefire.junitcore.pc;
* under the License.
*/
-import org.apache.maven.surefire.report.ConsoleLogger;
+import org.apache.maven.surefire.report.ConsoleStream;
import java.util.Collection;
import java.util.concurrent.ExecutorService;
@@ -47,12 +47,12 @@ abstract class AbstractThreadPoolStrategy
private volatile boolean isDestroyed;
- AbstractThreadPoolStrategy( ConsoleLogger logger, ExecutorService threadPool )
+ AbstractThreadPoolStrategy( ConsoleStream logger, ExecutorService threadPool )
{
this( logger, threadPool, null );
}
- AbstractThreadPoolStrategy( ConsoleLogger logger, ExecutorService threadPool, Collection<Future<?>> futureResults )
+ AbstractThreadPoolStrategy( ConsoleStream logger, ExecutorService threadPool, Collection<Future<?>> futureResults )
{
super( logger );
this.threadPool = threadPool;
http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/6a79127a/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/pc/InvokerStrategy.java
----------------------------------------------------------------------
diff --git a/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/pc/InvokerStrategy.java b/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/pc/InvokerStrategy.java
index 3f95915..cc1a040 100644
--- a/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/pc/InvokerStrategy.java
+++ b/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/pc/InvokerStrategy.java
@@ -19,7 +19,7 @@ package org.apache.maven.surefire.junitcore.pc;
* under the License.
*/
-import org.apache.maven.surefire.report.ConsoleLogger;
+import org.apache.maven.surefire.report.ConsoleStream;
import java.util.Queue;
import java.util.concurrent.ConcurrentLinkedQueue;
@@ -37,7 +37,7 @@ final class InvokerStrategy
private final Queue<Thread> activeThreads = new ConcurrentLinkedQueue<Thread>();
- protected InvokerStrategy( ConsoleLogger logger )
+ protected InvokerStrategy( ConsoleStream logger )
{
super( logger );
}
http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/6a79127a/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/pc/NonSharedThreadPoolStrategy.java
----------------------------------------------------------------------
diff --git a/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/pc/NonSharedThreadPoolStrategy.java b/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/pc/NonSharedThreadPoolStrategy.java
index 88b13d0..535011b 100644
--- a/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/pc/NonSharedThreadPoolStrategy.java
+++ b/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/pc/NonSharedThreadPoolStrategy.java
@@ -19,7 +19,7 @@ package org.apache.maven.surefire.junitcore.pc;
* under the License.
*/
-import org.apache.maven.surefire.report.ConsoleLogger;
+import org.apache.maven.surefire.report.ConsoleStream;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.TimeUnit;
@@ -34,7 +34,7 @@ import java.util.concurrent.TimeUnit;
final class NonSharedThreadPoolStrategy
extends AbstractThreadPoolStrategy
{
- NonSharedThreadPoolStrategy( ConsoleLogger logger, ExecutorService threadPool )
+ NonSharedThreadPoolStrategy( ConsoleStream logger, ExecutorService threadPool )
{
super( logger, threadPool );
}
http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/6a79127a/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/pc/ParallelComputerBuilder.java
----------------------------------------------------------------------
diff --git a/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/pc/ParallelComputerBuilder.java b/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/pc/ParallelComputerBuilder.java
index d407baa..0b35765 100644
--- a/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/pc/ParallelComputerBuilder.java
+++ b/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/pc/ParallelComputerBuilder.java
@@ -35,7 +35,7 @@ import java.util.concurrent.Executors;
import java.util.concurrent.ThreadFactory;
import org.apache.maven.surefire.junitcore.JUnitCoreParameters;
-import org.apache.maven.surefire.report.ConsoleLogger;
+import org.apache.maven.surefire.report.ConsoleStream;
import org.apache.maven.surefire.testset.TestSetFailedException;
import org.apache.maven.surefire.util.internal.DaemonThreadFactory;
import org.junit.internal.runners.ErrorReportingRunner;
@@ -92,7 +92,7 @@ public final class ParallelComputerBuilder
private final Map<Type, Integer> parallelGroups = new EnumMap<Type, Integer>( Type.class );
- private final ConsoleLogger logger;
+ private final ConsoleStream logger;
private boolean useSeparatePools;
@@ -109,7 +109,7 @@ public final class ParallelComputerBuilder
* Can be used only in unit tests.
* Do NOT call this constructor in production.
*/
- ParallelComputerBuilder( ConsoleLogger logger )
+ ParallelComputerBuilder( ConsoleStream logger )
{
this.logger = logger;
runningInTests = true;
@@ -119,7 +119,7 @@ public final class ParallelComputerBuilder
parallelGroups.put( METHODS, 0 );
}
- public ParallelComputerBuilder( ConsoleLogger logger, JUnitCoreParameters parameters )
+ public ParallelComputerBuilder( ConsoleStream logger, JUnitCoreParameters parameters )
{
this( logger );
runningInTests = false;
http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/6a79127a/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/pc/Scheduler.java
----------------------------------------------------------------------
diff --git a/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/pc/Scheduler.java b/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/pc/Scheduler.java
index a957340..2c87fdd 100644
--- a/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/pc/Scheduler.java
+++ b/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/pc/Scheduler.java
@@ -19,7 +19,7 @@ package org.apache.maven.surefire.junitcore.pc;
* under the License.
*/
-import org.apache.maven.surefire.report.ConsoleLogger;
+import org.apache.maven.surefire.report.ConsoleStream;
import org.junit.runner.Description;
import org.junit.runners.model.RunnerScheduler;
@@ -56,7 +56,7 @@ public class Scheduler
private final Description description;
- private final ConsoleLogger logger;
+ private final ConsoleStream logger;
private volatile boolean shutdown = false;
@@ -72,7 +72,7 @@ public class Scheduler
* You can use it with one infinite thread pool shared in strategies across all
* suites, class runners, etc.
*/
- public Scheduler( ConsoleLogger logger, Description description, SchedulingStrategy strategy )
+ public Scheduler( ConsoleStream logger, Description description, SchedulingStrategy strategy )
{
this( logger, description, strategy, -1 );
}
@@ -81,8 +81,8 @@ public class Scheduler
* Should be used if schedulers in parallel children and parent use one instance of bounded thread pool.
* <p/>
* Set this scheduler in a e.g. one suite of classes, then every individual class runner should reference
- * {@link Scheduler(ConsoleLogger, org.junit.runner.Description, Scheduler, SchedulingStrategy)}
- * or {@link Scheduler(ConsoleLogger, org.junit.runner.Description, Scheduler, SchedulingStrategy, int)}.
+ * {@link Scheduler(ConsoleStream, org.junit.runner.Description, Scheduler, SchedulingStrategy)}
+ * or {@link Scheduler(ConsoleStream, org.junit.runner.Description, Scheduler, SchedulingStrategy, int)}.
*
* @param logger current logger implementation
* @param description description of current runner
@@ -90,7 +90,7 @@ public class Scheduler
* @param concurrency determines maximum concurrent children scheduled a time via {@link #schedule(Runnable)}
* @throws NullPointerException if null <tt>strategy</tt>
*/
- public Scheduler( ConsoleLogger logger, Description description, SchedulingStrategy strategy, int concurrency )
+ public Scheduler( ConsoleStream logger, Description description, SchedulingStrategy strategy, int concurrency )
{
this( logger, description, strategy, BalancerFactory.createBalancer( concurrency ) );
}
@@ -99,7 +99,7 @@ public class Scheduler
* New instances should be used by schedulers with limited concurrency by <tt>balancer</tt>
* against other groups of schedulers. The schedulers share one pool.
* <p/>
- * Unlike in {@link Scheduler(ConsoleLogger, org.junit.runner.Description, SchedulingStrategy, int)} which was
+ * Unlike in {@link Scheduler(ConsoleStream, org.junit.runner.Description, SchedulingStrategy, int)} which was
* limiting the <tt>concurrency</tt> of children of a runner where this scheduler was set, <em>this</em>
* <tt>balancer</tt> is limiting the concurrency of all children in runners having schedulers created by this
* constructor.
@@ -110,7 +110,7 @@ public class Scheduler
* @param balancer determines maximum concurrent children scheduled a time via {@link #schedule(Runnable)}
* @throws NullPointerException if null <tt>strategy</tt> or <tt>balancer</tt>
*/
- public Scheduler( ConsoleLogger logger, Description description, SchedulingStrategy strategy, Balancer balancer )
+ public Scheduler( ConsoleStream logger, Description description, SchedulingStrategy strategy, Balancer balancer )
{
strategy.setDefaultShutdownHandler( newShutdownHandler() );
this.logger = logger;
@@ -131,7 +131,7 @@ public class Scheduler
* @param balancer determines maximum concurrent children scheduled a time via {@link #schedule(Runnable)}
* @throws NullPointerException if null <tt>masterScheduler</tt>, <tt>strategy</tt> or <tt>balancer</tt>
*/
- public Scheduler( ConsoleLogger logger, Description description, Scheduler masterScheduler,
+ public Scheduler( ConsoleStream logger, Description description, Scheduler masterScheduler,
SchedulingStrategy strategy, Balancer balancer )
{
this( logger, description, strategy, balancer );
@@ -141,12 +141,12 @@ public class Scheduler
/**
* @param masterScheduler a reference to
- * {@link Scheduler(ConsoleLogger, org.junit.runner.Description, SchedulingStrategy, int)}
- * or {@link Scheduler(ConsoleLogger, org.junit.runner.Description, SchedulingStrategy)}
- * @see Scheduler(ConsoleLogger, org.junit.runner.Description, SchedulingStrategy)
- * @see Scheduler(ConsoleLogger, org.junit.runner.Description, SchedulingStrategy, int)
+ * {@link Scheduler(ConsoleStream, org.junit.runner.Description, SchedulingStrategy, int)}
+ * or {@link Scheduler(ConsoleStream, org.junit.runner.Description, SchedulingStrategy)}
+ * @see Scheduler(ConsoleStream, org.junit.runner.Description, SchedulingStrategy)
+ * @see Scheduler(ConsoleStream, org.junit.runner.Description, SchedulingStrategy, int)
*/
- public Scheduler( ConsoleLogger logger, Description description, Scheduler masterScheduler,
+ public Scheduler( ConsoleStream logger, Description description, Scheduler masterScheduler,
SchedulingStrategy strategy, int concurrency )
{
this( logger, description, strategy, concurrency );
@@ -160,7 +160,7 @@ public class Scheduler
* <p/>
* Cached thread pool is infinite and can be always shared.
*/
- public Scheduler( ConsoleLogger logger, Description description, Scheduler masterScheduler,
+ public Scheduler( ConsoleStream logger, Description description, Scheduler masterScheduler,
SchedulingStrategy strategy )
{
this( logger, description, masterScheduler, strategy, 0 );
@@ -215,12 +215,12 @@ public class Scheduler
{
stream.close();
}
- logger.info( out.toString() );
+ logger.println( out.toString() );
}
protected void logQuietly( String msg )
{
- logger.info( msg );
+ logger.println( msg );
}
/**
http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/6a79127a/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/pc/SchedulingStrategies.java
----------------------------------------------------------------------
diff --git a/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/pc/SchedulingStrategies.java b/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/pc/SchedulingStrategies.java
index 6706951..520c312 100644
--- a/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/pc/SchedulingStrategies.java
+++ b/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/pc/SchedulingStrategies.java
@@ -19,7 +19,7 @@ package org.apache.maven.surefire.junitcore.pc;
* under the License.
*/
-import org.apache.maven.surefire.report.ConsoleLogger;
+import org.apache.maven.surefire.report.ConsoleStream;
import org.apache.maven.surefire.util.internal.DaemonThreadFactory;
import java.util.concurrent.ExecutorService;
@@ -40,7 +40,7 @@ public class SchedulingStrategies
* @param logger current error logger
* @return sequentially executing strategy
*/
- public static SchedulingStrategy createInvokerStrategy( ConsoleLogger logger )
+ public static SchedulingStrategy createInvokerStrategy( ConsoleStream logger )
{
return new InvokerStrategy( logger );
}
@@ -50,7 +50,7 @@ public class SchedulingStrategies
* @param nThreads fixed pool capacity
* @return parallel scheduling strategy
*/
- public static SchedulingStrategy createParallelStrategy( ConsoleLogger logger, int nThreads )
+ public static SchedulingStrategy createParallelStrategy( ConsoleStream logger, int nThreads )
{
return new NonSharedThreadPoolStrategy( logger,
Executors.newFixedThreadPool( nThreads, DAEMON_THREAD_FACTORY ) );
@@ -60,7 +60,7 @@ public class SchedulingStrategies
* @param logger current error logger
* @return parallel scheduling strategy with unbounded capacity
*/
- public static SchedulingStrategy createParallelStrategyUnbounded( ConsoleLogger logger )
+ public static SchedulingStrategy createParallelStrategyUnbounded( ConsoleStream logger )
{
return new NonSharedThreadPoolStrategy( logger, Executors.newCachedThreadPool( DAEMON_THREAD_FACTORY ) );
}
@@ -78,7 +78,7 @@ public class SchedulingStrategies
* @return parallel strategy with shared thread pool
* @throws NullPointerException if <tt>threadPool</tt> is null
*/
- public static SchedulingStrategy createParallelSharedStrategy( ConsoleLogger logger, ExecutorService threadPool )
+ public static SchedulingStrategy createParallelSharedStrategy( ConsoleStream logger, ExecutorService threadPool )
{
if ( threadPool == null )
{
http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/6a79127a/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/pc/SchedulingStrategy.java
----------------------------------------------------------------------
diff --git a/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/pc/SchedulingStrategy.java b/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/pc/SchedulingStrategy.java
index b1e1fd0..ce337bc 100644
--- a/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/pc/SchedulingStrategy.java
+++ b/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/pc/SchedulingStrategy.java
@@ -19,7 +19,7 @@ package org.apache.maven.surefire.junitcore.pc;
* under the License.
*/
-import org.apache.maven.surefire.report.ConsoleLogger;
+import org.apache.maven.surefire.report.ConsoleStream;
import java.io.ByteArrayOutputStream;
import java.io.PrintStream;
@@ -43,9 +43,9 @@ public abstract class SchedulingStrategy
private final AtomicBoolean canSchedule = new AtomicBoolean( true );
- private final ConsoleLogger logger;
+ private final ConsoleStream logger;
- protected SchedulingStrategy( ConsoleLogger logger )
+ protected SchedulingStrategy( ConsoleStream logger )
{
this.logger = logger;
}
@@ -145,6 +145,6 @@ public abstract class SchedulingStrategy
{
stream.close();
}
- logger.info( out.toString() );
+ logger.println( out.toString() );
}
}
http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/6a79127a/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/pc/SharedThreadPoolStrategy.java
----------------------------------------------------------------------
diff --git a/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/pc/SharedThreadPoolStrategy.java b/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/pc/SharedThreadPoolStrategy.java
index ff72d64..a577fdb 100644
--- a/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/pc/SharedThreadPoolStrategy.java
+++ b/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/pc/SharedThreadPoolStrategy.java
@@ -19,7 +19,7 @@ package org.apache.maven.surefire.junitcore.pc;
* under the License.
*/
-import org.apache.maven.surefire.report.ConsoleLogger;
+import org.apache.maven.surefire.report.ConsoleStream;
import java.util.concurrent.CancellationException;
import java.util.concurrent.ConcurrentLinkedQueue;
@@ -37,7 +37,7 @@ import java.util.concurrent.Future;
final class SharedThreadPoolStrategy
extends AbstractThreadPoolStrategy
{
- SharedThreadPoolStrategy( ConsoleLogger logger, ExecutorService threadPool )
+ SharedThreadPoolStrategy( ConsoleStream logger, ExecutorService threadPool )
{
super( logger, threadPool, new ConcurrentLinkedQueue<Future<?>>() );
}
http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/6a79127a/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/pc/SingleThreadScheduler.java
----------------------------------------------------------------------
diff --git a/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/pc/SingleThreadScheduler.java b/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/pc/SingleThreadScheduler.java
index 88ae625..a0f5c2d 100644
--- a/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/pc/SingleThreadScheduler.java
+++ b/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/pc/SingleThreadScheduler.java
@@ -19,7 +19,7 @@ package org.apache.maven.surefire.junitcore.pc;
* under the License.
*/
-import org.apache.maven.surefire.report.ConsoleLogger;
+import org.apache.maven.surefire.report.ConsoleStream;
import org.apache.maven.surefire.util.internal.DaemonThreadFactory;
import org.junit.runner.Description;
import org.junit.runners.model.RunnerScheduler;
@@ -42,7 +42,7 @@ import java.util.concurrent.TimeUnit;
*/
final class SingleThreadScheduler
{
- private final ConsoleLogger logger;
+ private final ConsoleStream logger;
private final ExecutorService pool = newPool();
@@ -54,7 +54,7 @@ final class SingleThreadScheduler
return new ThreadPoolExecutor( 1, 1, 0L, TimeUnit.MILLISECONDS, new LinkedBlockingQueue<Runnable>(), tf );
}
- SingleThreadScheduler( ConsoleLogger logger )
+ SingleThreadScheduler( ConsoleStream logger )
{
this.logger = logger;
SchedulingStrategy strategy = SchedulingStrategies.createParallelSharedStrategy( logger, pool );
http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/6a79127a/surefire-providers/surefire-junit47/src/test/java/org/apache/maven/surefire/junitcore/ConcurrentRunListenerTest.java
----------------------------------------------------------------------
diff --git a/surefire-providers/surefire-junit47/src/test/java/org/apache/maven/surefire/junitcore/ConcurrentRunListenerTest.java b/surefire-providers/surefire-junit47/src/test/java/org/apache/maven/surefire/junitcore/ConcurrentRunListenerTest.java
index 24fb2da..dc504b6 100644
--- a/surefire-providers/surefire-junit47/src/test/java/org/apache/maven/surefire/junitcore/ConcurrentRunListenerTest.java
+++ b/surefire-providers/surefire-junit47/src/test/java/org/apache/maven/surefire/junitcore/ConcurrentRunListenerTest.java
@@ -24,7 +24,8 @@ import java.io.PrintStream;
import java.util.HashMap;
import java.util.Map;
import org.apache.maven.plugin.surefire.report.DefaultReporterFactory;
-import org.apache.maven.surefire.report.DefaultConsoleReporter;
+import org.apache.maven.surefire.report.ConsoleStream;
+import org.apache.maven.surefire.report.DefaultDirectConsoleReporter;
import org.apache.maven.surefire.report.ReporterFactory;
import org.apache.maven.surefire.report.RunListener;
import org.apache.maven.surefire.report.RunStatistics;
@@ -147,7 +148,7 @@ public class ConcurrentRunListenerTest
{
DefaultReporterFactory reporterFactory = createReporterFactory();
HashMap<String, TestSet> classMethodCounts = new HashMap<String, TestSet>();
- final DefaultConsoleReporter defaultConsoleReporter = new DefaultConsoleReporter( System.out );
+ final ConsoleStream defaultConsoleReporter = new DefaultDirectConsoleReporter( System.out );
RunListener reporter =
new ClassesParallelRunListener( classMethodCounts, reporterFactory, defaultConsoleReporter );
JUnitCoreRunListener runListener = new JUnitCoreRunListener( reporter, classMethodCounts );
@@ -200,8 +201,8 @@ public class ConcurrentRunListenerTest
throws TestSetFailedException
{
return new JUnitCoreRunListener(
- new ClassesParallelRunListener( testSetMap, reporterFactory, new DefaultConsoleReporter( System.out ) ),
- testSetMap );
+ new ClassesParallelRunListener( testSetMap, reporterFactory,
+ new DefaultDirectConsoleReporter( System.out ) ), testSetMap );
}
http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/6a79127a/surefire-providers/surefire-junit47/src/test/java/org/apache/maven/surefire/junitcore/DefaultConsoleReporter.java
----------------------------------------------------------------------
diff --git a/surefire-providers/surefire-junit47/src/test/java/org/apache/maven/surefire/junitcore/DefaultConsoleReporter.java b/surefire-providers/surefire-junit47/src/test/java/org/apache/maven/surefire/junitcore/DefaultConsoleReporter.java
new file mode 100644
index 0000000..0c8e856
--- /dev/null
+++ b/surefire-providers/surefire-junit47/src/test/java/org/apache/maven/surefire/junitcore/DefaultConsoleReporter.java
@@ -0,0 +1,68 @@
+package org.apache.maven.surefire.junitcore;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import org.apache.maven.plugin.surefire.log.api.ConsoleLogger;
+
+import java.io.PrintStream;
+
+/**
+ * @author <a href="mailto:kristian@zenior.no">Kristian Rosenvold</a>
+ */
+public class DefaultConsoleReporter
+ implements ConsoleLogger
+{
+ private final PrintStream systemOut;
+
+ public DefaultConsoleReporter( PrintStream systemOut )
+ {
+ this.systemOut = systemOut;
+ }
+
+ public void debug( String message )
+ {
+
+ }
+
+ public void info( String message )
+ {
+ systemOut.println( message );
+ }
+
+ public void warning( String message )
+ {
+
+ }
+
+ public void error( String message )
+ {
+
+ }
+
+ public void error( String message, Throwable t )
+ {
+
+ }
+
+ public void error( Throwable t )
+ {
+
+ }
+}
http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/6a79127a/surefire-providers/surefire-junit47/src/test/java/org/apache/maven/surefire/junitcore/JUnitCoreTester.java
----------------------------------------------------------------------
diff --git a/surefire-providers/surefire-junit47/src/test/java/org/apache/maven/surefire/junitcore/JUnitCoreTester.java b/surefire-providers/surefire-junit47/src/test/java/org/apache/maven/surefire/junitcore/JUnitCoreTester.java
index e021647..41ae610 100644
--- a/surefire-providers/surefire-junit47/src/test/java/org/apache/maven/surefire/junitcore/JUnitCoreTester.java
+++ b/surefire-providers/surefire-junit47/src/test/java/org/apache/maven/surefire/junitcore/JUnitCoreTester.java
@@ -20,9 +20,8 @@ package org.apache.maven.surefire.junitcore;
*/
import org.apache.maven.plugin.surefire.report.DefaultReporterFactory;
-import org.apache.maven.surefire.report.ConsoleOutputCapture;
import org.apache.maven.surefire.report.ConsoleOutputReceiver;
-import org.apache.maven.surefire.report.DefaultConsoleReporter;
+import org.apache.maven.surefire.report.DefaultDirectConsoleReporter;
import org.apache.maven.surefire.report.ReporterFactory;
import org.apache.maven.surefire.report.RunListener;
import org.apache.maven.surefire.testset.TestSetFailedException;
@@ -33,6 +32,9 @@ import org.junit.runner.Result;
import java.util.HashMap;
import java.util.concurrent.ExecutionException;
+import static org.apache.maven.surefire.junitcore.ConcurrentRunListener.createInstance;
+import static org.apache.maven.surefire.report.ConsoleOutputCapture.startCapture;
+
/**
* @author Kristian Rosenvold
*/
@@ -58,12 +60,10 @@ public class JUnitCoreTester
try
{
-
final HashMap<String, TestSet> classMethodCounts = new HashMap<String, TestSet>();
- RunListener reporter =
- ConcurrentRunListener.createInstance( classMethodCounts, reporterManagerFactory, parallelClasses, false,
- new DefaultConsoleReporter( System.out ) );
- ConsoleOutputCapture.startCapture( (ConsoleOutputReceiver) reporter );
+ RunListener reporter = createInstance( classMethodCounts, reporterManagerFactory, parallelClasses, false,
+ new DefaultDirectConsoleReporter( System.out ) );
+ startCapture( (ConsoleOutputReceiver) reporter );
JUnitCoreRunListener runListener = new JUnitCoreRunListener( reporter, classMethodCounts );
JUnitCore junitCore = new JUnitCore();
http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/6a79127a/surefire-providers/surefire-junit47/src/test/java/org/apache/maven/surefire/junitcore/Logger.java
----------------------------------------------------------------------
diff --git a/surefire-providers/surefire-junit47/src/test/java/org/apache/maven/surefire/junitcore/Logger.java b/surefire-providers/surefire-junit47/src/test/java/org/apache/maven/surefire/junitcore/Logger.java
deleted file mode 100644
index 4fff4b0..0000000
--- a/surefire-providers/surefire-junit47/src/test/java/org/apache/maven/surefire/junitcore/Logger.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package org.apache.maven.surefire.junitcore;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.maven.surefire.report.ConsoleLogger;
-
-public final class Logger implements ConsoleLogger
-{
- public void info( String message )
- {
- System.out.println( message );
- }
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/6a79127a/surefire-providers/surefire-junit47/src/test/java/org/apache/maven/surefire/junitcore/Surefire746Test.java
----------------------------------------------------------------------
diff --git a/surefire-providers/surefire-junit47/src/test/java/org/apache/maven/surefire/junitcore/Surefire746Test.java b/surefire-providers/surefire-junit47/src/test/java/org/apache/maven/surefire/junitcore/Surefire746Test.java
index 0ee4269..3e9ca93 100644
--- a/surefire-providers/surefire-junit47/src/test/java/org/apache/maven/surefire/junitcore/Surefire746Test.java
+++ b/surefire-providers/surefire-junit47/src/test/java/org/apache/maven/surefire/junitcore/Surefire746Test.java
@@ -20,14 +20,14 @@ package org.apache.maven.surefire.junitcore;
import java.io.File;
import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
+
import org.apache.maven.plugin.surefire.report.DefaultReporterFactory;
import org.apache.maven.surefire.booter.BaseProviderFactory;
import org.apache.maven.surefire.booter.ProviderParameterNames;
import org.apache.maven.surefire.common.junit4.JUnit4RunListener;
import org.apache.maven.surefire.common.junit4.Notifier;
import org.apache.maven.surefire.junit4.MockReporter;
-import org.apache.maven.surefire.report.ConsoleLogger;
-import org.apache.maven.surefire.report.DefaultConsoleReporter;
+import org.apache.maven.surefire.report.DefaultDirectConsoleReporter;
import org.apache.maven.surefire.report.ReporterConfiguration;
import org.apache.maven.surefire.report.ReporterFactory;
import org.apache.maven.surefire.report.RunListener;
@@ -89,7 +89,6 @@ public class Surefire746Test
{
ReporterFactory reporterFactory = DefaultReporterFactory.defaultNoXml();
BaseProviderFactory providerParameters = new BaseProviderFactory( reporterFactory, true );
- ConsoleLogger consoleLogger = new DefaultConsoleReporter( System.out );
providerParameters.setReporterConfiguration( new ReporterConfiguration( new File( "" ), false ) );
Map<String, String> junitProps = new HashMap<String, String>();
@@ -100,7 +99,8 @@ public class Surefire746Test
final Map<String, TestSet> testSetMap = new ConcurrentHashMap<String, TestSet>();
RunListener listener =
- ConcurrentRunListener.createInstance( testSetMap, reporterFactory, false, false, consoleLogger );
+ ConcurrentRunListener.createInstance( testSetMap, reporterFactory, false, false,
+ new DefaultDirectConsoleReporter( System.out ) );
TestsToRun testsToRun = new TestsToRun( Collections.<Class<?>>singleton( TestClassTest.class ) );
@@ -116,7 +116,8 @@ public class Surefire746Test
// and rethrows a failure which happened in listener
exception.expect( TestSetFailedException.class );
JUnit4RunListener dummy = new JUnit4RunListener( new MockReporter() );
- new JUnitCoreWrapper( new Notifier( dummy, 0 ), jUnitCoreParameters, new Logger() )
+ new JUnitCoreWrapper( new Notifier( dummy, 0 ), jUnitCoreParameters,
+ new DefaultDirectConsoleReporter( System.out ) )
.execute( testsToRun, customRunListeners, null );
}
finally
http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/6a79127a/surefire-providers/surefire-junit47/src/test/java/org/apache/maven/surefire/junitcore/pc/ParallelComputerBuilderTest.java
----------------------------------------------------------------------
diff --git a/surefire-providers/surefire-junit47/src/test/java/org/apache/maven/surefire/junitcore/pc/ParallelComputerBuilderTest.java b/surefire-providers/surefire-junit47/src/test/java/org/apache/maven/surefire/junitcore/pc/ParallelComputerBuilderTest.java
index aca5d68..5184cdd 100644
--- a/surefire-providers/surefire-junit47/src/test/java/org/apache/maven/surefire/junitcore/pc/ParallelComputerBuilderTest.java
+++ b/surefire-providers/surefire-junit47/src/test/java/org/apache/maven/surefire/junitcore/pc/ParallelComputerBuilderTest.java
@@ -20,7 +20,8 @@ package org.apache.maven.surefire.junitcore.pc;
*/
import net.jcip.annotations.NotThreadSafe;
-import org.apache.maven.surefire.junitcore.Logger;
+import org.apache.maven.surefire.report.ConsoleStream;
+import org.apache.maven.surefire.report.DefaultDirectConsoleReporter;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
@@ -63,6 +64,8 @@ public class ParallelComputerBuilderTest
private static volatile Runnable shutdownTask;
+ private static final ConsoleStream logger = new DefaultDirectConsoleReporter( System.out );
+
@Rule
public final Stopwatch stopwatch = new Stopwatch() {};
@@ -103,7 +106,7 @@ public class ParallelComputerBuilderTest
@Test
public void parallelMethodsReuseOneOrTwoThreads()
{
- ParallelComputerBuilder parallelComputerBuilder = new ParallelComputerBuilder( new Logger() );
+ ParallelComputerBuilder parallelComputerBuilder = new ParallelComputerBuilder( logger );
parallelComputerBuilder.useOnePool( 4 );
// One thread because one suite: TestSuite, however the capacity is 5.
@@ -146,7 +149,7 @@ public class ParallelComputerBuilderTest
@Test
public void suiteAndClassInOnePool()
{
- ParallelComputerBuilder parallelComputerBuilder = new ParallelComputerBuilder( new Logger() );
+ ParallelComputerBuilder parallelComputerBuilder = new ParallelComputerBuilder( logger );
parallelComputerBuilder.useOnePool( 5 );
parallelComputerBuilder.parallelSuites( 5 );
parallelComputerBuilder.parallelClasses( 5 );
@@ -172,7 +175,7 @@ public class ParallelComputerBuilderTest
public void onePoolWithUnlimitedParallelMethods()
{
// see ParallelComputerBuilder Javadoc
- ParallelComputerBuilder parallelComputerBuilder = new ParallelComputerBuilder( new Logger() );
+ ParallelComputerBuilder parallelComputerBuilder = new ParallelComputerBuilder( logger );
parallelComputerBuilder.useOnePool( 8 );
parallelComputerBuilder.parallelSuites( 2 );
parallelComputerBuilder.parallelClasses( 4 );
@@ -197,7 +200,7 @@ public class ParallelComputerBuilderTest
@Test
public void underflowParallelism()
{
- ParallelComputerBuilder parallelComputerBuilder = new ParallelComputerBuilder( new Logger() );
+ ParallelComputerBuilder parallelComputerBuilder = new ParallelComputerBuilder( logger );
parallelComputerBuilder.useOnePool( 3 );
// One thread because one suite: TestSuite.
@@ -229,7 +232,7 @@ public class ParallelComputerBuilderTest
@Test
public void separatePoolsWithSuite()
{
- ParallelComputerBuilder parallelComputerBuilder = new ParallelComputerBuilder( new Logger() );
+ ParallelComputerBuilder parallelComputerBuilder = new ParallelComputerBuilder( logger );
parallelComputerBuilder.parallelSuites( 5 );
parallelComputerBuilder.parallelClasses( 5 );
parallelComputerBuilder.parallelMethods( 3 );
@@ -253,7 +256,7 @@ public class ParallelComputerBuilderTest
@Test
public void separatePoolsWithSuiteAndClass()
{
- ParallelComputerBuilder parallelComputerBuilder = new ParallelComputerBuilder( new Logger() );
+ ParallelComputerBuilder parallelComputerBuilder = new ParallelComputerBuilder( logger );
parallelComputerBuilder.parallelSuites( 5 );
parallelComputerBuilder.parallelClasses( 5 );
parallelComputerBuilder.parallelMethods( 3 );
@@ -280,7 +283,7 @@ public class ParallelComputerBuilderTest
@Test
public void separatePoolsWithSuiteAndSequentialClasses()
{
- ParallelComputerBuilder parallelComputerBuilder = new ParallelComputerBuilder( new Logger() );
+ ParallelComputerBuilder parallelComputerBuilder = new ParallelComputerBuilder( logger );
parallelComputerBuilder.parallelSuites( 5 );
parallelComputerBuilder.parallelClasses( 1 );
parallelComputerBuilder.parallelMethods( 3 );
@@ -324,7 +327,7 @@ public class ParallelComputerBuilderTest
public void nothingParallel()
{
JUnitCore core = new JUnitCore();
- ParallelComputerBuilder builder = new ParallelComputerBuilder( new Logger() );
+ ParallelComputerBuilder builder = new ParallelComputerBuilder( logger );
assertFalse( builder.isOptimized() );
Result result = core.run( builder.buildComputer(), NothingDoingTest1.class, NothingDoingTest2.class );
@@ -377,7 +380,7 @@ public class ParallelComputerBuilderTest
@Test
public void keepBeforeAfterOneClass()
{
- ParallelComputerBuilder builder = new ParallelComputerBuilder( new Logger() );
+ ParallelComputerBuilder builder = new ParallelComputerBuilder( logger );
builder.parallelMethods();
assertFalse( builder.isOptimized() );
testKeepBeforeAfter( builder, NothingDoingTest1.class );
@@ -386,7 +389,7 @@ public class ParallelComputerBuilderTest
@Test
public void keepBeforeAfterTwoClasses()
{
- ParallelComputerBuilder builder = new ParallelComputerBuilder( new Logger() );
+ ParallelComputerBuilder builder = new ParallelComputerBuilder( logger );
builder.useOnePool( 5 ).parallelClasses( 1 ).parallelMethods( 2 );
assertFalse( builder.isOptimized() );
testKeepBeforeAfter( builder, NothingDoingTest1.class, NothingDoingTest2.class );
@@ -395,7 +398,7 @@ public class ParallelComputerBuilderTest
@Test
public void keepBeforeAfterTwoParallelClasses()
{
- ParallelComputerBuilder builder = new ParallelComputerBuilder( new Logger() );
+ ParallelComputerBuilder builder = new ParallelComputerBuilder( logger );
builder.useOnePool( 8 ).parallelClasses( 2 ).parallelMethods( 2 );
assertFalse( builder.isOptimized() );
JUnitCore core = new JUnitCore();
@@ -411,7 +414,7 @@ public class ParallelComputerBuilderTest
@Test
public void notThreadSafeTest()
{
- ParallelComputerBuilder builder = new ParallelComputerBuilder( new Logger() )
+ ParallelComputerBuilder builder = new ParallelComputerBuilder( logger )
.useOnePool( 6 ).optimize( true ).parallelClasses( 3 ).parallelMethods( 3 );
ParallelComputerBuilder.PC computer = (ParallelComputerBuilder.PC) builder.buildComputer();
Result result = new JUnitCore().run( computer, NotThreadSafeTest1.class, NotThreadSafeTest2.class );
@@ -432,7 +435,7 @@ public class ParallelComputerBuilderTest
@Test
public void mixedThreadSafety()
{
- ParallelComputerBuilder builder = new ParallelComputerBuilder( new Logger() )
+ ParallelComputerBuilder builder = new ParallelComputerBuilder( logger )
.useOnePool( 6 ).optimize( true ).parallelClasses( 3 ).parallelMethods( 3 );
ParallelComputerBuilder.PC computer = (ParallelComputerBuilder.PC) builder.buildComputer();
Result result = new JUnitCore().run( computer, NotThreadSafeTest1.class, NormalTest1.class );
@@ -454,7 +457,7 @@ public class ParallelComputerBuilderTest
@Test
public void notThreadSafeTestsInSuite()
{
- ParallelComputerBuilder builder = new ParallelComputerBuilder( new Logger() )
+ ParallelComputerBuilder builder = new ParallelComputerBuilder( logger )
.useOnePool( 5 ).parallelMethods( 3 );
assertFalse( builder.isOptimized() );
ParallelComputerBuilder.PC computer = (ParallelComputerBuilder.PC) builder.buildComputer();
@@ -477,7 +480,7 @@ public class ParallelComputerBuilderTest
@Test
public void mixedThreadSafetyInSuite()
{
- ParallelComputerBuilder builder = new ParallelComputerBuilder( new Logger() )
+ ParallelComputerBuilder builder = new ParallelComputerBuilder( logger )
.useOnePool( 10 ).optimize( true ).parallelSuites( 2 ).parallelClasses( 3 ).parallelMethods( 3 );
ParallelComputerBuilder.PC computer = (ParallelComputerBuilder.PC) builder.buildComputer();
Result result = new JUnitCore().run( computer, MixedSuite.class );
@@ -499,7 +502,7 @@ public class ParallelComputerBuilderTest
@Test
public void inheritanceWithNotThreadSafe()
{
- ParallelComputerBuilder builder = new ParallelComputerBuilder( new Logger() )
+ ParallelComputerBuilder builder = new ParallelComputerBuilder( logger )
.useOnePool( 10 ).optimize( true ).parallelSuites( 2 ).parallelClasses( 3 ).parallelMethods( 3 );
ParallelComputerBuilder.PC computer = (ParallelComputerBuilder.PC) builder.buildComputer();
Result result = new JUnitCore().run( computer, OverMixedSuite.class );
@@ -529,7 +532,7 @@ public class ParallelComputerBuilderTest
TimeUnit.MILLISECONDS.sleep( 500 );
}
Collection<Thread> expectedThreads = jvmThreads();
- ParallelComputerBuilder parallelComputerBuilder = new ParallelComputerBuilder( new Logger() );
+ ParallelComputerBuilder parallelComputerBuilder = new ParallelComputerBuilder( logger );
parallelComputerBuilder.parallelMethods( 3 );
ParallelComputer computer = parallelComputerBuilder.buildComputer();
Result result = new JUnitCore().run( computer, TestWithBeforeAfter.class );
@@ -564,7 +567,7 @@ public class ParallelComputerBuilderTest
{
Result run( final boolean useInterrupt )
{
- ParallelComputerBuilder parallelComputerBuilder = new ParallelComputerBuilder( new Logger() )
+ ParallelComputerBuilder parallelComputerBuilder = new ParallelComputerBuilder( logger )
.useOnePool( 8 )
.parallelSuites( 2 )
.parallelClasses( 3 )
http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/6a79127a/surefire-providers/surefire-junit47/src/test/java/org/apache/maven/surefire/junitcore/pc/ParallelComputerUtilTest.java
----------------------------------------------------------------------
diff --git a/surefire-providers/surefire-junit47/src/test/java/org/apache/maven/surefire/junitcore/pc/ParallelComputerUtilTest.java b/surefire-providers/surefire-junit47/src/test/java/org/apache/maven/surefire/junitcore/pc/ParallelComputerUtilTest.java
index a19c8c8..15daac9 100644
--- a/surefire-providers/surefire-junit47/src/test/java/org/apache/maven/surefire/junitcore/pc/ParallelComputerUtilTest.java
+++ b/surefire-providers/surefire-junit47/src/test/java/org/apache/maven/surefire/junitcore/pc/ParallelComputerUtilTest.java
@@ -20,7 +20,8 @@ package org.apache.maven.surefire.junitcore.pc;
*/
import org.apache.maven.surefire.junitcore.JUnitCoreParameters;
-import org.apache.maven.surefire.junitcore.Logger;
+import org.apache.maven.surefire.report.ConsoleStream;
+import org.apache.maven.surefire.report.DefaultDirectConsoleReporter;
import org.apache.maven.surefire.testset.TestSetFailedException;
import org.junit.AfterClass;
import org.junit.BeforeClass;
@@ -58,6 +59,8 @@ import static java.util.concurrent.TimeUnit.MILLISECONDS;
@RunWith( Theories.class )
public final class ParallelComputerUtilTest
{
+ private final ConsoleStream logger = new DefaultDirectConsoleReporter( System.out );
+
@DataPoint
public static final int CPU_1 = 1;
@@ -968,7 +971,7 @@ public final class ParallelComputerUtilTest
properties.put(PARALLEL_KEY, "methods");
properties.put(THREADCOUNTMETHODS_KEY, "2");
JUnitCoreParameters params = new JUnitCoreParameters( properties );
- ParallelComputerBuilder pcBuilder = new ParallelComputerBuilder( new Logger(), params );
+ ParallelComputerBuilder pcBuilder = new ParallelComputerBuilder( logger, params );
ParallelComputer pc = pcBuilder.buildComputer();
Result result = new JUnitCore().run( pc, TestClass.class );
long timeSpent = stopwatch.runtime( MILLISECONDS );
@@ -992,7 +995,7 @@ public final class ParallelComputerUtilTest
properties.put(THREADCOUNTMETHODS_KEY, "2");
properties.put(PARALLEL_TIMEOUT_KEY, Double.toString(2.5d));
JUnitCoreParameters params = new JUnitCoreParameters( properties );
- ParallelComputerBuilder pcBuilder = new ParallelComputerBuilder( new Logger(), params );
+ ParallelComputerBuilder pcBuilder = new ParallelComputerBuilder( logger, params );
ParallelComputer pc = pcBuilder.buildComputer();
new JUnitCore().run( pc, TestClass.class );
long timeSpent = stopwatch.runtime( MILLISECONDS );
@@ -1015,7 +1018,7 @@ public final class ParallelComputerUtilTest
properties.put(THREADCOUNTMETHODS_KEY, "2");
properties.put(PARALLEL_TIMEOUTFORCED_KEY, Double.toString(2.5d));
JUnitCoreParameters params = new JUnitCoreParameters( properties );
- ParallelComputerBuilder pcBuilder = new ParallelComputerBuilder( new Logger(), params );
+ ParallelComputerBuilder pcBuilder = new ParallelComputerBuilder( logger, params );
ParallelComputer pc = pcBuilder.buildComputer();
new JUnitCore().run( pc, TestClass.class );
long timeSpent = stopwatch.runtime( MILLISECONDS );
@@ -1041,7 +1044,7 @@ public final class ParallelComputerUtilTest
properties.put(PARALLEL_TIMEOUT_KEY, Double.toString(2.5d));
properties.put(PARALLEL_TIMEOUTFORCED_KEY, Double.toString(3.5d));
JUnitCoreParameters params = new JUnitCoreParameters( properties );
- ParallelComputerBuilder pcBuilder = new ParallelComputerBuilder( new Logger(), params );
+ ParallelComputerBuilder pcBuilder = new ParallelComputerBuilder( logger, params );
ParallelComputer pc = pcBuilder.buildComputer();
new JUnitCore().run( pc, TestClass.class );
long timeSpent = stopwatch.runtime( MILLISECONDS );
@@ -1065,7 +1068,7 @@ public final class ParallelComputerUtilTest
properties.put(PARALLEL_TIMEOUTFORCED_KEY, Double.toString(3.5d));
properties.put(PARALLEL_TIMEOUT_KEY, Double.toString(4.0d));
JUnitCoreParameters params = new JUnitCoreParameters( properties );
- ParallelComputerBuilder pcBuilder = new ParallelComputerBuilder( new Logger(), params );
+ ParallelComputerBuilder pcBuilder = new ParallelComputerBuilder( logger, params );
ParallelComputer pc = pcBuilder.buildComputer();
new JUnitCore().run( pc, TestClass.class );
long timeSpent = stopwatch.runtime( MILLISECONDS );