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