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 [5/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/TestBooleanQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestBooleanQuery.java?rev=984968&r1=984967&r2=984968&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestBooleanQuery.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestBooleanQuery.java Thu Aug 12 20:56:23 2010
@@ -17,6 +17,8 @@ package org.apache.lucene.search;
  * limitations under the License.
  */
 
+import java.util.Random;
+
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.index.RandomIndexWriter;
 import org.apache.lucene.document.Document;
@@ -59,8 +61,9 @@ public class TestBooleanQuery extends Lu
 
   // LUCENE-1630
   public void testNullOrSubScorer() throws Throwable {
-    Directory dir = new MockRAMDirectory();
-    RandomIndexWriter w = new RandomIndexWriter(newRandom(), dir);
+    Random random = newRandom();
+    Directory dir = newDirectory(random);
+    RandomIndexWriter w = new RandomIndexWriter(random, dir);
     Document doc = new Document();
     doc.add(new Field("field", "a b c d", Field.Store.NO, Field.Index.ANALYZED));
     w.addDocument(doc);

Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestBooleanScorer.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestBooleanScorer.java?rev=984968&r1=984967&r2=984968&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestBooleanScorer.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestBooleanScorer.java Thu Aug 12 20:56:23 2010
@@ -19,6 +19,7 @@ package org.apache.lucene.search;
 
 import java.io.IOException;
 import java.util.Arrays;
+import java.util.Random;
 
 import org.apache.lucene.document.Document;
 import org.apache.lucene.document.Field;
@@ -39,11 +40,12 @@ public class TestBooleanScorer extends L
   private static final String FIELD = "category";
   
   public void testMethod() throws Exception {
-    MockRAMDirectory directory = new MockRAMDirectory();
+    Random random = newRandom();
+    MockRAMDirectory directory = newDirectory(random);
 
     String[] values = new String[] { "1", "2", "3", "4" };
 
-    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.add(new Field(FIELD, values[i], Field.Store.YES, Field.Index.NOT_ANALYZED));

Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestCachingSpanFilter.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestCachingSpanFilter.java?rev=984968&r1=984967&r2=984968&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestCachingSpanFilter.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestCachingSpanFilter.java Thu Aug 12 20:56:23 2010
@@ -18,25 +18,28 @@ package org.apache.lucene.search;
  */
 
 import java.io.IOException;
+import java.util.Random;
 
-import org.apache.lucene.analysis.MockAnalyzer;
 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.spans.SpanTermQuery;
 import org.apache.lucene.document.Document;
 import org.apache.lucene.document.Field;
 import org.apache.lucene.store.Directory;
-import org.apache.lucene.store.MockRAMDirectory;
 import org.apache.lucene.util.LuceneTestCase;
 
 public class TestCachingSpanFilter extends LuceneTestCase {
 
   public void testEnforceDeletions() throws Exception {
-    Directory dir = new MockRAMDirectory();
-    IndexWriter writer = new IndexWriter(dir, new IndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()));
-    IndexReader reader = writer.getReader();
+    Random random = newRandom();
+    Directory dir = newDirectory(random);
+    RandomIndexWriter writer = new RandomIndexWriter(random, dir);
+    // NOTE: cannot use writer.getReader because RIW (on
+    // flipping a coin) may give us a newly opened reader,
+    // but we use .reopen on this reader below and expect to
+    // (must) get an NRT reader:
+    IndexReader reader = writer.w.getReader();
     IndexSearcher searcher = new IndexSearcher(reader);
 
     // add a doc, refresh the reader, and check that its there
@@ -110,6 +113,9 @@ public class TestCachingSpanFilter exten
 
     docs = searcher.search(constantScore, 1);
     assertEquals("[just filter] Should *not* find a hit...", 0, docs.totalHits);
+    writer.close();
+    reader.close();
+    dir.close();
   }
 
   private static IndexReader refreshReader(IndexReader reader) throws IOException {

Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestCachingWrapperFilter.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestCachingWrapperFilter.java?rev=984968&r1=984967&r2=984968&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestCachingWrapperFilter.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestCachingWrapperFilter.java Thu Aug 12 20:56:23 2010
@@ -42,7 +42,7 @@ public class TestCachingWrapperFilter ex
   }
 
   public void testCachingWorks() throws Exception {
-    Directory dir = new MockRAMDirectory();
+    Directory dir = newDirectory(rand);
     RandomIndexWriter writer = new RandomIndexWriter(rand, dir);
     writer.close();
 
@@ -64,10 +64,11 @@ public class TestCachingWrapperFilter ex
     assertFalse("second time", filter.wasCalled());
 
     reader.close();
+    dir.close();
   }
   
   public void testNullDocIdSet() throws Exception {
-    Directory dir = new MockRAMDirectory();
+    Directory dir = newDirectory(rand);
     RandomIndexWriter writer = new RandomIndexWriter(rand, dir);
     writer.close();
 
@@ -85,10 +86,11 @@ public class TestCachingWrapperFilter ex
     assertSame(DocIdSet.EMPTY_DOCIDSET, cacher.getDocIdSet(reader));
     
     reader.close();
+    dir.close();
   }
   
   public void testNullDocIdSetIterator() throws Exception {
-    Directory dir = new MockRAMDirectory();
+    Directory dir = newDirectory(rand);
     RandomIndexWriter writer = new RandomIndexWriter(rand, dir);
     writer.close();
 
@@ -111,6 +113,7 @@ public class TestCachingWrapperFilter ex
     assertSame(DocIdSet.EMPTY_DOCIDSET, cacher.getDocIdSet(reader));
     
     reader.close();
+    dir.close();
   }
   
   private static void assertDocIdSetCacheable(IndexReader reader, Filter filter, boolean shouldCacheable) throws IOException {
@@ -128,7 +131,7 @@ public class TestCachingWrapperFilter ex
   }
   
   public void testIsCacheAble() throws Exception {
-    Directory dir = new MockRAMDirectory();
+    Directory dir = newDirectory(rand);
     RandomIndexWriter writer = new RandomIndexWriter(rand, dir);
     writer.addDocument(new Document());
     writer.close();
@@ -151,10 +154,11 @@ public class TestCachingWrapperFilter ex
     }, true);
 
     reader.close();
+    dir.close();
   }
 
   public void testEnforceDeletions() throws Exception {
-    Directory dir = new MockRAMDirectory();
+    Directory dir = newDirectory(rand);
     RandomIndexWriter writer = new RandomIndexWriter(rand, dir);
 
     // NOTE: cannot use writer.getReader because RIW (on
@@ -266,6 +270,9 @@ public class TestCachingWrapperFilter ex
 
     // doesn't count as a miss
     assertEquals(missCount, filter.missCount);
+    reader.close();
+    writer.close();
+    dir.close();
   }
 
   private static IndexReader refreshReader(IndexReader reader) throws IOException {

Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestCustomSearcherSort.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestCustomSearcherSort.java?rev=984968&r1=984967&r2=984968&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestCustomSearcherSort.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestCustomSearcherSort.java Thu Aug 12 20:56:23 2010
@@ -31,7 +31,6 @@ import org.apache.lucene.index.IndexRead
 import org.apache.lucene.index.RandomIndexWriter;
 import org.apache.lucene.index.Term;
 import org.apache.lucene.store.Directory;
-import org.apache.lucene.store.MockRAMDirectory;
 import org.apache.lucene.util.LuceneTestCase;
 
 /** Unit test for sorting code. */
@@ -50,7 +49,7 @@ public class TestCustomSearcherSort exte
   protected void setUp() throws Exception {
     super.setUp();
     Random rand = newRandom();
-    index = new MockRAMDirectory();
+    index = newDirectory(rand);
     RandomIndexWriter writer = new RandomIndexWriter(rand, index);
     RandomGen random = new RandomGen(rand);
     for (int i = 0; i < INDEX_SIZE; ++i) { // don't decrease; if to low the

Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestDateFilter.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestDateFilter.java?rev=984968&r1=984967&r2=984968&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestDateFilter.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestDateFilter.java Thu Aug 12 20:56:23 2010
@@ -27,6 +27,7 @@ import org.apache.lucene.index.Term;
 import org.apache.lucene.store.MockRAMDirectory;
 
 import java.io.IOException;
+import java.util.Random;
 
 /**
  * DateFilter JUnit tests.
@@ -44,8 +45,9 @@ public class TestDateFilter extends Luce
    */
   public void testBefore() throws IOException {
     // create an index
-    MockRAMDirectory indexStore = new MockRAMDirectory();
-    RandomIndexWriter writer = new RandomIndexWriter(newRandom(), indexStore);
+    Random random = newRandom();
+    MockRAMDirectory indexStore = newDirectory(random);
+    RandomIndexWriter writer = new RandomIndexWriter(random, indexStore);
     
     long now = System.currentTimeMillis();
     
@@ -110,8 +112,9 @@ public class TestDateFilter extends Luce
    */
   public void testAfter() throws IOException {
     // create an index
-    MockRAMDirectory indexStore = new MockRAMDirectory();
-    RandomIndexWriter writer = new RandomIndexWriter(newRandom(), indexStore);
+    Random random = newRandom();
+    MockRAMDirectory indexStore = newDirectory(random);
+    RandomIndexWriter writer = new RandomIndexWriter(random, indexStore);
     
     long now = System.currentTimeMillis();
     

Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestDateSort.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestDateSort.java?rev=984968&r1=984967&r2=984968&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestDateSort.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestDateSort.java Thu Aug 12 20:56:23 2010
@@ -18,6 +18,7 @@ package org.apache.lucene.search;
  */
 
 import java.util.Arrays;
+import java.util.Random;
 
 import org.apache.lucene.util.LuceneTestCase;
 
@@ -51,8 +52,9 @@ public class TestDateSort extends Lucene
   protected void setUp() throws Exception {
     super.setUp();
     // Create an index writer.
-    directory = new MockRAMDirectory();
-    RandomIndexWriter writer = new RandomIndexWriter(newRandom(), directory);
+    Random random = newRandom();
+    directory = newDirectory(random);
+    RandomIndexWriter writer = new RandomIndexWriter(random, directory);
 
     // oldest doc:
     // Add the first document.  text = "Document 1"  dateTime = Oct 10 03:25:22 EDT 2007

Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestDisjunctionMaxQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestDisjunctionMaxQuery.java?rev=984968&r1=984967&r2=984968&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestDisjunctionMaxQuery.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestDisjunctionMaxQuery.java Thu Aug 12 20:56:23 2010
@@ -80,8 +80,8 @@ public class TestDisjunctionMaxQuery ext
   protected void setUp() throws Exception {
     super.setUp();
     
-    index = new MockRAMDirectory();
     Random random = newRandom();
+    index = newDirectory(random);
     RandomIndexWriter writer = new RandomIndexWriter(random, index,
         newIndexWriterConfig(random, TEST_VERSION_CURRENT, new MockAnalyzer())
             .setSimilarity(sim));

Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestDocBoost.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestDocBoost.java?rev=984968&r1=984967&r2=984968&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestDocBoost.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestDocBoost.java Thu Aug 12 20:56:23 2010
@@ -18,6 +18,7 @@ package org.apache.lucene.search;
  */
 
 import java.io.IOException;
+import java.util.Random;
 
 import org.apache.lucene.util.LuceneTestCase;
 import org.apache.lucene.document.*;
@@ -37,8 +38,9 @@ public class TestDocBoost extends Lucene
   }
 
   public void testDocBoost() throws Exception {
-    MockRAMDirectory store = new MockRAMDirectory();
-    RandomIndexWriter writer = new RandomIndexWriter(newRandom(), store);
+    Random random = newRandom();
+    MockRAMDirectory store = newDirectory(random);
+    RandomIndexWriter writer = new RandomIndexWriter(random, store);
 
     Fieldable f1 = new Field("field", "word", Field.Store.YES, Field.Index.ANALYZED);
     Fieldable f2 = new Field("field", "word", Field.Store.YES, Field.Index.ANALYZED);

Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestDocIdSet.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestDocIdSet.java?rev=984968&r1=984967&r2=984968&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestDocIdSet.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestDocIdSet.java Thu Aug 12 20:56:23 2010
@@ -21,6 +21,7 @@ import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Iterator;
+import java.util.Random;
 
 import junit.framework.Assert;
 
@@ -101,8 +102,9 @@ public class TestDocIdSet extends Lucene
   public void testNullDocIdSet() throws Exception {
     // Tests that if a Filter produces a null DocIdSet, which is given to
     // IndexSearcher, everything works fine. This came up in LUCENE-1754.
-    Directory dir = new MockRAMDirectory();
-    RandomIndexWriter writer = new RandomIndexWriter(newRandom(), dir);
+    Random random = newRandom();
+    Directory dir = newDirectory(random);
+    RandomIndexWriter writer = new RandomIndexWriter(random, dir);
     Document doc = new Document();
     doc.add(new Field("c", "val", Store.NO, Index.NOT_ANALYZED_NO_NORMS));
     writer.addDocument(doc);

Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestElevationComparator.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestElevationComparator.java?rev=984968&r1=984967&r2=984968&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestElevationComparator.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestElevationComparator.java Thu Aug 12 20:56:23 2010
@@ -28,6 +28,7 @@ import org.apache.lucene.util.BytesRef;
 import java.io.IOException;
 import java.util.HashMap;
 import java.util.Map;
+import java.util.Random;
 
 public class TestElevationComparator extends LuceneTestCase {
 
@@ -35,8 +36,9 @@ public class TestElevationComparator ext
 
   //@Test
   public void testSorting() throws Throwable {
-    Directory directory = new MockRAMDirectory();
-    IndexWriter writer = new IndexWriter(directory, new IndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).setMaxBufferedDocs(2));
+    Random random = newRandom();
+    Directory directory = newDirectory(random);
+    IndexWriter writer = new IndexWriter(directory, newIndexWriterConfig(random, TEST_VERSION_CURRENT, new MockAnalyzer()).setMaxBufferedDocs(2));
     ((LogMergePolicy) writer.getConfig().getMergePolicy()).setMergeFactor(1000);
     writer.addDocument(adoc(new String[] {"id", "a", "title", "ipod", "str_s", "a"}));
     writer.addDocument(adoc(new String[] {"id", "b", "title", "ipod ipod", "str_s", "b"}));

Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestExplanations.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestExplanations.java?rev=984968&r1=984967&r2=984968&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestExplanations.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestExplanations.java Thu Aug 12 20:56:23 2010
@@ -17,6 +17,8 @@ package org.apache.lucene.search;
  * limitations under the License.
  */
 
+import java.util.Random;
+
 import org.apache.lucene.queryParser.QueryParser;
 import org.apache.lucene.queryParser.ParseException;
 import org.apache.lucene.analysis.MockAnalyzer;
@@ -51,6 +53,7 @@ public class TestExplanations extends Lu
   protected IndexSearcher searcher;
   protected IndexReader reader;
   protected Directory directory;
+  protected Random random;
   
   public static final String KEY = "KEY";
   public static final String FIELD = "field";
@@ -68,8 +71,9 @@ public class TestExplanations extends Lu
   @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(KEY, ""+i, Field.Store.NO, Field.Index.NOT_ANALYZED));

Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestFieldCache.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestFieldCache.java?rev=984968&r1=984967&r2=984968&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestFieldCache.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestFieldCache.java Thu Aug 12 20:56:23 2010
@@ -25,7 +25,6 @@ import org.apache.lucene.index.IndexWrit
 import org.apache.lucene.index.RandomIndexWriter;
 import org.apache.lucene.index.TermsEnum;
 import org.apache.lucene.store.MockRAMDirectory;
-import org.apache.lucene.store.MockRAMDirectory;
 import org.apache.lucene.store.Directory;
 import org.apache.lucene.util.LuceneTestCase;
 import org.apache.lucene.util._TestUtil;
@@ -39,7 +38,9 @@ public class TestFieldCache extends Luce
   protected IndexReader reader;
   private static final int NUM_DOCS = 1000 * RANDOM_MULTIPLIER;
   private String[] unicodeStrings;
-
+  private Random random;
+  private Directory directory;
+  
   public TestFieldCache(String s) {
     super(s);
   }
@@ -47,9 +48,9 @@ public class TestFieldCache extends Luce
   @Override
   protected void setUp() throws Exception {
     super.setUp();
-    Random r = newRandom();
-    MockRAMDirectory directory = new MockRAMDirectory();
-    RandomIndexWriter writer= new RandomIndexWriter(r, directory);
+    random = newRandom();
+    directory = newDirectory(random);
+    RandomIndexWriter writer= new RandomIndexWriter(random, directory);
     long theLong = Long.MAX_VALUE;
     double theDouble = Double.MAX_VALUE;
     byte theByte = Byte.MAX_VALUE;
@@ -67,18 +68,18 @@ public class TestFieldCache extends Luce
       doc.add(new Field("theFloat", String.valueOf(theFloat--), Field.Store.NO, Field.Index.NOT_ANALYZED));
 
       // sometimes skip the field:
-      if (r.nextInt(40) != 17) {
+      if (random.nextInt(40) != 17) {
         String s = null;
-        if (i > 0 && r.nextInt(3) == 1) {
+        if (i > 0 && random.nextInt(3) == 1) {
           // reuse past string -- try to find one that's not null
           for(int iter=0;iter<10 && s==null;iter++) {
-            s = unicodeStrings[r.nextInt(i)];
+            s = unicodeStrings[random.nextInt(i)];
           }
           if (s == null) {
-            s = _TestUtil.randomUnicodeString(r, 250);
+            s = _TestUtil.randomUnicodeString(random, 250);
           }
         } else {
-          s = _TestUtil.randomUnicodeString(r, 250);
+          s = _TestUtil.randomUnicodeString(random, 250);
         }
         unicodeStrings[i] = s;
         doc.add(new Field("theRandomUnicodeString", unicodeStrings[i], Field.Store.YES, Field.Index.NOT_ANALYZED_NO_NORMS));
@@ -89,6 +90,13 @@ public class TestFieldCache extends Luce
     writer.close();
   }
 
+  @Override
+  protected void tearDown() throws Exception {
+    reader.close();
+    directory.close();
+    super.tearDown();
+  }
+  
   public void testInfoStream() throws Exception {
     try {
       FieldCache cache = FieldCache.DEFAULT;
@@ -202,8 +210,8 @@ public class TestFieldCache extends Luce
   }
 
   public void testEmptyIndex() throws Exception {
-    Directory dir = new MockRAMDirectory();
-    IndexWriter writer= new IndexWriter(dir, new IndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).setMaxBufferedDocs(500));
+    Directory dir = newDirectory(random);
+    IndexWriter writer= new IndexWriter(dir, newIndexWriterConfig(random, TEST_VERSION_CURRENT, new MockAnalyzer()).setMaxBufferedDocs(500));
     IndexReader r = writer.getReader();
     FieldCache.DocTerms terms = FieldCache.DEFAULT.getTerms(r, "foobar");
     FieldCache.DocTermsIndex termsIndex = FieldCache.DEFAULT.getTermsIndex(r, "foobar");

Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestFieldCacheRangeFilter.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestFieldCacheRangeFilter.java?rev=984968&r1=984967&r2=984968&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestFieldCacheRangeFilter.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestFieldCacheRangeFilter.java Thu Aug 12 20:56:23 2010
@@ -21,7 +21,6 @@ import java.io.IOException;
 
 
 import org.apache.lucene.index.IndexReader;
-import org.apache.lucene.index.IndexWriterConfig;
 import org.apache.lucene.index.Term;
 import org.apache.lucene.index.IndexWriter;
 import org.apache.lucene.analysis.MockAnalyzer;
@@ -516,8 +515,8 @@ public class TestFieldCacheRangeFilter e
   
   // test using a sparse index (with deleted docs).
   public void testSparseIndex() throws IOException {
-    MockRAMDirectory dir = new MockRAMDirectory();
-    IndexWriter writer = new IndexWriter(dir, new IndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()));
+    MockRAMDirectory dir = newDirectory(rand);
+    IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig(rand, TEST_VERSION_CURRENT, new MockAnalyzer()));
 
     for (int d = -20; d <= 20; d++) {
       Document doc = new Document();
@@ -551,6 +550,8 @@ public class TestFieldCacheRangeFilter e
 
     result = search.search(q,FieldCacheRangeFilter.newByteRange("id",Byte.valueOf((byte) -20),Byte.valueOf((byte) -10),T,T), 100).scoreDocs;
     assertEquals("find all", 11, result.length);
+    reader.close();
+    dir.close();
   }
   
 }

Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestFieldCacheTermsFilter.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestFieldCacheTermsFilter.java?rev=984968&r1=984967&r2=984968&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestFieldCacheTermsFilter.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestFieldCacheTermsFilter.java Thu Aug 12 20:56:23 2010
@@ -27,6 +27,7 @@ import org.apache.lucene.store.MockRAMDi
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Random;
 
 /**
  * A basic unit test for FieldCacheTermsFilter
@@ -36,8 +37,9 @@ import java.util.List;
 public class TestFieldCacheTermsFilter extends LuceneTestCase {
   public void testMissingTerms() throws Exception {
     String fieldName = "field1";
-    MockRAMDirectory rd = new MockRAMDirectory();
-    RandomIndexWriter w = new RandomIndexWriter(newRandom(), rd);
+    Random random = newRandom();
+    MockRAMDirectory rd = newDirectory(random);
+    RandomIndexWriter w = new RandomIndexWriter(random, rd);
     for (int i = 0; i < 100; i++) {
       Document doc = new Document();
       int term = i * 10; //terms are units of 10;

Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestFilteredQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestFilteredQuery.java?rev=984968&r1=984967&r2=984968&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestFilteredQuery.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestFilteredQuery.java Thu Aug 12 20:56:23 2010
@@ -27,6 +27,7 @@ import org.apache.lucene.store.MockRAMDi
 import org.apache.lucene.util.LuceneTestCase;
 import org.apache.lucene.util.DocIdBitSet;
 import java.util.BitSet;
+import java.util.Random;
 
 /**
  * FilteredQuery JUnit tests.
@@ -47,8 +48,9 @@ public class TestFilteredQuery extends L
   @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);
 
     Document doc = new Document();
     doc.add (new Field("field", "one two three four five", Field.Store.YES, Field.Index.ANALYZED));

Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestFilteredSearch.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestFilteredSearch.java?rev=984968&r1=984967&r2=984968&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestFilteredSearch.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestFilteredSearch.java Thu Aug 12 20:56:23 2010
@@ -18,6 +18,7 @@
 package org.apache.lucene.search;
 
 import java.io.IOException;
+import java.util.Random;
 
 import org.apache.lucene.util.LuceneTestCase;
 import org.apache.lucene.analysis.MockAnalyzer;
@@ -26,7 +27,6 @@ import org.apache.lucene.document.Field;
 import org.apache.lucene.index.CorruptIndexException;
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.index.IndexWriter;
-import org.apache.lucene.index.IndexWriterConfig;
 import org.apache.lucene.index.Term;
 import org.apache.lucene.index.IndexWriterConfig.OpenMode;
 import org.apache.lucene.store.Directory;
@@ -48,18 +48,22 @@ public class TestFilteredSearch extends 
   
   public void testFilteredSearch() throws CorruptIndexException, LockObtainFailedException, IOException {
     boolean enforceSingleSegment = true;
-    MockRAMDirectory directory = new MockRAMDirectory();
+    Random random = newRandom();
+    MockRAMDirectory directory = newDirectory(random);
     int[] filterBits = {1, 36};
     SimpleDocIdSetFilter filter = new SimpleDocIdSetFilter(filterBits);
-    IndexWriter writer = new IndexWriter(directory, new IndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()));
+    IndexWriter writer = new IndexWriter(directory, newIndexWriterConfig(random, TEST_VERSION_CURRENT, new MockAnalyzer()));
     searchFiltered(writer, directory, filter, enforceSingleSegment);
     // run the test on more than one segment
     enforceSingleSegment = false;
     // reset - it is stateful
     filter.reset();
-    writer = new IndexWriter(directory, new IndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).setOpenMode(OpenMode.CREATE).setMaxBufferedDocs(10));
+    writer.close();
+    writer = new IndexWriter(directory, newIndexWriterConfig(random, TEST_VERSION_CURRENT, new MockAnalyzer()).setOpenMode(OpenMode.CREATE).setMaxBufferedDocs(10));
     // we index 60 docs - this will create 6 segments
     searchFiltered(writer, directory, filter, enforceSingleSegment);
+    writer.close();
+    directory.close();
   }
 
   public void searchFiltered(IndexWriter writer, Directory directory, SimpleDocIdSetFilter filter, boolean optimize) {
@@ -81,7 +85,7 @@ public class TestFilteredSearch extends 
       filter.setTopReader(indexSearcher.getIndexReader());
       ScoreDoc[] hits = indexSearcher.search(booleanQuery, filter, 1000).scoreDocs;
       assertEquals("Number of matched documents", 1, hits.length);
-
+      indexSearcher.close();
     }
     catch (IOException e) {
       fail(e.getMessage());

Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestFuzzyQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestFuzzyQuery.java?rev=984968&r1=984967&r2=984968&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestFuzzyQuery.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestFuzzyQuery.java Thu Aug 12 20:56:23 2010
@@ -19,6 +19,7 @@ package org.apache.lucene.search;
 
 import java.util.List;
 import java.util.Arrays;
+import java.util.Random;
 import java.io.IOException;
 
 import org.apache.lucene.analysis.MockAnalyzer;
@@ -30,7 +31,6 @@ import org.apache.lucene.index.Term;
 import org.apache.lucene.queryParser.QueryParser;
 import org.apache.lucene.store.Directory;
 import org.apache.lucene.store.MockRAMDirectory;
-import org.apache.lucene.store.MockRAMDirectory;
 import org.apache.lucene.util.LuceneTestCase;
 
 /**
@@ -40,8 +40,9 @@ import org.apache.lucene.util.LuceneTest
 public class TestFuzzyQuery extends LuceneTestCase {
 
   public void testFuzziness() throws Exception {
-    MockRAMDirectory directory = new MockRAMDirectory();
-    RandomIndexWriter writer = new RandomIndexWriter(newRandom(), directory);
+    Random random = newRandom();
+    MockRAMDirectory directory = newDirectory(random);
+    RandomIndexWriter writer = new RandomIndexWriter(random, directory);
     addDoc("aaaaa", writer);
     addDoc("aaaab", writer);
     addDoc("aaabb", writer);
@@ -193,8 +194,9 @@ public class TestFuzzyQuery extends Luce
   }
 
   public void testFuzzinessLong() throws Exception {
-    MockRAMDirectory directory = new MockRAMDirectory();
-    RandomIndexWriter writer = new RandomIndexWriter(newRandom(), directory);
+    Random random = newRandom();
+    MockRAMDirectory directory = newDirectory(random);
+    RandomIndexWriter writer = new RandomIndexWriter(random, directory);
     addDoc("aaaaaaa", writer);
     addDoc("segment", writer);
 
@@ -283,8 +285,9 @@ public class TestFuzzyQuery extends Luce
   }
   
   public void testTokenLengthOpt() throws IOException {
-    MockRAMDirectory directory = new MockRAMDirectory();
-    RandomIndexWriter writer = new RandomIndexWriter(newRandom(), directory);
+    Random random = newRandom();
+    MockRAMDirectory directory = newDirectory(random);
+    RandomIndexWriter writer = new RandomIndexWriter(random, directory);
     addDoc("12345678911", writer);
     addDoc("segment", writer);
 
@@ -320,8 +323,9 @@ public class TestFuzzyQuery extends Luce
   
   /** Test the TopTermsBoostOnlyBooleanQueryRewrite rewrite method. */
   public void testBoostOnlyRewrite() throws Exception {
-    MockRAMDirectory directory = new MockRAMDirectory();
-    RandomIndexWriter writer = new RandomIndexWriter(newRandom(), directory);
+    Random random = newRandom();
+    MockRAMDirectory directory = newDirectory(random);
+    RandomIndexWriter writer = new RandomIndexWriter(random, directory);
     addDoc("Lucene", writer);
     addDoc("Lucene", writer);
     addDoc("Lucenne", writer);
@@ -346,9 +350,9 @@ public class TestFuzzyQuery extends Luce
   public void testGiga() throws Exception {
 
     MockAnalyzer analyzer = new MockAnalyzer();
-
-    Directory index = new MockRAMDirectory();
-    RandomIndexWriter w = new RandomIndexWriter(newRandom(), index);
+    Random random = newRandom();
+    Directory index = newDirectory(random);
+    RandomIndexWriter w = new RandomIndexWriter(random, index);
 
     addDoc("Lucene in Action", w);
     addDoc("Lucene for Dummies", w);

Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestFuzzyQuery2.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestFuzzyQuery2.java?rev=984968&r1=984967&r2=984968&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestFuzzyQuery2.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestFuzzyQuery2.java Thu Aug 12 20:56:23 2010
@@ -86,7 +86,7 @@ public class TestFuzzyQuery2 extends Luc
     int bits = Integer.parseInt(reader.readLine());
     int terms = (int) Math.pow(2, bits);
     
-    MockRAMDirectory dir = new MockRAMDirectory();
+    MockRAMDirectory dir = newDirectory(random);
     RandomIndexWriter writer = new RandomIndexWriter(random, dir, new MockAnalyzer(MockTokenizer.KEYWORD, false));
     
     Document doc = new Document();

Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestMatchAllDocsQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestMatchAllDocsQuery.java?rev=984968&r1=984967&r2=984968&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestMatchAllDocsQuery.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestMatchAllDocsQuery.java Thu Aug 12 20:56:23 2010
@@ -17,6 +17,7 @@
 package org.apache.lucene.search;
 
 import java.io.IOException;
+import java.util.Random;
 
 import org.apache.lucene.analysis.Analyzer;
 import org.apache.lucene.analysis.MockAnalyzer;
@@ -39,9 +40,9 @@ public class TestMatchAllDocsQuery exten
   private Analyzer analyzer = new MockAnalyzer();
   
   public void testQuery() throws Exception {
-
-    MockRAMDirectory dir = new MockRAMDirectory();
-    IndexWriter iw = new IndexWriter(dir, new IndexWriterConfig(
+    Random random = newRandom();
+    MockRAMDirectory dir = newDirectory(random);
+    IndexWriter iw = new IndexWriter(dir, newIndexWriterConfig(random,
         TEST_VERSION_CURRENT, analyzer).setMaxBufferedDocs(2));
     addDoc("one", iw, 1f);
     addDoc("two", iw, 20f);

Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestMultiPhraseQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestMultiPhraseQuery.java?rev=984968&r1=984967&r2=984968&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestMultiPhraseQuery.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestMultiPhraseQuery.java Thu Aug 12 20:56:23 2010
@@ -31,6 +31,7 @@ import org.apache.lucene.util.LuceneTest
 
 import java.io.IOException;
 import java.util.LinkedList;
+import java.util.Random;
 
 /**
  * This class tests the MultiPhraseQuery class.
@@ -43,8 +44,9 @@ public class TestMultiPhraseQuery extend
   }
   
   public void testPhrasePrefix() throws IOException {
-    MockRAMDirectory indexStore = new MockRAMDirectory();
-    RandomIndexWriter writer = new RandomIndexWriter(newRandom(), indexStore);
+    Random random = newRandom();
+    MockRAMDirectory indexStore = newDirectory(random);
+    RandomIndexWriter writer = new RandomIndexWriter(random, indexStore);
     add("blueberry pie", writer);
     add("blueberry strudel", writer);
     add("blueberry pizza", writer);
@@ -136,8 +138,9 @@ public class TestMultiPhraseQuery extend
 
   // LUCENE-2580
   public void testTall() throws IOException {
-    MockRAMDirectory indexStore = new MockRAMDirectory();
-    RandomIndexWriter writer = new RandomIndexWriter(newRandom(), indexStore);
+    Random random = newRandom();
+    MockRAMDirectory indexStore = newDirectory(random);
+    RandomIndexWriter writer = new RandomIndexWriter(random, indexStore);
     add("blueberry chocolate pie", writer);
     add("blueberry chocolate tart", writer);
     IndexReader r = writer.getReader();
@@ -165,9 +168,9 @@ public class TestMultiPhraseQuery extend
     // In order to cause the bug, the outer query must have more than one term
     // and all terms required.
     // The contained PhraseMultiQuery must contain exactly one term array.
-    
-    MockRAMDirectory indexStore = new MockRAMDirectory();
-    RandomIndexWriter writer = new RandomIndexWriter(newRandom(), indexStore);
+    Random random = newRandom();
+    MockRAMDirectory indexStore = newDirectory(random);
+    RandomIndexWriter writer = new RandomIndexWriter(random, indexStore);
     add("blueberry pie", writer);
     add("blueberry chewing gum", writer);
     add("blue raspberry pie", writer);
@@ -198,8 +201,9 @@ public class TestMultiPhraseQuery extend
   }
   
   public void testPhrasePrefixWithBooleanQuery() throws IOException {
-    MockRAMDirectory indexStore = new MockRAMDirectory();
-    RandomIndexWriter writer = new RandomIndexWriter(newRandom(), indexStore);
+    Random random = newRandom();
+    MockRAMDirectory indexStore = newDirectory(random);
+    RandomIndexWriter writer = new RandomIndexWriter(random, indexStore);
     add("This is a test", "object", writer);
     add("a note", "note", writer);
     
@@ -226,8 +230,9 @@ public class TestMultiPhraseQuery extend
   }
   
   public void testNoDocs() throws Exception {
-    MockRAMDirectory indexStore = new MockRAMDirectory();
-    RandomIndexWriter writer = new RandomIndexWriter(newRandom(), indexStore);
+    Random random = newRandom();
+    MockRAMDirectory indexStore = newDirectory(random);
+    RandomIndexWriter writer = new RandomIndexWriter(random, indexStore);
     add("a note", "note", writer);
     
     IndexReader reader = writer.getReader();

Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestMultiSearcher.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestMultiSearcher.java?rev=984968&r1=984967&r2=984968&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestMultiSearcher.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestMultiSearcher.java Thu Aug 12 20:56:23 2010
@@ -30,11 +30,11 @@ import org.apache.lucene.index.IndexWrit
 import org.apache.lucene.queryParser.QueryParser;
 import org.apache.lucene.store.Directory;
 import org.apache.lucene.store.MockRAMDirectory;
-import org.apache.lucene.store.MockRAMDirectory;
 import java.io.IOException;
 import java.util.Collections;
 import java.util.HashSet;
 import java.util.Map;
+import java.util.Random;
 import java.util.Set;
 
 /**
@@ -42,6 +42,14 @@ import java.util.Set;
  */
 public class TestMultiSearcher extends LuceneTestCase
 {
+  private Random random;
+  
+  @Override
+  public void setUp() throws Exception {
+    super.setUp();
+    random = newRandom();
+  }
+  
     public TestMultiSearcher(String name)
     {
         super(name);
@@ -57,8 +65,8 @@ public class TestMultiSearcher extends L
 
     public void testEmptyIndex() throws Exception {
         // creating two directories for indices
-        Directory indexStoreA = new MockRAMDirectory();
-        Directory indexStoreB = new MockRAMDirectory();
+        Directory indexStoreA = newDirectory(random);
+        Directory indexStoreB = newDirectory(random);
 
         // creating a document to store
         Document lDoc = new Document();
@@ -81,9 +89,9 @@ public class TestMultiSearcher extends L
         lDoc3.add(new Field("handle", "1", Field.Store.YES, Field.Index.NOT_ANALYZED));
 
         // creating an index writer for the first index
-        IndexWriter writerA = new IndexWriter(indexStoreA, new IndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()));
+        IndexWriter writerA = new IndexWriter(indexStoreA, newIndexWriterConfig(random, TEST_VERSION_CURRENT, new MockAnalyzer()));
         // creating an index writer for the second index, but writing nothing
-        IndexWriter writerB = new IndexWriter(indexStoreB, new IndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()));
+        IndexWriter writerB = new IndexWriter(indexStoreB, newIndexWriterConfig(random, TEST_VERSION_CURRENT, new MockAnalyzer()));
 
         //--------------------------------------------------------------------
         // scenario 1
@@ -127,7 +135,7 @@ public class TestMultiSearcher extends L
         //--------------------------------------------------------------------
 
         // adding one document to the empty index
-        writerB = new IndexWriter(indexStoreB, new IndexWriterConfig(
+        writerB = new IndexWriter(indexStoreB, newIndexWriterConfig(random,
             TEST_VERSION_CURRENT, 
                 new MockAnalyzer())
                 .setOpenMode(OpenMode.APPEND));
@@ -216,11 +224,11 @@ public class TestMultiSearcher extends L
         return document;
     }
     
-    private static void initIndex(Directory directory, int nDocs, boolean create, String contents2) throws IOException {
+    private static void initIndex(Random random, Directory directory, int nDocs, boolean create, String contents2) throws IOException {
         IndexWriter indexWriter=null;
         
         try {
-          indexWriter = new IndexWriter(directory, new IndexWriterConfig(
+          indexWriter = new IndexWriter(directory, newIndexWriterConfig(random,
               TEST_VERSION_CURRENT, new MockAnalyzer()).setOpenMode(
                   create ? OpenMode.CREATE : OpenMode.APPEND));
             
@@ -238,13 +246,13 @@ public class TestMultiSearcher extends L
     MockRAMDirectory ramDirectory1, ramDirectory2;
     IndexSearcher indexSearcher1, indexSearcher2;
 
-    ramDirectory1 = new MockRAMDirectory();
-    ramDirectory2 = new MockRAMDirectory();
+    ramDirectory1 = newDirectory(random);
+    ramDirectory2 = newDirectory(random);
     Query query = new TermQuery(new Term("contents", "doc0"));
 
     // Now put the documents in a different index
-    initIndex(ramDirectory1, 10, true, null); // documents with a single token "doc0", "doc1", etc...
-    initIndex(ramDirectory2, 10, true, "x"); // documents with two tokens "doc0" and "x", "doc1" and x, etc...
+    initIndex(random, ramDirectory1, 10, true, null); // documents with a single token "doc0", "doc1", etc...
+    initIndex(random, ramDirectory2, 10, true, "x"); // documents with two tokens "doc0" and "x", "doc1" and x, etc...
 
     indexSearcher1 = new IndexSearcher(ramDirectory1, true);
     indexSearcher2 = new IndexSearcher(ramDirectory2, true);
@@ -277,6 +285,10 @@ public class TestMultiSearcher extends L
     assertTrue("value is null and it shouldn't be", value != null);    
     value = document.get("other");
     assertTrue("value is not null and it should be", value == null);
+    indexSearcher1.close();
+    indexSearcher2.close();
+    ramDirectory1.close();
+    ramDirectory2.close();
   }
 
   /* uncomment this when the highest score is always normalized to 1.0, even when it was < 1.0
@@ -296,11 +308,11 @@ public class TestMultiSearcher extends L
         IndexSearcher indexSearcher1;
         ScoreDoc[] hits;
         
-        ramDirectory1=new MockRAMDirectory();
+        ramDirectory1=newDirectory(random);
         
         // First put the documents in the same index
-        initIndex(ramDirectory1, nDocs, true, null); // documents with a single token "doc0", "doc1", etc...
-        initIndex(ramDirectory1, nDocs, false, "x"); // documents with two tokens "doc0" and "x", "doc1" and x, etc...
+        initIndex(random, ramDirectory1, nDocs, true, null); // documents with a single token "doc0", "doc1", etc...
+        initIndex(random, ramDirectory1, nDocs, false, "x"); // documents with two tokens "doc0" and "x", "doc1" and x, etc...
         
         indexSearcher1=new IndexSearcher(ramDirectory1, true);
         indexSearcher1.setDefaultFieldSortScoring(true, true);
@@ -323,12 +335,12 @@ public class TestMultiSearcher extends L
         MockRAMDirectory ramDirectory2;
         IndexSearcher indexSearcher2;
         
-        ramDirectory1=new MockRAMDirectory();
-        ramDirectory2=new MockRAMDirectory();
+        ramDirectory1=newDirectory(random);
+        ramDirectory2=newDirectory(random);
         
         // Now put the documents in a different index
-        initIndex(ramDirectory1, nDocs, true, null); // documents with a single token "doc0", "doc1", etc...
-        initIndex(ramDirectory2, nDocs, true, "x"); // documents with two tokens "doc0" and "x", "doc1" and x, etc...
+        initIndex(random, ramDirectory1, nDocs, true, null); // documents with a single token "doc0", "doc1", etc...
+        initIndex(random, ramDirectory2, nDocs, true, "x"); // documents with two tokens "doc0" and "x", "doc1" and x, etc...
         
         indexSearcher1=new IndexSearcher(ramDirectory1, true);
         indexSearcher1.setDefaultFieldSortScoring(true, true);
@@ -366,8 +378,8 @@ public class TestMultiSearcher extends L
      * @throws IOException 
      */
     public void testCustomSimilarity () throws IOException {
-        MockRAMDirectory dir = new MockRAMDirectory();
-        initIndex(dir, 10, true, "x"); // documents with two tokens "doc0" and "x", "doc1" and x, etc...
+        MockRAMDirectory dir = newDirectory(random);
+        initIndex(random, dir, 10, true, "x"); // documents with two tokens "doc0" and "x", "doc1" and x, etc...
         IndexSearcher srchr = new IndexSearcher(dir, true);
         MultiSearcher msrchr = getMultiSearcherInstance(new Searcher[]{srchr});
         
@@ -403,30 +415,38 @@ public class TestMultiSearcher extends L
         // The scores from the IndexSearcher and Multisearcher should be the same
         // if the same similarity is used.
         assertEquals("MultiSearcher score must be equal to single searcher score!", score1, scoreN, 1e-6);
+        msrchr.close();
+        srchr.close();
+        dir.close();
     }
     
     public void testDocFreq() throws IOException{
-      MockRAMDirectory dir1 = new MockRAMDirectory();
-      MockRAMDirectory dir2 = new MockRAMDirectory();
+      MockRAMDirectory dir1 = newDirectory(random);
+      MockRAMDirectory dir2 = newDirectory(random);
 
-      initIndex(dir1, 10, true, "x"); // documents with two tokens "doc0" and "x", "doc1" and x, etc...
-      initIndex(dir2, 5, true, "x"); // documents with two tokens "doc0" and "x", "doc1" and x, etc...
+      initIndex(random, dir1, 10, true, "x"); // documents with two tokens "doc0" and "x", "doc1" and x, etc...
+      initIndex(random, dir2, 5, true, "x"); // documents with two tokens "doc0" and "x", "doc1" and x, etc...
       IndexSearcher searcher1 = new IndexSearcher(dir1, true);
       IndexSearcher searcher2 = new IndexSearcher(dir2, true);
       
       MultiSearcher multiSearcher = getMultiSearcherInstance(new Searcher[]{searcher1, searcher2});
       assertEquals(15, multiSearcher.docFreq(new Term("contents","x")));
+      multiSearcher.close();
+      searcher1.close();
+      searcher2.close();
+      dir1.close();
+      dir2.close();
     }
     
     public void testCreateDocFrequencyMap() throws IOException{
-      MockRAMDirectory dir1 = new MockRAMDirectory();
-      MockRAMDirectory dir2 = new MockRAMDirectory();
+      MockRAMDirectory dir1 = newDirectory(random);
+      MockRAMDirectory dir2 = newDirectory(random);
       Term template = new Term("contents") ;
       String[] contents  = {"a", "b", "c"};
       HashSet<Term> termsSet = new HashSet<Term>();
       for (int i = 0; i < contents.length; i++) {
-        initIndex(dir1, i+10, i==0, contents[i]); 
-        initIndex(dir2, i+5, i==0, contents[i]);
+        initIndex(random, dir1, i+10, i==0, contents[i]); 
+        initIndex(random, dir2, i+5, i==0, contents[i]);
         termsSet.add(template.createTerm(contents[i]));
       }
       IndexSearcher searcher1 = new IndexSearcher(dir1, true);
@@ -437,5 +457,10 @@ public class TestMultiSearcher extends L
       for (int i = 0; i < contents.length; i++) {
         assertEquals(Integer.valueOf((i*2) +15), docFrequencyMap.get(template.createTerm(contents[i])));
       }
+      multiSearcher.close();
+      searcher1.close();
+      searcher2.close();
+      dir1.close();
+      dir2.close();
     }
 }

Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestMultiSearcherRanking.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestMultiSearcherRanking.java?rev=984968&r1=984967&r2=984968&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestMultiSearcherRanking.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestMultiSearcherRanking.java Thu Aug 12 20:56:23 2010
@@ -28,6 +28,7 @@ import org.apache.lucene.queryParser.Que
 import org.apache.lucene.store.Directory;
 import org.apache.lucene.store.MockRAMDirectory;
 import java.io.IOException;
+import java.util.Random;
 
 /**
  * Tests {@link MultiSearcher} ranking, i.e. makes sure this bug is fixed:
@@ -111,13 +112,14 @@ public class TestMultiSearcherRanking ex
   @Override
   protected void setUp() throws Exception {
     super.setUp();
+    Random random = newRandom();
     // create MultiSearcher from two seperate searchers
-    Directory d1 = new MockRAMDirectory();
-    IndexWriter iw1 = new IndexWriter(d1, new IndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()));
+    d1 = newDirectory(random);
+    IndexWriter iw1 = new IndexWriter(d1, newIndexWriterConfig(random, TEST_VERSION_CURRENT, new MockAnalyzer()));
     addCollection1(iw1);
     iw1.close();
-    Directory d2 = new MockRAMDirectory();
-    IndexWriter iw2 = new IndexWriter(d2, new IndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()));
+    d2 = newDirectory(random);
+    IndexWriter iw2 = new IndexWriter(d2, newIndexWriterConfig(random, TEST_VERSION_CURRENT, new MockAnalyzer()));
     addCollection2(iw2);
     iw2.close();
 
@@ -127,14 +129,26 @@ public class TestMultiSearcherRanking ex
     multiSearcher = new MultiSearcher(s);
 
     // create IndexSearcher which contains all documents
-    Directory d = new MockRAMDirectory();
-    IndexWriter iw = new IndexWriter(d, new IndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()));
+    d = newDirectory(random);
+    IndexWriter iw = new IndexWriter(d, newIndexWriterConfig(random, TEST_VERSION_CURRENT, new MockAnalyzer()));
     addCollection1(iw);
     addCollection2(iw);
     iw.close();
     singleSearcher = new IndexSearcher(d, true);
   }
   
+  Directory d1, d2, d;
+  
+  @Override
+  protected void tearDown() throws Exception {
+    multiSearcher.close();
+    singleSearcher.close();
+    d1.close();
+    d2.close();
+    d.close();
+    super.tearDown();
+  }
+  
   private void addCollection1(IndexWriter iw) throws IOException {
     add("one blah three", iw);
     add("one foo three multiOne", iw);

Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestMultiTermConstantScore.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestMultiTermConstantScore.java?rev=984968&r1=984967&r2=984968&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestMultiTermConstantScore.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestMultiTermConstantScore.java Thu Aug 12 20:56:23 2010
@@ -55,7 +55,7 @@ public class TestMultiTermConstantScore 
         "B   2   4 5 6", "Y     3   5 6", null, "C     3     6",
         "X       4 5 6" };
 
-    small = new MockRAMDirectory();
+    small = newDirectory(rand);
     RandomIndexWriter writer = new RandomIndexWriter(rand, small, new MockAnalyzer(MockTokenizer.WHITESPACE, false));
 
     for (int i = 0; i < data.length; i++) {
@@ -609,7 +609,7 @@ public class TestMultiTermConstantScore 
   public void testFarsi() throws Exception {
 
     /* build an index */
-    MockRAMDirectory farsiIndex = new MockRAMDirectory();
+    MockRAMDirectory farsiIndex = newDirectory(rand);
     RandomIndexWriter writer = new RandomIndexWriter(rand, farsiIndex, new MockAnalyzer(MockTokenizer.SIMPLE, true));
     Document doc = new Document();
     doc.add(new Field("content", "\u0633\u0627\u0628", Field.Store.YES,
@@ -649,7 +649,7 @@ public class TestMultiTermConstantScore 
   public void testDanish() throws Exception {
 
     /* build an index */
-    MockRAMDirectory danishIndex = new MockRAMDirectory();
+    MockRAMDirectory danishIndex = newDirectory(rand);
     RandomIndexWriter writer = new RandomIndexWriter(rand, danishIndex, new MockAnalyzer(MockTokenizer.SIMPLE, true));
 
     // Danish collation orders the words below in the given order

Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestMultiThreadTermVectors.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestMultiThreadTermVectors.java?rev=984968&r1=984967&r2=984968&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestMultiThreadTermVectors.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestMultiThreadTermVectors.java Thu Aug 12 20:56:23 2010
@@ -23,15 +23,15 @@ import org.apache.lucene.analysis.MockAn
 import org.apache.lucene.document.*;
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.index.IndexWriter;
-import org.apache.lucene.index.IndexWriterConfig;
 import org.apache.lucene.index.TermFreqVector;
 import org.apache.lucene.store.MockRAMDirectory;
 import org.apache.lucene.util.English;
 
 import java.io.IOException;
+import java.util.Random;
 
 public class TestMultiThreadTermVectors extends LuceneTestCase {
-  private MockRAMDirectory directory = new MockRAMDirectory();
+  private MockRAMDirectory directory;
   public int numDocs = 100;
   public int numThreads = 3;
   
@@ -42,7 +42,9 @@ public class TestMultiThreadTermVectors 
   @Override
   protected void setUp() throws Exception {
     super.setUp();
-    IndexWriter writer = new IndexWriter(directory, new IndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()));
+    Random random = newRandom();
+    directory = newDirectory(random);
+    IndexWriter writer = new IndexWriter(directory, newIndexWriterConfig(random, TEST_VERSION_CURRENT, new MockAnalyzer()));
     //writer.setUseCompoundFile(false);
     //writer.infoStream = System.out;
     for (int i = 0; i < numDocs; i++) {
@@ -55,6 +57,12 @@ public class TestMultiThreadTermVectors 
     
   }
   
+  @Override
+  protected void tearDown() throws Exception {
+    directory.close();
+    super.tearDown();
+  }
+  
   public void test() throws Exception {
     
     IndexReader reader = null;

Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestMultiValuedNumericRangeQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestMultiValuedNumericRangeQuery.java?rev=984968&r1=984967&r2=984968&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestMultiValuedNumericRangeQuery.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestMultiValuedNumericRangeQuery.java Thu Aug 12 20:56:23 2010
@@ -40,7 +40,7 @@ public class TestMultiValuedNumericRange
   public void testMultiValuedNRQ() throws Exception {
     final Random rnd = newRandom();
 
-    MockRAMDirectory directory = new MockRAMDirectory();
+    MockRAMDirectory directory = newDirectory(rnd);
     RandomIndexWriter writer = new RandomIndexWriter(rnd, directory);
     
     DecimalFormat format = new DecimalFormat("00000000000", new DecimalFormatSymbols(Locale.US));

Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestNot.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestNot.java?rev=984968&r1=984967&r2=984968&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestNot.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestNot.java Thu Aug 12 20:56:23 2010
@@ -17,6 +17,8 @@ package org.apache.lucene.search;
  * limitations under the License.
  */
 
+import java.util.Random;
+
 import org.apache.lucene.util.LuceneTestCase;
 
 import org.apache.lucene.index.IndexReader;
@@ -38,8 +40,9 @@ public class TestNot extends LuceneTestC
   }
 
   public void testNot() throws Exception {
-    MockRAMDirectory store = new MockRAMDirectory();
-    RandomIndexWriter writer = new RandomIndexWriter(newRandom(), store);
+    Random random = newRandom();
+    MockRAMDirectory store = newDirectory(random);
+    RandomIndexWriter writer = new RandomIndexWriter(random, store);
 
     Document d1 = new Document();
     d1.add(new Field("field", "a b", Field.Store.YES, Field.Index.ANALYZED));

Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestNumericRangeQuery32.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestNumericRangeQuery32.java?rev=984968&r1=984967&r2=984968&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestNumericRangeQuery32.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestNumericRangeQuery32.java Thu Aug 12 20:56:23 2010
@@ -49,11 +49,12 @@ public class TestNumericRangeQuery32 ext
   private static MockRAMDirectory directory = null;
   private static IndexReader reader = null;
   private static IndexSearcher searcher = null;
-
+  private static Random random = null;
+  
   @BeforeClass
   public static void beforeClass() throws Exception {
-    directory = new MockRAMDirectory();
-    Random random = newStaticRandom(TestNumericRangeQuery32.class);
+    random = newStaticRandom(TestNumericRangeQuery32.class);
+    directory = newDirectory(random);
     RandomIndexWriter writer = new RandomIndexWriter(random, directory);
     
     NumericField
@@ -280,8 +281,8 @@ public class TestNumericRangeQuery32 ext
   
   @Test
   public void testInfiniteValues() throws Exception {
-    MockRAMDirectory dir = new MockRAMDirectory();
-    IndexWriter writer = new IndexWriter(dir, new IndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()));
+    MockRAMDirectory dir = newDirectory(random);
+    IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig(random, TEST_VERSION_CURRENT, new MockAnalyzer()));
     Document doc = new Document();
     doc.add(new NumericField("float").setFloatValue(Float.NEGATIVE_INFINITY));
     doc.add(new NumericField("int").setIntValue(Integer.MIN_VALUE));

Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestNumericRangeQuery64.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestNumericRangeQuery64.java?rev=984968&r1=984967&r2=984968&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestNumericRangeQuery64.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestNumericRangeQuery64.java Thu Aug 12 20:56:23 2010
@@ -48,11 +48,12 @@ public class TestNumericRangeQuery64 ext
   private static MockRAMDirectory directory = null;
   private static IndexReader reader = null;
   private static IndexSearcher searcher = null;
+  private static Random random = null;
   
   @BeforeClass
   public static void beforeClass() throws Exception {
-    directory = new MockRAMDirectory();
-    Random random = newStaticRandom(TestNumericRangeQuery64.class);
+    random = newStaticRandom(TestNumericRangeQuery64.class);
+    directory = newDirectory(random);
     RandomIndexWriter writer = new RandomIndexWriter(random, directory);
     
     NumericField
@@ -298,8 +299,8 @@ public class TestNumericRangeQuery64 ext
   
   @Test
   public void testInfiniteValues() throws Exception {
-    MockRAMDirectory dir = new MockRAMDirectory();
-    IndexWriter writer = new IndexWriter(dir, new IndexWriterConfig(
+    MockRAMDirectory dir = newDirectory(random);
+    IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig(random,
         TEST_VERSION_CURRENT, new MockAnalyzer()));
     Document doc = new Document();
     doc.add(new NumericField("double").setDoubleValue(Double.NEGATIVE_INFINITY));

Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestPhrasePrefixQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestPhrasePrefixQuery.java?rev=984968&r1=984967&r2=984968&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestPhrasePrefixQuery.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestPhrasePrefixQuery.java Thu Aug 12 20:56:23 2010
@@ -30,6 +30,7 @@ import org.apache.lucene.store.MockRAMDi
 
 import java.io.IOException;
 import java.util.LinkedList;
+import java.util.Random;
 
 /**
  * This class tests PhrasePrefixQuery class.
@@ -43,8 +44,9 @@ public class TestPhrasePrefixQuery exten
      *
      */
   public void testPhrasePrefix() throws IOException {
-    MockRAMDirectory indexStore = new MockRAMDirectory();
-    RandomIndexWriter writer = new RandomIndexWriter(newRandom(), indexStore);
+    Random random = newRandom();
+    MockRAMDirectory indexStore = newDirectory(random);
+    RandomIndexWriter writer = new RandomIndexWriter(random, indexStore);
     Document doc1 = new Document();
     Document doc2 = new Document();
     Document doc3 = new Document();

Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestPhraseQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestPhraseQuery.java?rev=984968&r1=984967&r2=984968&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestPhraseQuery.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestPhraseQuery.java Thu Aug 12 20:56:23 2010
@@ -55,7 +55,7 @@ public class TestPhraseQuery extends Luc
   public void setUp() throws Exception {
     super.setUp();
     random = newRandom();
-    directory = new MockRAMDirectory();
+    directory = newDirectory(random);
     Analyzer analyzer = new Analyzer() {
       @Override
       public TokenStream tokenStream(String fieldName, Reader reader) {
@@ -213,7 +213,7 @@ public class TestPhraseQuery extends Luc
   }
   
   public void testPhraseQueryWithStopAnalyzer() throws Exception {
-    MockRAMDirectory directory = new MockRAMDirectory();
+    MockRAMDirectory directory = newDirectory(random);
     Analyzer stopAnalyzer = new MockAnalyzer(MockTokenizer.SIMPLE, true, MockTokenFilter.ENGLISH_STOPSET, false);
     RandomIndexWriter writer = new RandomIndexWriter(random, directory, 
         newIndexWriterConfig(random, Version.LUCENE_24, stopAnalyzer));
@@ -249,7 +249,7 @@ public class TestPhraseQuery extends Luc
   }
   
   public void testPhraseQueryInConjunctionScorer() throws Exception {
-    MockRAMDirectory directory = new MockRAMDirectory();
+    MockRAMDirectory directory = newDirectory(random);
     RandomIndexWriter writer = new RandomIndexWriter(random, directory);
     
     Document doc = new Document();
@@ -336,7 +336,7 @@ public class TestPhraseQuery extends Luc
   }
   
   public void testSlopScoring() throws IOException {
-    Directory directory = new MockRAMDirectory();
+    Directory directory = newDirectory(random);
     RandomIndexWriter writer = new RandomIndexWriter(random, directory);
 
     Document doc = new Document();
@@ -597,7 +597,7 @@ public class TestPhraseQuery extends Luc
   }
 
   public void testRandomPhrases() throws Exception {
-    Directory dir = new MockRAMDirectory();
+    Directory dir = newDirectory(random);
     Analyzer analyzer = new MockAnalyzer();
 
     RandomIndexWriter w  = new RandomIndexWriter(random, dir, analyzer);

Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestPositionIncrement.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestPositionIncrement.java?rev=984968&r1=984967&r2=984968&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestPositionIncrement.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestPositionIncrement.java Thu Aug 12 20:56:23 2010
@@ -21,6 +21,7 @@ import java.io.Reader;
 import java.io.IOException;
 import java.io.StringReader;
 import java.util.Collection;
+import java.util.Random;
 
 import org.apache.lucene.analysis.Analyzer;
 import org.apache.lucene.analysis.MockTokenizer;
@@ -90,8 +91,9 @@ public class TestPositionIncrement exten
         };
       }
     };
-    Directory store = new MockRAMDirectory();
-    RandomIndexWriter writer = new RandomIndexWriter(newRandom(), store, analyzer);
+    Random random = newRandom();
+    Directory store = newDirectory(random);
+    RandomIndexWriter writer = new RandomIndexWriter(random, store, analyzer);
     Document d = new Document();
     d.add(new Field("field", "bogus", Field.Store.YES, Field.Index.ANALYZED));
     writer.addDocument(d);
@@ -240,8 +242,9 @@ public class TestPositionIncrement exten
     new CharacterRunAutomaton(new RegExp("[sS][tT][oO][pP]").toAutomaton());
   
   public void testPayloadsPos0() throws Exception {
-    Directory dir = new MockRAMDirectory();
-    RandomIndexWriter writer = new RandomIndexWriter(newRandom(), dir, new TestPayloadAnalyzer());
+    Random random = newRandom();
+    Directory dir = newDirectory(random);
+    RandomIndexWriter writer = new RandomIndexWriter(random, dir, new TestPayloadAnalyzer());
     Document doc = new Document();
     doc.add(new Field("content", new StringReader(
         "a a b c d e a f g h i j a b k k")));

Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestPrefixFilter.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestPrefixFilter.java?rev=984968&r1=984967&r2=984968&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestPrefixFilter.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestPrefixFilter.java Thu Aug 12 20:56:23 2010
@@ -17,6 +17,8 @@ package org.apache.lucene.search;
  * limitations under the License.
  */
 
+import java.util.Random;
+
 import org.apache.lucene.util.LuceneTestCase;
 import org.apache.lucene.store.MockRAMDirectory;
 import org.apache.lucene.index.IndexReader;
@@ -31,13 +33,14 @@ import org.apache.lucene.document.Field;
  */
 public class TestPrefixFilter extends LuceneTestCase {
   public void testPrefixFilter() throws Exception {
-    MockRAMDirectory directory = new MockRAMDirectory();
+    Random random = newRandom();
+    MockRAMDirectory directory = newDirectory(random);
 
     String[] categories = new String[] {"/Computers/Linux",
                                         "/Computers/Mac/One",
                                         "/Computers/Mac/Two",
                                         "/Computers/Windows"};
-    RandomIndexWriter writer = new RandomIndexWriter(newRandom(), directory);
+    RandomIndexWriter writer = new RandomIndexWriter(random, directory);
     for (int i = 0; i < categories.length; i++) {
       Document doc = new Document();
       doc.add(new Field("category", categories[i], Field.Store.YES, Field.Index.NOT_ANALYZED));

Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestPrefixInBooleanQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestPrefixInBooleanQuery.java?rev=984968&r1=984967&r2=984968&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestPrefixInBooleanQuery.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestPrefixInBooleanQuery.java Thu Aug 12 20:56:23 2010
@@ -17,6 +17,8 @@ package org.apache.lucene.search;
  * limitations under the License.
  */
 
+import java.util.Random;
+
 import org.apache.lucene.util.LuceneTestCase;
 import org.apache.lucene.document.Document;
 import org.apache.lucene.document.Field;
@@ -38,15 +40,16 @@ import org.apache.lucene.store.MockRAMDi
 public class TestPrefixInBooleanQuery extends LuceneTestCase {
 
   private static final String FIELD = "name";
-  private MockRAMDirectory directory = new MockRAMDirectory();
+  private MockRAMDirectory directory;
   private IndexReader reader;
   private IndexSearcher searcher;
 
   @Override
   protected void setUp() throws Exception {
     super.setUp();
-    
-    RandomIndexWriter writer = new RandomIndexWriter(newRandom(), directory);
+    Random random = newRandom();
+    directory = newDirectory(random);
+    RandomIndexWriter writer = new RandomIndexWriter(random, directory);
 
     for (int i = 0; i < 5137; ++i) {
       Document doc = new Document();

Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestPrefixQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestPrefixQuery.java?rev=984968&r1=984967&r2=984968&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestPrefixQuery.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestPrefixQuery.java Thu Aug 12 20:56:23 2010
@@ -17,6 +17,8 @@ package org.apache.lucene.search;
  * limitations under the License.
  */
 
+import java.util.Random;
+
 import org.apache.lucene.util.LuceneTestCase;
 import org.apache.lucene.store.MockRAMDirectory;
 import org.apache.lucene.index.IndexReader;
@@ -31,12 +33,13 @@ import org.apache.lucene.document.Field;
  */
 public class TestPrefixQuery extends LuceneTestCase {
   public void testPrefixQuery() throws Exception {
-    MockRAMDirectory directory = new MockRAMDirectory();
+    Random random = newRandom();
+    MockRAMDirectory directory = newDirectory(random);
 
     String[] categories = new String[] {"/Computers",
                                         "/Computers/Mac",
                                         "/Computers/Windows"};
-    RandomIndexWriter writer = new RandomIndexWriter(newRandom(), directory);
+    RandomIndexWriter writer = new RandomIndexWriter(random, directory);
     for (int i = 0; i < categories.length; i++) {
       Document doc = new Document();
       doc.add(new Field("category", categories[i], Field.Store.YES, Field.Index.NOT_ANALYZED));

Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestPrefixRandom.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestPrefixRandom.java?rev=984968&r1=984967&r2=984968&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestPrefixRandom.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestPrefixRandom.java Thu Aug 12 20:56:23 2010
@@ -48,7 +48,7 @@ public class TestPrefixRandom extends Lu
   protected void setUp() throws Exception {
     super.setUp();
     random = newRandom();
-    dir = new MockRAMDirectory();
+    dir = newDirectory(random);
     RandomIndexWriter writer = new RandomIndexWriter(random, dir, new MockAnalyzer(MockTokenizer.KEYWORD, false));
     
     Document doc = new Document();

Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestQueryWrapperFilter.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestQueryWrapperFilter.java?rev=984968&r1=984967&r2=984968&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestQueryWrapperFilter.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestQueryWrapperFilter.java Thu Aug 12 20:56:23 2010
@@ -17,6 +17,8 @@ package org.apache.lucene.search;
  * limitations under the License.
  */
 
+import java.util.Random;
+
 import org.apache.lucene.document.Document;
 import org.apache.lucene.document.Field;
 import org.apache.lucene.document.Field.Index;
@@ -26,14 +28,14 @@ import org.apache.lucene.index.RandomInd
 import org.apache.lucene.index.Term;
 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 TestQueryWrapperFilter extends LuceneTestCase {
 
   public void testBasic() 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);
     Document doc = new Document();
     doc.add(new Field("field", "value", Store.NO, Index.ANALYZED));
     writer.addDocument(doc);

Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestRegexpQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestRegexpQuery.java?rev=984968&r1=984967&r2=984968&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestRegexpQuery.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestRegexpQuery.java Thu Aug 12 20:56:23 2010
@@ -19,6 +19,7 @@ package org.apache.lucene.search;
 
 import java.io.IOException;
 import java.util.Arrays;
+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.IndexRead
 import org.apache.lucene.index.RandomIndexWriter;
 import org.apache.lucene.index.Term;
 import org.apache.lucene.store.Directory;
-import org.apache.lucene.store.MockRAMDirectory;
 import org.apache.lucene.util.LuceneTestCase;
 import org.apache.lucene.util.automaton.Automaton;
 import org.apache.lucene.util.automaton.AutomatonProvider;
@@ -45,8 +45,9 @@ public class TestRegexpQuery extends Luc
   
   public 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);
     Document doc = new Document();
     doc.add(new Field(FN,
         "the quick brown fox jumps over the lazy ??? dog 493432 49344",

Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestRegexpRandom.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestRegexpRandom.java?rev=984968&r1=984967&r2=984968&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestRegexpRandom.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestRegexpRandom.java Thu Aug 12 20:56:23 2010
@@ -47,7 +47,7 @@ public class TestRegexpRandom extends Lu
   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/TestRegexpRandom2.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestRegexpRandom2.java?rev=984968&r1=984967&r2=984968&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestRegexpRandom2.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestRegexpRandom2.java Thu Aug 12 20:56:23 2010
@@ -56,7 +56,7 @@ public class TestRegexpRandom2 extends L
   protected void setUp() throws Exception {
     super.setUp();
     random = newRandom();
-    dir = new MockRAMDirectory();
+    dir = newDirectory(random);
     RandomIndexWriter writer = new RandomIndexWriter(random, dir, new MockAnalyzer(MockTokenizer.KEYWORD, false));
     
     Document doc = new Document();

Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestScorerPerf.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestScorerPerf.java?rev=984968&r1=984967&r2=984968&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestScorerPerf.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestScorerPerf.java Thu Aug 12 20:56:23 2010
@@ -36,21 +36,22 @@ import org.apache.lucene.document.Field;
  */
 
 public class TestScorerPerf extends LuceneTestCase {
-  Random r;
+  Random r = newRandom();
   boolean validate = true;  // set to false when doing performance testing
 
   BitSet[] sets;
   Term[] terms;
   IndexSearcher s;
+  Directory d;
 
   public void createDummySearcher() throws Exception {
       // Create a dummy index with nothing in it.
     // This could possibly fail if Lucene starts checking for docid ranges...
-    MockRAMDirectory rd = new MockRAMDirectory();
-    IndexWriter iw = new IndexWriter(rd, new IndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()));
+    d = newDirectory(r);
+    IndexWriter iw = new IndexWriter(d, newIndexWriterConfig(r, TEST_VERSION_CURRENT, new MockAnalyzer()));
     iw.addDocument(new Document());
     iw.close();
-    s = new IndexSearcher(rd, true);
+    s = new IndexSearcher(d, true);
   }
 
   public void createRandomTerms(int nDocs, int nTerms, double power, Directory dir) throws Exception {
@@ -62,7 +63,7 @@ public class TestScorerPerf extends Luce
       terms[i] = new Term("f",Character.toString((char)('A'+i)));
     }
 
-    IndexWriter iw = new IndexWriter(dir, new IndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).setOpenMode(OpenMode.CREATE));
+    IndexWriter iw = new IndexWriter(dir, newIndexWriterConfig(r, TEST_VERSION_CURRENT, new MockAnalyzer()).setOpenMode(OpenMode.CREATE));
     for (int i=0; i<nDocs; i++) {
       Document d = new Document();
       for (int j=0; j<nTerms; j++) {
@@ -315,13 +316,13 @@ public class TestScorerPerf extends Luce
 
   public void testConjunctions() throws Exception {
     // test many small sets... the bugs will be found on boundary conditions
-    r = newRandom();
     createDummySearcher();
     validate=true;
     sets=randBitSets(1000 * RANDOM_MULTIPLIER, 10 * RANDOM_MULTIPLIER);
     doConjunctions(10000 * RANDOM_MULTIPLIER, 5 * RANDOM_MULTIPLIER);
     doNestedConjunctions(10000 * RANDOM_MULTIPLIER, 3 * RANDOM_MULTIPLIER, 3 * RANDOM_MULTIPLIER);
     s.close();
+    d.close();
   }
 
   /***

Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestSetNorm.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestSetNorm.java?rev=984968&r1=984967&r2=984968&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestSetNorm.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestSetNorm.java Thu Aug 12 20:56:23 2010
@@ -18,6 +18,7 @@ package org.apache.lucene.search;
  */
 
 import java.io.IOException;
+import java.util.Random;
 
 import org.apache.lucene.util.LuceneTestCase;
 import org.apache.lucene.analysis.MockAnalyzer;
@@ -39,8 +40,9 @@ public class TestSetNorm extends LuceneT
   }
 
   public void testSetNorm() throws Exception {
-    MockRAMDirectory store = new MockRAMDirectory();
-    IndexWriter writer = new IndexWriter(store, new IndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()));
+    Random random = newRandom();
+    MockRAMDirectory store = newDirectory(random);
+    IndexWriter writer = new IndexWriter(store, newIndexWriterConfig(random, TEST_VERSION_CURRENT, new MockAnalyzer()));
 
     // add the same document four times
     Fieldable f1 = new Field("field", "word", Field.Store.YES, Field.Index.ANALYZED);
@@ -63,7 +65,8 @@ public class TestSetNorm extends LuceneT
     // check that searches are ordered by this boost
     final float[] scores = new float[4];
 
-    new IndexSearcher(store, true).search
+    IndexSearcher is = new IndexSearcher(store, true);
+    is.search
       (new TermQuery(new Term("field", "word")),
        new Collector() {
          private int base = 0;
@@ -85,12 +88,13 @@ public class TestSetNorm extends LuceneT
            return true;
          }
        });
-
+    is.close();
     float lastScore = 0.0f;
 
     for (int i = 0; i < 4; i++) {
       assertTrue(scores[i] > lastScore);
       lastScore = scores[i];
     }
+    store.close();
   }
 }

Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestSimilarity.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestSimilarity.java?rev=984968&r1=984967&r2=984968&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestSimilarity.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestSimilarity.java Thu Aug 12 20:56:23 2010
@@ -65,8 +65,8 @@ public class TestSimilarity extends Luce
   }
 
   public void testSimilarity() throws Exception {
-    MockRAMDirectory store = new MockRAMDirectory();
     Random random = newRandom();
+    MockRAMDirectory store = newDirectory(random);
     RandomIndexWriter writer = new RandomIndexWriter(random, store, 
         newIndexWriterConfig(random, TEST_VERSION_CURRENT, new MockAnalyzer())
         .setSimilarity(new SimpleSimilarity()));

Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestSimpleExplanations.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestSimpleExplanations.java?rev=984968&r1=984967&r2=984968&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestSimpleExplanations.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestSimpleExplanations.java Thu Aug 12 20:56:23 2010
@@ -17,6 +17,8 @@ package org.apache.lucene.search;
  * 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;
@@ -307,8 +309,8 @@ public class TestSimpleExplanations exte
   
   public void testTermQueryMultiSearcherExplain() throws Exception {
     // creating two directories for indices
-    Directory indexStoreA = new MockRAMDirectory();
-    Directory indexStoreB = new MockRAMDirectory();
+    Directory indexStoreA = newDirectory(random);
+    Directory indexStoreB = newDirectory(random);
 
     Document lDoc = new Document();
     lDoc.add(new Field("handle", "1 2", Field.Store.YES, Field.Index.ANALYZED));
@@ -317,9 +319,9 @@ public class TestSimpleExplanations exte
     Document lDoc3 = new Document();
     lDoc3.add(new Field("handle", "1 2", Field.Store.YES, Field.Index.ANALYZED));
 
-    IndexWriter writerA = new IndexWriter(indexStoreA, new IndexWriterConfig(
+    IndexWriter writerA = new IndexWriter(indexStoreA, newIndexWriterConfig(random,
         TEST_VERSION_CURRENT, new MockAnalyzer()));
-    IndexWriter writerB = new IndexWriter(indexStoreB, new IndexWriterConfig(
+    IndexWriter writerB = new IndexWriter(indexStoreB, newIndexWriterConfig(random,
         TEST_VERSION_CURRENT, new MockAnalyzer()));
 
     writerA.addDocument(lDoc);
@@ -368,6 +370,8 @@ public class TestSimpleExplanations exte
     assertTrue(exp, exp.indexOf("1=3") > -1);
     assertTrue(exp, exp.indexOf("2=3") > -1);
     mSearcher.close();
+    indexStoreA.close();
+    indexStoreB.close();
   }
   
 }

Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestSloppyPhraseQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestSloppyPhraseQuery.java?rev=984968&r1=984967&r2=984968&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestSloppyPhraseQuery.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestSloppyPhraseQuery.java Thu Aug 12 20:56:23 2010
@@ -125,7 +125,7 @@ public class TestSloppyPhraseQuery exten
   private float  checkPhraseQuery(Document doc, PhraseQuery query, int slop, int expectedNumResults) throws Exception {
     query.setSlop(slop);
 
-    MockRAMDirectory ramDir = new MockRAMDirectory();
+    MockRAMDirectory ramDir = newDirectory(random);
     RandomIndexWriter writer = new RandomIndexWriter(random, ramDir, new MockAnalyzer(MockTokenizer.WHITESPACE, false));
     writer.addDocument(doc);