You are viewing a plain text version of this content. The canonical link for it is here.
Posted to surefire-commits@maven.apache.org by kr...@apache.org on 2010/12/09 23:41:26 UTC

svn commit: r1044155 - in /maven/surefire/trunk: surefire-api/src/main/java/org/apache/maven/surefire/providerapi/ surefire-api/src/main/java/org/apache/maven/surefire/report/ surefire-integration-tests/src/test/resources/surefire-141-pluggableprovider...

Author: krosenvold
Date: Thu Dec  9 22:41:25 2010
New Revision: 1044155

URL: http://svn.apache.org/viewvc?rev=1044155&view=rev
Log:
o Extracted an interface for ReporterFactory

Some of the old providers just cast this back to RMF, but it's
important to get interfaces in while it's still easy.

Added:
    maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/report/ReporterFactory.java   (with props)
Modified:
    maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/providerapi/BaseProviderFactory.java
    maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/providerapi/ProviderParameters.java
    maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/report/ReporterManagerFactory2.java
    maven/surefire/trunk/surefire-integration-tests/src/test/resources/surefire-141-pluggableproviders/test-provider/src/main/java/org/apache/maven/surefire/testprovider/TestProvider.java
    maven/surefire/trunk/surefire-providers/surefire-junit/src/main/java/org/apache/maven/surefire/junit/JUnit3Provider.java
    maven/surefire/trunk/surefire-providers/surefire-junit4/src/main/java/org/apache/maven/surefire/junit4/JUnit4Provider.java
    maven/surefire/trunk/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/JUnitCoreProvider.java
    maven/surefire/trunk/surefire-providers/surefire-testng/src/main/java/org/apache/maven/surefire/testng/TestNGProvider.java

Modified: maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/providerapi/BaseProviderFactory.java
URL: http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/providerapi/BaseProviderFactory.java?rev=1044155&r1=1044154&r2=1044155&view=diff
==============================================================================
--- maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/providerapi/BaseProviderFactory.java (original)
+++ maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/providerapi/BaseProviderFactory.java Thu Dec  9 22:41:25 2010
@@ -20,6 +20,7 @@ package org.apache.maven.surefire.provid
  */
 
 import org.apache.maven.surefire.report.ReporterConfiguration;
+import org.apache.maven.surefire.report.ReporterFactory;
 import org.apache.maven.surefire.report.ReporterManagerFactory;
 import org.apache.maven.surefire.report.ReporterManagerFactory2;
 import org.apache.maven.surefire.testset.DirectoryScannerParameters;
@@ -63,9 +64,9 @@ public class BaseProviderFactory
                                             directoryScannerParameters.getExcludes() );
     }
 
-    public ReporterManagerFactory getReporterManagerFactory()
+    public ReporterFactory getReporterFactory()
     {
-        ReporterManagerFactory reporterManagerFactory =
+        ReporterFactory reporterManagerFactory =
             new ReporterManagerFactory2( surefireClassLoader, reporterConfiguration );
         if ( providerProperties != null )
         {

Modified: maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/providerapi/ProviderParameters.java
URL: http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/providerapi/ProviderParameters.java?rev=1044155&r1=1044154&r2=1044155&view=diff
==============================================================================
--- maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/providerapi/ProviderParameters.java (original)
+++ maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/providerapi/ProviderParameters.java Thu Dec  9 22:41:25 2010
@@ -1,6 +1,7 @@
 package org.apache.maven.surefire.providerapi;
 
 import org.apache.maven.surefire.report.ReporterConfiguration;
+import org.apache.maven.surefire.report.ReporterFactory;
 import org.apache.maven.surefire.report.ReporterManagerFactory;
 import org.apache.maven.surefire.testset.DirectoryScannerParameters;
 import org.apache.maven.surefire.testset.TestArtifactInfo;
@@ -27,7 +28,7 @@ public interface ProviderParameters
      * Provides features for creating reporting objects
      * @return A ReporterManagerFactory that allows the creation of one or more ReporterManagers
      */
-    ReporterManagerFactory getReporterManagerFactory();
+    ReporterFactory getReporterFactory();
 
     /**
      * The raw parameters used in creating the directory scanner

Added: maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/report/ReporterFactory.java
URL: http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/report/ReporterFactory.java?rev=1044155&view=auto
==============================================================================
--- maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/report/ReporterFactory.java (added)
+++ maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/report/ReporterFactory.java Thu Dec  9 22:41:25 2010
@@ -0,0 +1,39 @@
+package org.apache.maven.surefire.report;
+
+/*
+ * 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.suite.RunResult;
+import org.apache.maven.surefire.testset.TestSetFailedException;
+
+/**
+ * @author Kristian Rosenvold
+ */
+public interface ReporterFactory
+{
+    public RunStatistics getGlobalRunStatistics();
+
+    public RunResult close();
+
+    public void warnIfNoTests() throws TestSetFailedException;
+
+    public ReporterManager createReporterManager() throws TestSetFailedException;
+
+}

Propchange: maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/report/ReporterFactory.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/report/ReporterManagerFactory2.java
URL: http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/report/ReporterManagerFactory2.java?rev=1044155&r1=1044154&r2=1044155&view=diff
==============================================================================
--- maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/report/ReporterManagerFactory2.java (original)
+++ maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/report/ReporterManagerFactory2.java Thu Dec  9 22:41:25 2010
@@ -40,7 +40,7 @@ import java.util.List;
  * @author Kristian Rosenvold (extracted factory)
  */
 public class ReporterManagerFactory2
-    extends ReporterManagerFactory
+    extends ReporterManagerFactory implements ReporterFactory
 {
     private final ReporterConfiguration reporterConfiguration;
 

Modified: maven/surefire/trunk/surefire-integration-tests/src/test/resources/surefire-141-pluggableproviders/test-provider/src/main/java/org/apache/maven/surefire/testprovider/TestProvider.java
URL: http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-integration-tests/src/test/resources/surefire-141-pluggableproviders/test-provider/src/main/java/org/apache/maven/surefire/testprovider/TestProvider.java?rev=1044155&r1=1044154&r2=1044155&view=diff
==============================================================================
--- maven/surefire/trunk/surefire-integration-tests/src/test/resources/surefire-141-pluggableproviders/test-provider/src/main/java/org/apache/maven/surefire/testprovider/TestProvider.java (original)
+++ maven/surefire/trunk/surefire-integration-tests/src/test/resources/surefire-141-pluggableproviders/test-provider/src/main/java/org/apache/maven/surefire/testprovider/TestProvider.java Thu Dec  9 22:41:25 2010
@@ -22,6 +22,7 @@ package org.apache.maven.surefire.testpr
 import org.apache.maven.surefire.providerapi.ProviderParameters;
 import org.apache.maven.surefire.providerapi.SurefireProvider;
 import org.apache.maven.surefire.report.ReporterException;
+import org.apache.maven.surefire.report.ReporterFactory;
 import org.apache.maven.surefire.report.ReporterManagerFactory;
 import org.apache.maven.surefire.suite.RunResult;
 import org.apache.maven.surefire.testset.TestSetFailedException;
@@ -34,12 +35,12 @@ import java.util.Iterator;
 public class TestProvider
     implements SurefireProvider
 {
-    private final ReporterManagerFactory reporterManagerFactory;
+    private final ReporterFactory reporterManagerFactory;
     private final ClassLoader testClassLoader;
 
     public TestProvider( ProviderParameters booterParameters )
     {
-        this.reporterManagerFactory = booterParameters.getReporterManagerFactory();
+        this.reporterManagerFactory = booterParameters.getReporterFactory();
         this.testClassLoader = booterParameters.getTestClassLoader();
     }
 

Modified: maven/surefire/trunk/surefire-providers/surefire-junit/src/main/java/org/apache/maven/surefire/junit/JUnit3Provider.java
URL: http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-providers/surefire-junit/src/main/java/org/apache/maven/surefire/junit/JUnit3Provider.java?rev=1044155&r1=1044154&r2=1044155&view=diff
==============================================================================
--- maven/surefire/trunk/surefire-providers/surefire-junit/src/main/java/org/apache/maven/surefire/junit/JUnit3Provider.java (original)
+++ maven/surefire/trunk/surefire-providers/surefire-junit/src/main/java/org/apache/maven/surefire/junit/JUnit3Provider.java Thu Dec  9 22:41:25 2010
@@ -22,6 +22,7 @@ package org.apache.maven.surefire.junit;
 import org.apache.maven.surefire.providerapi.ProviderParameters;
 import org.apache.maven.surefire.providerapi.SurefireProvider;
 import org.apache.maven.surefire.report.ReporterException;
+import org.apache.maven.surefire.report.ReporterFactory;
 import org.apache.maven.surefire.report.ReporterManagerFactory;
 import org.apache.maven.surefire.suite.RunResult;
 import org.apache.maven.surefire.testset.TestSetFailedException;
@@ -36,7 +37,7 @@ import java.util.Iterator;
 public class JUnit3Provider
     implements SurefireProvider
 {
-    private final ReporterManagerFactory reporterManagerFactory;
+    private final ReporterFactory reporterFactory;
 
     private final ClassLoader testClassLoader;
 
@@ -44,7 +45,7 @@ public class JUnit3Provider
 
     public JUnit3Provider( ProviderParameters booterParameters )
     {
-        this.reporterManagerFactory = booterParameters.getReporterManagerFactory();
+        this.reporterFactory = booterParameters.getReporterFactory();
         this.testClassLoader = booterParameters.getTestClassLoader();
         this.directoryScanner = booterParameters.getDirectoryScanner();
     }
@@ -56,16 +57,16 @@ public class JUnit3Provider
         suite.locateTestSets( testClassLoader );
         if ( forkTestSet != null )
         {
-            suite.execute( (String) forkTestSet, reporterManagerFactory, testClassLoader );
+            suite.execute( (String) forkTestSet, (ReporterManagerFactory) reporterFactory, testClassLoader );
         }
         else
         {
-            suite.execute( reporterManagerFactory, testClassLoader );
+            suite.execute( (ReporterManagerFactory) reporterFactory, testClassLoader );
         }
 
-        reporterManagerFactory.warnIfNoTests();
+        reporterFactory.warnIfNoTests();
 
-        return reporterManagerFactory.close();
+        return reporterFactory.close();
     }
 
     private JUnitDirectoryTestSuite getSuite()

Modified: maven/surefire/trunk/surefire-providers/surefire-junit4/src/main/java/org/apache/maven/surefire/junit4/JUnit4Provider.java
URL: http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-providers/surefire-junit4/src/main/java/org/apache/maven/surefire/junit4/JUnit4Provider.java?rev=1044155&r1=1044154&r2=1044155&view=diff
==============================================================================
--- maven/surefire/trunk/surefire-providers/surefire-junit4/src/main/java/org/apache/maven/surefire/junit4/JUnit4Provider.java (original)
+++ maven/surefire/trunk/surefire-providers/surefire-junit4/src/main/java/org/apache/maven/surefire/junit4/JUnit4Provider.java Thu Dec  9 22:41:25 2010
@@ -22,6 +22,7 @@ package org.apache.maven.surefire.junit4
 import org.apache.maven.surefire.providerapi.ProviderParameters;
 import org.apache.maven.surefire.providerapi.SurefireProvider;
 import org.apache.maven.surefire.report.ReporterException;
+import org.apache.maven.surefire.report.ReporterFactory;
 import org.apache.maven.surefire.report.ReporterManagerFactory;
 import org.apache.maven.surefire.suite.RunResult;
 import org.apache.maven.surefire.testset.TestSetFailedException;
@@ -37,7 +38,7 @@ public class JUnit4Provider
     implements SurefireProvider
 {
 
-    private final ReporterManagerFactory reporterManagerFactory;
+    private final ReporterFactory reporterFactory;
 
     private final ClassLoader testClassLoader;
 
@@ -45,7 +46,7 @@ public class JUnit4Provider
 
     public JUnit4Provider( ProviderParameters booterParameters )
     {
-        this.reporterManagerFactory = booterParameters.getReporterManagerFactory();
+        this.reporterFactory = booterParameters.getReporterFactory();
         this.testClassLoader = booterParameters.getTestClassLoader();
         this.directoryScanner = booterParameters.getDirectoryScanner();
     }
@@ -58,15 +59,15 @@ public class JUnit4Provider
         suite.locateTestSets( testClassLoader );
         if ( forkTestSet != null )
         {
-            suite.execute( (String) forkTestSet, reporterManagerFactory, testClassLoader );
+            suite.execute( (String) forkTestSet, ( ReporterManagerFactory)reporterFactory, testClassLoader );
         }
         else
         {
-            suite.execute( reporterManagerFactory, testClassLoader );
+            suite.execute( ( ReporterManagerFactory)reporterFactory, testClassLoader );
         }
-        reporterManagerFactory.warnIfNoTests();
+        reporterFactory.warnIfNoTests();
 
-        return reporterManagerFactory.close();
+        return reporterFactory.close();
     }
 
     private JUnit4DirectoryTestSuite getSuite()

Modified: maven/surefire/trunk/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/JUnitCoreProvider.java
URL: http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/JUnitCoreProvider.java?rev=1044155&r1=1044154&r2=1044155&view=diff
==============================================================================
--- maven/surefire/trunk/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/JUnitCoreProvider.java (original)
+++ maven/surefire/trunk/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/JUnitCoreProvider.java Thu Dec  9 22:41:25 2010
@@ -23,6 +23,7 @@ import org.apache.maven.surefire.NonAbst
 import org.apache.maven.surefire.providerapi.ProviderParameters;
 import org.apache.maven.surefire.providerapi.SurefireProvider;
 import org.apache.maven.surefire.report.ReporterException;
+import org.apache.maven.surefire.report.ReporterFactory;
 import org.apache.maven.surefire.report.ReporterManagerFactory;
 import org.apache.maven.surefire.suite.RunResult;
 import org.apache.maven.surefire.testset.TestSetFailedException;
@@ -37,7 +38,7 @@ import java.util.Iterator;
 public class JUnitCoreProvider
     implements SurefireProvider
 {
-    private final ReporterManagerFactory reporterManagerFactory;
+    private final ReporterFactory reporterFactory;
 
     private final ClassLoader testClassLoader;
 
@@ -52,7 +53,7 @@ public class JUnitCoreProvider
     @SuppressWarnings( { "UnusedDeclaration" } )
     public JUnitCoreProvider( ProviderParameters booterParameters )
     {
-        this.reporterManagerFactory = booterParameters.getReporterManagerFactory();
+        this.reporterFactory = booterParameters.getReporterFactory();
         this.testClassLoader = booterParameters.getTestClassLoader();
         this.directoryScanner = booterParameters.getDirectoryScanner();
         this.jUnitCoreParameters = new JUnitCoreParameters( booterParameters.getProviderProperties() );
@@ -74,7 +75,7 @@ public class JUnitCoreProvider
         throws TestSetFailedException, ReporterException
     {
         final String message = "Concurrency config is " + jUnitCoreParameters.toString();
-        this.reporterManagerFactory.createReporterManager().writeConsoleMessage( message );
+        this.reporterFactory.createReporterManager().writeConsoleMessage( message );
 
         if ( testsToRun == null )
         {
@@ -82,9 +83,9 @@ public class JUnitCoreProvider
                 ? scanClassPath()
                 : TestsToRun.fromClassName( (String) forkTestSet, testClassLoader );
         }
-        JUnitCoreWrapper.execute( testsToRun.getLocatedClasses(), this.reporterManagerFactory, jUnitCoreParameters );
-        reporterManagerFactory.warnIfNoTests();
-        return reporterManagerFactory.close();
+        JUnitCoreWrapper.execute( testsToRun.getLocatedClasses(), ( ReporterManagerFactory)this.reporterFactory, jUnitCoreParameters );
+        reporterFactory.warnIfNoTests();
+        return reporterFactory.close();
     }
 
     private TestsToRun scanClassPath()

Modified: maven/surefire/trunk/surefire-providers/surefire-testng/src/main/java/org/apache/maven/surefire/testng/TestNGProvider.java
URL: http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-providers/surefire-testng/src/main/java/org/apache/maven/surefire/testng/TestNGProvider.java?rev=1044155&r1=1044154&r2=1044155&view=diff
==============================================================================
--- maven/surefire/trunk/surefire-providers/surefire-testng/src/main/java/org/apache/maven/surefire/testng/TestNGProvider.java (original)
+++ maven/surefire/trunk/surefire-providers/surefire-testng/src/main/java/org/apache/maven/surefire/testng/TestNGProvider.java Thu Dec  9 22:41:25 2010
@@ -23,6 +23,7 @@ import org.apache.maven.surefire.provide
 import org.apache.maven.surefire.providerapi.SurefireProvider;
 import org.apache.maven.surefire.report.ReporterConfiguration;
 import org.apache.maven.surefire.report.ReporterException;
+import org.apache.maven.surefire.report.ReporterFactory;
 import org.apache.maven.surefire.report.ReporterManagerFactory;
 import org.apache.maven.surefire.suite.RunResult;
 import org.apache.maven.surefire.suite.SurefireTestSuite;
@@ -49,7 +50,7 @@ public class TestNGProvider
 
     private final ReporterConfiguration reporterConfiguration;
 
-    private final ReporterManagerFactory reporterManagerFactory;
+    private final ReporterFactory reporterFactory;
 
     private final ClassLoader testClassLoader;
 
@@ -61,7 +62,7 @@ public class TestNGProvider
 
     public TestNGProvider( ProviderParameters booterParameters )
     {
-        this.reporterManagerFactory = booterParameters.getReporterManagerFactory();
+        this.reporterFactory = booterParameters.getReporterFactory();
         this.testClassLoader = booterParameters.getTestClassLoader();
         this.directoryScannerParameters = booterParameters.getDirectoryScannerParameters();
         this.providerProperties = booterParameters.getProviderProperties();
@@ -83,14 +84,14 @@ public class TestNGProvider
         suite.locateTestSets( testClassLoader );
         if ( forkTestSet != null && testRequest == null )
         {
-            suite.execute( (String) forkTestSet, reporterManagerFactory, testClassLoader );
+            suite.execute( (String) forkTestSet, (ReporterManagerFactory)reporterFactory, testClassLoader );
         }
         else
         {
-            suite.execute( reporterManagerFactory, testClassLoader );
+            suite.execute( (ReporterManagerFactory)reporterFactory, testClassLoader );
         }
-        reporterManagerFactory.warnIfNoTests();
-        return reporterManagerFactory.close();
+        reporterFactory.warnIfNoTests();
+        return reporterFactory.close();
     }
 
     boolean isTestNGXmlTestSuite( TestRequest testSuiteDefinition )