maven-surefire-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From krosenv...@apache.org
Subject svn commit: r1033985 - in /maven/surefire/trunk/surefire-providers/surefire-junit4/src: main/java/org/apache/maven/surefire/junit4/JUnit4TestChecker.java test/java/org/apache/maven/surefire/junit4/JUnit4TestCheckerTest.java
Date Thu, 11 Nov 2010 16:25:52 GMT
Author: krosenvold
Date: Thu Nov 11 16:25:51 2010
New Revision: 1033985

URL: http://svn.apache.org/viewvc?rev=1033985&view=rev
Log:
[SUREFIRE-482] Fixed overly constrained @RunWith test

Modified:
    maven/surefire/trunk/surefire-providers/surefire-junit4/src/main/java/org/apache/maven/surefire/junit4/JUnit4TestChecker.java
    maven/surefire/trunk/surefire-providers/surefire-junit4/src/test/java/org/apache/maven/surefire/junit4/JUnit4TestCheckerTest.java

Modified: maven/surefire/trunk/surefire-providers/surefire-junit4/src/main/java/org/apache/maven/surefire/junit4/JUnit4TestChecker.java
URL: http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-providers/surefire-junit4/src/main/java/org/apache/maven/surefire/junit4/JUnit4TestChecker.java?rev=1033985&r1=1033984&r2=1033985&view=diff
==============================================================================
--- maven/surefire/trunk/surefire-providers/surefire-junit4/src/main/java/org/apache/maven/surefire/junit4/JUnit4TestChecker.java
(original)
+++ maven/surefire/trunk/surefire-providers/surefire-junit4/src/main/java/org/apache/maven/surefire/junit4/JUnit4TestChecker.java
Thu Nov 11 16:25:51 2010
@@ -33,12 +33,9 @@ public class JUnit4TestChecker
 
     private final Class runWith;
 
-    private final Class suite;
-
     public JUnit4TestChecker( ClassLoader testClassLoader )
     {
         this.junitClass = getJUnitClass( testClassLoader, junit.framework.Test.class.getName()
);
-        this.suite = getJUnitClass( testClassLoader, org.junit.runners.Suite.class.getName()
);
         this.runWith = getJUnitClass( testClassLoader, org.junit.runner.RunWith.class.getName()
);
     }
 
@@ -51,14 +48,10 @@ public class JUnit4TestChecker
             return true;
         }
 
-        Annotation runWithAnno = testClass.getAnnotation( runWith );
-        if ( runWithAnno != null )
+        Annotation runWithAnnotation = testClass.getAnnotation( runWith );
+        if ( runWithAnnotation != null )
         {
-            final Class value = runWithValue( runWithAnno );
-            if ( suite.isAssignableFrom( value ) )
-            {
-                return true;
-            }
+            return true;
         }
 
         Class classToCheck = testClass;
@@ -104,27 +97,4 @@ public class JUnit4TestChecker
         return junitClass;
     }
 
-    private Class runWithValue(Object object)
-        throws TestSetFailedException
-    {
-        final Method valueMethod;
-        try
-        {
-            valueMethod = object.getClass().getMethod( "value" );
-            return (Class) valueMethod.invoke(  object);
-        }
-        catch ( NoSuchMethodException e )
-        {
-            throw new TestSetFailedException( e );
-        }
-        catch ( InvocationTargetException e )
-        {
-            throw new TestSetFailedException( e );
-        }
-        catch ( IllegalAccessException e )
-        {
-            throw new TestSetFailedException( e );
-        }
-    }
-
 }

Modified: maven/surefire/trunk/surefire-providers/surefire-junit4/src/test/java/org/apache/maven/surefire/junit4/JUnit4TestCheckerTest.java
URL: http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-providers/surefire-junit4/src/test/java/org/apache/maven/surefire/junit4/JUnit4TestCheckerTest.java?rev=1033985&r1=1033984&r2=1033985&view=diff
==============================================================================
--- maven/surefire/trunk/surefire-providers/surefire-junit4/src/test/java/org/apache/maven/surefire/junit4/JUnit4TestCheckerTest.java
(original)
+++ maven/surefire/trunk/surefire-providers/surefire-junit4/src/test/java/org/apache/maven/surefire/junit4/JUnit4TestCheckerTest.java
Thu Nov 11 16:25:51 2010
@@ -22,7 +22,10 @@ import junit.framework.TestCase;
 import org.apache.maven.surefire.testset.TestSetFailedException;
 import org.junit.Test;
 import org.junit.internal.runners.InitializationError;
+import org.junit.runner.Description;
 import org.junit.runner.RunWith;
+import org.junit.runner.Runner;
+import org.junit.runner.notification.RunNotifier;
 import org.junit.runners.Suite;
 
 import static org.junit.Assert.assertFalse;
@@ -70,6 +73,13 @@ public class JUnit4TestCheckerTest
     }
 
     @Test
+    public void validCustomRunner()
+        throws TestSetFailedException
+    {
+        assertTrue( jUnit4TestChecker.isValidJUnit4Test( SuiteValidCustomRunner.class ) );
+    }
+
+    @Test
     public void invalidTest()
         throws TestSetFailedException
     {
@@ -113,6 +123,30 @@ public class JUnit4TestCheckerTest
         }
     }
 
+    class CustomRunner
+        extends Runner {
+        @Override
+        public Description getDescription()
+        {
+            return Description.createSuiteDescription( "CustomRunner" );
+        }
+
+        @Override
+        public void run( RunNotifier runNotifier )
+        {
+        }
+    }
+
+    @RunWith(CustomRunner.class)
+    public static class SuiteValidCustomRunner
+    {
+        public void testSomething()
+        {
+
+        }
+    }
+
+
     @RunWith(MySuite.class)
     public static class SuiteValid2
     {



Mime
View raw message