You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by us...@apache.org on 2012/08/13 02:01:59 UTC

svn commit: r1372218 - in /lucene/dev/trunk: lucene/analysis/common/src/test/org/apache/lucene/analysis/core/ solr/core/src/test/org/apache/solr/

Author: uschindler
Date: Mon Aug 13 00:01:59 2012
New Revision: 1372218

URL: http://svn.apache.org/viewvc?rev=1372218&view=rev
Log:
Fix test failure caused in Maven, because test-framework classes are packaged in JAR.

Modified:
    lucene/dev/trunk/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestAllAnalyzersHaveFactories.java
    lucene/dev/trunk/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestRandomChains.java
    lucene/dev/trunk/solr/core/src/test/org/apache/solr/SolrInfoMBeanTest.java

Modified: lucene/dev/trunk/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestAllAnalyzersHaveFactories.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestAllAnalyzersHaveFactories.java?rev=1372218&r1=1372217&r2=1372218&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestAllAnalyzersHaveFactories.java (original)
+++ lucene/dev/trunk/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestAllAnalyzersHaveFactories.java Mon Aug 13 00:01:59 2012
@@ -100,8 +100,7 @@ public class TestAllAnalyzersHaveFactori
   private static final ResourceLoader loader = new StringMockResourceLoader("");
   
   public void test() throws Exception {
-    List<Class<?>> analysisClasses = new ArrayList<Class<?>>();
-    TestRandomChains.getClassesForPackage("org.apache.lucene.analysis", analysisClasses);
+    List<Class<?>> analysisClasses = TestRandomChains.getClassesForPackage("org.apache.lucene.analysis");
     
     for (final Class<?> c : analysisClasses) {
       final int modifiers = c.getModifiers();

Modified: lucene/dev/trunk/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestRandomChains.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestRandomChains.java?rev=1372218&r1=1372217&r2=1372218&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestRandomChains.java (original)
+++ lucene/dev/trunk/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestRandomChains.java Mon Aug 13 00:01:59 2012
@@ -25,6 +25,7 @@ import java.io.StringReader;
 import java.lang.reflect.Constructor;
 import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Modifier;
+import java.net.URI;
 import java.net.URL;
 import java.nio.CharBuffer;
 import java.util.ArrayList;
@@ -165,8 +166,7 @@ public class TestRandomChains extends Ba
   
   @BeforeClass
   public static void beforeClass() throws Exception {
-    List<Class<?>> analysisClasses = new ArrayList<Class<?>>();
-    getClassesForPackage("org.apache.lucene.analysis", analysisClasses);
+    List<Class<?>> analysisClasses = getClassesForPackage("org.apache.lucene.analysis");
     tokenizers = new ArrayList<Constructor<? extends Tokenizer>>();
     tokenfilters = new ArrayList<Constructor<? extends TokenFilter>>();
     charfilters = new ArrayList<Constructor<? extends CharFilter>>();
@@ -235,19 +235,30 @@ public class TestRandomChains extends Ba
   private static <T> Constructor<T> castConstructor(Class<T> instanceClazz, Constructor<?> ctor) {
     return (Constructor<T>) ctor;
   }
-  static void getClassesForPackage(String pckgname, List<Class<?>> classes) throws Exception {
+  
+  public static List<Class<?>> getClassesForPackage(String pckgname) throws Exception {
+    final List<Class<?>> classes = new ArrayList<Class<?>>();
+    collectClassesForPackage(pckgname, classes);
+    assertFalse("No classes found in package '"+pckgname+"'; maybe your test classes are packaged as JAR file?", classes.isEmpty());
+    return classes;
+  }
+  
+  private static void collectClassesForPackage(String pckgname, List<Class<?>> classes) throws Exception {
     final ClassLoader cld = TestRandomChains.class.getClassLoader();
     final String path = pckgname.replace('.', '/');
     final Enumeration<URL> resources = cld.getResources(path);
     while (resources.hasMoreElements()) {
-      final File directory = new File(resources.nextElement().toURI());
+      final URI uri = resources.nextElement().toURI();
+      if (!"file".equalsIgnoreCase(uri.getScheme()))
+        continue;
+      final File directory = new File(uri);
       if (directory.exists()) {
         String[] files = directory.list();
         for (String file : files) {
           if (new File(directory, file).isDirectory()) {
             // recurse
             String subPackage = pckgname + "." + file;
-            getClassesForPackage(subPackage, classes);
+            collectClassesForPackage(subPackage, classes);
           }
           if (file.endsWith(".class")) {
             String clazzName = file.substring(0, file.length() - 6);

Modified: lucene/dev/trunk/solr/core/src/test/org/apache/solr/SolrInfoMBeanTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/test/org/apache/solr/SolrInfoMBeanTest.java?rev=1372218&r1=1372217&r2=1372218&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/test/org/apache/solr/SolrInfoMBeanTest.java (original)
+++ lucene/dev/trunk/solr/core/src/test/org/apache/solr/SolrInfoMBeanTest.java Mon Aug 13 00:01:59 2012
@@ -25,6 +25,7 @@ import org.apache.solr.highlight.Default
 import org.apache.solr.search.LRUCache;
 import org.junit.BeforeClass;
 import java.io.File;
+import java.net.URI;
 import java.net.URL;
 import java.util.ArrayList;
 import java.util.Enumeration;
@@ -94,7 +95,10 @@ public class SolrInfoMBeanTest extends S
     String path = pckgname.replace('.', '/');
     Enumeration<URL> resources = cld.getResources(path);
     while (resources.hasMoreElements()) {
-      final File f = new File(resources.nextElement().toURI());
+      final URI uri = resources.nextElement().toURI();
+      if (!"file".equalsIgnoreCase(uri.getScheme()))
+        continue;
+      final File f = new File(uri);
       directories.add(f);
     }
       
@@ -114,6 +118,7 @@ public class SolrInfoMBeanTest extends S
         }
       }
     }
+    assertFalse("No classes found in package '"+pckgname+"'; maybe your test classes are packaged as JAR file?", classes.isEmpty());
     return classes;
   }
 }