You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by mi...@apache.org on 2016/09/12 15:08:42 UTC
lucene-solr:branch_6x: make test less evil: use FSDirectory for dir
copy; use non-random codec
Repository: lucene-solr
Updated Branches:
refs/heads/branch_6x 6fb22fcf5 -> 9d08913dd
make test less evil: use FSDirectory for dir copy; use non-random codec
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/9d08913d
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/9d08913d
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/9d08913d
Branch: refs/heads/branch_6x
Commit: 9d08913ddc81fb3f6fe3d4bf6689f0779038eb18
Parents: 6fb22fc
Author: Mike McCandless <mi...@apache.org>
Authored: Mon Sep 12 11:08:27 2016 -0400
Committer: Mike McCandless <mi...@apache.org>
Committed: Mon Sep 12 11:08:27 2016 -0400
----------------------------------------------------------------------
.../org/apache/lucene/search/TestBoolean2.java | 41 ++++++++++++++++----
1 file changed, 34 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/9d08913d/lucene/core/src/test/org/apache/lucene/search/TestBoolean2.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestBoolean2.java b/lucene/core/src/test/org/apache/lucene/search/TestBoolean2.java
index d2925bd..8d171b8 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestBoolean2.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestBoolean2.java
@@ -18,11 +18,13 @@ package org.apache.lucene.search;
+import java.io.IOException;
import java.util.Arrays;
import java.util.Collections;
import java.util.Random;
import org.apache.lucene.analysis.MockAnalyzer;
+import org.apache.lucene.codecs.Codec;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.apache.lucene.document.FieldType;
@@ -37,7 +39,6 @@ import org.apache.lucene.search.similarities.ClassicSimilarity;
import org.apache.lucene.search.similarities.Similarity;
import org.apache.lucene.store.Directory;
import org.apache.lucene.store.IOContext;
-import org.apache.lucene.store.MockDirectoryWrapper;
import org.apache.lucene.util.LuceneTestCase;
import org.apache.lucene.util.TestUtil;
import org.junit.AfterClass;
@@ -67,19 +68,38 @@ public class TestBoolean2 extends LuceneTestCase {
private static Directory dir2;
private static int mulFactor;
+ private static Directory copyOf(Directory dir) throws IOException {
+ Directory copy = newFSDirectory(createTempDir());
+ for(String name : dir.listAll()) {
+ if (name.startsWith("extra")) {
+ continue;
+ }
+ copy.copyFrom(dir, name, name, IOContext.DEFAULT);
+ copy.sync(Collections.singleton(name));
+ }
+ return copy;
+ }
+
@BeforeClass
public static void beforeClass() throws Exception {
// in some runs, test immediate adjacency of matches - in others, force a full bucket gap between docs
NUM_FILLER_DOCS = random().nextBoolean() ? 0 : BooleanScorer.SIZE;
PRE_FILLER_DOCS = TestUtil.nextInt(random(), 0, (NUM_FILLER_DOCS / 2));
+ if (VERBOSE) {
+ System.out.println("TEST: NUM_FILLER_DOCS=" + NUM_FILLER_DOCS + " PRE_FILLER_DOCS=" + PRE_FILLER_DOCS);
+ }
if (NUM_FILLER_DOCS * PRE_FILLER_DOCS > 100000) {
directory = newFSDirectory(createTempDir());
} else {
directory = newDirectory();
}
-
- RandomIndexWriter writer= new RandomIndexWriter(random(), directory, newIndexWriterConfig(new MockAnalyzer(random())).setMergePolicy(newLogMergePolicy()));
+
+ IndexWriterConfig iwc = newIndexWriterConfig(new MockAnalyzer(random()));
+ // randomized codecs are sometimes too costly for this test:
+ iwc.setCodec(Codec.forName("Lucene62"));
+ iwc.setMergePolicy(newLogMergePolicy());
+ RandomIndexWriter writer= new RandomIndexWriter(random(), directory, iwc);
// we'll make a ton of docs, disable store/norms/vectors
FieldType ft = new FieldType(TextField.TYPE_NOT_STORED);
ft.setOmitNorms(true);
@@ -119,8 +139,10 @@ public class TestBoolean2 extends LuceneTestCase {
singleSegmentDirectory.sync(Collections.singleton(fileName));
}
- IndexWriterConfig iwc = newIndexWriterConfig(new MockAnalyzer(random()));
+ iwc = newIndexWriterConfig(new MockAnalyzer(random()));
// we need docID order to be preserved:
+ // randomized codecs are sometimes too costly for this test:
+ iwc.setCodec(Codec.forName("Lucene62"));
iwc.setMergePolicy(newLogMergePolicy());
try (IndexWriter w = new IndexWriter(singleSegmentDirectory, iwc)) {
w.forceMerge(1, true);
@@ -130,7 +152,7 @@ public class TestBoolean2 extends LuceneTestCase {
singleSegmentSearcher.setSimilarity(searcher.getSimilarity(true));
// Make big index
- dir2 = new MockDirectoryWrapper(random(), TestUtil.ramCopyOf(directory));
+ dir2 = copyOf(directory);
// First multiply small test index:
mulFactor = 1;
@@ -142,9 +164,14 @@ public class TestBoolean2 extends LuceneTestCase {
if (VERBOSE) {
System.out.println("\nTEST: cycle...");
}
- final Directory copy = new MockDirectoryWrapper(random(), TestUtil.ramCopyOf(dir2));
- RandomIndexWriter w = new RandomIndexWriter(random(), dir2);
+ final Directory copy = copyOf(dir2);
+
+ iwc = newIndexWriterConfig(new MockAnalyzer(random()));
+ // randomized codecs are sometimes too costly for this test:
+ iwc.setCodec(Codec.forName("Lucene62"));
+ RandomIndexWriter w = new RandomIndexWriter(random(), dir2, iwc);
w.addIndexes(copy);
+ copy.close();
docCount = w.maxDoc();
w.close();
mulFactor *= 2;