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/13 19:56:58 UTC
svn commit: r1045300 - in /maven/surefire/trunk:
maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/
surefire-api/src/main/java/org/apache/maven/surefire/util/
surefire-booter/src/main/java/org/apache/maven/surefire/boote...
Author: krosenvold
Date: Mon Dec 13 18:56:57 2010
New Revision: 1045300
URL: http://svn.apache.org/viewvc?rev=1045300&view=rev
Log:
[SUREFIRE-662] Fixed for junit4
A couple of minor other adjustments too
Added:
maven/surefire/trunk/surefire-providers/surefire-junit/src/main/java/org/apache/maven/surefire/junit/JUnit3TestChecker.java (with props)
Modified:
maven/surefire/trunk/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/BooterSerializer.java
maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/util/DefaultDirectoryScanner.java
maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/util/TestsToRun.java
maven/surefire/trunk/surefire-booter/src/main/java/org/apache/maven/surefire/booter/PropertiesWrapper.java
maven/surefire/trunk/surefire-providers/surefire-junit4/src/main/java/org/apache/maven/surefire/junit4/JUnit4DirectoryTestSuite.java
maven/surefire/trunk/surefire-providers/surefire-junit4/src/main/java/org/apache/maven/surefire/junit4/JUnit4Provider.java
maven/surefire/trunk/surefire-providers/surefire-junit4/src/main/java/org/apache/maven/surefire/junit4/JUnit4TestSet.java
maven/surefire/trunk/surefire-providers/surefire-junit4/src/main/java/org/apache/maven/surefire/junit4/JUnit4TestSetReporter.java
maven/surefire/trunk/surefire-providers/surefire-junit47/pom.xml
maven/surefire/trunk/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/JUnitCoreParameters.java
maven/surefire/trunk/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/JUnitCoreProvider.java
Modified: maven/surefire/trunk/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/BooterSerializer.java
URL: http://svn.apache.org/viewvc/maven/surefire/trunk/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/BooterSerializer.java?rev=1045300&r1=1045299&r2=1045300&view=diff
==============================================================================
--- maven/surefire/trunk/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/BooterSerializer.java (original)
+++ maven/surefire/trunk/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/BooterSerializer.java Mon Dec 13 18:56:57 2010
@@ -108,8 +108,7 @@ public class BooterSerializer
Boolean rep = reporterConfiguration.isTrimStackTrace();
properties.setProperty( BooterConstants.ISTRIMSTACKTRACE, rep );
- properties.setProperty( BooterConstants.REPORTSDIRECTORY,
- reporterConfiguration.getReportsDirectory());
+ properties.setProperty( BooterConstants.REPORTSDIRECTORY, reporterConfiguration.getReportsDirectory() );
ClassLoaderConfiguration classLoaderConfiguration = providerConfiguration.getClassLoaderConfiguration();
properties.setProperty( BooterConstants.USESYSTEMCLASSLOADER,
String.valueOf( classLoaderConfiguration.isUseSystemClassLoader() ) );
@@ -131,7 +130,16 @@ public class BooterSerializer
{
return null;
}
- return value.getClass().getName() + "|" + value.toString();
+ String valueToUse;
+ if ( value instanceof Class )
+ {
+ valueToUse = ( (Class) value ).getName();
+ }
+ else
+ {
+ valueToUse = value.toString();
+ }
+ return value.getClass().getName() + "|" + valueToUse;
}
private void addPropertiesForTypeHolder( List typeHolderList, Properties properties, String propertyPrefix )
Modified: maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/util/DefaultDirectoryScanner.java
URL: http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/util/DefaultDirectoryScanner.java?rev=1045300&r1=1045299&r2=1045300&view=diff
==============================================================================
--- maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/util/DefaultDirectoryScanner.java (original)
+++ maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/util/DefaultDirectoryScanner.java Mon Dec 13 18:56:57 2010
@@ -47,6 +47,8 @@ public class DefaultDirectoryScanner
private final List excludes;
+ private final List classesSkippedByValidation = new ArrayList();
+
public DefaultDirectoryScanner( File basedir, List includes, List excludes )
{
@@ -70,6 +72,10 @@ public class DefaultDirectoryScanner
{
result.add( testClass );
}
+ else
+ {
+ classesSkippedByValidation.add( testClass );
+ }
}
return new TestsToRun( result );
}
@@ -150,4 +156,9 @@ public class DefaultDirectoryScanner
{
return excludes;
}
+
+ public List getClassesSkippedByValidation()
+ {
+ return classesSkippedByValidation;
+ }
}
Modified: maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/util/TestsToRun.java
URL: http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/util/TestsToRun.java?rev=1045300&r1=1045299&r2=1045300&view=diff
==============================================================================
--- maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/util/TestsToRun.java (original)
+++ maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/util/TestsToRun.java Mon Dec 13 18:56:57 2010
@@ -45,7 +45,7 @@ public class TestsToRun
*/
public TestsToRun( List locatedClasses )
{
- this.locatedClasses = Collections.unmodifiableList( locatedClasses);
+ this.locatedClasses = Collections.unmodifiableList( locatedClasses );
Set testSets = new HashSet();
for ( Iterator iterator = locatedClasses.iterator(); iterator.hasNext(); )
@@ -72,6 +72,12 @@ public class TestsToRun
}
}
+ public static TestsToRun fromClass( Class clazz )
+ throws TestSetFailedException
+ {
+ return new TestsToRun( Arrays.asList( new Class[]{ clazz } ) );
+ }
+
public int size()
{
return locatedClasses.size();
@@ -84,6 +90,7 @@ public class TestsToRun
/**
* Returns an iterator over the located java.lang.Class objects
+ *
* @return an unmodifiable iterator
*/
public Iterator iterator()
Modified: maven/surefire/trunk/surefire-booter/src/main/java/org/apache/maven/surefire/booter/PropertiesWrapper.java
URL: http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-booter/src/main/java/org/apache/maven/surefire/booter/PropertiesWrapper.java?rev=1045300&r1=1045299&r2=1045300&view=diff
==============================================================================
--- maven/surefire/trunk/surefire-booter/src/main/java/org/apache/maven/surefire/booter/PropertiesWrapper.java (original)
+++ maven/surefire/trunk/surefire-booter/src/main/java/org/apache/maven/surefire/booter/PropertiesWrapper.java Mon Dec 13 18:56:57 2010
@@ -19,6 +19,8 @@ package org.apache.maven.surefire.booter
* under the License.
*/
+import org.apache.maven.surefire.util.ReflectionUtils;
+
import java.io.ByteArrayInputStream;
import java.io.File;
import java.util.*;
@@ -129,6 +131,10 @@ public class PropertiesWrapper
{
return param;
}
+ else if ( typeName.equals( Class.class.getName() ) )
+ {
+ return ReflectionUtils.loadClass( Thread.currentThread().getContextClassLoader(), param );
+ }
else if ( typeName.equals( File.class.getName() ) )
{
return new File( param );
@@ -203,6 +209,7 @@ public class PropertiesWrapper
setProperty( key, file.toString() );
}
}
+
public void setProperty( String key, Boolean aBoolean )
{
if ( aBoolean != null )
Added: maven/surefire/trunk/surefire-providers/surefire-junit/src/main/java/org/apache/maven/surefire/junit/JUnit3TestChecker.java
URL: http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-providers/surefire-junit/src/main/java/org/apache/maven/surefire/junit/JUnit3TestChecker.java?rev=1045300&view=auto
==============================================================================
--- maven/surefire/trunk/surefire-providers/surefire-junit/src/main/java/org/apache/maven/surefire/junit/JUnit3TestChecker.java (added)
+++ maven/surefire/trunk/surefire-providers/surefire-junit/src/main/java/org/apache/maven/surefire/junit/JUnit3TestChecker.java Mon Dec 13 18:56:57 2010
@@ -0,0 +1,61 @@
+package org.apache.maven.surefire.junit;
+/*
+ * 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.util.ReflectionUtils;
+import org.apache.maven.surefire.util.ScannerFilter;
+
+/**
+ * @author Kristian Rosenvold
+ */
+public class JUnit3TestChecker
+ implements ScannerFilter
+{
+ private final Class junitClass;
+
+
+ public JUnit3TestChecker( ClassLoader testClassLoader )
+ {
+ junitClass = ReflectionUtils.tryLoadClass( testClassLoader, "junit.framework.Test" );
+ }
+
+ public boolean accept( Class testClass )
+ {
+ return isValidJUnit3Test( testClass );
+ }
+
+ public boolean isValidJUnit3Test( Class testClass )
+ {
+ return junitClass != null && junitClass.isAssignableFrom( testClass ) ||
+ classHasPublicNoArgConstructor( testClass );
+ }
+
+ private boolean classHasPublicNoArgConstructor( Class testClass )
+ {
+ try
+ {
+ testClass.getConstructor( new Class[0] );
+ return true;
+ }
+ catch ( Exception e )
+ {
+ return false;
+ }
+ }
+}
Propchange: maven/surefire/trunk/surefire-providers/surefire-junit/src/main/java/org/apache/maven/surefire/junit/JUnit3TestChecker.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: maven/surefire/trunk/surefire-providers/surefire-junit4/src/main/java/org/apache/maven/surefire/junit4/JUnit4DirectoryTestSuite.java
URL: http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-providers/surefire-junit4/src/main/java/org/apache/maven/surefire/junit4/JUnit4DirectoryTestSuite.java?rev=1045300&r1=1045299&r2=1045300&view=diff
==============================================================================
--- maven/surefire/trunk/surefire-providers/surefire-junit4/src/main/java/org/apache/maven/surefire/junit4/JUnit4DirectoryTestSuite.java (original)
+++ maven/surefire/trunk/surefire-providers/surefire-junit4/src/main/java/org/apache/maven/surefire/junit4/JUnit4DirectoryTestSuite.java Mon Dec 13 18:56:57 2010
@@ -45,6 +45,7 @@ public class JUnit4DirectoryTestSuite
public JUnit4DirectoryTestSuite( File basedir, ArrayList includes, ArrayList excludes )
{
super( basedir, includes, excludes );
+ this.customRunListeners = new ArrayList<RunListener>();
}
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=1045300&r1=1045299&r2=1045300&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 Mon Dec 13 18:56:57 2010
@@ -19,20 +19,28 @@ package org.apache.maven.surefire.junit4
* under the License.
*/
+import org.apache.maven.surefire.Surefire;
import org.apache.maven.surefire.providerapi.ProviderParameters;
import org.apache.maven.surefire.providerapi.SurefireProvider;
+import org.apache.maven.surefire.report.DefaultReportEntry;
+import org.apache.maven.surefire.report.ReportEntry;
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.report.ReporterManager;
import org.apache.maven.surefire.suite.RunResult;
import org.apache.maven.surefire.testset.TestSetFailedException;
+import org.apache.maven.surefire.util.DefaultDirectoryScanner;
import org.apache.maven.surefire.util.DirectoryScanner;
import org.apache.maven.surefire.util.ReflectionUtils;
+import org.apache.maven.surefire.util.TestsToRun;
import org.junit.runner.notification.RunListener;
+import org.junit.runner.notification.RunNotifier;
+import java.util.ArrayList;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
+import java.util.ResourceBundle;
/**
@@ -43,6 +51,8 @@ public class JUnit4Provider
implements SurefireProvider
{
+ private static ResourceBundle bundle = ResourceBundle.getBundle( Surefire.SUREFIRE_BUNDLE_NAME );
+
private final ReporterFactory reporterFactory;
private final ClassLoader testClassLoader;
@@ -51,6 +61,10 @@ public class JUnit4Provider
private final List<RunListener> customRunListeners;
+ private final JUnit4TestChecker jUnit4TestChecker;
+
+ private TestsToRun testsToRun;
+
public JUnit4Provider( ProviderParameters booterParameters )
{
this.reporterFactory = booterParameters.getReporterFactory();
@@ -58,6 +72,7 @@ public class JUnit4Provider
this.directoryScanner = booterParameters.getDirectoryScanner();
customRunListeners =
createCustomListeners( booterParameters.getProviderProperties().getProperty( "listener" ) );
+ jUnit4TestChecker = new JUnit4TestChecker( testClassLoader );
}
@@ -65,47 +80,100 @@ public class JUnit4Provider
public RunResult invoke( Object forkTestSet )
throws TestSetFailedException, ReporterException
{
- JUnit4DirectoryTestSuite suite = getSuite();
- suite.locateTestSets( testClassLoader );
- if ( forkTestSet != null )
+ if ( testsToRun == null )
{
- suite.execute( (String) forkTestSet, (ReporterManagerFactory) reporterFactory, testClassLoader );
+ testsToRun = forkTestSet == null ? scanClassPath() : TestsToRun.fromClass( (Class) forkTestSet );
}
- else
+
+ upgradeCheck();
+
+ JUnit4TestSetReporter jUnit4TestSetReporter = new JUnit4TestSetReporter( null, null );
+
+ RunNotifier runNotifer = getRunNotifer( jUnit4TestSetReporter, customRunListeners );
+ for ( Class clazz : testsToRun.getLocatedClasses() )
{
- suite.execute( (ReporterManagerFactory) reporterFactory, testClassLoader );
+ ReporterManager reporter = (ReporterManager) reporterFactory.createReporter();
+ jUnit4TestSetReporter.setTestSet( clazz );
+ jUnit4TestSetReporter.setReportMgr( reporter );
+ executeTestSet( clazz, reporter, testClassLoader, runNotifer );
}
+
+ closeRunNotifer( jUnit4TestSetReporter, customRunListeners );
+
return reporterFactory.close();
- }
- private JUnit4DirectoryTestSuite getSuite()
- {
- return new JUnit4DirectoryTestSuite( directoryScanner, customRunListeners );
}
- public Iterator getSuites()
+ private RunNotifier getRunNotifer( RunListener main, List<RunListener> others )
{
- try
+ RunNotifier fNotifier = new RunNotifier();
+ fNotifier.addListener( main );
+ for ( RunListener listener : others )
{
- return getSuite().locateTestSets( testClassLoader ).keySet().iterator();
+ fNotifier.addListener( listener );
}
- catch ( TestSetFailedException e )
+ return fNotifier;
+ }
+
+ // I am not entierly sure as to why we do this explicit freeing, it's one of those
+ // pieces of code that just seem to linger on in here ;)
+
+ private void closeRunNotifer( RunListener main, List<RunListener> others )
+ {
+ RunNotifier fNotifier = new RunNotifier();
+ fNotifier.removeListener( main );
+ for ( RunListener listener : others )
{
- throw new RuntimeException( e );
+ fNotifier.removeListener( listener );
}
}
- private void upgradeCheck( JUnit4DirectoryTestSuite suite )
+ public Iterator getSuites()
+ {
+ testsToRun = scanClassPath();
+ return testsToRun.iterator();
+ }
+
+ private void executeTestSet( Class clazz, ReporterManager reporter, ClassLoader classLoader, RunNotifier listeners )
+ throws ReporterException, TestSetFailedException
+ {
+
+ String rawString = bundle.getString( "testSetStarting" );
+
+ ReportEntry report = new DefaultReportEntry( this.getClass().getName(), clazz.getName(), rawString );
+
+ reporter.testSetStarting( report );
+
+ JUnit4TestSet.execute( clazz, listeners );
+
+ rawString = bundle.getString( "testSetCompletedNormally" );
+
+ report = new DefaultReportEntry( this.getClass().getName(), clazz.getName(), rawString );
+
+ reporter.testSetCompleted( report );
+
+ reporter.reset();
+
+ }
+
+
+ private TestsToRun scanClassPath()
+ {
+ return directoryScanner.locateTestClasses( testClassLoader, jUnit4TestChecker );
+ }
+
+ private void upgradeCheck()
throws TestSetFailedException
{
- if ( isJunit4UpgradeCheck() && suite.getClassesSkippedByValidation().size() > 0 )
+ if ( isJunit4UpgradeCheck() &&
+ ( (DefaultDirectoryScanner) directoryScanner ).getClassesSkippedByValidation().size() > 0 )
{
StringBuilder reason = new StringBuilder();
reason.append( "Updated check failed\n" );
reason.append( "There are tests that would be run with junit4 / surefire 2.6 but not with [2.7,):\n" );
- for ( Object o : suite.getClassesSkippedByValidation() )
+ //noinspection unchecked
+ for ( Class testClass : (List<Class>) ( (DefaultDirectoryScanner) directoryScanner ).getClassesSkippedByValidation() )
{
- Class testClass = (Class) o;
reason.append( " " );
reason.append( testClass.getCanonicalName() );
reason.append( "\n" );
Modified: maven/surefire/trunk/surefire-providers/surefire-junit4/src/main/java/org/apache/maven/surefire/junit4/JUnit4TestSet.java
URL: http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-providers/surefire-junit4/src/main/java/org/apache/maven/surefire/junit4/JUnit4TestSet.java?rev=1045300&r1=1045299&r2=1045300&view=diff
==============================================================================
--- maven/surefire/trunk/surefire-providers/surefire-junit4/src/main/java/org/apache/maven/surefire/junit4/JUnit4TestSet.java (original)
+++ maven/surefire/trunk/surefire-providers/surefire-junit4/src/main/java/org/apache/maven/surefire/junit4/JUnit4TestSet.java Mon Dec 13 18:56:57 2010
@@ -27,6 +27,7 @@ import org.junit.runner.Runner;
import org.junit.runner.notification.RunListener;
import org.junit.runner.notification.RunNotifier;
+import java.util.ArrayList;
import java.util.List;
public class JUnit4TestSet
@@ -37,7 +38,8 @@ public class JUnit4TestSet
/**
* Constructor.
*
- * @param testClass the class to be run as a test
+ * @param testClass the class to be run as a test
+ * @param customRunListeners the custom run listeners to add
*/
protected JUnit4TestSet( Class testClass, List<RunListener> customRunListeners )
{
@@ -45,6 +47,13 @@ public class JUnit4TestSet
this.customRunListeners = customRunListeners;
}
+ // Bogus constructor so we can build with 2.5. Remove for 2.7.1
+ protected JUnit4TestSet( Class testClass )
+ {
+ super( testClass );
+ this.customRunListeners = new ArrayList();
+ }
+
/**
* Actually runs the test and adds the tests results to the <code>reportManager</code>.
*
@@ -53,36 +62,46 @@ public class JUnit4TestSet
public void execute( ReporterManager reportManager, ClassLoader loader )
throws TestSetFailedException
{
- Runner junitTestRunner = Request.aClass( getTestClass() ).getRunner();
+ List<RunListener> listeners = new ArrayList<RunListener>();
+ listeners.add( new JUnit4TestSetReporter( getTestClass(), reportManager ) );
+ listeners.addAll( customRunListeners );
+ execute( getTestClass(), listeners );
+ }
+ /**
+ * Actually runs the test and adds the tests results to the <code>reportManager</code>.
+ *
+ * @param testClass The test class to run
+ * @param runListeners The run listeners to attach
+ * @see org.apache.maven.surefire.testset.SurefireTestSet#execute(org.apache.maven.surefire.report.ReporterManager, java.lang.ClassLoader)
+ */
+ public static void execute( Class testClass, List<RunListener> runListeners )
+ throws TestSetFailedException
+ {
RunNotifier fNotifier = new RunNotifier();
- RunListener listener = new JUnit4TestSetReporter( this, reportManager );
- fNotifier.addListener( listener );
-
- if ( customRunListeners != null )
+ for ( RunListener listener : runListeners )
{
- for ( RunListener customRunListener : customRunListeners )
- {
- fNotifier.addListener( customRunListener );
- }
+ fNotifier.addListener( listener );
}
-
try
{
- junitTestRunner.run( fNotifier );
+ execute( testClass, fNotifier );
}
finally
{
- fNotifier.removeListener( listener );
-
- if ( customRunListeners != null )
+ for ( RunListener listener : runListeners )
{
- for ( RunListener customRunListener : customRunListeners )
- {
- fNotifier.removeListener( customRunListener );
- }
+ fNotifier.removeListener( listener );
}
}
}
+ public static void execute( Class testClass, RunNotifier fNotifier )
+ throws TestSetFailedException
+ {
+ Runner junitTestRunner = Request.aClass( testClass ).getRunner();
+
+ junitTestRunner.run( fNotifier );
+ }
}
+
Modified: maven/surefire/trunk/surefire-providers/surefire-junit4/src/main/java/org/apache/maven/surefire/junit4/JUnit4TestSetReporter.java
URL: http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-providers/surefire-junit4/src/main/java/org/apache/maven/surefire/junit4/JUnit4TestSetReporter.java?rev=1045300&r1=1045299&r2=1045300&view=diff
==============================================================================
--- maven/surefire/trunk/surefire-providers/surefire-junit4/src/main/java/org/apache/maven/surefire/junit4/JUnit4TestSetReporter.java (original)
+++ maven/surefire/trunk/surefire-providers/surefire-junit4/src/main/java/org/apache/maven/surefire/junit4/JUnit4TestSetReporter.java Mon Dec 13 18:56:57 2010
@@ -39,7 +39,7 @@ public class JUnit4TestSetReporter
private static ResourceBundle bundle = ResourceBundle.getBundle( Surefire.SUREFIRE_BUNDLE_NAME );
// Member Variables
- private JUnit4TestSet testSet;
+ private Class testSet;
private ReporterManager reportMgr;
@@ -51,13 +51,13 @@ public class JUnit4TestSetReporter
/**
* Constructor.
*
- * @param testSet the specific test set that this will report on as it is
+ * @param testClass the specific test set that this will report on as it is
* executed
* @param reportManager the report manager to log testing events to
*/
- JUnit4TestSetReporter( JUnit4TestSet testSet, ReporterManager reportManager )
+ JUnit4TestSetReporter( Class testClass, ReporterManager reportManager )
{
- this.testSet = testSet;
+ this.testSet = testClass;
this.reportMgr = reportManager;
}
@@ -180,4 +180,14 @@ public class JUnit4TestSetReporter
}
return m.group( 1 );
}
+
+ public void setTestSet( Class testSet )
+ {
+ this.testSet = testSet;
+ }
+
+ public void setReportMgr( ReporterManager reportMgr )
+ {
+ this.reportMgr = reportMgr;
+ }
}
Modified: maven/surefire/trunk/surefire-providers/surefire-junit47/pom.xml
URL: http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-providers/surefire-junit47/pom.xml?rev=1045300&r1=1045299&r2=1045300&view=diff
==============================================================================
--- maven/surefire/trunk/surefire-providers/surefire-junit47/pom.xml (original)
+++ maven/surefire/trunk/surefire-providers/surefire-junit47/pom.xml Mon Dec 13 18:56:57 2010
@@ -70,6 +70,7 @@
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<jvm>${java.home}/bin/java</jvm>
+ <redirectTestOutputToFile>true</redirectTestOutputToFile>
</configuration>
</plugin>
<plugin>
Modified: maven/surefire/trunk/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/JUnitCoreParameters.java
URL: http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/JUnitCoreParameters.java?rev=1045300&r1=1045299&r2=1045300&view=diff
==============================================================================
--- maven/surefire/trunk/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/JUnitCoreParameters.java (original)
+++ maven/surefire/trunk/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/JUnitCoreParameters.java Mon Dec 13 18:56:57 2010
@@ -1,3 +1,5 @@
+package org.apache.maven.surefire.junitcore;
+
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
@@ -16,7 +18,6 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.maven.surefire.junitcore;
import java.util.Properties;
@@ -46,7 +47,7 @@ class JUnitCoreParameters
{
this.parallel = properties.getProperty( PARALLEL_KEY, "none" ).toLowerCase();
this.perCoreThreadCount = Boolean.valueOf( properties.getProperty( PERCORETHREADCOUNT_KEY, "true" ) );
- this.threadCount = Integer.valueOf( properties.getProperty( THREADCOUNT_KEY, "8" ) );
+ this.threadCount = Integer.valueOf( properties.getProperty( THREADCOUNT_KEY, "2" ) );
this.useUnlimitedThreads =
Boolean.valueOf( properties.getProperty( USEUNLIMITEDTHREADS_KEY, "false" ).toLowerCase() );
}
@@ -94,7 +95,7 @@ class JUnitCoreParameters
@Override
public String toString()
{
- return "parallel='" + parallel + '\'' + ", perCoreThreadCount=" + perCoreThreadCount +
- ", threadCount=" + threadCount + ", useUnlimitedThreads=" + useUnlimitedThreads;
+ return "parallel='" + parallel + '\'' + ", perCoreThreadCount=" + perCoreThreadCount + ", threadCount=" +
+ threadCount + ", useUnlimitedThreads=" + useUnlimitedThreads;
}
}
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=1045300&r1=1045299&r2=1045300&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 Mon Dec 13 18:56:57 2010
@@ -92,9 +92,7 @@ public class JUnitCoreProvider
if ( testsToRun == null )
{
- testsToRun = forkTestSet == null
- ? scanClassPath()
- : TestsToRun.fromClassName( (String) forkTestSet, testClassLoader );
+ testsToRun = forkTestSet == null ? scanClassPath() : TestsToRun.fromClass( (Class) forkTestSet );
}
ConcurrentReportingRunListener listener =
ConcurrentReportingRunListener.createInstance( this.reporterFactory, this.reporterConfiguration,