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 2011/06/30 20:34:16 UTC
svn commit: r1141655 [2/2] - in /lucene/dev/branches/branch_3x/lucene: ./
backwards/ backwards/src/test-framework/ backwards/src/test/
contrib/facet/src/test/org/apache/lucene/facet/
contrib/facet/src/test/org/apache/lucene/facet/enhancements/ contrib/...
Modified: lucene/dev/branches/branch_3x/lucene/contrib/facet/src/test/org/apache/lucene/facet/taxonomy/TestTaxonomyCombined.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/lucene/contrib/facet/src/test/org/apache/lucene/facet/taxonomy/TestTaxonomyCombined.java?rev=1141655&r1=1141654&r2=1141655&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/lucene/contrib/facet/src/test/org/apache/lucene/facet/taxonomy/TestTaxonomyCombined.java (original)
+++ lucene/dev/branches/branch_3x/lucene/contrib/facet/src/test/org/apache/lucene/facet/taxonomy/TestTaxonomyCombined.java Thu Jun 30 18:34:14 2011
@@ -158,13 +158,14 @@ public class TestTaxonomyCombined extend
*/
@Test
public void testWriter() throws Exception {
- Directory indexDir = new RAMDirectory();
+ Directory indexDir = newDirectory();
TaxonomyWriter tw = new LuceneTaxonomyWriter(indexDir);
fillTaxonomy(tw);
// Also check TaxonomyWriter.getSize() - see that the taxonomy's size
// is what we expect it to be.
assertEquals(expectedCategories.length, tw.getSize());
tw.close();
+ indexDir.close();
}
/** testWriterTwice is exactly like testWriter, except that after adding
@@ -173,7 +174,7 @@ public class TestTaxonomyCombined extend
*/
@Test
public void testWriterTwice() throws Exception {
- Directory indexDir = new RAMDirectory();
+ Directory indexDir = newDirectory();
TaxonomyWriter tw = new LuceneTaxonomyWriter(indexDir);
fillTaxonomy(tw);
// run fillTaxonomy again - this will try to add the same categories
@@ -184,6 +185,7 @@ public class TestTaxonomyCombined extend
// extraneous categories were created:
assertEquals(expectedCategories.length, tw.getSize());
tw.close();
+ indexDir.close();
}
/** testWriterTwice2 is similar to testWriterTwice, except that the index
@@ -194,7 +196,7 @@ public class TestTaxonomyCombined extend
*/
@Test
public void testWriterTwice2() throws Exception {
- Directory indexDir = new RAMDirectory();
+ Directory indexDir = newDirectory();
TaxonomyWriter tw = new LuceneTaxonomyWriter(indexDir);
fillTaxonomy(tw);
tw.close();
@@ -206,6 +208,7 @@ public class TestTaxonomyCombined extend
fillTaxonomy(tw);
assertEquals(expectedCategories.length, tw.getSize());
tw.close();
+ indexDir.close();
}
/**
@@ -217,7 +220,7 @@ public class TestTaxonomyCombined extend
*/
@Test
public void testWriterTwice3() throws Exception {
- Directory indexDir = new RAMDirectory();
+ Directory indexDir = newDirectory();
// First, create and fill the taxonomy
TaxonomyWriter tw = new LuceneTaxonomyWriter(indexDir);
fillTaxonomy(tw);
@@ -239,6 +242,7 @@ public class TestTaxonomyCombined extend
tw.commit();
assertEquals(expectedCategories.length+1, tw.getSize());
tw.close();
+ indexDir.close();
}
/** Another set of tests for the writer, which don't use an array and
@@ -248,7 +252,7 @@ public class TestTaxonomyCombined extend
*/
@Test
public void testWriterSimpler() throws Exception {
- Directory indexDir = new RAMDirectory();
+ Directory indexDir = newDirectory();
TaxonomyWriter tw = new LuceneTaxonomyWriter(indexDir);
assertEquals(1, tw.getSize()); // the root only
// Test that adding a new top-level category works
@@ -283,6 +287,7 @@ public class TestTaxonomyCombined extend
assertEquals(9, tw.getSize());
tw.close();
+ indexDir.close();
}
/** Test writing an empty index, and seeing that a reader finds in it
@@ -291,7 +296,7 @@ public class TestTaxonomyCombined extend
*/
@Test
public void testRootOnly() throws Exception {
- Directory indexDir = new RAMDirectory();
+ Directory indexDir = newDirectory();
TaxonomyWriter tw = new LuceneTaxonomyWriter(indexDir);
// right after opening the index, it should already contain the
// root, so have size 1:
@@ -303,6 +308,7 @@ public class TestTaxonomyCombined extend
assertEquals(TaxonomyReader.INVALID_ORDINAL, tr.getParent(0));
assertEquals(0, tr.getOrdinal(new CategoryPath()));
tr.close();
+ indexDir.close();
}
/** The following test is exactly the same as testRootOnly, except we
@@ -312,7 +318,7 @@ public class TestTaxonomyCombined extend
*/
@Test
public void testRootOnly2() throws Exception {
- Directory indexDir = new RAMDirectory();
+ Directory indexDir = newDirectory();
TaxonomyWriter tw = new LuceneTaxonomyWriter(indexDir);
tw.commit();
TaxonomyReader tr = new LuceneTaxonomyReader(indexDir);
@@ -322,6 +328,7 @@ public class TestTaxonomyCombined extend
assertEquals(0, tr.getOrdinal(new CategoryPath()));
tw.close();
tr.close();
+ indexDir.close();
}
/** Basic tests for TaxonomyReader's category <=> ordinal transformations
@@ -331,7 +338,7 @@ public class TestTaxonomyCombined extend
*/
@Test
public void testReaderBasic() throws Exception {
- Directory indexDir = new RAMDirectory();
+ Directory indexDir = newDirectory();
TaxonomyWriter tw = new LuceneTaxonomyWriter(indexDir);
fillTaxonomy(tw);
tw.close();
@@ -373,6 +380,7 @@ public class TestTaxonomyCombined extend
assertEquals(TaxonomyReader.INVALID_ORDINAL, tr.getOrdinal(new CategoryPath("Author", "Jules Verne")));
tr.close();
+ indexDir.close();
}
/** Tests for TaxonomyReader's getParent() method.
@@ -389,7 +397,7 @@ public class TestTaxonomyCombined extend
@Test
public void testReaderParent() throws Exception {
- Directory indexDir = new RAMDirectory();
+ Directory indexDir = newDirectory();
TaxonomyWriter tw = new LuceneTaxonomyWriter(indexDir);
fillTaxonomy(tw);
tw.close();
@@ -436,6 +444,7 @@ public class TestTaxonomyCombined extend
}
tr.close();
+ indexDir.close();
}
/**
@@ -453,7 +462,7 @@ public class TestTaxonomyCombined extend
*/
@Test
public void testWriterParent1() throws Exception {
- Directory indexDir = new RAMDirectory();
+ Directory indexDir = newDirectory();
TaxonomyWriter tw = new LuceneTaxonomyWriter(indexDir);
fillTaxonomy(tw);
tw.close();
@@ -464,11 +473,12 @@ public class TestTaxonomyCombined extend
tw.close();
tr.close();
+ indexDir.close();
}
@Test
public void testWriterParent2() throws Exception {
- Directory indexDir = new RAMDirectory();
+ Directory indexDir = newDirectory();
TaxonomyWriter tw = new LuceneTaxonomyWriter(indexDir);
fillTaxonomy(tw);
tw.commit();
@@ -478,6 +488,7 @@ public class TestTaxonomyCombined extend
tw.close();
tr.close();
+ indexDir.close();
}
private void checkWriterParent(TaxonomyReader tr, TaxonomyWriter tw) throws Exception {
@@ -530,7 +541,7 @@ public class TestTaxonomyCombined extend
*/
@Test
public void testReaderParentArray() throws Exception {
- Directory indexDir = new RAMDirectory();
+ Directory indexDir = newDirectory();
TaxonomyWriter tw = new LuceneTaxonomyWriter(indexDir);
fillTaxonomy(tw);
tw.close();
@@ -541,6 +552,7 @@ public class TestTaxonomyCombined extend
assertEquals(tr.getParent(i), parents[i]);
}
tr.close();
+ indexDir.close();
}
/**
@@ -550,7 +562,7 @@ public class TestTaxonomyCombined extend
*/
@Test
public void testChildrenArrays() throws Exception {
- Directory indexDir = new RAMDirectory();
+ Directory indexDir = newDirectory();
TaxonomyWriter tw = new LuceneTaxonomyWriter(indexDir);
fillTaxonomy(tw);
tw.close();
@@ -601,6 +613,7 @@ public class TestTaxonomyCombined extend
}
}
tr.close();
+ indexDir.close();
}
/**
@@ -613,7 +626,7 @@ public class TestTaxonomyCombined extend
*/
@Test
public void testChildrenArraysInvariants() throws Exception {
- Directory indexDir = new RAMDirectory();
+ Directory indexDir = newDirectory();
TaxonomyWriter tw = new LuceneTaxonomyWriter(indexDir);
fillTaxonomy(tw);
tw.close();
@@ -685,6 +698,7 @@ public class TestTaxonomyCombined extend
}
tr.close();
+ indexDir.close();
}
/**
@@ -692,7 +706,7 @@ public class TestTaxonomyCombined extend
*/
@Test
public void testChildrenArraysGrowth() throws Exception {
- Directory indexDir = new RAMDirectory();
+ Directory indexDir = newDirectory();
TaxonomyWriter tw = new LuceneTaxonomyWriter(indexDir);
tw.addCategory(new CategoryPath("hi", "there"));
tw.commit();
@@ -722,6 +736,7 @@ public class TestTaxonomyCombined extend
assertTrue(Arrays.equals(new int[] { -1, -1, -1, 2, 1 }, ca.getOlderSiblingArray()));
tw.close();
tr.close();
+ indexDir.close();
}
/**
@@ -731,7 +746,7 @@ public class TestTaxonomyCombined extend
@Ignore
public void testTaxonomyReaderRefreshRaces() throws Exception {
// compute base child arrays - after first chunk, and after the other
- Directory indexDirBase = new RAMDirectory();
+ Directory indexDirBase = newDirectory();
TaxonomyWriter twBase = new LuceneTaxonomyWriter(indexDirBase);
twBase.addCategory(new CategoryPath("a", "0"));
final CategoryPath abPath = new CategoryPath("a", "b");
@@ -757,6 +772,7 @@ public class TestTaxonomyCombined extend
for (int retry=0; retry<100; retry++) {
assertConsistentYoungestChild(abPath, abOrd, abYoungChildBase1, abYoungChildBase2, retry);
}
+ indexDirBase.close();
}
private void assertConsistentYoungestChild(final CategoryPath abPath,
@@ -848,7 +864,7 @@ public class TestTaxonomyCombined extend
*/
@Test
public void testSeparateReaderAndWriter() throws Exception {
- Directory indexDir = new RAMDirectory();
+ Directory indexDir = newDirectory();
TaxonomyWriter tw = new LuceneTaxonomyWriter(indexDir);
tw.commit();
TaxonomyReader tr = new LuceneTaxonomyReader(indexDir);
@@ -910,11 +926,12 @@ public class TestTaxonomyCombined extend
assertEquals(3, tr.getSize());
tw.close();
tr.close();
+ indexDir.close();
}
@Test
public void testSeparateReaderAndWriter2() throws Exception {
- Directory indexDir = new RAMDirectory();
+ Directory indexDir = newDirectory();
TaxonomyWriter tw = new LuceneTaxonomyWriter(indexDir);
tw.commit();
TaxonomyReader tr = new LuceneTaxonomyReader(indexDir);
@@ -940,6 +957,7 @@ public class TestTaxonomyCombined extend
assertEquals(2, tr.getSize()); // still root only...
tw.close();
tr.close();
+ indexDir.close();
}
/**
@@ -948,6 +966,7 @@ public class TestTaxonomyCombined extend
*/
@Test
public void testWriterLock() throws Exception {
+ // native fslock impl gets angry if we use it, so use RAMDirectory explicitly.
Directory indexDir = new RAMDirectory();
TaxonomyWriter tw = new LuceneTaxonomyWriter(indexDir);
tw.addCategory(new CategoryPath("hi", "there"));
@@ -975,6 +994,8 @@ public class TestTaxonomyCombined extend
tr.refresh();
assertEquals(3, tr.getOrdinal(new CategoryPath("hey")));
tr.close();
+ tw.close();
+ indexDir.close();
}
/**
@@ -1032,13 +1053,14 @@ public class TestTaxonomyCombined extend
*/
@Test
public void testWriterCheckPaths() throws Exception {
- Directory indexDir = new RAMDirectory();
+ Directory indexDir = newDirectory();
TaxonomyWriter tw = new LuceneTaxonomyWriter(indexDir);
fillTaxonomyCheckPaths(tw);
// Also check TaxonomyWriter.getSize() - see that the taxonomy's size
// is what we expect it to be.
assertEquals(expectedCategories.length, tw.getSize());
tw.close();
+ indexDir.close();
}
/**
@@ -1050,7 +1072,7 @@ public class TestTaxonomyCombined extend
*/
@Test
public void testWriterCheckPaths2() throws Exception {
- Directory indexDir = new RAMDirectory();
+ Directory indexDir = newDirectory();
TaxonomyWriter tw = new LuceneTaxonomyWriter(indexDir);
fillTaxonomy(tw);
checkPaths(tw);
@@ -1063,6 +1085,7 @@ public class TestTaxonomyCombined extend
fillTaxonomy(tw);
checkPaths(tw);
tw.close();
+ indexDir.close();
}
// TODO (Facet): test multiple readers, one writer. Have the multiple readers
Modified: lucene/dev/branches/branch_3x/lucene/contrib/facet/src/test/org/apache/lucene/facet/taxonomy/lucene/TestAddTaxonomies.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/lucene/contrib/facet/src/test/org/apache/lucene/facet/taxonomy/lucene/TestAddTaxonomies.java?rev=1141655&r1=1141654&r2=1141655&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/lucene/contrib/facet/src/test/org/apache/lucene/facet/taxonomy/lucene/TestAddTaxonomies.java (original)
+++ lucene/dev/branches/branch_3x/lucene/contrib/facet/src/test/org/apache/lucene/facet/taxonomy/lucene/TestAddTaxonomies.java Thu Jun 30 18:34:14 2011
@@ -3,10 +3,11 @@ package org.apache.lucene.facet.taxonomy
import java.io.File;
import org.apache.lucene.store.Directory;
-import org.apache.lucene.store.RAMDirectory;
import org.junit.Test;
+import org.apache.lucene.util.IOUtils;
import org.apache.lucene.util.LuceneTestCase;
+import org.apache.lucene.util._TestUtil;
import org.apache.lucene.facet.taxonomy.CategoryPath;
import org.apache.lucene.facet.taxonomy.TaxonomyReader;
import org.apache.lucene.facet.taxonomy.lucene.LuceneTaxonomyReader;
@@ -36,16 +37,16 @@ public class TestAddTaxonomies extends L
@Test
public void test1() throws Exception {
- Directory dir1 = new RAMDirectory();
+ Directory dir1 = newDirectory();
LuceneTaxonomyWriter tw1 = new LuceneTaxonomyWriter(dir1);
tw1.addCategory(new CategoryPath("Author", "Mark Twain"));
tw1.addCategory(new CategoryPath("Animals", "Dog"));
- Directory dir2 = new RAMDirectory();
+ Directory dir2 = newDirectory();
LuceneTaxonomyWriter tw2 = new LuceneTaxonomyWriter(dir2);
tw2.addCategory(new CategoryPath("Author", "Rob Pike"));
tw2.addCategory(new CategoryPath("Aardvarks", "Bob"));
tw2.close();
- Directory dir3 = new RAMDirectory();
+ Directory dir3 = newDirectory();
LuceneTaxonomyWriter tw3 = new LuceneTaxonomyWriter(dir3);
tw3.addCategory(new CategoryPath("Author", "Zebra Smith"));
tw3.addCategory(new CategoryPath("Aardvarks", "Bob"));
@@ -93,10 +94,26 @@ public class TestAddTaxonomies extends L
assertEquals(5, map1[3]);
assertEquals(7, map1[4]);
assertEquals(6, map1[5]);
+
+ tr.close();
+ dir1.close();
+ dir2.close();
+ dir3.close();
+ }
+
+ // a reasonable random test
+ public void testmedium() throws Exception {
+ int numTests = atLeast(3);
+ for (int i = 0; i < numTests; i++) {
+ dotest(_TestUtil.nextInt(random, 1, 10),
+ _TestUtil.nextInt(random, 1, 100),
+ _TestUtil.nextInt(random, 100, 1000),
+ random.nextBoolean());
+ }
}
// A more comprehensive and big random test.
- @Test
+ @Test @Nightly
public void testbig() throws Exception {
dotest(2, 1000, 5000, false);
dotest(10, 10000, 100, false);
@@ -113,8 +130,8 @@ public class TestAddTaxonomies extends L
Directory copydirs[] = new Directory[ntaxonomies];
for (int i=0; i<ntaxonomies; i++) {
- dirs[i] = new RAMDirectory();
- copydirs[i] = new RAMDirectory();
+ dirs[i] = newDirectory();
+ copydirs[i] = newDirectory();
LuceneTaxonomyWriter tw = new LuceneTaxonomyWriter(dirs[i]);
LuceneTaxonomyWriter copytw = new LuceneTaxonomyWriter(copydirs[i]);
for (int j=0; j<ncats; j++) {
@@ -135,6 +152,7 @@ public class TestAddTaxonomies extends L
if (ntaxonomies>1) {
for (int i=0; i<ntaxonomies-1; i++) {
if (disk) {
+ // TODO: use a LTC tempfile
maps[i] = new DiskOrdinalMap(new File(System.getProperty("java.io.tmpdir"),
"tmpmap"+i));
} else {
@@ -193,7 +211,7 @@ public class TestAddTaxonomies extends L
int otherord = main.getOrdinal(other.getPath(j));
assertTrue(otherord != TaxonomyReader.INVALID_ORDINAL);
}
- tr.close();
+ other.close();
}
// Check that all the new categories in the merged taxonomy exist in
@@ -229,6 +247,8 @@ public class TestAddTaxonomies extends L
}
main.close();
+ IOUtils.closeSafely(false, dirs);
+ IOUtils.closeSafely(false, copydirs);
}
}
Modified: lucene/dev/branches/branch_3x/lucene/contrib/facet/src/test/org/apache/lucene/facet/taxonomy/lucene/TestIndexClose.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/lucene/contrib/facet/src/test/org/apache/lucene/facet/taxonomy/lucene/TestIndexClose.java?rev=1141655&r1=1141654&r2=1141655&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/lucene/contrib/facet/src/test/org/apache/lucene/facet/taxonomy/lucene/TestIndexClose.java (original)
+++ lucene/dev/branches/branch_3x/lucene/contrib/facet/src/test/org/apache/lucene/facet/taxonomy/lucene/TestIndexClose.java Thu Jun 30 18:34:14 2011
@@ -4,7 +4,6 @@ import java.io.IOException;
import java.util.HashSet;
import java.util.Set;
-import org.apache.lucene.analysis.KeywordAnalyzer;
import org.apache.lucene.index.CorruptIndexException;
import org.apache.lucene.index.FilterIndexReader;
import org.apache.lucene.index.IndexReader;
@@ -13,10 +12,11 @@ import org.apache.lucene.index.IndexWrit
import org.apache.lucene.index.IndexWriterConfig.OpenMode;
import org.apache.lucene.store.Directory;
import org.apache.lucene.store.LockObtainFailedException;
-import org.apache.lucene.store.RAMDirectory;
import org.junit.Test;
import org.apache.lucene.util.LuceneTestCase;
+import org.apache.lucene.analysis.MockAnalyzer;
+import org.apache.lucene.analysis.MockTokenizer;
import org.apache.lucene.facet.taxonomy.CategoryPath;
import org.apache.lucene.facet.taxonomy.lucene.LuceneTaxonomyReader;
import org.apache.lucene.facet.taxonomy.lucene.LuceneTaxonomyWriter;
@@ -50,7 +50,7 @@ public class TestIndexClose extends Luce
@Test
public void testLeaks() throws Exception {
LeakChecker checker = new LeakChecker();
- Directory dir = new RAMDirectory();
+ Directory dir = newDirectory();
LuceneTaxonomyWriter tw = checker.openWriter(dir);
tw.close();
assertEquals(0, checker.nopen());
@@ -88,6 +88,7 @@ public class TestIndexClose extends Luce
}
tw.close();
assertEquals(0, checker.nopen());
+ dir.close();
}
private static class LeakChecker {
@@ -132,7 +133,7 @@ public class TestIndexClose extends Luce
protected void openLuceneIndex (Directory directory, OpenMode openMode)
throws CorruptIndexException, LockObtainFailedException, IOException {
indexWriter = new InstrumentedIndexWriter(directory,
- new IndexWriterConfig(TEST_VERSION_CURRENT, new KeywordAnalyzer())
+ newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(random, MockTokenizer.KEYWORD, false))
.setOpenMode(openMode));
}
Modified: lucene/dev/branches/branch_3x/lucene/contrib/facet/src/test/org/apache/lucene/facet/taxonomy/lucene/TestLuceneTaxonomyWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/lucene/contrib/facet/src/test/org/apache/lucene/facet/taxonomy/lucene/TestLuceneTaxonomyWriter.java?rev=1141655&r1=1141654&r2=1141655&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/lucene/contrib/facet/src/test/org/apache/lucene/facet/taxonomy/lucene/TestLuceneTaxonomyWriter.java (original)
+++ lucene/dev/branches/branch_3x/lucene/contrib/facet/src/test/org/apache/lucene/facet/taxonomy/lucene/TestLuceneTaxonomyWriter.java Thu Jun 30 18:34:14 2011
@@ -6,7 +6,6 @@ import java.util.Map;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.IndexWriterConfig.OpenMode;
import org.apache.lucene.store.Directory;
-import org.apache.lucene.store.RAMDirectory;
import org.junit.Test;
import org.apache.lucene.util.LuceneTestCase;
@@ -52,7 +51,7 @@ public class TestLuceneTaxonomyWriter ex
public void testCommit() throws Exception {
// Verifies that nothing is committed to the underlying Directory, if
// commit() wasn't called.
- Directory dir = new RAMDirectory();
+ Directory dir = newDirectory();
LuceneTaxonomyWriter ltw = new LuceneTaxonomyWriter(dir, OpenMode.CREATE_OR_APPEND, new NoOpCache());
assertFalse(IndexReader.indexExists(dir));
ltw.commit(); // first commit, so that an index will be created
@@ -68,7 +67,7 @@ public class TestLuceneTaxonomyWriter ex
@Test
public void testCommitUserData() throws Exception {
// Verifies that committed data is retrievable
- Directory dir = new RAMDirectory();
+ Directory dir = newDirectory();
LuceneTaxonomyWriter ltw = new LuceneTaxonomyWriter(dir, OpenMode.CREATE_OR_APPEND, new NoOpCache());
assertFalse(IndexReader.indexExists(dir));
ltw.commit(); // first commit, so that an index will be created
Modified: lucene/dev/branches/branch_3x/lucene/contrib/facet/src/test/org/apache/lucene/facet/util/TestScoredDocIDsUtils.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/lucene/contrib/facet/src/test/org/apache/lucene/facet/util/TestScoredDocIDsUtils.java?rev=1141655&r1=1141654&r2=1141655&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/lucene/contrib/facet/src/test/org/apache/lucene/facet/util/TestScoredDocIDsUtils.java (original)
+++ lucene/dev/branches/branch_3x/lucene/contrib/facet/src/test/org/apache/lucene/facet/util/TestScoredDocIDsUtils.java Thu Jun 30 18:34:14 2011
@@ -1,15 +1,16 @@
package org.apache.lucene.facet.util;
import java.io.IOException;
+import java.util.Random;
-import org.apache.lucene.analysis.KeywordAnalyzer;
+import org.apache.lucene.analysis.MockAnalyzer;
+import org.apache.lucene.analysis.MockTokenizer;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.apache.lucene.document.Field.Index;
import org.apache.lucene.document.Field.Store;
import org.apache.lucene.index.IndexReader;
-import org.apache.lucene.index.IndexWriter;
-import org.apache.lucene.index.IndexWriterConfig;
+import org.apache.lucene.index.RandomIndexWriter;
import org.apache.lucene.index.Term;
import org.apache.lucene.search.DocIdSet;
import org.apache.lucene.search.DocIdSetIterator;
@@ -17,7 +18,6 @@ import org.apache.lucene.search.IndexSea
import org.apache.lucene.search.Query;
import org.apache.lucene.search.TermQuery;
import org.apache.lucene.store.Directory;
-import org.apache.lucene.store.RAMDirectory;
import org.apache.lucene.util.OpenBitSet;
import org.apache.lucene.util.OpenBitSetDISI;
import org.junit.Test;
@@ -48,7 +48,7 @@ public class TestScoredDocIDsUtils exten
@Test
public void testComplementIterator() throws Exception {
- final int n = 100000;
+ final int n = atLeast(10000);
final OpenBitSet bits = new OpenBitSet(n);
for (int i = 0; i < 5 * n; i++) {
bits.flip(random.nextInt(n));
@@ -59,19 +59,22 @@ public class TestScoredDocIDsUtils exten
ScoredDocIDs scoredDocIDs = ScoredDocIdsUtils.createScoredDocIds(bits, n);
- IndexReader reader = createReaderWithNDocs(n);
+ Directory dir = newDirectory();
+ IndexReader reader = createReaderWithNDocs(random, n, dir);
try {
assertEquals(n - verify.cardinality(), ScoredDocIdsUtils.getComplementSet(scoredDocIDs,
reader).size());
} finally {
reader.close();
+ dir.close();
}
}
@Test
public void testAllDocs() throws Exception {
int maxDoc = 3;
- IndexReader reader = createReaderWithNDocs(maxDoc);
+ Directory dir = newDirectory();
+ IndexReader reader = createReaderWithNDocs(random, maxDoc, dir);
try {
ScoredDocIDs all = ScoredDocIdsUtils.createAllDocsScoredDocIDs(reader);
assertEquals("invalid size", maxDoc, all.size());
@@ -93,6 +96,7 @@ public class TestScoredDocIDsUtils exten
assertEquals(2, docIDsIter.advance(0));
} finally {
reader.close();
+ dir.close();
}
}
@@ -117,7 +121,8 @@ public class TestScoredDocIDsUtils exten
}
};
- IndexReader reader = createReaderWithNDocs(N_DOCS, docFactory);
+ Directory dir = newDirectory();
+ IndexReader reader = createReaderWithNDocs(random, N_DOCS, docFactory, dir);
try {
int numErasedDocs = reader.numDeletedDocs();
@@ -140,7 +145,9 @@ public class TestScoredDocIDsUtils exten
// Get all 'alpha' documents
ScoredDocIdCollector collector = ScoredDocIdCollector.create(reader.maxDoc(), false);
Query q = new TermQuery(new Term(DocumentFactory.field, DocumentFactory.alphaTxt));
- new IndexSearcher(reader).search(q, collector);
+ IndexSearcher searcher = newSearcher(reader);
+ searcher.search(q, collector);
+ searcher.close();
ScoredDocIDs scoredDocIds = collector.getScoredDocIDs();
OpenBitSet resultSet = new OpenBitSetDISI(scoredDocIds.getDocIDs().iterator(), reader.maxDoc());
@@ -168,15 +175,15 @@ public class TestScoredDocIDsUtils exten
}
} finally {
reader.close();
+ dir.close();
}
}
/**
* Creates an index with n documents, this method is meant for testing purposes ONLY
- * Node that this reader is NOT read-only and document can be deleted.
*/
- static IndexReader createReaderWithNDocs(int nDocs) throws IOException {
- return createReaderWithNDocs(nDocs, new DocumentFactory(nDocs));
+ static IndexReader createReaderWithNDocs(Random random, int nDocs, Directory directory) throws IOException {
+ return createReaderWithNDocs(random, nDocs, new DocumentFactory(nDocs), directory);
}
private static class DocumentFactory {
@@ -214,23 +221,21 @@ public class TestScoredDocIDsUtils exten
}
}
- static IndexReader createReaderWithNDocs(int nDocs, DocumentFactory docFactory) throws IOException {
- Directory ramDir = new RAMDirectory();
-
+ static IndexReader createReaderWithNDocs(Random random, int nDocs, DocumentFactory docFactory, Directory dir) throws IOException {
// Create the index
- IndexWriter writer = new IndexWriter(ramDir, new IndexWriterConfig(TEST_VERSION_CURRENT, new KeywordAnalyzer()));
+ RandomIndexWriter writer = new RandomIndexWriter(random, dir, newIndexWriterConfig(random, TEST_VERSION_CURRENT,
+ new MockAnalyzer(random, MockTokenizer.KEYWORD, false)));
for (int docNum = 0; docNum < nDocs; docNum++) {
writer.addDocument(docFactory.getDoc(docNum));
}
- writer.commit();
writer.close();
// Delete documents marked for deletion
- IndexReader reader = IndexReader.open(ramDir, false);
+ IndexReader reader = IndexReader.open(dir, false);
reader.deleteDocuments(new Term(DocumentFactory.field, DocumentFactory.delTxt));
reader.close();
// Open a fresh read-only reader with the deletions in place
- return IndexReader.open(ramDir, true);
+ return IndexReader.open(dir, true);
}
}
Modified: lucene/dev/branches/branch_3x/lucene/contrib/facet/src/test/org/apache/lucene/util/SlowRAMDirectory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/lucene/contrib/facet/src/test/org/apache/lucene/util/SlowRAMDirectory.java?rev=1141655&r1=1141654&r2=1141655&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/lucene/contrib/facet/src/test/org/apache/lucene/util/SlowRAMDirectory.java (original)
+++ lucene/dev/branches/branch_3x/lucene/contrib/facet/src/test/org/apache/lucene/util/SlowRAMDirectory.java Thu Jun 30 18:34:14 2011
@@ -28,6 +28,7 @@ import org.apache.lucene.util.ThreadInte
/**
* Test utility - slow directory
*/
+// TODO: move to test-framework and sometimes use in tests?
public class SlowRAMDirectory extends RAMDirectory {
private static final int IO_SLEEP_THRESHOLD = 50;