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 be...@apache.org on 2010/08/25 21:02:11 UTC

svn commit: r989300 - in /maven/surefire/trunk: surefire-integration-tests/src/test/resources/testng-simple/pom.xml surefire-providers/surefire-testng/src/main/java/org/apache/maven/surefire/testng/TestNGDirectoryTestSuite.java

Author: bentmann
Date: Wed Aug 25 19:02:10 2010
New Revision: 989300

URL: http://svn.apache.org/viewvc?rev=989300&view=rev
Log:
[SUREFIRE-642] TestNG support doesn't w/o Junit on classpath
Submitted by: Marvin Froeder

Modified:
    maven/surefire/trunk/surefire-integration-tests/src/test/resources/testng-simple/pom.xml
    maven/surefire/trunk/surefire-providers/surefire-testng/src/main/java/org/apache/maven/surefire/testng/TestNGDirectoryTestSuite.java

Modified: maven/surefire/trunk/surefire-integration-tests/src/test/resources/testng-simple/pom.xml
URL: http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-integration-tests/src/test/resources/testng-simple/pom.xml?rev=989300&r1=989299&r2=989300&view=diff
==============================================================================
--- maven/surefire/trunk/surefire-integration-tests/src/test/resources/testng-simple/pom.xml (original)
+++ maven/surefire/trunk/surefire-integration-tests/src/test/resources/testng-simple/pom.xml Wed Aug 25 19:02:10 2010
@@ -39,6 +39,13 @@
       <version>${testNgVersion}</version>
       <classifier>jdk15</classifier>
       <scope>test</scope>
+      <exclusions>
+        <exclusion>
+          <!-- NOTE: Deliberaty excluding junit to enforce TestNG only tests, cf. SUREFIRE-642 -->
+          <groupId>junit</groupId>
+          <artifactId>junit</artifactId>
+        </exclusion>
+      </exclusions>
     </dependency>
   </dependencies>
 

Modified: maven/surefire/trunk/surefire-providers/surefire-testng/src/main/java/org/apache/maven/surefire/testng/TestNGDirectoryTestSuite.java
URL: http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-providers/surefire-testng/src/main/java/org/apache/maven/surefire/testng/TestNGDirectoryTestSuite.java?rev=989300&r1=989299&r2=989300&view=diff
==============================================================================
--- maven/surefire/trunk/surefire-providers/surefire-testng/src/main/java/org/apache/maven/surefire/testng/TestNGDirectoryTestSuite.java (original)
+++ maven/surefire/trunk/surefire-providers/surefire-testng/src/main/java/org/apache/maven/surefire/testng/TestNGDirectoryTestSuite.java Wed Aug 25 19:02:10 2010
@@ -115,15 +115,28 @@ public class TestNGDirectoryTestSuite
             throw new IllegalStateException( "You must call locateTestSets before calling execute" );
         }
 
+        Class junitTest;
+        try
+        {
+            junitTest = Class.forName( "junit.framework.Test" );
+        }
+        catch ( ClassNotFoundException e )
+        {
+            junitTest = null;
+        }
+
         List testNgTestClasses = new ArrayList();
         List junitTestClasses = new ArrayList();
         for ( Iterator it = testSets.values().iterator(); it.hasNext(); )
         {
             SurefireTestSet testSet = (SurefireTestSet) it.next();
             Class c = testSet.getTestClass();
-            if (junit.framework.Test.class.isAssignableFrom( c )) {
+            if ( junitTest != null && junitTest.isAssignableFrom( c ) )
+            {
                 junitTestClasses.add( c );
-            } else {
+            }
+            else
+            {
                 testNgTestClasses.add( c );
             }
         }