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 2019/05/17 22:26:53 UTC

[maven-surefire] branch 1546-1222 updated: 3 MOJO @Parameter-s with default values

This is an automated email from the ASF dual-hosted git repository.

tibordigana pushed a commit to branch 1546-1222
in repository https://gitbox.apache.org/repos/asf/maven-surefire.git


The following commit(s) were added to refs/heads/1546-1222 by this push:
     new 453805d  3 MOJO @Parameter-s with default values
453805d is described below

commit 453805dc85d321fde193c7e0046c1d2c157540ae
Author: tibordigana <ti...@apache.org>
AuthorDate: Sat May 18 00:26:37 2019 +0200

    3 MOJO @Parameter-s with default values
---
 .../plugin/surefire/AbstractSurefireMojo.java      | 37 ++++++----------------
 ...ter.java => SurefireConsoleOutputReporter.java} | 11 ++++---
 ...eporter.java => SurefireStatelessReporter.java} | 13 +++++---
 ...a => SurefireStatelessTestsetInfoReporter.java} | 12 ++++---
 .../{ => junit5}/JUnit5ConsoleOutputReporter.java  | 22 +++----------
 .../JUnit5StatelessTestsetInfoReporter.java        | 12 +++----
 .../{ => junit5}/JUnit5Xml30StatelessReporter.java |  6 ++--
 .../maven/plugin/surefire/CommonReflectorTest.java | 16 +++++-----
 .../maven/plugin/surefire/MojoMocklessTest.java    | 31 ++++--------------
 .../booterclient/TestSetMockReporterFactory.java   | 10 +++---
 .../report/DefaultReporterFactoryTest.java         | 18 +++++------
 .../extensions/ConsoleOutputReporterTest.java      | 22 ++++++-------
 .../surefire/extensions/StatelessReporterTest.java | 22 ++++++-------
 .../StatelessTestsetInfoReporterTest.java          | 22 ++++++-------
 .../maven/surefire/junitcore/JUnitCoreTester.java  | 10 +++---
 15 files changed, 113 insertions(+), 151 deletions(-)

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 6127e4c..6eae389 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
@@ -25,12 +25,9 @@ import org.apache.maven.artifact.DefaultArtifact;
 import org.apache.maven.artifact.handler.ArtifactHandler;
 import org.apache.maven.artifact.repository.ArtifactRepository;
 import org.apache.maven.model.Dependency;
-import org.apache.maven.plugin.surefire.extensions.DefaultConsoleOutputReporter;
-import org.apache.maven.plugin.surefire.extensions.DefaultStatelessReportMojoConfiguration;
-import org.apache.maven.plugin.surefire.extensions.DefaultStatelessReporter;
-import org.apache.maven.plugin.surefire.extensions.DefaultStatelessTestsetInfoReporter;
-import org.apache.maven.plugin.surefire.report.TestSetStats;
-import org.apache.maven.plugin.surefire.report.WrappedReportEntry;
+import org.apache.maven.plugin.surefire.extensions.SurefireConsoleOutputReporter;
+import org.apache.maven.plugin.surefire.extensions.SurefireStatelessReporter;
+import org.apache.maven.plugin.surefire.extensions.SurefireStatelessTestsetInfoReporter;
 import org.apache.maven.plugins.annotations.Component;
 import org.apache.maven.project.ProjectBuildingRequest;
 import org.apache.maven.repository.RepositorySystem;
@@ -75,9 +72,6 @@ import org.apache.maven.surefire.booter.StartupConfiguration;
 import org.apache.maven.surefire.booter.SurefireBooterForkException;
 import org.apache.maven.surefire.booter.SurefireExecutionException;
 import org.apache.maven.surefire.cli.CommandLineOption;
-import org.apache.maven.surefire.extensions.ConsoleOutputReporter;
-import org.apache.maven.surefire.extensions.StatelessReporter;
-import org.apache.maven.surefire.extensions.StatelessTestsetInfoReporter;
 import org.apache.maven.surefire.providerapi.SurefireProvider;
 import org.apache.maven.surefire.report.ReporterConfiguration;
 import org.apache.maven.surefire.suite.RunResult;
@@ -168,14 +162,14 @@ public abstract class AbstractSurefireMojo
     /**
      * Note: use the legacy system property <em>disableXmlReport</em> set to {@code true} to disable the report.
      */
-    @Parameter private
-    StatelessReporter<WrappedReportEntry, TestSetStats, DefaultStatelessReportMojoConfiguration> statelessReporter;
+    @Parameter
+    private SurefireStatelessReporter statelessReporter;
 
     @Parameter
-    private ConsoleOutputReporter consoleOutputReporter;
+    private SurefireConsoleOutputReporter consoleOutputReporter;
 
     @Parameter
-    private StatelessTestsetInfoReporter<WrappedReportEntry, TestSetStats> statelessTestsetInfoReporter;
+    private SurefireStatelessTestsetInfoReporter statelessTestsetInfoReporter;
 
     /**
      * Information about this plugin, mainly used to lookup this plugin's configuration from the currently executing
@@ -1957,26 +1951,15 @@ public abstract class AbstractSurefireMojo
 
     private StartupReportConfiguration getStartupReportConfiguration( String configChecksum, boolean isForkMode )
     {
-        StatelessReporter<WrappedReportEntry, TestSetStats, DefaultStatelessReportMojoConfiguration> xmlReporter =
-                statelessReporter == null
-                        ? new DefaultStatelessReporter( /*todo call def. constr.*/ isDisableXmlReport(), "3.0" )
-                        : statelessReporter;
-
-        xmlReporter.setDisable( isDisableXmlReport() ); // todo change to Boolean in the version 3.0.0-M6
-
-        ConsoleOutputReporter outReporter =
-                consoleOutputReporter == null ? new DefaultConsoleOutputReporter() : consoleOutputReporter;
-
-        StatelessTestsetInfoReporter<WrappedReportEntry, TestSetStats> testsetReporter =
-                statelessTestsetInfoReporter == null
-                        ? new DefaultStatelessTestsetInfoReporter() : statelessTestsetInfoReporter;
+        statelessReporter.setDisable( isDisableXmlReport() ); // todo change to Boolean in the version 3.0.0-M6
 
         return new StartupReportConfiguration( isUseFile(), isPrintSummary(), getReportFormat(),
                                                isRedirectTestOutputToFile(),
                                                getReportsDirectory(), isTrimStackTrace(), getReportNameSuffix(),
                                                getStatisticsFile( configChecksum ), requiresRunHistory(),
                                                getRerunFailingTestsCount(), getReportSchemaLocation(), getEncoding(),
-                                               isForkMode, xmlReporter, outReporter, testsetReporter );
+                                               isForkMode, statelessReporter, consoleOutputReporter,
+                                               statelessTestsetInfoReporter );
     }
 
     private boolean isSpecificTestSpecified()
diff --git a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/extensions/DefaultConsoleOutputReporter.java b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/extensions/SurefireConsoleOutputReporter.java
similarity index 88%
rename from maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/extensions/DefaultConsoleOutputReporter.java
rename to maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/extensions/SurefireConsoleOutputReporter.java
index f9d6513..33cb135 100644
--- a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/extensions/DefaultConsoleOutputReporter.java
+++ b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/extensions/SurefireConsoleOutputReporter.java
@@ -28,13 +28,16 @@ import java.io.File;
 import java.io.PrintStream;
 
 /**
- * Extension for logger. This is a builder of {@link ConsoleOutputReportEventListener listeners}. The listeners handle
- * test set events.
+ * Default implementation for extension of console logger.
+ * Signatures can be changed between major, minor versions or milestones.
+ * <br>
+ * Builds {@link ConsoleOutputReportEventListener listeners}.
+ * The listeners handle test set events.
  *
  * @author <a href="mailto:tibordigana@apache.org">Tibor Digana (tibor17)</a>
  * @since 3.0.0-M4
  */
-public class DefaultConsoleOutputReporter
+public class SurefireConsoleOutputReporter
         extends ConsoleOutputReporter
 {
     @Override
@@ -74,7 +77,7 @@ public class DefaultConsoleOutputReporter
     @Override
     public String toString()
     {
-        return "DefaultConsoleOutputReporter{"
+        return "SurefireConsoleOutputReporter{"
                 + "disable=" + isDisable()
                 + ", encoding=" + getEncoding()
                 + '}';
diff --git a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/extensions/DefaultStatelessReporter.java b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/extensions/SurefireStatelessReporter.java
similarity index 89%
rename from maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/extensions/DefaultStatelessReporter.java
rename to maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/extensions/SurefireStatelessReporter.java
index 679157b..3721f83 100644
--- a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/extensions/DefaultStatelessReporter.java
+++ b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/extensions/SurefireStatelessReporter.java
@@ -26,19 +26,22 @@ import org.apache.maven.surefire.extensions.StatelessReportEventListener;
 import org.apache.maven.surefire.extensions.StatelessReporter;
 
 /**
- * Default implementation for extension of {@link StatelessXmlReporter} in plugin. This is a builder of
- * {@link StatelessReportEventListener listener}. The listener handles <em>testSetCompleted</em> event.
+ * Default implementation for extension of {@link StatelessXmlReporter} in plugin.
+ * Signatures can be changed between major, minor versions or milestones.
+ * <br>
+ * This is a builder of {@link StatelessReportEventListener listener}.
+ * The listener handles <em>testSetCompleted</em> event.
  *
  * author <a href="mailto:tibordigana@apache.org">Tibor Digana (tibor17)</a>
  * @since 3.0.0-M4
  */
-public class DefaultStatelessReporter
+public class SurefireStatelessReporter
         extends StatelessReporter<WrappedReportEntry, TestSetStats, DefaultStatelessReportMojoConfiguration>
 {
     /**
      * Activated in the injection point of MOJO.
      */
-    public DefaultStatelessReporter()
+    public SurefireStatelessReporter()
     {
         this( false, "3.0" );
     }
@@ -48,7 +51,7 @@ public class DefaultStatelessReporter
      * @param disable             {@code true} to disable performing the report
      * @param version             (xsd 3.0) version of the schema
      */
-    public DefaultStatelessReporter( boolean disable, String version )
+    public SurefireStatelessReporter( boolean disable, String version )
     {
         setDisable( disable );
         setVersion( version );
diff --git a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/extensions/DefaultStatelessTestsetInfoReporter.java b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/extensions/SurefireStatelessTestsetInfoReporter.java
similarity index 84%
rename from maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/extensions/DefaultStatelessTestsetInfoReporter.java
rename to maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/extensions/SurefireStatelessTestsetInfoReporter.java
index 499d220..541060e 100644
--- a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/extensions/DefaultStatelessTestsetInfoReporter.java
+++ b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/extensions/SurefireStatelessTestsetInfoReporter.java
@@ -32,13 +32,17 @@ import java.io.File;
 import java.nio.charset.Charset;
 
 /**
- * Extension listener for stateless file and console reporter of test-set.
- * Signatures can be changed between major, minor versions or milestones.
+ * Default implementation for extension of
+ * {@link StatelessTestsetInfoFileReportEventListener test-set event listener for stateless file and console reporter}
+ * in plugin. Signatures can be changed between major, minor versions or milestones.
+ * <br>
+ * Builds {@link StatelessTestsetInfoFileReportEventListener listeners}.
+ * The listener handles <em>testSetCompleted</em> event.
  *
  * @author <a href="mailto:tibordigana@apache.org">Tibor Digana (tibor17)</a>
  * @since 3.0.0-M4
  */
-public class DefaultStatelessTestsetInfoReporter
+public class SurefireStatelessTestsetInfoReporter
         extends StatelessTestsetInfoReporter<WrappedReportEntry, TestSetStats>
 {
     @Override
@@ -77,6 +81,6 @@ public class DefaultStatelessTestsetInfoReporter
     @Override
     public String toString()
     {
-        return "DefaultStatelessTestsetInfoReporter{disable=" + isDisable() + "}";
+        return "SurefireStatelessTestsetInfoReporter{disable=" + isDisable() + "}";
     }
 }
diff --git a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/extensions/JUnit5ConsoleOutputReporter.java b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/extensions/junit5/JUnit5ConsoleOutputReporter.java
similarity index 78%
rename from maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/extensions/JUnit5ConsoleOutputReporter.java
rename to maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/extensions/junit5/JUnit5ConsoleOutputReporter.java
index af13c38..f5802b7 100644
--- a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/extensions/JUnit5ConsoleOutputReporter.java
+++ b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/extensions/junit5/JUnit5ConsoleOutputReporter.java
@@ -1,4 +1,4 @@
-package org.apache.maven.plugin.surefire.extensions;
+package org.apache.maven.plugin.surefire.extensions.junit5;
 
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
@@ -19,14 +19,12 @@ package org.apache.maven.plugin.surefire.extensions;
  * under the License.
  */
 
+import org.apache.maven.plugin.surefire.extensions.SurefireConsoleOutputReporter;
 import org.apache.maven.plugin.surefire.report.ConsoleOutputFileReporter;
-import org.apache.maven.plugin.surefire.report.DirectConsoleOutput;
 import org.apache.maven.plugin.surefire.report.StatelessXmlReporter;
 import org.apache.maven.surefire.extensions.ConsoleOutputReportEventListener;
-import org.apache.maven.surefire.extensions.ConsoleOutputReporter;
 
 import java.io.File;
-import java.io.PrintStream;
 
 /**
  * The extension of {@link StatelessXmlReporter logger} for JUnit5.
@@ -36,7 +34,7 @@ import java.io.PrintStream;
  * @since 3.0.0-M4
  */
 public class JUnit5ConsoleOutputReporter
-        extends ConsoleOutputReporter
+        extends SurefireConsoleOutputReporter
 {
     /**
      * {@code false} by default.
@@ -64,23 +62,13 @@ public class JUnit5ConsoleOutputReporter
     }
 
     @Override
-    public ConsoleOutputReportEventListener createListener( PrintStream out, PrintStream err )
-    {
-        return new DirectConsoleOutput( out, err );
-    }
-
-    @Override
     public Object clone( ClassLoader target )
     {
         try
         {
-            Class<?> cls = target.loadClass( getClass().getName() );
-            Object clone = cls.newInstance();
+            Object clone = super.clone( target );
 
-            cls.getMethod( "setDisable", boolean.class )
-                    .invoke( clone, isDisable() );
-            cls.getMethod( "setEncoding", String.class )
-                    .invoke( clone, getEncoding() );
+            Class<?> cls = clone.getClass();
             cls.getMethod( "setUsePhrasedFileName", boolean.class )
                     .invoke( clone, isUsePhrasedFileName() );
 
diff --git a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/extensions/JUnit5StatelessTestsetInfoReporter.java b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/extensions/junit5/JUnit5StatelessTestsetInfoReporter.java
similarity index 92%
rename from maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/extensions/JUnit5StatelessTestsetInfoReporter.java
rename to maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/extensions/junit5/JUnit5StatelessTestsetInfoReporter.java
index f062c91..3c1b76b 100644
--- a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/extensions/JUnit5StatelessTestsetInfoReporter.java
+++ b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/extensions/junit5/JUnit5StatelessTestsetInfoReporter.java
@@ -1,4 +1,4 @@
-package org.apache.maven.plugin.surefire.extensions;
+package org.apache.maven.plugin.surefire.extensions.junit5;
 
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
@@ -19,6 +19,7 @@ package org.apache.maven.plugin.surefire.extensions;
  * under the License.
  */
 
+import org.apache.maven.plugin.surefire.extensions.SurefireStatelessTestsetInfoReporter;
 import org.apache.maven.plugin.surefire.log.api.ConsoleLogger;
 import org.apache.maven.plugin.surefire.report.ConsoleReporter;
 import org.apache.maven.plugin.surefire.report.FileReporter;
@@ -26,7 +27,6 @@ import org.apache.maven.plugin.surefire.report.TestSetStats;
 import org.apache.maven.plugin.surefire.report.WrappedReportEntry;
 import org.apache.maven.surefire.extensions.StatelessTestsetInfoConsoleReportEventListener;
 import org.apache.maven.surefire.extensions.StatelessTestsetInfoFileReportEventListener;
-import org.apache.maven.surefire.extensions.StatelessTestsetInfoReporter;
 
 import java.io.File;
 import java.nio.charset.Charset;
@@ -39,7 +39,7 @@ import java.nio.charset.Charset;
  * @since 3.0.0-M4
  */
 public class JUnit5StatelessTestsetInfoReporter
-        extends StatelessTestsetInfoReporter<WrappedReportEntry, TestSetStats>
+        extends SurefireStatelessTestsetInfoReporter
 {
     /**
      * {@code false} by default.
@@ -117,11 +117,9 @@ public class JUnit5StatelessTestsetInfoReporter
     {
         try
         {
-            Class<?> cls = target.loadClass( getClass().getName() );
-            Object clone = cls.newInstance();
+            Object clone = super.clone( target );
 
-            cls.getMethod( "setDisable", boolean.class )
-                    .invoke( clone, isDisable() );
+            Class<?> cls = clone.getClass();
             cls.getMethod( "setUsePhrasedFileName", boolean.class )
                     .invoke( clone, isUsePhrasedFileName() );
             cls.getMethod( "setUsePhrasedClassNameInTestCaseSummary", boolean.class )
diff --git a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/extensions/JUnit5Xml30StatelessReporter.java b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/extensions/junit5/JUnit5Xml30StatelessReporter.java
similarity index 95%
rename from maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/extensions/JUnit5Xml30StatelessReporter.java
rename to maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/extensions/junit5/JUnit5Xml30StatelessReporter.java
index b6f7d3f..83dca7d 100644
--- a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/extensions/JUnit5Xml30StatelessReporter.java
+++ b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/extensions/junit5/JUnit5Xml30StatelessReporter.java
@@ -1,4 +1,4 @@
-package org.apache.maven.plugin.surefire.extensions;
+package org.apache.maven.plugin.surefire.extensions.junit5;
 
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
@@ -19,6 +19,8 @@ package org.apache.maven.plugin.surefire.extensions;
  * under the License.
  */
 
+import org.apache.maven.plugin.surefire.extensions.DefaultStatelessReportMojoConfiguration;
+import org.apache.maven.plugin.surefire.extensions.SurefireStatelessReporter;
 import org.apache.maven.plugin.surefire.report.StatelessXmlReporter;
 import org.apache.maven.plugin.surefire.report.TestSetStats;
 import org.apache.maven.plugin.surefire.report.WrappedReportEntry;
@@ -32,7 +34,7 @@ import org.apache.maven.surefire.extensions.StatelessReportEventListener;
  * @since 3.0.0-M4
  */
 public class JUnit5Xml30StatelessReporter
-        extends DefaultStatelessReporter
+        extends SurefireStatelessReporter
 {
     /**
      * {@code false} by default.
diff --git a/maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/CommonReflectorTest.java b/maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/CommonReflectorTest.java
index 91e8f7d..b00d131 100644
--- a/maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/CommonReflectorTest.java
+++ b/maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/CommonReflectorTest.java
@@ -19,9 +19,9 @@ package org.apache.maven.plugin.surefire;
  * under the License.
  */
 
-import org.apache.maven.plugin.surefire.extensions.DefaultConsoleOutputReporter;
-import org.apache.maven.plugin.surefire.extensions.DefaultStatelessReporter;
-import org.apache.maven.plugin.surefire.extensions.DefaultStatelessTestsetInfoReporter;
+import org.apache.maven.plugin.surefire.extensions.SurefireConsoleOutputReporter;
+import org.apache.maven.plugin.surefire.extensions.SurefireStatelessReporter;
+import org.apache.maven.plugin.surefire.extensions.SurefireStatelessTestsetInfoReporter;
 import org.apache.maven.plugin.surefire.log.api.ConsoleLogger;
 import org.apache.maven.plugin.surefire.report.DefaultReporterFactory;
 import org.junit.Before;
@@ -40,9 +40,9 @@ public class CommonReflectorTest
     private ConsoleLogger consoleLogger;
     private File reportsDirectory;
     private File statistics;
-    private DefaultStatelessReporter xmlReporter;
-    private DefaultConsoleOutputReporter consoleOutputReporter = new DefaultConsoleOutputReporter();
-    private DefaultStatelessTestsetInfoReporter infoReporter = new DefaultStatelessTestsetInfoReporter();
+    private SurefireStatelessReporter xmlReporter;
+    private SurefireConsoleOutputReporter consoleOutputReporter = new SurefireConsoleOutputReporter();
+    private SurefireStatelessTestsetInfoReporter infoReporter = new SurefireStatelessTestsetInfoReporter();
 
     @Before
     public void setup()
@@ -50,8 +50,8 @@ public class CommonReflectorTest
         File target = new File( System.getProperty( "user.dir" ), "target" );
         reportsDirectory = new File( target, "tmp6" );
         statistics = new File( reportsDirectory, "TESTHASH" );
-        xmlReporter = new DefaultStatelessReporter();
-        infoReporter = new DefaultStatelessTestsetInfoReporter();
+        xmlReporter = new SurefireStatelessReporter();
+        infoReporter = new SurefireStatelessTestsetInfoReporter();
 
         startupReportConfiguration = new StartupReportConfiguration( true, true, "PLAIN", false, reportsDirectory,
                 false, null, statistics, false, 1, null, null, false,
diff --git a/maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/MojoMocklessTest.java b/maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/MojoMocklessTest.java
index 3e3237a..166cf4b 100644
--- a/maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/MojoMocklessTest.java
+++ b/maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/MojoMocklessTest.java
@@ -25,9 +25,9 @@ import org.apache.maven.artifact.handler.ArtifactHandler;
 import org.apache.maven.artifact.handler.DefaultArtifactHandler;
 import org.apache.maven.artifact.versioning.VersionRange;
 import org.apache.maven.plugin.MojoFailureException;
-import org.apache.maven.plugin.surefire.extensions.DefaultConsoleOutputReporter;
-import org.apache.maven.plugin.surefire.extensions.DefaultStatelessReporter;
-import org.apache.maven.plugin.surefire.extensions.DefaultStatelessTestsetInfoReporter;
+import org.apache.maven.plugin.surefire.extensions.SurefireConsoleOutputReporter;
+import org.apache.maven.plugin.surefire.extensions.SurefireStatelessReporter;
+import org.apache.maven.plugin.surefire.extensions.SurefireStatelessTestsetInfoReporter;
 import org.apache.maven.surefire.suite.RunResult;
 import org.apache.maven.surefire.util.DefaultScanResult;
 import org.apache.maven.toolchain.Toolchain;
@@ -52,28 +52,9 @@ public class MojoMocklessTest
     public void testGetStartupReportConfiguration() throws Exception
     {
         AbstractSurefireMojo surefirePlugin = new Mojo( null, null );
-        StartupReportConfiguration config = invokeMethod( surefirePlugin, "getStartupReportConfiguration", "", false );
-
-        assertThat( config.getXmlReporter() )
-                .isNotNull()
-                .isInstanceOf( DefaultStatelessReporter.class );
-
-        assertThat( config.getConsoleOutputReporter() )
-                .isNotNull()
-                .isInstanceOf( DefaultConsoleOutputReporter.class );
-
-        assertThat( config.getTestsetReporter() )
-                .isNotNull()
-                .isInstanceOf( DefaultStatelessTestsetInfoReporter.class );
-    }
-
-    @Test
-    public void testGetStartupReportConfiguration2() throws Exception
-    {
-        AbstractSurefireMojo surefirePlugin = new Mojo( null, null );
-        DefaultStatelessReporter xmlReporter = new DefaultStatelessReporter( false, "3.0" );
-        DefaultConsoleOutputReporter consoleReporter = new DefaultConsoleOutputReporter();
-        DefaultStatelessTestsetInfoReporter testsetInfoReporter = new DefaultStatelessTestsetInfoReporter();
+        SurefireStatelessReporter xmlReporter = new SurefireStatelessReporter( false, "3.0" );
+        SurefireConsoleOutputReporter consoleReporter = new SurefireConsoleOutputReporter();
+        SurefireStatelessTestsetInfoReporter testsetInfoReporter = new SurefireStatelessTestsetInfoReporter();
         setInternalState( surefirePlugin, "statelessReporter", xmlReporter );
         setInternalState( surefirePlugin, "consoleOutputReporter", consoleReporter );
         setInternalState( surefirePlugin, "statelessTestsetInfoReporter", testsetInfoReporter );
diff --git a/maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/booterclient/TestSetMockReporterFactory.java b/maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/booterclient/TestSetMockReporterFactory.java
index 9435bda..3770fa0 100644
--- a/maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/booterclient/TestSetMockReporterFactory.java
+++ b/maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/booterclient/TestSetMockReporterFactory.java
@@ -20,9 +20,9 @@ package org.apache.maven.plugin.surefire.booterclient;
  */
 
 import org.apache.maven.plugin.surefire.StartupReportConfiguration;
-import org.apache.maven.plugin.surefire.extensions.DefaultConsoleOutputReporter;
-import org.apache.maven.plugin.surefire.extensions.DefaultStatelessReporter;
-import org.apache.maven.plugin.surefire.extensions.DefaultStatelessTestsetInfoReporter;
+import org.apache.maven.plugin.surefire.extensions.SurefireConsoleOutputReporter;
+import org.apache.maven.plugin.surefire.extensions.SurefireStatelessReporter;
+import org.apache.maven.plugin.surefire.extensions.SurefireStatelessTestsetInfoReporter;
 import org.apache.maven.plugin.surefire.report.DefaultReporterFactory;
 import org.apache.maven.plugin.surefire.log.api.NullConsoleLogger;
 import org.apache.maven.surefire.report.RunListener;
@@ -59,7 +59,7 @@ public class TestSetMockReporterFactory
         File target = new File( "./target" );
         File statisticsFile = new File( target, "TESTHASH" );
         return new StartupReportConfiguration( true, true, "PLAIN", false, target, false, null, statisticsFile,
-                false, 0, null, null, true, new DefaultStatelessReporter(), new DefaultConsoleOutputReporter(),
-                new DefaultStatelessTestsetInfoReporter() );
+                false, 0, null, null, true, new SurefireStatelessReporter(), new SurefireConsoleOutputReporter(),
+                new SurefireStatelessTestsetInfoReporter() );
     }
 }
diff --git a/maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/report/DefaultReporterFactoryTest.java b/maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/report/DefaultReporterFactoryTest.java
index 9f43a44..4df9355 100644
--- a/maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/report/DefaultReporterFactoryTest.java
+++ b/maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/report/DefaultReporterFactoryTest.java
@@ -29,9 +29,9 @@ import java.util.Queue;
 import junit.framework.TestCase;
 
 import org.apache.maven.plugin.surefire.StartupReportConfiguration;
-import org.apache.maven.plugin.surefire.extensions.DefaultConsoleOutputReporter;
-import org.apache.maven.plugin.surefire.extensions.DefaultStatelessReporter;
-import org.apache.maven.plugin.surefire.extensions.DefaultStatelessTestsetInfoReporter;
+import org.apache.maven.plugin.surefire.extensions.SurefireConsoleOutputReporter;
+import org.apache.maven.plugin.surefire.extensions.SurefireStatelessReporter;
+import org.apache.maven.plugin.surefire.extensions.SurefireStatelessTestsetInfoReporter;
 import org.apache.maven.plugin.surefire.log.api.ConsoleLogger;
 import org.apache.maven.shared.utils.logging.MessageUtils;
 import org.apache.maven.surefire.report.RunStatistics;
@@ -79,8 +79,8 @@ public class DefaultReporterFactoryTest
         StartupReportConfiguration reportConfig =
                 new StartupReportConfiguration( true, true, "PLAIN", false, reportsDirectory, false, null,
                         new File( reportsDirectory, "TESTHASH" ), false, 1, null, null, false,
-                        new DefaultStatelessReporter(), new DefaultConsoleOutputReporter(),
-                        new DefaultStatelessTestsetInfoReporter() );
+                        new SurefireStatelessReporter(), new SurefireConsoleOutputReporter(),
+                        new SurefireStatelessTestsetInfoReporter() );
 
         DummyTestReporter reporter = new DummyTestReporter();
 
@@ -275,8 +275,8 @@ public class DefaultReporterFactoryTest
         StartupReportConfiguration reportConfig =
                 new StartupReportConfiguration( true, true, "PLAIN", false, reportsDirectory, false, null,
                         new File( reportsDirectory, "TESTHASH" ), false, 1, null, null, false,
-                        new DefaultStatelessReporter(), new DefaultConsoleOutputReporter(),
-                        new DefaultStatelessTestsetInfoReporter() );
+                        new SurefireStatelessReporter(), new SurefireConsoleOutputReporter(),
+                        new SurefireStatelessTestsetInfoReporter() );
 
         DummyTestReporter reporter = new DummyTestReporter();
 
@@ -328,8 +328,8 @@ public class DefaultReporterFactoryTest
         StartupReportConfiguration reportConfig =
                 new StartupReportConfiguration( true, true, "PLAIN", false, reportsDirectory, false, null,
                         new File( reportsDirectory, "TESTHASH" ), false, 0, null, null, false,
-                        new DefaultStatelessReporter(), new DefaultConsoleOutputReporter(),
-                        new DefaultStatelessTestsetInfoReporter() );
+                        new SurefireStatelessReporter(), new SurefireConsoleOutputReporter(),
+                        new SurefireStatelessTestsetInfoReporter() );
 
         assertTrue( reportConfig.isUseFile() );
         assertTrue( reportConfig.isPrintSummary() );
diff --git a/maven-surefire-common/src/test/java/org/apache/maven/surefire/extensions/ConsoleOutputReporterTest.java b/maven-surefire-common/src/test/java/org/apache/maven/surefire/extensions/ConsoleOutputReporterTest.java
index 8c8170a..546e554 100644
--- a/maven-surefire-common/src/test/java/org/apache/maven/surefire/extensions/ConsoleOutputReporterTest.java
+++ b/maven-surefire-common/src/test/java/org/apache/maven/surefire/extensions/ConsoleOutputReporterTest.java
@@ -19,8 +19,8 @@ package org.apache.maven.surefire.extensions;
  * under the License.
  */
 
-import org.apache.maven.plugin.surefire.extensions.DefaultConsoleOutputReporter;
-import org.apache.maven.plugin.surefire.extensions.JUnit5ConsoleOutputReporter;
+import org.apache.maven.plugin.surefire.extensions.SurefireConsoleOutputReporter;
+import org.apache.maven.plugin.surefire.extensions.junit5.JUnit5ConsoleOutputReporter;
 import org.apache.maven.plugin.surefire.report.ConsoleOutputFileReporter;
 import org.apache.maven.plugin.surefire.report.DirectConsoleOutput;
 import org.junit.Test;
@@ -31,14 +31,14 @@ import static org.fest.assertions.Assertions.assertThat;
 import static org.powermock.reflect.Whitebox.getInternalState;
 
 /**
- * tests for {@link DefaultConsoleOutputReporter} and {@link JUnit5ConsoleOutputReporter}.
+ * tests for {@link SurefireConsoleOutputReporter} and {@link JUnit5ConsoleOutputReporter}.
  */
 public class ConsoleOutputReporterTest
 {
     @Test
     public void shouldCloneConsoleReporter()
     {
-        DefaultConsoleOutputReporter extension = new DefaultConsoleOutputReporter();
+        SurefireConsoleOutputReporter extension = new SurefireConsoleOutputReporter();
         extension.setDisable( true );
         extension.setEncoding( "ISO-8859-1" );
         ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
@@ -46,27 +46,27 @@ public class ConsoleOutputReporterTest
         assertThat( clone )
                 .isNotSameAs( extension );
         assertThat( clone )
-                .isInstanceOf( DefaultConsoleOutputReporter.class );
+                .isInstanceOf( SurefireConsoleOutputReporter.class );
         assertThat( clone.toString() )
-                .isEqualTo( "DefaultConsoleOutputReporter{disable=true, encoding=ISO-8859-1}" );
-        assertThat( ( (DefaultConsoleOutputReporter) clone ).isDisable() )
+                .isEqualTo( "SurefireConsoleOutputReporter{disable=true, encoding=ISO-8859-1}" );
+        assertThat( ( (SurefireConsoleOutputReporter) clone ).isDisable() )
                 .isTrue();
-        assertThat( ( (DefaultConsoleOutputReporter) clone ).getEncoding() )
+        assertThat( ( (SurefireConsoleOutputReporter) clone ).getEncoding() )
                 .isEqualTo( "ISO-8859-1" );
     }
 
     @Test
     public void shouldAssertToStringConsoleReporter()
     {
-        DefaultConsoleOutputReporter extension = new DefaultConsoleOutputReporter();
+        SurefireConsoleOutputReporter extension = new SurefireConsoleOutputReporter();
         assertThat( extension.toString() )
-                .isEqualTo( "DefaultConsoleOutputReporter{disable=false, encoding=UTF-8}" );
+                .isEqualTo( "SurefireConsoleOutputReporter{disable=false, encoding=UTF-8}" );
     }
 
     @Test
     public void shouldCreateConsoleListener()
     {
-        ConsoleOutputReporter extension = new DefaultConsoleOutputReporter();
+        ConsoleOutputReporter extension = new SurefireConsoleOutputReporter();
 
         ConsoleOutputReportEventListener listener1 = extension.createListener( System.out, System.err );
         assertThat( listener1 )
diff --git a/maven-surefire-common/src/test/java/org/apache/maven/surefire/extensions/StatelessReporterTest.java b/maven-surefire-common/src/test/java/org/apache/maven/surefire/extensions/StatelessReporterTest.java
index 7450df6..bb06eff 100644
--- a/maven-surefire-common/src/test/java/org/apache/maven/surefire/extensions/StatelessReporterTest.java
+++ b/maven-surefire-common/src/test/java/org/apache/maven/surefire/extensions/StatelessReporterTest.java
@@ -20,8 +20,8 @@ package org.apache.maven.surefire.extensions;
  */
 
 import org.apache.maven.plugin.surefire.extensions.DefaultStatelessReportMojoConfiguration;
-import org.apache.maven.plugin.surefire.extensions.DefaultStatelessReporter;
-import org.apache.maven.plugin.surefire.extensions.JUnit5Xml30StatelessReporter;
+import org.apache.maven.plugin.surefire.extensions.SurefireStatelessReporter;
+import org.apache.maven.plugin.surefire.extensions.junit5.JUnit5Xml30StatelessReporter;
 import org.apache.maven.plugin.surefire.report.StatelessXmlReporter;
 import org.apache.maven.plugin.surefire.report.TestSetStats;
 import org.apache.maven.plugin.surefire.report.WrappedReportEntry;
@@ -36,14 +36,14 @@ import static org.fest.assertions.Assertions.assertThat;
 import static org.powermock.reflect.Whitebox.getInternalState;
 
 /**
- * tests for {@link DefaultStatelessReporter} and {@link JUnit5Xml30StatelessReporter}.
+ * tests for {@link SurefireStatelessReporter} and {@link JUnit5Xml30StatelessReporter}.
  */
 public class StatelessReporterTest
 {
     @Test
     public void shouldCloneXmlReporter()
     {
-        DefaultStatelessReporter extension = new DefaultStatelessReporter();
+        SurefireStatelessReporter extension = new SurefireStatelessReporter();
         extension.setDisable( true );
         extension.setVersion( "V1" );
         ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
@@ -52,21 +52,21 @@ public class StatelessReporterTest
         assertThat( clone )
                 .isNotSameAs( extension );
         assertThat( clone )
-                .isInstanceOf( DefaultStatelessReporter.class );
+                .isInstanceOf( SurefireStatelessReporter.class );
         assertThat( clone.toString() )
-                .isEqualTo( "DefaultStatelessReporter{version=V1, disable=true}" );
-        assertThat( ( (DefaultStatelessReporter) clone ).isDisable() )
+                .isEqualTo( "SurefireStatelessReporter{version=V1, disable=true}" );
+        assertThat( ( (SurefireStatelessReporter) clone ).isDisable() )
                 .isTrue();
-        assertThat( ( (DefaultStatelessReporter) clone ).getVersion() )
+        assertThat( ( (SurefireStatelessReporter) clone ).getVersion() )
                 .isEqualTo( "V1" );
     }
 
     @Test
     public void shouldAssertToStringXmlReporter()
     {
-        DefaultStatelessReporter extension = new DefaultStatelessReporter();
+        SurefireStatelessReporter extension = new SurefireStatelessReporter();
         assertThat( extension.toString() )
-                .isEqualTo( "DefaultStatelessReporter{version=3.0, disable=false}" );
+                .isEqualTo( "SurefireStatelessReporter{version=3.0, disable=false}" );
     }
 
     @Test
@@ -80,7 +80,7 @@ public class StatelessReporterTest
         DefaultStatelessReportMojoConfiguration config =
                 new DefaultStatelessReportMojoConfiguration( reportsDirectory, reportNameSuffix, true, 5, schema,
                         testClassMethodRunHistory );
-        DefaultStatelessReporter extension = new DefaultStatelessReporter();
+        SurefireStatelessReporter extension = new SurefireStatelessReporter();
 
         assertThat( extension.getVersion() )
                 .isEqualTo( "3.0" );
diff --git a/maven-surefire-common/src/test/java/org/apache/maven/surefire/extensions/StatelessTestsetInfoReporterTest.java b/maven-surefire-common/src/test/java/org/apache/maven/surefire/extensions/StatelessTestsetInfoReporterTest.java
index 7967268..aa10111 100644
--- a/maven-surefire-common/src/test/java/org/apache/maven/surefire/extensions/StatelessTestsetInfoReporterTest.java
+++ b/maven-surefire-common/src/test/java/org/apache/maven/surefire/extensions/StatelessTestsetInfoReporterTest.java
@@ -19,8 +19,8 @@ package org.apache.maven.surefire.extensions;
  * under the License.
  */
 
-import org.apache.maven.plugin.surefire.extensions.DefaultStatelessTestsetInfoReporter;
-import org.apache.maven.plugin.surefire.extensions.JUnit5StatelessTestsetInfoReporter;
+import org.apache.maven.plugin.surefire.extensions.SurefireStatelessTestsetInfoReporter;
+import org.apache.maven.plugin.surefire.extensions.junit5.JUnit5StatelessTestsetInfoReporter;
 import org.apache.maven.plugin.surefire.log.api.ConsoleLogger;
 import org.apache.maven.plugin.surefire.report.ConsoleReporter;
 import org.apache.maven.plugin.surefire.report.FileReporter;
@@ -52,7 +52,7 @@ import static org.mockito.Mockito.when;
 import static org.powermock.reflect.Whitebox.getInternalState;
 
 /**
- * tests for {@link DefaultStatelessTestsetInfoReporter} and {@link JUnit5StatelessTestsetInfoReporter}.
+ * tests for {@link SurefireStatelessTestsetInfoReporter} and {@link JUnit5StatelessTestsetInfoReporter}.
  */
 @RunWith( PowerMockRunner.class )
 @PowerMockIgnore( { "org.jacoco.agent.rt.*", "com.vladium.emma.rt.*" } )
@@ -70,7 +70,7 @@ public class StatelessTestsetInfoReporterTest
     @Test
     public void shouldCloneReporter()
     {
-        DefaultStatelessTestsetInfoReporter extension = new DefaultStatelessTestsetInfoReporter();
+        SurefireStatelessTestsetInfoReporter extension = new SurefireStatelessTestsetInfoReporter();
         extension.setDisable( true );
         ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
 
@@ -78,19 +78,19 @@ public class StatelessTestsetInfoReporterTest
         assertThat( clone )
                 .isNotSameAs( extension );
         assertThat( clone )
-                .isInstanceOf( DefaultStatelessTestsetInfoReporter.class );
+                .isInstanceOf( SurefireStatelessTestsetInfoReporter.class );
         assertThat( clone.toString() )
-                .isEqualTo( "DefaultStatelessTestsetInfoReporter{disable=true}" );
-        assertThat( ( (DefaultStatelessTestsetInfoReporter) clone ).isDisable() )
+                .isEqualTo( "SurefireStatelessTestsetInfoReporter{disable=true}" );
+        assertThat( ( (SurefireStatelessTestsetInfoReporter) clone ).isDisable() )
                 .isTrue();
     }
 
     @Test
     public void shouldAssertToStringReporter()
     {
-        DefaultStatelessTestsetInfoReporter extension = new DefaultStatelessTestsetInfoReporter();
+        SurefireStatelessTestsetInfoReporter extension = new SurefireStatelessTestsetInfoReporter();
         assertThat( extension.toString() )
-                .isEqualTo( "DefaultStatelessTestsetInfoReporter{disable=false}" );
+                .isEqualTo( "SurefireStatelessTestsetInfoReporter{disable=false}" );
     }
 
     @Test
@@ -100,7 +100,7 @@ public class StatelessTestsetInfoReporterTest
         File reportsDirectory = new File( target, "surefire-reports" );
         String reportNameSuffix = "suffix";
         Charset encoding = StandardCharsets.UTF_8;
-        DefaultStatelessTestsetInfoReporter extension = new DefaultStatelessTestsetInfoReporter();
+        SurefireStatelessTestsetInfoReporter extension = new SurefireStatelessTestsetInfoReporter();
 
         assertThat( extension.isDisable() )
                 .isFalse();
@@ -129,7 +129,7 @@ public class StatelessTestsetInfoReporterTest
     @Test
     public void shouldCreateConsoleReporterListener()
     {
-        DefaultStatelessTestsetInfoReporter extension = new DefaultStatelessTestsetInfoReporter();
+        SurefireStatelessTestsetInfoReporter extension = new SurefireStatelessTestsetInfoReporter();
 
         assertThat( extension.isDisable() )
                 .isFalse();
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 5114482..583792f 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,9 @@ package org.apache.maven.surefire.junitcore;
  */
 
 import org.apache.maven.plugin.surefire.StartupReportConfiguration;
-import org.apache.maven.plugin.surefire.extensions.DefaultConsoleOutputReporter;
-import org.apache.maven.plugin.surefire.extensions.DefaultStatelessReporter;
-import org.apache.maven.plugin.surefire.extensions.DefaultStatelessTestsetInfoReporter;
+import org.apache.maven.plugin.surefire.extensions.SurefireConsoleOutputReporter;
+import org.apache.maven.plugin.surefire.extensions.SurefireStatelessReporter;
+import org.apache.maven.plugin.surefire.extensions.SurefireStatelessTestsetInfoReporter;
 import org.apache.maven.plugin.surefire.log.api.NullConsoleLogger;
 import org.apache.maven.plugin.surefire.report.DefaultReporterFactory;
 import org.apache.maven.surefire.report.ConsoleOutputReceiver;
@@ -108,7 +108,7 @@ public class JUnitCoreTester
         File target = new File( "./target" );
         File statisticsFile = new File( target, "TESTHASHxXML" );
         return new StartupReportConfiguration( true, true, "PLAIN", false, target, false, null, statisticsFile,
-                false, 0, null, null, false, new DefaultStatelessReporter(), new DefaultConsoleOutputReporter(),
-                new DefaultStatelessTestsetInfoReporter() );
+                false, 0, null, null, false, new SurefireStatelessReporter(), new SurefireConsoleOutputReporter(),
+                new SurefireStatelessTestsetInfoReporter() );
     }
 }