Author: assaf
Date: Fri Jun 27 17:18:07 2008
New Revision: 672436

URL: http://svn.apache.org/viewvc?rev=672436&view=rev
Log:
BUILDR-89 JUnit (and all other Java frameworks) no longer include abstract 
classes.

Modified:
    
incubator/buildr/trunk/lib/buildr/java/org/apache/buildr/JavaTestFilter.class
    incubator/buildr/trunk/lib/buildr/java/org/apache/buildr/JavaTestFilter.java
    incubator/buildr/trunk/spec/java_test_frameworks_spec.rb

Modified: 
incubator/buildr/trunk/lib/buildr/java/org/apache/buildr/JavaTestFilter.class
URL: 
http://svn.apache.org/viewvc/incubator/buildr/trunk/lib/buildr/java/org/apache/buildr/JavaTestFilter.class?rev=672436&r1=672435&r2=672436&view=diff
==============================================================================
Files 
incubator/buildr/trunk/lib/buildr/java/org/apache/buildr/JavaTestFilter.class 
(original) and 
incubator/buildr/trunk/lib/buildr/java/org/apache/buildr/JavaTestFilter.class 
Fri Jun 27 17:18:07 2008 differ

Modified: 
incubator/buildr/trunk/lib/buildr/java/org/apache/buildr/JavaTestFilter.java
URL: 
http://svn.apache.org/viewvc/incubator/buildr/trunk/lib/buildr/java/org/apache/buildr/JavaTestFilter.java?rev=672436&r1=672435&r2=672436&view=diff
==============================================================================
--- 
incubator/buildr/trunk/lib/buildr/java/org/apache/buildr/JavaTestFilter.java 
(original)
+++ 
incubator/buildr/trunk/lib/buildr/java/org/apache/buildr/JavaTestFilter.java 
Fri Jun 27 17:18:07 2008
@@ -18,6 +18,7 @@
 package org.apache.buildr;
 
 import java.lang.reflect.Method;
+import java.lang.reflect.Modifier;
 import java.io.File;
 import java.io.IOException;
 import java.net.URL;
@@ -70,6 +71,8 @@
   }
   
   private boolean isTest(Class cls) {
+    if (Modifier.isAbstract(cls.getModifiers()) || 
!Modifier.isPublic(cls.getModifiers()))
+      return false;
     if (interfaces != null) {
       for (Iterator it = interfaces.iterator(); it.hasNext(); ) {
         Class iface = (Class) it.next();
@@ -113,4 +116,4 @@
  * indent-tabs-mode: nil
  * c-basic-offset: 2
  * End:
- */
\ No newline at end of file
+ */

Modified: incubator/buildr/trunk/spec/java_test_frameworks_spec.rb
URL: 
http://svn.apache.org/viewvc/incubator/buildr/trunk/spec/java_test_frameworks_spec.rb?rev=672436&r1=672435&r2=672436&view=diff
==============================================================================
--- incubator/buildr/trunk/spec/java_test_frameworks_spec.rb (original)
+++ incubator/buildr/trunk/spec/java_test_frameworks_spec.rb Fri Jun 27 
17:18:07 2008
@@ -121,6 +121,25 @@
     project('foo').test.tests.should eql(['InnerClassTest'])
   end
 
+  it 'should ignore abstract classes' do
+    write 'src/test/java/AbstractClassTest.java', <<-JAVA
+      public abstract class AbstractClassTest extends junit.framework.TestCase 
{
+        public void testNothing() { }
+      }
+    JAVA
+    define('foo').test.invoke
+    project('foo').test.tests.should be_empty
+  end
+
+  it 'should ignore classes with no tests in them' do
+    write 'src/test/java/NoTests.java', <<-JAVA
+      public class NoTests {
+      }
+    JAVA
+    define('foo').test.invoke
+    project('foo').test.tests.should be_empty
+  end
+
   it 'should pass when JUnit test case passes' do
     write 'src/test/java/PassingTest.java', <<-JAVA
       public class PassingTest extends junit.framework.TestCase {


Reply via email to