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 2010/08/12 22:56:29 UTC
svn commit: r984968 [6/6] - in /lucene/dev/trunk:
lucene/contrib/highlighter/src/test/org/apache/lucene/search/highlight/
lucene/contrib/highlighter/src/test/org/apache/lucene/search/vectorhighlight/
lucene/contrib/instantiated/src/test/org/apache/luce...
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestSort.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestSort.java?rev=984968&r1=984967&r2=984968&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestSort.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestSort.java Thu Aug 12 20:56:23 2010
@@ -19,6 +19,7 @@ package org.apache.lucene.search;
import java.io.IOException;
import java.io.Serializable;
+import java.util.ArrayList;
import java.util.BitSet;
import java.util.HashMap;
import java.util.Iterator;
@@ -45,7 +46,6 @@ import org.apache.lucene.search.FieldVal
import org.apache.lucene.store.LockObtainFailedException;
import org.apache.lucene.store.MockRAMDirectory;
import org.apache.lucene.store.Directory;
-import org.apache.lucene.store.MockRAMDirectory;
import org.apache.lucene.util.DocIdBitSet;
import org.apache.lucene.util.LuceneTestCase;
@@ -60,9 +60,9 @@ import org.apache.lucene.util.LuceneTest
public class TestSort extends LuceneTestCase implements Serializable {
private static final int NUM_STRINGS = 6000 * RANDOM_MULTIPLIER;
- private Searcher full;
- private Searcher searchX;
- private Searcher searchY;
+ private IndexSearcher full;
+ private IndexSearcher searchX;
+ private IndexSearcher searchY;
private Query queryX;
private Query queryY;
private Query queryA;
@@ -108,9 +108,10 @@ public class TestSort extends LuceneTest
};
// create an index of all the documents, or just the x, or just the y documents
- private Searcher getIndex (boolean even, boolean odd)
+ private IndexSearcher getIndex (boolean even, boolean odd)
throws IOException {
- MockRAMDirectory indexStore = new MockRAMDirectory();
+ MockRAMDirectory indexStore = newDirectory(random);
+ dirs.add(indexStore);
RandomIndexWriter writer = new RandomIndexWriter(random, indexStore);
for (int i=0; i<data.length; ++i) {
@@ -139,13 +140,14 @@ public class TestSort extends LuceneTest
return s;
}
- private Searcher getFullIndex()
+ private IndexSearcher getFullIndex()
throws IOException {
return getIndex (true, true);
}
private IndexSearcher getFullStrings() throws CorruptIndexException, LockObtainFailedException, IOException {
- MockRAMDirectory indexStore = new MockRAMDirectory ();
+ MockRAMDirectory indexStore = newDirectory (random);
+ dirs.add(indexStore);
IndexWriter writer = new IndexWriter(indexStore, new IndexWriterConfig(
TEST_VERSION_CURRENT, new MockAnalyzer()).setMaxBufferedDocs(4));
((LogMergePolicy) writer.getConfig().getMergePolicy()).setMergeFactor(97);
@@ -197,17 +199,17 @@ public class TestSort extends LuceneTest
return randInt;
}
- private Searcher getXIndex()
+ private IndexSearcher getXIndex()
throws IOException {
return getIndex (true, false);
}
- private Searcher getYIndex()
+ private IndexSearcher getYIndex()
throws IOException {
return getIndex (false, true);
}
- private Searcher getEmptyIndex()
+ private IndexSearcher getEmptyIndex()
throws IOException {
return getIndex (false, false);
}
@@ -226,6 +228,21 @@ public class TestSort extends LuceneTest
queryG = new TermQuery (new Term ("contents", "g"));
sort = new Sort();
}
+
+ private ArrayList<Directory> dirs = new ArrayList<Directory>();
+
+ @Override
+ protected void tearDown() throws Exception {
+ full.reader.close();
+ searchX.reader.close();
+ searchY.reader.close();
+ full.close();
+ searchX.close();
+ searchY.close();
+ for (Directory dir : dirs)
+ dir.close();
+ super.tearDown();
+ }
// test the sorts by score and document number
public void testBuiltInSorts() throws Exception {
@@ -323,7 +340,7 @@ public class TestSort extends LuceneTest
System.out.println("topn field1(field2)(docID):" + buff);
}
assertFalse("Found sort results out of order", fail);
-
+ searcher.close();
}
/**
@@ -1015,8 +1032,8 @@ public class TestSort extends LuceneTest
}
public void testEmptyStringVsNullStringSort() throws Exception {
- Directory dir = new MockRAMDirectory();
- IndexWriter w = new IndexWriter(dir, new IndexWriterConfig(
+ Directory dir = newDirectory(random);
+ IndexWriter w = new IndexWriter(dir, newIndexWriterConfig(random,
TEST_VERSION_CURRENT, new MockAnalyzer()));
Document doc = new Document();
doc.add(new Field("f", "", Field.Store.NO, Field.Index.NOT_ANALYZED));
@@ -1040,8 +1057,8 @@ public class TestSort extends LuceneTest
}
public void testLUCENE2142() throws IOException {
- MockRAMDirectory indexStore = new MockRAMDirectory ();
- IndexWriter writer = new IndexWriter(indexStore, new IndexWriterConfig(
+ MockRAMDirectory indexStore = newDirectory (random);
+ IndexWriter writer = new IndexWriter(indexStore, newIndexWriterConfig(random,
TEST_VERSION_CURRENT, new MockAnalyzer()));
for (int i=0; i<5; i++) {
Document doc = new Document();
@@ -1055,7 +1072,10 @@ public class TestSort extends LuceneTest
new SortField("string", SortField.STRING),
SortField.FIELD_DOC );
// this should not throw AIOOBE or RuntimeEx
- new IndexSearcher (indexStore, true).search(new MatchAllDocsQuery(), null, 500, sort);
+ IndexSearcher searcher = new IndexSearcher(indexStore, true);
+ searcher.search(new MatchAllDocsQuery(), null, 500, sort);
+ searcher.close();
+ indexStore.close();
}
}
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestSpanQueryFilter.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestSpanQueryFilter.java?rev=984968&r1=984967&r2=984968&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestSpanQueryFilter.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestSpanQueryFilter.java Thu Aug 12 20:56:23 2010
@@ -17,6 +17,7 @@ package org.apache.lucene.search;
*/
import java.util.List;
+import java.util.Random;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
@@ -26,7 +27,6 @@ import org.apache.lucene.index.SlowMulti
import org.apache.lucene.index.Term;
import org.apache.lucene.search.spans.SpanTermQuery;
import org.apache.lucene.store.Directory;
-import org.apache.lucene.store.MockRAMDirectory;
import org.apache.lucene.util.English;
import org.apache.lucene.util.LuceneTestCase;
@@ -38,8 +38,9 @@ public class TestSpanQueryFilter extends
}
public void testFilterWorks() throws Exception {
- Directory dir = new MockRAMDirectory();
- RandomIndexWriter writer = new RandomIndexWriter(newRandom(), dir);
+ Random random = newRandom();
+ Directory dir = newDirectory(random);
+ RandomIndexWriter writer = new RandomIndexWriter(random, dir);
for (int i = 0; i < 500; i++) {
Document document = new Document();
document.add(new Field("field", English.intToEnglish(i) + " equals " + English.intToEnglish(i),
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestTermRangeFilter.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestTermRangeFilter.java?rev=984968&r1=984967&r2=984968&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestTermRangeFilter.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestTermRangeFilter.java Thu Aug 12 20:56:23 2010
@@ -398,7 +398,7 @@ public class TestTermRangeFilter extends
public void testFarsi() throws Exception {
/* build an index */
- MockRAMDirectory farsiIndex = new MockRAMDirectory();
+ MockRAMDirectory farsiIndex = newDirectory(rand);
RandomIndexWriter writer = new RandomIndexWriter(rand, farsiIndex);
Document doc = new Document();
doc.add(new Field("content", "\u0633\u0627\u0628", Field.Store.YES,
@@ -438,7 +438,7 @@ public class TestTermRangeFilter extends
public void testDanish() throws Exception {
/* build an index */
- MockRAMDirectory danishIndex = new MockRAMDirectory();
+ MockRAMDirectory danishIndex = newDirectory(rand);
RandomIndexWriter writer = new RandomIndexWriter(rand, danishIndex);
// Danish collation orders the words below in the given order
// (example taken from TestSort.testInternationalSort() ).
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestTermRangeQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestTermRangeQuery.java?rev=984968&r1=984967&r2=984968&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestTermRangeQuery.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestTermRangeQuery.java Thu Aug 12 20:56:23 2010
@@ -20,7 +20,6 @@ package org.apache.lucene.search;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.apache.lucene.index.IndexWriter;
-import org.apache.lucene.index.IndexWriterConfig;
import org.apache.lucene.index.IndexWriterConfig.OpenMode;
import org.apache.lucene.store.MockRAMDirectory;
import org.apache.lucene.analysis.Analyzer;
@@ -34,6 +33,7 @@ import org.apache.lucene.util.LuceneTest
import java.io.IOException;
import java.io.Reader;
import java.util.Locale;
+import java.util.Random;
import java.util.Set;
import java.util.HashSet;
import java.util.Arrays;
@@ -44,11 +44,19 @@ public class TestTermRangeQuery extends
private int docCount = 0;
private MockRAMDirectory dir;
-
+ private Random random;
+
@Override
protected void setUp() throws Exception {
super.setUp();
- dir = new MockRAMDirectory();
+ random = newRandom();
+ dir = newDirectory(random);
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ dir.close();
+ super.tearDown();
}
public void testExclusive() throws Exception {
@@ -333,7 +341,7 @@ public class TestTermRangeQuery extends
}
private void initializeIndex(String[] values, Analyzer analyzer) throws IOException {
- IndexWriter writer = new IndexWriter(dir, new IndexWriterConfig(
+ IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig(random,
TEST_VERSION_CURRENT, analyzer).setOpenMode(OpenMode.CREATE));
for (int i = 0; i < values.length; i++) {
insertDoc(writer, values[i]);
@@ -342,7 +350,7 @@ public class TestTermRangeQuery extends
}
private void addDoc(String content) throws IOException {
- IndexWriter writer = new IndexWriter(dir, new IndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(MockTokenizer.WHITESPACE, false)).setOpenMode(OpenMode.APPEND));
+ IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig(random, TEST_VERSION_CURRENT, new MockAnalyzer(MockTokenizer.WHITESPACE, false)).setOpenMode(OpenMode.APPEND));
insertDoc(writer, content);
writer.close();
}
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestTermScorer.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestTermScorer.java?rev=984968&r1=984967&r2=984968&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestTermScorer.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestTermScorer.java Thu Aug 12 20:56:23 2010
@@ -20,6 +20,7 @@ package org.apache.lucene.search;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
+import java.util.Random;
import org.apache.lucene.util.LuceneTestCase;
import org.apache.lucene.document.Document;
@@ -46,9 +47,10 @@ public class TestTermScorer extends Luce
@Override
protected void setUp() throws Exception {
super.setUp();
- directory = new MockRAMDirectory();
+ Random random = newRandom();
+ directory = newDirectory(random);
- RandomIndexWriter writer = new RandomIndexWriter(newRandom(), directory);
+ RandomIndexWriter writer = new RandomIndexWriter(random, directory);
for (int i = 0; i < values.length; i++) {
Document doc = new Document();
doc
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestTermVectors.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestTermVectors.java?rev=984968&r1=984967&r2=984968&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestTermVectors.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestTermVectors.java Thu Aug 12 20:56:23 2010
@@ -26,7 +26,6 @@ import org.apache.lucene.document.Field;
import org.apache.lucene.index.*;
import org.apache.lucene.index.IndexWriterConfig.OpenMode;
import org.apache.lucene.store.Directory;
-import org.apache.lucene.store.MockRAMDirectory;
import org.apache.lucene.util.English;
import java.io.IOException;
@@ -38,7 +37,7 @@ import java.util.SortedSet;
public class TestTermVectors extends LuceneTestCase {
private IndexSearcher searcher;
private IndexReader reader;
- private Directory directory = new MockRAMDirectory();
+ private Directory directory;
private Random random;
@@ -50,6 +49,7 @@ public class TestTermVectors extends Luc
protected void setUp() throws Exception {
super.setUp();
random = newRandom();
+ directory = newDirectory(random);
RandomIndexWriter writer = new RandomIndexWriter(random, directory, new MockAnalyzer(MockTokenizer.SIMPLE, true));
//writer.setUseCompoundFile(true);
//writer.infoStream = System.out;
@@ -115,7 +115,7 @@ public class TestTermVectors extends Luc
}
public void testTermVectorsFieldOrder() throws IOException {
- Directory dir = new MockRAMDirectory();
+ Directory dir = newDirectory(random);
RandomIndexWriter writer = new RandomIndexWriter(random, dir, new MockAnalyzer(MockTokenizer.SIMPLE, true));
Document doc = new Document();
doc.add(new Field("c", "some content here", Field.Store.YES, Field.Index.ANALYZED, Field.TermVector.WITH_POSITIONS_OFFSETS));
@@ -243,7 +243,7 @@ public class TestTermVectors extends Luc
Document testDoc4 = new Document();
setupDoc(testDoc4, test4);
- Directory dir = new MockRAMDirectory();
+ Directory dir = newDirectory(random);
RandomIndexWriter writer = new RandomIndexWriter(random, dir,
newIndexWriterConfig(random, TEST_VERSION_CURRENT, new MockAnalyzer(MockTokenizer.SIMPLE, true))
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestThreadSafe.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestThreadSafe.java?rev=984968&r1=984967&r2=984968&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestThreadSafe.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestThreadSafe.java Thu Aug 12 20:56:23 2010
@@ -18,7 +18,6 @@ package org.apache.lucene.search;
import org.apache.lucene.util.LuceneTestCase;
import org.apache.lucene.store.Directory;
-import org.apache.lucene.store.MockRAMDirectory;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.index.IndexWriterConfig;
@@ -33,10 +32,8 @@ import java.io.IOException;
public class TestThreadSafe extends LuceneTestCase {
Random r;
Directory dir1;
- Directory dir2;
IndexReader ir1;
- IndexReader ir2;
String failure=null;
@@ -142,7 +139,7 @@ public class TestThreadSafe extends Luce
public void testLazyLoadThreadSafety() throws Exception{
r = newRandom();
- dir1 = new MockRAMDirectory();
+ dir1 = newDirectory(r);
// test w/ field sizes bigger than the buffer of an index input
buildDir(dir1, 15, 5, 2000);
@@ -151,7 +148,9 @@ public class TestThreadSafe extends Luce
for (int i = 0; i < num; i++) {
ir1 = IndexReader.open(dir1, false);
doTest(10,100);
+ ir1.close();
}
+ dir1.close();
}
}
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestTimeLimitingCollector.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestTimeLimitingCollector.java?rev=984968&r1=984967&r2=984968&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestTimeLimitingCollector.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestTimeLimitingCollector.java Thu Aug 12 20:56:23 2010
@@ -19,6 +19,7 @@ package org.apache.lucene.search;
import java.io.IOException;
import java.util.BitSet;
+import java.util.Random;
import org.apache.lucene.analysis.MockAnalyzer;
import org.apache.lucene.document.Document;
@@ -76,8 +77,9 @@ public class TestTimeLimitingCollector e
"blueberry strudel",
"blueberry pizza",
};
- directory = new MockRAMDirectory();
- RandomIndexWriter iw = new RandomIndexWriter(newRandom(), directory);
+ Random random = newRandom();
+ directory = newDirectory(random);
+ RandomIndexWriter iw = new RandomIndexWriter(random, directory);
for (int i=0; i<N_DOCS; i++) {
add(docText[i%docText.length], iw);
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestTopDocsCollector.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestTopDocsCollector.java?rev=984968&r1=984967&r2=984968&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestTopDocsCollector.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestTopDocsCollector.java Thu Aug 12 20:56:23 2010
@@ -18,12 +18,12 @@ package org.apache.lucene.search;
*/
import java.io.IOException;
+import java.util.Random;
import org.apache.lucene.document.Document;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.RandomIndexWriter;
import org.apache.lucene.store.Directory;
-import org.apache.lucene.store.MockRAMDirectory;
import org.apache.lucene.util.LuceneTestCase;
public class TestTopDocsCollector extends LuceneTestCase {
@@ -90,7 +90,7 @@ public class TestTopDocsCollector extend
private static final float MAX_SCORE = 9.17561f;
- private Directory dir = new MockRAMDirectory();
+ private Directory dir;
private IndexReader reader;
private TopDocsCollector<ScoreDoc> doSearch(int numResults) throws IOException {
@@ -108,7 +108,9 @@ public class TestTopDocsCollector extend
// populate an index with 30 documents, this should be enough for the test.
// The documents have no content - the test uses MatchAllDocsQuery().
- RandomIndexWriter writer = new RandomIndexWriter(newRandom(), dir);
+ Random random = newRandom();
+ dir = newDirectory(random);
+ RandomIndexWriter writer = new RandomIndexWriter(random, dir);
for (int i = 0; i < 30; i++) {
writer.addDocument(new Document());
}
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestTopScoreDocCollector.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestTopScoreDocCollector.java?rev=984968&r1=984967&r2=984968&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestTopScoreDocCollector.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestTopScoreDocCollector.java Thu Aug 12 20:56:23 2010
@@ -24,7 +24,6 @@ import org.apache.lucene.index.IndexRead
import org.apache.lucene.index.RandomIndexWriter;
import org.apache.lucene.search.BooleanClause.Occur;
import org.apache.lucene.store.Directory;
-import org.apache.lucene.store.MockRAMDirectory;
import org.apache.lucene.util.LuceneTestCase;
public class TestTopScoreDocCollector extends LuceneTestCase {
@@ -37,9 +36,8 @@ public class TestTopScoreDocCollector ex
}
public void testOutOfOrderCollection() throws Exception {
-
- Directory dir = new MockRAMDirectory();
Random random = newRandom();
+ Directory dir = newDirectory(random);
RandomIndexWriter writer = new RandomIndexWriter(random, dir);
for (int i = 0; i < 10; i++) {
writer.addDocument(new Document());
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestWildcard.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestWildcard.java?rev=984968&r1=984967&r2=984968&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestWildcard.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestWildcard.java Thu Aug 12 20:56:23 2010
@@ -99,6 +99,8 @@ public class TestWildcard
q = searcher.rewrite(wq);
assertTrue(q instanceof ConstantScoreQuery);
assertEquals(q.getBoost(), wq.getBoost());
+ searcher.close();
+ indexStore.close();
}
/**
@@ -114,6 +116,8 @@ public class TestWildcard
Query q = searcher.rewrite(wq);
assertTrue(q instanceof BooleanQuery);
assertEquals(0, ((BooleanQuery) q).clauses().size());
+ searcher.close();
+ indexStore.close();
}
/**
@@ -134,6 +138,8 @@ public class TestWildcard
assertMatches(searcher, wq, 2);
assertFalse(wq.getTermsEnum(searcher.getIndexReader()) instanceof PrefixTermsEnum);
assertFalse(wq.getTermsEnum(searcher.getIndexReader()) instanceof AutomatonTermsEnum);
+ searcher.close();
+ indexStore.close();
}
/**
@@ -171,6 +177,8 @@ public class TestWildcard
assertMatches(searcher, new WildcardQuery(new Term("body", "*tall")), 0);
assertMatches(searcher, new WildcardQuery(new Term("body", "*tal")), 1);
assertMatches(searcher, new WildcardQuery(new Term("body", "*tal*")), 2);
+ searcher.close();
+ indexStore.close();
}
/**
@@ -196,11 +204,13 @@ public class TestWildcard
assertMatches(searcher, query4, 3);
assertMatches(searcher, query5, 0);
assertMatches(searcher, query6, 1); // Query: 'meta??' matches 'metals' not 'metal'
+ searcher.close();
+ indexStore.close();
}
private MockRAMDirectory getIndexStore(String field, String[] contents)
throws IOException {
- MockRAMDirectory indexStore = new MockRAMDirectory();
+ MockRAMDirectory indexStore = newDirectory(random);
RandomIndexWriter writer = new RandomIndexWriter(random, indexStore);
for (int i = 0; i < contents.length; ++i) {
Document doc = new Document();
@@ -256,7 +266,7 @@ public class TestWildcard
};
// prepare the index
- MockRAMDirectory dir = new MockRAMDirectory();
+ MockRAMDirectory dir = newDirectory(random);
RandomIndexWriter iw = new RandomIndexWriter(random, dir);
for (int i = 0; i < docs.length; i++) {
Document doc = new Document();
@@ -312,5 +322,6 @@ public class TestWildcard
}
searcher.close();
+ dir.close();
}
}
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestWildcardRandom.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestWildcardRandom.java?rev=984968&r1=984967&r2=984968&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestWildcardRandom.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestWildcardRandom.java Thu Aug 12 20:56:23 2010
@@ -47,7 +47,7 @@ public class TestWildcardRandom extends
protected void setUp() throws Exception {
super.setUp();
random = newRandom();
- dir = new MockRAMDirectory();
+ dir = newDirectory(random);
RandomIndexWriter writer = new RandomIndexWriter(random, dir);
Document doc = new Document();
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/function/FunctionTestSetup.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/function/FunctionTestSetup.java?rev=984968&r1=984967&r2=984968&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/function/FunctionTestSetup.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/function/FunctionTestSetup.java Thu Aug 12 20:56:23 2010
@@ -25,7 +25,6 @@ import org.apache.lucene.document.Fielda
import org.apache.lucene.index.RandomIndexWriter;
import org.apache.lucene.index.IndexWriterConfig;
import org.apache.lucene.store.Directory;
-import org.apache.lucene.store.MockRAMDirectory;
import org.apache.lucene.util.LuceneTestCaseJ4;
import org.apache.lucene.util._TestUtil;
import java.util.Random;
@@ -85,9 +84,10 @@ public class FunctionTestSetup extends L
@Override
@After
public void tearDown() throws Exception {
- super.tearDown();
+ dir.close();
dir = null;
anlzr = null;
+ super.tearDown();
}
@Override
@@ -95,9 +95,9 @@ public class FunctionTestSetup extends L
public void setUp() throws Exception {
super.setUp();
// prepare a small index with just a few documents.
- dir = new MockRAMDirectory();
- anlzr = new MockAnalyzer();
Random r = newRandom();
+ dir = newDirectory(r);
+ anlzr = new MockAnalyzer();
IndexWriterConfig iwc = newIndexWriterConfig(r, TEST_VERSION_CURRENT, anlzr);
if (doMultiSegment) {
iwc.setMaxBufferedDocs(_TestUtil.nextInt(r, 2, 7));
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/function/TestCustomScoreQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/function/TestCustomScoreQuery.java?rev=984968&r1=984967&r2=984968&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/function/TestCustomScoreQuery.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/function/TestCustomScoreQuery.java Thu Aug 12 20:56:23 2010
@@ -281,6 +281,7 @@ public class TestCustomScoreQuery extend
verifyResults(boost, s,
h1, h2CustomNeutral, h3CustomMul, h4CustomAdd, h5CustomMulAdd,
q1, q2CustomNeutral, q3CustomMul, q4CustomAdd, q5CustomMulAdd);
+ s.close();
}
// verify results are as expected.
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/function/TestFieldScoreQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/function/TestFieldScoreQuery.java?rev=984968&r1=984967&r2=984968&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/function/TestFieldScoreQuery.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/function/TestFieldScoreQuery.java Thu Aug 12 20:56:23 2010
@@ -91,6 +91,7 @@ public class TestFieldScoreQuery extends
assertTrue("res id "+resID+" should be < prev res id "+prevID, resID.compareTo(prevID)<0);
prevID = resID;
}
+ s.close();
}
/** Test that FieldScoreQuery of Type.BYTE returns the expected scores. */
@@ -136,6 +137,7 @@ public class TestFieldScoreQuery extends
float expectedScore = expectedFieldScore(id); // "ID7" --> 7.0
assertEquals("score of " + id + " shuould be " + expectedScore + " != " + score, expectedScore, score, TEST_SCORE_TOLERANCE_DELTA);
}
+ s.close();
}
/** Test that FieldScoreQuery of Type.BYTE caches/reuses loaded values and consumes the proper RAM resources. */
@@ -210,7 +212,7 @@ public class TestFieldScoreQuery extends
}
}
}
-
+ s.close();
// verify new values are reloaded (not reused) for a new reader
s = new IndexSearcher(dir, true);
FieldScoreQuery q = new FieldScoreQuery(field,tp);
@@ -233,6 +235,7 @@ public class TestFieldScoreQuery extends
}
}
}
+ s.close();
}
private String testName() {
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/function/TestOrdValues.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/function/TestOrdValues.java?rev=984968&r1=984967&r2=984968&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/function/TestOrdValues.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/function/TestOrdValues.java Thu Aug 12 20:56:23 2010
@@ -87,6 +87,7 @@ public class TestOrdValues extends Funct
}
prevID = resID;
}
+ s.close();
}
/**
@@ -131,6 +132,7 @@ public class TestOrdValues extends Funct
: id2String(i + 1); // reverse ==> smaller values first
assertTrue("id of result " + i + " shuould be " + expectedId + " != " + score, expectedId.equals(id));
}
+ s.close();
}
/**
@@ -217,7 +219,7 @@ public class TestOrdValues extends Funct
}
}
}
-
+ s.close();
// verify new values are reloaded (not reused) for a new reader
s = new IndexSearcher(dir, true);
if (inOrder) {
@@ -245,6 +247,7 @@ public class TestOrdValues extends Funct
}
}
}
+ s.close();
}
private String testName() {
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/function/TestValueSource.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/function/TestValueSource.java?rev=984968&r1=984967&r2=984968&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/function/TestValueSource.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/function/TestValueSource.java Thu Aug 12 20:56:23 2010
@@ -28,7 +28,7 @@ import org.apache.lucene.document.*;
public class TestValueSource extends LuceneTestCase {
public void testMultiValueSource() throws Exception {
- Directory dir = new MockRAMDirectory();
+ Directory dir = newDirectory(newRandom());
IndexWriter w = new IndexWriter(dir, new MockAnalyzer(), IndexWriter.MaxFieldLength.UNLIMITED);
Document doc = new Document();
Field f = new Field("field", "", Field.Store.NO, Field.Index.NOT_ANALYZED);
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/payloads/PayloadHelper.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/payloads/PayloadHelper.java?rev=984968&r1=984967&r2=984968&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/payloads/PayloadHelper.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/payloads/PayloadHelper.java Thu Aug 12 20:56:23 2010
@@ -107,6 +107,7 @@ public class PayloadHelper {
* @return An IndexSearcher
* @throws IOException
*/
+ // TODO: randomize
public IndexSearcher setUp(Similarity similarity, int numDocs) throws IOException {
MockRAMDirectory directory = new MockRAMDirectory();
PayloadAnalyzer analyzer = new PayloadAnalyzer();
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/payloads/TestPayloadNearQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/payloads/TestPayloadNearQuery.java?rev=984968&r1=984967&r2=984968&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/payloads/TestPayloadNearQuery.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/payloads/TestPayloadNearQuery.java Thu Aug 12 20:56:23 2010
@@ -28,7 +28,6 @@ import org.apache.lucene.analysis.tokena
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.apache.lucene.index.IndexReader;
-import org.apache.lucene.index.IndexWriterConfig;
import org.apache.lucene.index.Payload;
import org.apache.lucene.index.RandomIndexWriter;
import org.apache.lucene.index.Term;
@@ -42,7 +41,6 @@ import org.apache.lucene.search.spans.Sp
import org.apache.lucene.search.spans.SpanNearQuery;
import org.apache.lucene.search.spans.SpanTermQuery;
import org.apache.lucene.store.Directory;
-import org.apache.lucene.store.MockRAMDirectory;
import org.apache.lucene.util.English;
import org.apache.lucene.util.LuceneTestCase;
import org.apache.lucene.search.Explanation.IDFExplanation;
@@ -106,8 +104,8 @@ public class TestPayloadNearQuery extend
@Override
protected void setUp() throws Exception {
super.setUp();
- directory = new MockRAMDirectory();
Random random = newRandom();
+ directory = newDirectory(random);
RandomIndexWriter writer = new RandomIndexWriter(random, directory,
newIndexWriterConfig(random, TEST_VERSION_CURRENT, new PayloadAnalyzer())
.setSimilarity(similarity));
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/payloads/TestPayloadTermQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/payloads/TestPayloadTermQuery.java?rev=984968&r1=984967&r2=984968&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/payloads/TestPayloadTermQuery.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/payloads/TestPayloadTermQuery.java Thu Aug 12 20:56:23 2010
@@ -112,8 +112,8 @@ public class TestPayloadTermQuery extend
@Override
protected void setUp() throws Exception {
super.setUp();
- directory = new MockRAMDirectory();
Random random = newRandom();
+ directory = newDirectory(random);
RandomIndexWriter writer = new RandomIndexWriter(random, directory,
newIndexWriterConfig(random, TEST_VERSION_CURRENT, new PayloadAnalyzer())
.setSimilarity(similarity));
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/spans/TestBasics.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/spans/TestBasics.java?rev=984968&r1=984967&r2=984968&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/spans/TestBasics.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/spans/TestBasics.java Thu Aug 12 20:56:23 2010
@@ -18,6 +18,7 @@ package org.apache.lucene.search.spans;
*/
import java.io.IOException;
+import java.util.Random;
import org.apache.lucene.analysis.MockAnalyzer;
import org.apache.lucene.analysis.MockTokenizer;
@@ -60,8 +61,9 @@ public class TestBasics extends LuceneTe
@Override
protected void setUp() throws Exception {
super.setUp();
- directory = new MockRAMDirectory();
- RandomIndexWriter writer = new RandomIndexWriter(newRandom(), directory,
+ Random random = newRandom();
+ directory = newDirectory(random);
+ RandomIndexWriter writer = new RandomIndexWriter(random, directory,
new MockAnalyzer(MockTokenizer.SIMPLE, true));
//writer.infoStream = System.out;
for (int i = 0; i < 1000; i++) {
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/spans/TestFieldMaskingSpanQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/spans/TestFieldMaskingSpanQuery.java?rev=984968&r1=984967&r2=984968&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/spans/TestFieldMaskingSpanQuery.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/spans/TestFieldMaskingSpanQuery.java Thu Aug 12 20:56:23 2010
@@ -18,6 +18,7 @@ package org.apache.lucene.search.spans;
*/
import java.util.HashSet;
+import java.util.Random;
import java.util.Set;
import org.apache.lucene.document.Document;
@@ -31,7 +32,6 @@ import org.apache.lucene.search.IndexSea
import org.apache.lucene.search.Query;
import org.apache.lucene.search.QueryUtils;
import org.apache.lucene.store.Directory;
-import org.apache.lucene.store.MockRAMDirectory;
import org.apache.lucene.util.LuceneTestCase;
public class TestFieldMaskingSpanQuery extends LuceneTestCase {
@@ -55,8 +55,9 @@ public class TestFieldMaskingSpanQuery e
@Override
protected void setUp() throws Exception {
super.setUp();
- directory = new MockRAMDirectory();
- RandomIndexWriter writer= new RandomIndexWriter(newRandom(), directory);
+ Random random = newRandom();
+ directory = newDirectory(random);
+ RandomIndexWriter writer= new RandomIndexWriter(random, directory);
writer.addDocument(doc(new Field[] { field("id", "0")
,
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/spans/TestNearSpansOrdered.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/spans/TestNearSpansOrdered.java?rev=984968&r1=984967&r2=984968&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/spans/TestNearSpansOrdered.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/spans/TestNearSpansOrdered.java Thu Aug 12 20:56:23 2010
@@ -17,6 +17,8 @@ package org.apache.lucene.search.spans;
* limitations under the License.
*/
+import java.util.Random;
+
import org.apache.lucene.analysis.MockAnalyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
@@ -31,7 +33,6 @@ import org.apache.lucene.search.IndexSea
import org.apache.lucene.search.Weight;
import org.apache.lucene.search.Scorer;
import org.apache.lucene.store.Directory;
-import org.apache.lucene.store.MockRAMDirectory;
import org.apache.lucene.util.LuceneTestCase;
public class TestNearSpansOrdered extends LuceneTestCase {
@@ -54,8 +55,9 @@ public class TestNearSpansOrdered extend
@Override
protected void setUp() throws Exception {
super.setUp();
- directory = new MockRAMDirectory();
- RandomIndexWriter writer= new RandomIndexWriter(newRandom(), directory);
+ Random random = newRandom();
+ directory = newDirectory(random);
+ RandomIndexWriter writer= new RandomIndexWriter(random, directory);
for (int i = 0; i < docFields.length; i++) {
Document doc = new Document();
doc.add(new Field(FIELD, docFields[i], Field.Store.NO, Field.Index.ANALYZED));
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/spans/TestPayloadSpans.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/spans/TestPayloadSpans.java?rev=984968&r1=984967&r2=984968&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/spans/TestPayloadSpans.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/spans/TestPayloadSpans.java Thu Aug 12 20:56:23 2010
@@ -46,6 +46,7 @@ import org.apache.lucene.search.TermQuer
import org.apache.lucene.search.TopDocs;
import org.apache.lucene.search.payloads.PayloadHelper;
import org.apache.lucene.search.payloads.PayloadSpanUtil;
+import org.apache.lucene.store.Directory;
import org.apache.lucene.store.LockObtainFailedException;
import org.apache.lucene.store.MockRAMDirectory;
import org.apache.lucene.util.LuceneTestCase;
@@ -56,7 +57,8 @@ public class TestPayloadSpans extends Lu
protected IndexReader indexReader;
private IndexReader closeIndexReader;
private Random rand;
-
+ private Directory directory;
+
public TestPayloadSpans(String s) {
super(s);
}
@@ -115,7 +117,7 @@ public class TestPayloadSpans extends Lu
- MockRAMDirectory directory = new MockRAMDirectory();
+ MockRAMDirectory directory = newDirectory(rand);
RandomIndexWriter writer = new RandomIndexWriter(rand, directory,
newIndexWriterConfig(rand, TEST_VERSION_CURRENT, new PayloadAnalyzer()).setSimilarity(similarity));
@@ -128,6 +130,7 @@ public class TestPayloadSpans extends Lu
checkSpans(snq.getSpans(SlowMultiReaderWrapper.wrap(reader)), 1,new int[]{2});
reader.close();
+ directory.close();
}
public void testNestedSpans() throws Exception {
@@ -184,6 +187,7 @@ public class TestPayloadSpans extends Lu
assertTrue("spans is null and it shouldn't be", spans != null);
checkSpans(spans, 2, new int[]{3,3});
closeIndexReader.close();
+ directory.close();
}
public void testFirstClauseWithoutPayload() throws Exception {
@@ -215,6 +219,7 @@ public class TestPayloadSpans extends Lu
assertTrue("spans is null and it shouldn't be", spans != null);
checkSpans(spans, 1, new int[]{3});
closeIndexReader.close();
+ directory.close();
}
public void testHeavilyNestedSpanQuery() throws Exception {
@@ -251,11 +256,12 @@ public class TestPayloadSpans extends Lu
assertTrue("spans is null and it shouldn't be", spans != null);
checkSpans(spans, 2, new int[]{8, 8});
closeIndexReader.close();
+ directory.close();
}
public void testShrinkToAfterShortestMatch() throws CorruptIndexException,
LockObtainFailedException, IOException {
- MockRAMDirectory directory = new MockRAMDirectory();
+ MockRAMDirectory directory = newDirectory(rand);
RandomIndexWriter writer = new RandomIndexWriter(rand, directory,
newIndexWriterConfig(rand, TEST_VERSION_CURRENT, new TestPayloadAnalyzer()));
@@ -288,11 +294,12 @@ public class TestPayloadSpans extends Lu
assertTrue(payloadSet.contains("a:Noise:10"));
assertTrue(payloadSet.contains("k:Noise:11"));
reader.close();
+ directory.close();
}
public void testShrinkToAfterShortestMatch2() throws CorruptIndexException,
LockObtainFailedException, IOException {
- MockRAMDirectory directory = new MockRAMDirectory();
+ MockRAMDirectory directory = newDirectory(rand);
RandomIndexWriter writer = new RandomIndexWriter(rand, directory,
newIndexWriterConfig(rand, TEST_VERSION_CURRENT, new TestPayloadAnalyzer()));
@@ -323,11 +330,12 @@ public class TestPayloadSpans extends Lu
assertTrue(payloadSet.contains("a:Noise:10"));
assertTrue(payloadSet.contains("k:Noise:11"));
reader.close();
+ directory.close();
}
public void testShrinkToAfterShortestMatch3() throws CorruptIndexException,
LockObtainFailedException, IOException {
- MockRAMDirectory directory = new MockRAMDirectory();
+ MockRAMDirectory directory = newDirectory(rand);
RandomIndexWriter writer = new RandomIndexWriter(rand, directory,
newIndexWriterConfig(rand, TEST_VERSION_CURRENT, new TestPayloadAnalyzer()));
@@ -364,10 +372,11 @@ public class TestPayloadSpans extends Lu
assertTrue(payloadSet.contains("a:Noise:10"));
assertTrue(payloadSet.contains("k:Noise:11"));
reader.close();
+ directory.close();
}
public void testPayloadSpanUtil() throws Exception {
- MockRAMDirectory directory = new MockRAMDirectory();
+ MockRAMDirectory directory = newDirectory(rand);
RandomIndexWriter writer = new RandomIndexWriter(rand, directory,
newIndexWriterConfig(rand, TEST_VERSION_CURRENT, new PayloadAnalyzer()).setSimilarity(similarity));
@@ -389,6 +398,7 @@ public class TestPayloadSpans extends Lu
System.out.println(new String(bytes));
}
reader.close();
+ directory.close();
}
private void checkSpans(Spans spans, int expectedNumSpans, int expectedNumPayloads,
@@ -425,7 +435,7 @@ public class TestPayloadSpans extends Lu
}
private IndexSearcher getSearcher() throws Exception {
- MockRAMDirectory directory = new MockRAMDirectory();
+ directory = newDirectory(rand);
String[] docs = new String[]{"xx rr yy mm pp","xx yy mm rr pp", "nopayload qq ss pp np", "one two three four five six seven eight nine ten eleven", "nine one two three four five six seven eight eleven ten"};
RandomIndexWriter writer = new RandomIndexWriter(rand, directory,
newIndexWriterConfig(rand, TEST_VERSION_CURRENT, new PayloadAnalyzer()).setSimilarity(similarity));
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/spans/TestSpans.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/spans/TestSpans.java?rev=984968&r1=984967&r2=984968&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/spans/TestSpans.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/spans/TestSpans.java Thu Aug 12 20:56:23 2010
@@ -27,7 +27,6 @@ import org.apache.lucene.search.Scorer;
import org.apache.lucene.search.TermQuery;
import org.apache.lucene.search.Searcher;
import org.apache.lucene.store.Directory;
-import org.apache.lucene.store.MockRAMDirectory;
import org.apache.lucene.analysis.MockAnalyzer;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.index.IndexReader;
@@ -39,19 +38,22 @@ import org.apache.lucene.document.Docume
import org.apache.lucene.document.Field;
import org.apache.lucene.util.LuceneTestCase;
import java.io.IOException;
+import java.util.Random;
public class TestSpans extends LuceneTestCase {
private IndexSearcher searcher;
private IndexReader reader;
private Directory directory;
-
+ private Random random;
+
public static final String field = "field";
@Override
protected void setUp() throws Exception {
super.setUp();
- directory = new MockRAMDirectory();
- RandomIndexWriter writer= new RandomIndexWriter(newRandom(), directory);
+ random = newRandom();
+ directory = newDirectory(random);
+ RandomIndexWriter writer= new RandomIndexWriter(random, directory);
for (int i = 0; i < docFields.length; i++) {
Document doc = new Document();
doc.add(new Field(field, docFields[i], Field.Store.YES, Field.Index.ANALYZED));
@@ -461,7 +463,7 @@ public class TestSpans extends LuceneTes
// LUCENE-1404
public void testNPESpanQuery() throws Throwable {
- final Directory dir = new MockRAMDirectory();
+ final Directory dir = newDirectory(random);
final IndexWriter writer = new IndexWriter(dir, new IndexWriterConfig(
TEST_VERSION_CURRENT, new MockAnalyzer()));
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/spans/TestSpansAdvanced.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/spans/TestSpansAdvanced.java?rev=984968&r1=984967&r2=984968&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/spans/TestSpansAdvanced.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/spans/TestSpansAdvanced.java Thu Aug 12 20:56:23 2010
@@ -59,7 +59,7 @@ public class TestSpansAdvanced extends L
super.setUp();
random = newRandom();
// create test index
- mDirectory = new MockRAMDirectory();
+ mDirectory = newDirectory(random);
final RandomIndexWriter writer = new RandomIndexWriter(random,
mDirectory, new MockAnalyzer(MockTokenizer.SIMPLE, true,
MockTokenFilter.ENGLISH_STOPSET, true));
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/store/MockRAMDirectory.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/store/MockRAMDirectory.java?rev=984968&r1=984967&r2=984968&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/store/MockRAMDirectory.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/store/MockRAMDirectory.java Thu Aug 12 20:56:23 2010
@@ -281,8 +281,15 @@ public class MockRAMDirectory extends RA
// super() does not throw IOException currently:
throw new RuntimeException("MockRAMDirectory: cannot close: there are still open files: " + openFiles);
}
+ open = false;
}
+ boolean open = true;
+
+ public synchronized boolean isOpen() {
+ return open;
+ }
+
/**
* Objects that represent fail-able conditions. Objects of a derived
* class are created and registered with the mock directory. After
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/util/LuceneTestCase.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/util/LuceneTestCase.java?rev=984968&r1=984967&r2=984968&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/util/LuceneTestCase.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/util/LuceneTestCase.java Thu Aug 12 20:56:23 2010
@@ -21,8 +21,10 @@ import java.io.File;
import java.io.PrintStream;
import java.io.IOException;
import java.util.Arrays;
+import java.util.IdentityHashMap;
import java.util.Iterator;
import java.util.Locale;
+import java.util.Map;
import java.util.Random;
import java.util.ArrayList;
import java.util.List;
@@ -39,6 +41,8 @@ import org.apache.lucene.index.codecs.Co
import org.apache.lucene.search.BooleanQuery;
import org.apache.lucene.search.FieldCache;
import org.apache.lucene.search.FieldCache.CacheEntry;
+import org.apache.lucene.store.Directory;
+import org.apache.lucene.store.MockRAMDirectory;
import org.apache.lucene.util.FieldCacheSanityChecker.Insanity;
/**
@@ -97,7 +101,9 @@ public abstract class LuceneTestCase ext
private Locale savedLocale;
private TimeZone timeZone;
private TimeZone savedTimeZone;
-
+
+ private Map<MockRAMDirectory,StackTraceElement[]> stores;
+
/** Used to track if setUp and tearDown are called correctly from subclasses */
private boolean setup;
@@ -125,6 +131,7 @@ public abstract class LuceneTestCase ext
super.setUp();
assertFalse("ensure your tearDown() calls super.tearDown()!!!", setup);
setup = true;
+ stores = new IdentityHashMap<MockRAMDirectory,StackTraceElement[]>();
savedUncaughtExceptionHandler = Thread.getDefaultUncaughtExceptionHandler();
Thread.setDefaultUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() {
public void uncaughtException(Thread t, Throwable e) {
@@ -203,6 +210,15 @@ public abstract class LuceneTestCase ext
purgeFieldCache(FieldCache.DEFAULT);
}
+ // now look for unclosed resources
+ for (MockRAMDirectory d : stores.keySet()) {
+ if (d.isOpen()) {
+ StackTraceElement elements[] = stores.get(d);
+ StackTraceElement element = (elements.length > 1) ? elements[1] : null;
+ fail("directory of testcase " + getName() + " was not closed, opened from: " + element);
+ }
+ }
+ stores = null;
super.tearDown();
}
@@ -313,6 +329,20 @@ public abstract class LuceneTestCase ext
return LuceneTestCaseJ4.newIndexWriterConfig(r, v, a);
}
+ public MockRAMDirectory newDirectory(Random r) throws IOException {
+ StackTraceElement[] stack = new Exception().getStackTrace();
+ MockRAMDirectory dir = new MockRAMDirectory();
+ stores.put(dir, stack);
+ return dir;
+ }
+
+ public MockRAMDirectory newDirectory(Random r, Directory d) throws IOException {
+ StackTraceElement[] stack = new Exception().getStackTrace();
+ MockRAMDirectory dir = new MockRAMDirectory(d);
+ stores.put(dir, stack);
+ return dir;
+ }
+
/** Gets a resource from the classpath as {@link File}. This method should only be used,
* if a real file is needed. To get a stream, code should prefer
* {@link Class#getResourceAsStream} using {@code this.getClass()}.
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/util/LuceneTestCaseJ4.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/util/LuceneTestCaseJ4.java?rev=984968&r1=984967&r2=984968&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/util/LuceneTestCaseJ4.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/util/LuceneTestCaseJ4.java Thu Aug 12 20:56:23 2010
@@ -26,6 +26,8 @@ import org.apache.lucene.index.SerialMer
import org.apache.lucene.search.BooleanQuery;
import org.apache.lucene.search.FieldCache;
import org.apache.lucene.search.FieldCache.CacheEntry;
+import org.apache.lucene.store.Directory;
+import org.apache.lucene.store.MockRAMDirectory;
import org.apache.lucene.util.FieldCacheSanityChecker.Insanity;
import org.apache.lucene.index.codecs.CodecProvider;
import org.apache.lucene.index.codecs.Codec;
@@ -56,6 +58,7 @@ import java.io.File;
import java.io.PrintStream;
import java.io.IOException;
import java.util.Arrays;
+import java.util.IdentityHashMap;
import java.util.Iterator;
import java.util.Locale;
import java.util.Random;
@@ -187,6 +190,8 @@ public class LuceneTestCaseJ4 {
private static TimeZone timeZone;
private static TimeZone savedTimeZone;
+ private static Map<MockRAMDirectory,StackTraceElement[]> stores;
+
private static final String[] TEST_CODECS = new String[] {"MockSep", "MockFixedIntBlock", "MockVariableIntBlock"};
private static void swapCodec(Codec c) {
@@ -274,6 +279,7 @@ public class LuceneTestCaseJ4 {
@BeforeClass
public static void beforeClassLuceneTestCaseJ4() {
+ stores = Collections.synchronizedMap(new IdentityHashMap<MockRAMDirectory,StackTraceElement[]>());
codec = installTestCodecs();
savedLocale = Locale.getDefault();
locale = TEST_LOCALE.equals("random") ? randomLocale(seedRnd) : localeForName(TEST_LOCALE);
@@ -288,6 +294,15 @@ public class LuceneTestCaseJ4 {
removeTestCodecs(codec);
Locale.setDefault(savedLocale);
TimeZone.setDefault(savedTimeZone);
+ // now look for unclosed resources
+ for (MockRAMDirectory d : stores.keySet()) {
+ if (d.isOpen()) {
+ StackTraceElement elements[] = stores.get(d);
+ StackTraceElement element = (elements.length > 1) ? elements[1] : null;
+ fail("directory of test was not closed, opened from: " + element);
+ }
+ }
+ stores = null;
}
// This is how we get control when errors occur.
@@ -567,6 +582,20 @@ public class LuceneTestCaseJ4 {
return c;
}
+ public static MockRAMDirectory newDirectory(Random r) throws IOException {
+ StackTraceElement[] stack = new Exception().getStackTrace();
+ MockRAMDirectory dir = new MockRAMDirectory();
+ stores.put(dir, stack);
+ return dir;
+ }
+
+ public static MockRAMDirectory newDirectory(Random r, Directory d) throws IOException {
+ StackTraceElement[] stack = new Exception().getStackTrace();
+ MockRAMDirectory dir = new MockRAMDirectory(d);
+ stores.put(dir, stack);
+ return dir;
+ }
+
/** return a random Locale from the available locales on the system */
public static Locale randomLocale(Random random) {
Locale locales[] = Locale.getAvailableLocales();
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/util/TestFieldCacheSanityChecker.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/util/TestFieldCacheSanityChecker.java?rev=984968&r1=984967&r2=984968&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/util/TestFieldCacheSanityChecker.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/util/TestFieldCacheSanityChecker.java Thu Aug 12 20:56:23 2010
@@ -29,24 +29,25 @@ import org.apache.lucene.util.FieldCache
import org.apache.lucene.util.FieldCacheSanityChecker.InsanityType;
import java.io.IOException;
+import java.util.Random;
public class TestFieldCacheSanityChecker extends LuceneTestCase {
protected IndexReader readerA;
protected IndexReader readerB;
protected IndexReader readerX;
-
+ protected MockRAMDirectory dirA, dirB;
private static final int NUM_DOCS = 1000;
@Override
protected void setUp() throws Exception {
super.setUp();
+ Random random = newRandom();
+ dirA = newDirectory(random);
+ dirB = newDirectory(random);
- MockRAMDirectory dirA = new MockRAMDirectory();
- MockRAMDirectory dirB = new MockRAMDirectory();
-
- IndexWriter wA = new IndexWriter(dirA, new IndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()));
- IndexWriter wB = new IndexWriter(dirB, new IndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()));
+ IndexWriter wA = new IndexWriter(dirA, newIndexWriterConfig(random, TEST_VERSION_CURRENT, new MockAnalyzer()));
+ IndexWriter wB = new IndexWriter(dirB, newIndexWriterConfig(random, TEST_VERSION_CURRENT, new MockAnalyzer()));
long theLong = Long.MAX_VALUE;
double theDouble = Double.MAX_VALUE;
@@ -80,6 +81,8 @@ public class TestFieldCacheSanityChecker
readerA.close();
readerB.close();
readerX.close();
+ dirA.close();
+ dirB.close();
super.tearDown();
}
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/util/packed/TestPackedInts.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/util/packed/TestPackedInts.java?rev=984968&r1=984967&r2=984968&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/util/packed/TestPackedInts.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/util/packed/TestPackedInts.java Thu Aug 12 20:56:23 2010
@@ -56,7 +56,7 @@ public class TestPackedInts extends Luce
long ceil = 2;
for(int nbits=1;nbits<63;nbits++) {
final int valueCount = 100+rnd.nextInt(500);
- final Directory d = new MockRAMDirectory();
+ final Directory d = newDirectory(rnd);
IndexOutput out = d.createOutput("out.bin");
PackedInts.Writer w = PackedInts.getWriter(
@@ -95,6 +95,7 @@ public class TestPackedInts extends Luce
assertEquals(fp, in.getFilePointer());
in.close();
ceil *= 2;
+ d.close();
}
}
}
@@ -208,7 +209,7 @@ public class TestPackedInts extends Luce
}
public void testSingleValue() throws Exception {
- Directory dir = new MockRAMDirectory();
+ Directory dir = newDirectory(newRandom());
IndexOutput out = dir.createOutput("out");
PackedInts.Writer w = PackedInts.getWriter(out, 1, 8);
w.add(17);
Modified: lucene/dev/trunk/modules/analysis/common/src/test/org/apache/lucene/analysis/sinks/TestTeeSinkTokenFilter.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/modules/analysis/common/src/test/org/apache/lucene/analysis/sinks/TestTeeSinkTokenFilter.java?rev=984968&r1=984967&r2=984968&view=diff
==============================================================================
--- lucene/dev/trunk/modules/analysis/common/src/test/org/apache/lucene/analysis/sinks/TestTeeSinkTokenFilter.java (original)
+++ lucene/dev/trunk/modules/analysis/common/src/test/org/apache/lucene/analysis/sinks/TestTeeSinkTokenFilter.java Thu Aug 12 20:56:23 2010
@@ -40,6 +40,7 @@ import org.apache.lucene.util.AttributeS
import org.apache.lucene.util.English;
import java.io.IOException;
import java.io.StringReader;
+import java.util.Random;
/**
@@ -92,9 +93,10 @@ public class TestTeeSinkTokenFilter exte
// TODO: instead of testing it this way, we can test
// with BaseTokenStreamTestCase now...
public void testEndOffsetPositionWithTeeSinkTokenFilter() throws Exception {
- MockRAMDirectory dir = new MockRAMDirectory();
+ Random random = newRandom();
+ MockRAMDirectory dir = newDirectory(random);
Analyzer analyzer = new WhitespaceAnalyzer(TEST_VERSION_CURRENT);
- IndexWriter w = new IndexWriter(dir, new IndexWriterConfig(TEST_VERSION_CURRENT, analyzer));
+ IndexWriter w = new IndexWriter(dir, newIndexWriterConfig(random, TEST_VERSION_CURRENT, analyzer));
Document doc = new Document();
TeeSinkTokenFilter tee = new TeeSinkTokenFilter(analyzer.tokenStream("field", new StringReader("abcd ")));
TokenStream sink = tee.newSinkTokenStream();
Modified: lucene/dev/trunk/solr/src/test/org/apache/solr/search/TestSort.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/src/test/org/apache/solr/search/TestSort.java?rev=984968&r1=984967&r2=984968&view=diff
==============================================================================
--- lucene/dev/trunk/solr/src/test/org/apache/solr/search/TestSort.java (original)
+++ lucene/dev/trunk/solr/src/test/org/apache/solr/search/TestSort.java Thu Aug 12 20:56:23 2010
@@ -48,7 +48,8 @@ public class TestSort extends AbstractSo
}
public void testSort() throws Exception {
- MockRAMDirectory dir = new MockRAMDirectory();
+ Random random = newRandom();
+ MockRAMDirectory dir = newDirectory(random);
Document smallDoc = new Document();
// Field id = new Field("id","0", Field.Store.NO, Field.Index.NOT_ANALYZED_NO_NORMS);
Field f = new Field("f","0", Field.Store.NO, Field.Index.NOT_ANALYZED_NO_NORMS);
@@ -179,6 +180,8 @@ public class TestSort extends AbstractSo
assertEquals(id, collectedDocs.get(j).doc);
}
}
+ searcher.close();
+ dir.close();
}
}