You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by rm...@apache.org on 2012/01/29 15:54:35 UTC

svn commit: r1237305 - /lucene/dev/branches/lucene2858/lucene/src/test/org/apache/lucene/codecs/lucene40/TestReuseDocsEnum.java

Author: rmuir
Date: Sun Jan 29 14:54:35 2012
New Revision: 1237305

URL: http://svn.apache.org/viewvc?rev=1237305&view=rev
Log:
LUCENE-2858: fix test

Modified:
    lucene/dev/branches/lucene2858/lucene/src/test/org/apache/lucene/codecs/lucene40/TestReuseDocsEnum.java

Modified: lucene/dev/branches/lucene2858/lucene/src/test/org/apache/lucene/codecs/lucene40/TestReuseDocsEnum.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene2858/lucene/src/test/org/apache/lucene/codecs/lucene40/TestReuseDocsEnum.java?rev=1237305&r1=1237304&r2=1237305&view=diff
==============================================================================
--- lucene/dev/branches/lucene2858/lucene/src/test/org/apache/lucene/codecs/lucene40/TestReuseDocsEnum.java (original)
+++ lucene/dev/branches/lucene2858/lucene/src/test/org/apache/lucene/codecs/lucene40/TestReuseDocsEnum.java Sun Jan 29 14:54:35 2012
@@ -22,6 +22,8 @@ import java.util.Random;
 import org.apache.lucene.analysis.MockAnalyzer;
 import org.apache.lucene.codecs.Codec;
 import org.apache.lucene.codecs.lucene40.Lucene40PostingsFormat;
+import org.apache.lucene.index.AtomicIndexReader;
+import org.apache.lucene.index.DirectoryReader;
 import org.apache.lucene.index.DocsEnum;
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.index.RandomIndexWriter;
@@ -34,6 +36,7 @@ import org.apache.lucene.util.BytesRef;
 import org.apache.lucene.util.IOUtils;
 import org.apache.lucene.util.LineFileDocs;
 import org.apache.lucene.util.LuceneTestCase;
+import org.apache.lucene.util.ReaderUtil;
 import org.apache.lucene.util._TestUtil;
 
 public class TestReuseDocsEnum extends LuceneTestCase {
@@ -48,19 +51,21 @@ public class TestReuseDocsEnum extends L
     writer.commit();
 
     IndexReader open = IndexReader.open(dir);
-    IndexReader[] sequentialSubReaders = open.getSequentialSubReaders();
-    for (IndexReader indexReader : sequentialSubReaders) {
-      Terms terms = indexReader.terms("body");
-      TermsEnum iterator = terms.iterator(null);
-      IdentityHashMap<DocsEnum, Boolean> enums = new IdentityHashMap<DocsEnum, Boolean>();
-      MatchNoBits bits = new Bits.MatchNoBits(open.maxDoc());
-      while ((iterator.next()) != null) {
-        DocsEnum docs = iterator.docs(random.nextBoolean() ? bits : new Bits.MatchNoBits(open.maxDoc()), null, random.nextBoolean());
-        enums.put(docs, true);
+    new ReaderUtil.Gather(open) {
+      @Override
+      protected void add(int base, AtomicIndexReader r) throws IOException {
+        Terms terms = r.terms("body");
+        TermsEnum iterator = terms.iterator(null);
+        IdentityHashMap<DocsEnum, Boolean> enums = new IdentityHashMap<DocsEnum, Boolean>();
+        MatchNoBits bits = new Bits.MatchNoBits(r.maxDoc());
+        while ((iterator.next()) != null) {
+          DocsEnum docs = iterator.docs(random.nextBoolean() ? bits : new Bits.MatchNoBits(r.maxDoc()), null, random.nextBoolean());
+          enums.put(docs, true);
+        }
+        
+        assertEquals(terms.getUniqueTermCount(), enums.size());  
       }
-      
-      assertEquals(terms.getUniqueTermCount(), enums.size());  
-    }
+    }.run();
     IOUtils.close(writer, open, dir);
   }