You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by kr...@apache.org on 2011/11/10 21:52:07 UTC
svn commit: r1200541 - in /maven/surefire/trunk:
maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/
surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/
surefire-providers/surefire-junit47/src/main/jav...
Author: krosenvold
Date: Thu Nov 10 20:52:07 2011
New Revision: 1200541
URL: http://svn.apache.org/viewvc?rev=1200541&view=rev
Log:
[SUREFIRE-786] @Category not taken into account for forkMode=always
Testcase and initial patch by nkeywal. Extended fix to cover method-level
categories in 'always' forks too.
This also fixes a quite serious issue of custom provider properties
not making it into the provider upon forkMode=always, which
should close quite a few other issues too
Modified:
maven/surefire/trunk/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/ForkStarter.java
maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/JUnit48TestCategoriesIT.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/ForkStarter.java
URL: http://svn.apache.org/viewvc/maven/surefire/trunk/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/ForkStarter.java?rev=1200541&r1=1200540&r2=1200541&view=diff
==============================================================================
--- maven/surefire/trunk/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/ForkStarter.java (original)
+++ maven/surefire/trunk/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/ForkStarter.java Thu Nov 10 20:52:07 2011
@@ -99,7 +99,7 @@ public class ForkStarter
}
else if ( ForkConfiguration.FORK_ALWAYS.equals( requestedForkMode ) )
{
- result = runSuitesForkPerTestSet( fileReporterFactory );
+ result = runSuitesForkPerTestSet( fileReporterFactory, providerConfiguration.getProviderProperties() );
}
else
{
@@ -113,15 +113,13 @@ public class ForkStarter
return result;
}
- private RunResult runSuitesForkPerTestSet( FileReporterFactory fileReporterFactory )
+ private RunResult runSuitesForkPerTestSet( FileReporterFactory fileReporterFactory, Properties properties )
throws SurefireBooterForkException
{
RunResult globalResult = new RunResult( 0, 0, 0, 0 );
final Iterator suites = getSuitesIterator();
- Properties properties = new Properties();
-
while ( suites.hasNext() )
{
Object testSet = suites.next();
Modified: maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/JUnit48TestCategoriesIT.java
URL: http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/JUnit48TestCategoriesIT.java?rev=1200541&r1=1200540&r2=1200541&view=diff
==============================================================================
--- maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/JUnit48TestCategoriesIT.java (original)
+++ maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/JUnit48TestCategoriesIT.java Thu Nov 10 20:52:07 2011
@@ -19,6 +19,8 @@ package org.apache.maven.surefire.its;
*/
+import org.apache.maven.it.VerificationException;
+
/**
* Test project using "groups" support
*
@@ -35,6 +37,19 @@ public class JUnit48TestCategoriesIT
public void testCategoriesAB()
throws Exception
{
+ runAB();
+ }
+
+ public void testCategoriesABForkAlways()
+ throws Exception
+ {
+ forkAlways();
+ runAB();
+ }
+
+ private void runAB()
+ throws VerificationException
+ {
executeTest();
verifyErrorFreeLog();
assertTestSuiteResults( 2, 0, 0, 0 );
@@ -47,6 +62,20 @@ public class JUnit48TestCategoriesIT
public void testCategoriesAC()
throws Exception
{
+ runAC();
+ }
+
+ public void testCategoriesACForkAlways()
+ throws Exception
+ {
+ forkAlways();
+ runAC();
+ }
+
+
+ private void runAC()
+ throws Exception
+ {
addGoal( "-Dgroups=junit4.CategoryA,junit4.CategoryC" );
executeTest();
verifyErrorFreeLog();
@@ -60,4 +89,5 @@ public class JUnit48TestCategoriesIT
verifyTextInLog("mC: 1");
verifyTextInLog("CatNone: 1");
}
+
}
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=1200541&r1=1200540&r2=1200541&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 Nov 10 20:52:07 2011
@@ -87,7 +87,8 @@ public class JUnitCoreProvider
public Iterator getSuites()
{
- testsToRun = scanClassPath();
+ final Filter filter = jUnit48Reflector.isJUnit48Available() ? createJUnit48Filter() : null;
+ testsToRun = getSuitesAsList( filter );
return testsToRun.iterator();
}
@@ -127,13 +128,17 @@ public class JUnitCoreProvider
{
List<Class<?>> res = new ArrayList<Class<?>>( 500 );
TestsToRun max = scanClassPath();
+ if (filter == null){
+ return max;
+ }
+
Iterator<Class<?>> it = max.iterator();
while ( it.hasNext() )
{
Class<?> clazz = it.next();
boolean isCategoryAnnotatedClass = jUnit48Reflector.isCategoryAnnotationPresent( clazz);
Description d = Description.createSuiteDescription( clazz );
- if ( !isCategoryAnnotatedClass || filter == null || filter.shouldRun( d ) )
+ if ( !isCategoryAnnotatedClass || filter.shouldRun( d ) )
{
res.add( clazz );
}