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 );
             }
         }


Reply via email to