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/06/06 21:47:24 UTC
svn commit: r1132734 - in /maven/surefire/trunk:
surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/
surefire-integration-tests/src/test/resources/junit-ignore/
surefire-integration-tests/src/test/resources/junit-ignore/src/ surefir...
Author: krosenvold
Date: Mon Jun 6 19:47:23 2011
New Revision: 1132734
URL: http://svn.apache.org/viewvc?rev=1132734&view=rev
Log:
[SUREFIRE-744] NPE with multiple class-level ignores for parallel runner.
Main patch by Aslak Knutsen, applied unmodified. Prefered to extend existing integration test over
the unit test included in the issue patch
Added:
maven/surefire/trunk/surefire-integration-tests/src/test/resources/junit-ignore/
maven/surefire/trunk/surefire-integration-tests/src/test/resources/junit-ignore/pom.xml (contents, props changed)
- copied, changed from r1126721, maven/surefire/trunk/surefire-integration-tests/src/test/resources/junit44-ignore/pom.xml
maven/surefire/trunk/surefire-integration-tests/src/test/resources/junit-ignore/src/
maven/surefire/trunk/surefire-integration-tests/src/test/resources/junit-ignore/src/test/
maven/surefire/trunk/surefire-integration-tests/src/test/resources/junit-ignore/src/test/java/
maven/surefire/trunk/surefire-integration-tests/src/test/resources/junit-ignore/src/test/java/junit/
maven/surefire/trunk/surefire-integration-tests/src/test/resources/junit-ignore/src/test/java/junit/ignore/
maven/surefire/trunk/surefire-integration-tests/src/test/resources/junit-ignore/src/test/java/junit/ignore/BasicTest.java
- copied, changed from r1126721, maven/surefire/trunk/surefire-integration-tests/src/test/resources/junit44-ignore/src/test/java/junit44/ignore/BasicTest.java
maven/surefire/trunk/surefire-integration-tests/src/test/resources/junit-ignore/src/test/java/junit/ignore/ClassLevelIgnore1Test.java
- copied, changed from r1126721, maven/surefire/trunk/surefire-integration-tests/src/test/resources/junit44-ignore/src/test/java/junit44/ignore/BasicTest.java
maven/surefire/trunk/surefire-integration-tests/src/test/resources/junit-ignore/src/test/java/junit/ignore/ClassLevelIgnore2Test.java (contents, props changed)
- copied, changed from r1126721, maven/surefire/trunk/surefire-integration-tests/src/test/resources/junit44-ignore/src/test/java/junit44/ignore/BasicTest.java
Removed:
maven/surefire/trunk/surefire-integration-tests/src/test/resources/junit44-ignore/pom.xml
maven/surefire/trunk/surefire-integration-tests/src/test/resources/junit44-ignore/src/test/java/junit44/ignore/BasicTest.java
Modified:
maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/Junit4IgnoreIT.java
maven/surefire/trunk/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/JUnitCoreRunListener.java
Modified: maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/Junit4IgnoreIT.java
URL: http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/Junit4IgnoreIT.java?rev=1132734&r1=1132733&r2=1132734&view=diff
==============================================================================
--- maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/Junit4IgnoreIT.java (original)
+++ maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/Junit4IgnoreIT.java Mon Jun 6 19:47:23 2011
@@ -29,7 +29,7 @@ public class Junit4IgnoreIT
{
public Junit4IgnoreIT()
{
- super( "/junit44-ignore");
+ super( "/junit-ignore");
}
public void testJunit4Ignore()
@@ -37,6 +37,18 @@ public class Junit4IgnoreIT
{
executeTest();
verifyErrorFreeLog();
- assertTestSuiteResults( 1, 0, 0, 1 );
+ assertTestSuiteResults( 3, 0, 0, 3 );
}
+
+ public void testJunit47ParallelIgnore()
+ throws Exception
+ {
+
+ addGoal( "-Djunit.version=4.8.1" );
+ addGoal( "-Dsurefire.parallel=classes" );
+ executeTest();
+ verifyErrorFreeLog();
+ assertTestSuiteResults( 3, 0, 0, 3 );
+ }
+
}
Copied: maven/surefire/trunk/surefire-integration-tests/src/test/resources/junit-ignore/pom.xml (from r1126721, maven/surefire/trunk/surefire-integration-tests/src/test/resources/junit44-ignore/pom.xml)
URL: http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-integration-tests/src/test/resources/junit-ignore/pom.xml?p2=maven/surefire/trunk/surefire-integration-tests/src/test/resources/junit-ignore/pom.xml&p1=maven/surefire/trunk/surefire-integration-tests/src/test/resources/junit44-ignore/pom.xml&r1=1126721&r2=1132734&rev=1132734&view=diff
==============================================================================
--- maven/surefire/trunk/surefire-integration-tests/src/test/resources/junit44-ignore/pom.xml (original)
+++ maven/surefire/trunk/surefire-integration-tests/src/test/resources/junit-ignore/pom.xml Mon Jun 6 19:47:23 2011
@@ -24,15 +24,20 @@
<modelVersion>4.0.0</modelVersion>
<groupId>org.apache.maven.plugins.surefire</groupId>
- <artifactId>junit44-ignore</artifactId>
+ <artifactId>junit-ignore</artifactId>
<version>1.0-SNAPSHOT</version>
<name>Test of @Ignore annotation</name>
+ <properties>
+ <junit.version>4.4</junit.version>
+ <surefire.parallel></surefire.parallel>
+ </properties>
+
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
- <version>4.4</version>
+ <version>${junit.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
@@ -50,9 +55,11 @@
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>${surefire.version}</version>
+ <configuration>
+ <parallel>${surefire.parallel}</parallel>
+ <threadCount>3</threadCount>
+ </configuration>
</plugin>
-
</plugins>
</build>
-
</project>
Propchange: maven/surefire/trunk/surefire-integration-tests/src/test/resources/junit-ignore/pom.xml
------------------------------------------------------------------------------
svn:eol-style = native
Copied: maven/surefire/trunk/surefire-integration-tests/src/test/resources/junit-ignore/src/test/java/junit/ignore/BasicTest.java (from r1126721, maven/surefire/trunk/surefire-integration-tests/src/test/resources/junit44-ignore/src/test/java/junit44/ignore/BasicTest.java)
URL: http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-integration-tests/src/test/resources/junit-ignore/src/test/java/junit/ignore/BasicTest.java?p2=maven/surefire/trunk/surefire-integration-tests/src/test/resources/junit-ignore/src/test/java/junit/ignore/BasicTest.java&p1=maven/surefire/trunk/surefire-integration-tests/src/test/resources/junit44-ignore/src/test/java/junit44/ignore/BasicTest.java&r1=1126721&r2=1132734&rev=1132734&view=diff
==============================================================================
--- maven/surefire/trunk/surefire-integration-tests/src/test/resources/junit44-ignore/src/test/java/junit44/ignore/BasicTest.java (original)
+++ maven/surefire/trunk/surefire-integration-tests/src/test/resources/junit-ignore/src/test/java/junit/ignore/BasicTest.java Mon Jun 6 19:47:23 2011
@@ -1,11 +1,10 @@
-package junit44.ignore;
-import static org.hamcrest.core.Is.*;
-import static org.hamcrest.core.IsNull.*;
+package junit.ignore;
import org.junit.Assert;
-import org.junit.Test;
import org.junit.Ignore;
+import org.junit.Test;
+@Ignore("ignore this test")
public class BasicTest
{
Copied: maven/surefire/trunk/surefire-integration-tests/src/test/resources/junit-ignore/src/test/java/junit/ignore/ClassLevelIgnore1Test.java (from r1126721, maven/surefire/trunk/surefire-integration-tests/src/test/resources/junit44-ignore/src/test/java/junit44/ignore/BasicTest.java)
URL: http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-integration-tests/src/test/resources/junit-ignore/src/test/java/junit/ignore/ClassLevelIgnore1Test.java?p2=maven/surefire/trunk/surefire-integration-tests/src/test/resources/junit-ignore/src/test/java/junit/ignore/ClassLevelIgnore1Test.java&p1=maven/surefire/trunk/surefire-integration-tests/src/test/resources/junit44-ignore/src/test/java/junit44/ignore/BasicTest.java&r1=1126721&r2=1132734&rev=1132734&view=diff
==============================================================================
--- maven/surefire/trunk/surefire-integration-tests/src/test/resources/junit44-ignore/src/test/java/junit44/ignore/BasicTest.java (original)
+++ maven/surefire/trunk/surefire-integration-tests/src/test/resources/junit-ignore/src/test/java/junit/ignore/ClassLevelIgnore1Test.java Mon Jun 6 19:47:23 2011
@@ -1,15 +1,14 @@
-package junit44.ignore;
-import static org.hamcrest.core.Is.*;
-import static org.hamcrest.core.IsNull.*;
+package junit.ignore;
+
import org.junit.Assert;
-import org.junit.Test;
import org.junit.Ignore;
+import org.junit.Test;
-public class BasicTest
+@Ignore("ignore this test")
+public class ClassLevelIgnore1Test
{
- @Ignore("ignore this test")
@Test
public void testIgnorable()
{
Copied: maven/surefire/trunk/surefire-integration-tests/src/test/resources/junit-ignore/src/test/java/junit/ignore/ClassLevelIgnore2Test.java (from r1126721, maven/surefire/trunk/surefire-integration-tests/src/test/resources/junit44-ignore/src/test/java/junit44/ignore/BasicTest.java)
URL: http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-integration-tests/src/test/resources/junit-ignore/src/test/java/junit/ignore/ClassLevelIgnore2Test.java?p2=maven/surefire/trunk/surefire-integration-tests/src/test/resources/junit-ignore/src/test/java/junit/ignore/ClassLevelIgnore2Test.java&p1=maven/surefire/trunk/surefire-integration-tests/src/test/resources/junit44-ignore/src/test/java/junit44/ignore/BasicTest.java&r1=1126721&r2=1132734&rev=1132734&view=diff
==============================================================================
--- maven/surefire/trunk/surefire-integration-tests/src/test/resources/junit44-ignore/src/test/java/junit44/ignore/BasicTest.java (original)
+++ maven/surefire/trunk/surefire-integration-tests/src/test/resources/junit-ignore/src/test/java/junit/ignore/ClassLevelIgnore2Test.java Mon Jun 6 19:47:23 2011
@@ -1,15 +1,14 @@
-package junit44.ignore;
-import static org.hamcrest.core.Is.*;
-import static org.hamcrest.core.IsNull.*;
+package junit.ignore;
+
import org.junit.Assert;
-import org.junit.Test;
import org.junit.Ignore;
+import org.junit.Test;
-public class BasicTest
+@Ignore("ignore this test")
+public class ClassLevelIgnore2Test
{
- @Ignore("ignore this test")
@Test
public void testIgnorable()
{
Propchange: maven/surefire/trunk/surefire-integration-tests/src/test/resources/junit-ignore/src/test/java/junit/ignore/ClassLevelIgnore2Test.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: maven/surefire/trunk/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/JUnitCoreRunListener.java
URL: http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/JUnitCoreRunListener.java?rev=1132734&r1=1132733&r2=1132734&view=diff
==============================================================================
--- maven/surefire/trunk/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/JUnitCoreRunListener.java (original)
+++ maven/surefire/trunk/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/JUnitCoreRunListener.java Mon Jun 6 19:47:23 2011
@@ -19,11 +19,10 @@ package org.apache.maven.surefire.junitc
* under the License.
*/
-import org.apache.maven.surefire.common.junit4.JUnit4RunListener;
-import org.apache.maven.surefire.report.RunListener;
-
import java.util.ArrayList;
import java.util.Map;
+import org.apache.maven.surefire.common.junit4.JUnit4RunListener;
+import org.apache.maven.surefire.report.RunListener;
import org.junit.runner.Description;
import org.junit.runner.Result;
@@ -70,7 +69,7 @@ public class JUnitCoreRunListener
Class<?> itemTestClass = null;
for ( Description item : children )
{
- if ( item.isTest() )
+ if ( item.isTest() && item.getMethodName() != null )
{
testSet.incrementTestMethodCount();
if ( itemTestClass == null )
@@ -82,6 +81,10 @@ public class JUnitCoreRunListener
{
fillTestCountMap( item );
}
+ else
+ {
+ classMethodCounts.put( item.getClassName(), testSet );
+ }
}
if ( itemTestClass != null )
{