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/14 15:06:23 UTC

svn commit: r985485 [4/8] - in /lucene/dev/branches/branch_3x: ./ lucene/ lucene/backwards/src/ lucene/backwards/src/test/org/apache/lucene/analysis/ lucene/backwards/src/test/org/apache/lucene/document/ lucene/backwards/src/test/org/apache/lucene/inde...

Modified: lucene/dev/branches/branch_3x/lucene/src/test/org/apache/lucene/index/TestIndexReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/lucene/src/test/org/apache/lucene/index/TestIndexReader.java?rev=985485&r1=985484&r2=985485&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/lucene/src/test/org/apache/lucene/index/TestIndexReader.java (original)
+++ lucene/dev/branches/branch_3x/lucene/src/test/org/apache/lucene/index/TestIndexReader.java Sat Aug 14 13:06:17 2010
@@ -54,7 +54,6 @@ import org.apache.lucene.store.FSDirecto
 import org.apache.lucene.store.LockObtainFailedException;
 import org.apache.lucene.store.MockRAMDirectory;
 import org.apache.lucene.store.NoSuchDirectoryException;
-import org.apache.lucene.store.MockRAMDirectory;
 import org.apache.lucene.util.LuceneTestCase;
 import org.apache.lucene.util._TestUtil;
 
@@ -82,7 +81,7 @@ public class TestIndexReader extends Luc
     }
     
     public void testCommitUserData() throws Exception {
-      MockRAMDirectory d = new MockRAMDirectory();
+      MockRAMDirectory d = newDirectory(random);
 
       Map<String,String> commitUserData = new HashMap<String,String>();
       commitUserData.put("foo", "fighters");
@@ -137,7 +136,7 @@ public class TestIndexReader extends Luc
     }
     
     public void testIsCurrent() throws Exception {
-      MockRAMDirectory d = new MockRAMDirectory();
+      MockRAMDirectory d = newDirectory(random);
       IndexWriter writer = new IndexWriter(d, newIndexWriterConfig(random, 
         TEST_VERSION_CURRENT, new StandardAnalyzer(TEST_VERSION_CURRENT)));
       addDocumentWithFields(writer);
@@ -166,7 +165,7 @@ public class TestIndexReader extends Luc
      * @throws Exception on error
      */
     public void testGetFieldNames() throws Exception {
-        MockRAMDirectory d = new MockRAMDirectory();
+        MockRAMDirectory d = newDirectory(random);
         // set up writer
         IndexWriter writer = new IndexWriter(d, newIndexWriterConfig(random, 
             TEST_VERSION_CURRENT, new StandardAnalyzer(TEST_VERSION_CURRENT)));
@@ -258,7 +257,7 @@ public class TestIndexReader extends Luc
     }
 
   public void testTermVectors() throws Exception {
-    MockRAMDirectory d = new MockRAMDirectory();
+    MockRAMDirectory d = newDirectory(random);
     // set up writer
     IndexWriter writer = new IndexWriter(d, newIndexWriterConfig(random, 
         TEST_VERSION_CURRENT, new StandardAnalyzer(TEST_VERSION_CURRENT)));
@@ -288,7 +287,8 @@ public class TestIndexReader extends Luc
       assertTrue("entry is null and it shouldn't be", entry != null);
       if (VERBOSE) System.out.println("Entry: " + entry);
     }
-    
+    reader.close();
+    d.close();
   }
 
   private void assertTermDocsCount(String msg,
@@ -316,7 +316,7 @@ public class TestIndexReader extends Luc
     }
 
     public void testBasicDelete() throws IOException {
-        Directory dir = new MockRAMDirectory();
+        Directory dir = newDirectory(random);
 
         IndexWriter writer = null;
         IndexReader reader = null;
@@ -360,7 +360,7 @@ public class TestIndexReader extends Luc
     }
     
     public void testBinaryFields() throws IOException {
-        Directory dir = new MockRAMDirectory();
+        Directory dir = newDirectory(random);
         byte[] bin = new byte[]{0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
         
         IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig(random, TEST_VERSION_CURRENT, new WhitespaceAnalyzer(TEST_VERSION_CURRENT)));
@@ -425,12 +425,13 @@ public class TestIndexReader extends Luc
           assertEquals(bin[i], data1[i + b1.getBinaryOffset()]);
         }
         reader.close();
+        dir.close();
     }
 
     // Make sure attempts to make changes after reader is
     // closed throws IOException:
     public void testChangesAfterClose() throws IOException {
-        Directory dir = new MockRAMDirectory();
+        Directory dir = newDirectory(random);
 
         IndexWriter writer = null;
         IndexReader reader = null;
@@ -469,11 +470,12 @@ public class TestIndexReader extends Luc
         } catch (AlreadyClosedException e) {
           // expected
         }
+        dir.close();
     }
 
     // Make sure we get lock obtain failed exception with 2 writers:
     public void testLockObtainFailed() throws IOException {
-        Directory dir = new MockRAMDirectory();
+        Directory dir = newDirectory(random);
 
         Term searchTerm = new Term("content", "aaa");
 
@@ -510,6 +512,7 @@ public class TestIndexReader extends Luc
         }
         writer.close();
         reader.close();
+        dir.close();
     }
 
     // Make sure you can set norms & commit even if a reader
@@ -560,7 +563,7 @@ public class TestIndexReader extends Luc
     // Make sure you can set norms & commit, and there are
     // no extra norms files left:
     public void testWritingNormsNoReader() throws IOException {
-        Directory dir = new MockRAMDirectory();
+        Directory dir = newDirectory(random);
         IndexWriter writer = null;
         IndexReader reader = null;
         Term searchTerm = new Term("content", "aaa");
@@ -732,7 +735,7 @@ public class TestIndexReader extends Luc
         try {
           final Directory dir;
           if (0 == i)
-            dir = new MockRAMDirectory();
+            dir = newDirectory(random);
           else
             dir = getDirectory();
           assertFalse(IndexReader.indexExists(dir));
@@ -768,7 +771,7 @@ public class TestIndexReader extends Luc
     }
 
     public void testVersion() throws IOException {
-      Directory dir = new MockRAMDirectory();
+      Directory dir = newDirectory(random);
       assertFalse(IndexReader.indexExists(dir));
       IndexWriter writer  = new IndexWriter(dir, newIndexWriterConfig(random, TEST_VERSION_CURRENT, new WhitespaceAnalyzer(TEST_VERSION_CURRENT)));
       addDocumentWithFields(writer);
@@ -791,7 +794,7 @@ public class TestIndexReader extends Luc
     }
 
     public void testLock() throws IOException {
-      Directory dir = new MockRAMDirectory();
+      Directory dir = newDirectory(random);
       IndexWriter writer  = new IndexWriter(dir, newIndexWriterConfig(random, TEST_VERSION_CURRENT, new WhitespaceAnalyzer(TEST_VERSION_CURRENT)));
       addDocumentWithFields(writer);
       writer.close();
@@ -811,7 +814,7 @@ public class TestIndexReader extends Luc
     }
 
     public void testUndeleteAll() throws IOException {
-      Directory dir = new MockRAMDirectory();
+      Directory dir = newDirectory(random);
       IndexWriter writer  = new IndexWriter(dir, newIndexWriterConfig(random, TEST_VERSION_CURRENT, new WhitespaceAnalyzer(TEST_VERSION_CURRENT)));
       addDocumentWithFields(writer);
       addDocumentWithFields(writer);
@@ -828,7 +831,7 @@ public class TestIndexReader extends Luc
     }
 
     public void testUndeleteAllAfterClose() throws IOException {
-      Directory dir = new MockRAMDirectory();
+      Directory dir = newDirectory(random);
       IndexWriter writer  = new IndexWriter(dir, newIndexWriterConfig(random, TEST_VERSION_CURRENT, new WhitespaceAnalyzer(TEST_VERSION_CURRENT)));
       addDocumentWithFields(writer);
       addDocumentWithFields(writer);
@@ -845,7 +848,7 @@ public class TestIndexReader extends Luc
     }
 
     public void testUndeleteAllAfterCloseThenReopen() throws IOException {
-      Directory dir = new MockRAMDirectory();
+      Directory dir = newDirectory(random);
       IndexWriter writer  = new IndexWriter(dir, newIndexWriterConfig(random, TEST_VERSION_CURRENT, new WhitespaceAnalyzer(TEST_VERSION_CURRENT)));
       addDocumentWithFields(writer);
       addDocumentWithFields(writer);
@@ -882,7 +885,7 @@ public class TestIndexReader extends Luc
       int END_COUNT = 144;
       
       // First build up a starting index:
-      MockRAMDirectory startDir = new MockRAMDirectory();
+      MockRAMDirectory startDir = newDirectory(random);
       IndexWriter writer = new IndexWriter(startDir, newIndexWriterConfig(random, TEST_VERSION_CURRENT, new WhitespaceAnalyzer(TEST_VERSION_CURRENT)));
       for(int i=0;i<157;i++) {
         Document d = new Document();
@@ -1072,7 +1075,7 @@ public class TestIndexReader extends Luc
     }
 
     public void testDocsOutOfOrderJIRA140() throws IOException {
-      Directory dir = new MockRAMDirectory();      
+      Directory dir = newDirectory(random);      
       IndexWriter writer  = new IndexWriter(dir, newIndexWriterConfig(random, TEST_VERSION_CURRENT, new WhitespaceAnalyzer(TEST_VERSION_CURRENT)));
       for(int i=0;i<11;i++) {
         addDoc(writer, "aaa");
@@ -1112,7 +1115,7 @@ public class TestIndexReader extends Luc
 
     public void testExceptionReleaseWriteLockJIRA768() throws IOException {
 
-      Directory dir = new MockRAMDirectory();      
+      Directory dir = newDirectory(random);      
       IndexWriter writer  = new IndexWriter(dir, newIndexWriterConfig(random, TEST_VERSION_CURRENT, new WhitespaceAnalyzer(TEST_VERSION_CURRENT)));
       addDoc(writer, "aaa");
       writer.close();
@@ -1407,7 +1410,7 @@ public class TestIndexReader extends Luc
 
     public void testGetIndexCommit() throws IOException {
 
-      MockRAMDirectory d = new MockRAMDirectory();
+      MockRAMDirectory d = newDirectory(random);
 
       // set up writer
       IndexWriter writer = new IndexWriter(d, newIndexWriterConfig(random, 
@@ -1456,7 +1459,7 @@ public class TestIndexReader extends Luc
     }      
 
     public void testReadOnly() throws Throwable {
-      MockRAMDirectory d = new MockRAMDirectory();
+      MockRAMDirectory d = newDirectory(random);
       IndexWriter writer = new IndexWriter(d, newIndexWriterConfig(random, 
         TEST_VERSION_CURRENT, new StandardAnalyzer(TEST_VERSION_CURRENT)));
       addDocumentWithFields(writer);
@@ -1519,12 +1522,13 @@ public class TestIndexReader extends Luc
       writer.close();
 
       r3.close();
+      d.close();
     }
 
 
   // LUCENE-1474
   public void testIndexReader() throws Exception {
-    Directory dir = new MockRAMDirectory();
+    Directory dir = newDirectory(random);
     IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig(random, 
         TEST_VERSION_CURRENT, new StandardAnalyzer(TEST_VERSION_CURRENT)));
     writer.addDocument(createDocument("a"));
@@ -1537,11 +1541,12 @@ public class TestIndexReader extends Luc
     reader.deleteDocuments(new Term("id", "b"));
     reader.close();
     IndexReader.open(dir,true).close();
+    dir.close();
   }
 
   // LUCENE-1647
   public void testIndexReaderUnDeleteAll() throws Exception {
-    MockRAMDirectory dir = new MockRAMDirectory();
+    MockRAMDirectory dir = newDirectory(random);
     dir.setPreventDoubleWrite(false);
     IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig(random, 
         TEST_VERSION_CURRENT, new StandardAnalyzer(TEST_VERSION_CURRENT)));
@@ -1583,7 +1588,7 @@ public class TestIndexReader extends Luc
   // LUCENE-1509
   public void testNoDupCommitFileNames() throws Throwable {
 
-    Directory dir = new MockRAMDirectory();
+    Directory dir = newDirectory(random);
     
     IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig(random, 
         TEST_VERSION_CURRENT, new StandardAnalyzer(TEST_VERSION_CURRENT))
@@ -1609,7 +1614,7 @@ public class TestIndexReader extends Luc
   // LUCENE-1579: Ensure that on a cloned reader, segments
   // reuse the doc values arrays in FieldCache
   public void testFieldCacheReuseAfterClone() throws Exception {
-    Directory dir = new MockRAMDirectory();
+    Directory dir = newDirectory(random);
     IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig(random, TEST_VERSION_CURRENT, new WhitespaceAnalyzer(TEST_VERSION_CURRENT)));
     Document doc = new Document();
     doc.add(new Field("number", "17", Field.Store.NO, Field.Index.NOT_ANALYZED));
@@ -1640,7 +1645,7 @@ public class TestIndexReader extends Luc
   // shared segments reuse the doc values arrays in
   // FieldCache
   public void testFieldCacheReuseAfterReopen() throws Exception {
-    Directory dir = new MockRAMDirectory();
+    Directory dir = newDirectory(random);
     IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig(random, TEST_VERSION_CURRENT, new WhitespaceAnalyzer(TEST_VERSION_CURRENT)));
     Document doc = new Document();
     doc.add(new Field("number", "17", Field.Store.NO, Field.Index.NOT_ANALYZED));
@@ -1673,7 +1678,7 @@ public class TestIndexReader extends Luc
   // LUCENE-1579: Make sure all SegmentReaders are new when
   // reopen switches readOnly
   public void testReopenChangeReadonly() throws Exception {
-    Directory dir = new MockRAMDirectory();
+    Directory dir = newDirectory(random);
     IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig(random, TEST_VERSION_CURRENT, new WhitespaceAnalyzer(TEST_VERSION_CURRENT)).setMaxBufferedDocs(-1));
     ((LogMergePolicy) writer.getConfig().getMergePolicy()).setMergeFactor(10);
     Document doc = new Document();
@@ -1715,7 +1720,7 @@ public class TestIndexReader extends Luc
 
   // LUCENE-1586: getUniqueTermCount
   public void testUniqueTermCount() throws Exception {
-    Directory dir = new MockRAMDirectory();
+    Directory dir = newDirectory(random);
     IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig(random, TEST_VERSION_CURRENT, new WhitespaceAnalyzer(TEST_VERSION_CURRENT)));
     Document doc = new Document();
     doc.add(new Field("field", "a b c d e f g h i j k l m n o p q r s t u v w x y z", Field.Store.NO, Field.Index.ANALYZED));
@@ -1748,7 +1753,7 @@ public class TestIndexReader extends Luc
 
   // LUCENE-1609: don't load terms index
   public void testNoTermsIndex() throws Throwable {
-    Directory dir = new MockRAMDirectory();
+    Directory dir = newDirectory(random);
     IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig(random, TEST_VERSION_CURRENT, new WhitespaceAnalyzer(TEST_VERSION_CURRENT)));
     Document doc = new Document();
     doc.add(new Field("field", "a b c d e f g h i j k l m n o p q r s t u v w x y z", Field.Store.NO, Field.Index.ANALYZED));
@@ -1786,7 +1791,7 @@ public class TestIndexReader extends Luc
 
   // LUCENE-2046
   public void testPrepareCommitIsCurrent() throws Throwable {
-    Directory dir = new MockRAMDirectory();
+    Directory dir = newDirectory(random);
     IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig(random, 
         TEST_VERSION_CURRENT, new WhitespaceAnalyzer(TEST_VERSION_CURRENT)));
     writer.commit();

Modified: lucene/dev/branches/branch_3x/lucene/src/test/org/apache/lucene/index/TestIndexReaderClone.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/lucene/src/test/org/apache/lucene/index/TestIndexReaderClone.java?rev=985485&r1=985484&r2=985485&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/lucene/src/test/org/apache/lucene/index/TestIndexReaderClone.java (original)
+++ lucene/dev/branches/branch_3x/lucene/src/test/org/apache/lucene/index/TestIndexReaderClone.java Sat Aug 14 13:06:17 2010
@@ -44,7 +44,7 @@ public class TestIndexReaderClone extend
   }
   
   public void testCloneReadOnlySegmentReader() throws Exception {
-    final Directory dir1 = new MockRAMDirectory();
+    final Directory dir1 = newDirectory(random);
 
     TestIndexReaderReopen.createIndex(random, dir1, false);
     IndexReader reader = IndexReader.open(dir1, false);
@@ -63,7 +63,7 @@ public class TestIndexReaderClone extend
   // open non-readOnly reader1, clone to non-readOnly
   // reader2, make sure we can change reader2
   public void testCloneNoChangesStillReadOnly() throws Exception {
-    final Directory dir1 = new MockRAMDirectory();
+    final Directory dir1 = newDirectory(random);
 
     TestIndexReaderReopen.createIndex(random, dir1, true);
     IndexReader r1 = IndexReader.open(dir1, false);
@@ -79,7 +79,7 @@ public class TestIndexReaderClone extend
   // open non-readOnly reader1, clone to non-readOnly
   // reader2, make sure we can change reader1
   public void testCloneWriteToOrig() throws Exception {
-    final Directory dir1 = new MockRAMDirectory();
+    final Directory dir1 = newDirectory(random);
 
     TestIndexReaderReopen.createIndex(random, dir1, true);
     IndexReader r1 = IndexReader.open(dir1, false);
@@ -95,7 +95,7 @@ public class TestIndexReaderClone extend
   // open non-readOnly reader1, clone to non-readOnly
   // reader2, make sure we can change reader2
   public void testCloneWriteToClone() throws Exception {
-    final Directory dir1 = new MockRAMDirectory();
+    final Directory dir1 = newDirectory(random);
 
     TestIndexReaderReopen.createIndex(random, dir1, true);
     IndexReader r1 = IndexReader.open(dir1, false);
@@ -118,7 +118,7 @@ public class TestIndexReaderClone extend
   // SegmentReader, add docs, reopen to multireader, then do
   // delete
   public void testReopenSegmentReaderToMultiReader() throws Exception {
-    final Directory dir1 = new MockRAMDirectory();
+    final Directory dir1 = newDirectory(random);
 
     TestIndexReaderReopen.createIndex(random, dir1, false);
     IndexReader reader1 = IndexReader.open(dir1, false);
@@ -136,7 +136,7 @@ public class TestIndexReaderClone extend
 
   // open non-readOnly reader1, clone to readOnly reader2
   public void testCloneWriteableToReadOnly() throws Exception {
-    final Directory dir1 = new MockRAMDirectory();
+    final Directory dir1 = newDirectory(random);
 
     TestIndexReaderReopen.createIndex(random, dir1, true);
     IndexReader reader = IndexReader.open(dir1, false);
@@ -158,7 +158,7 @@ public class TestIndexReaderClone extend
 
   // open non-readOnly reader1, reopen to readOnly reader2
   public void testReopenWriteableToReadOnly() throws Exception {
-    final Directory dir1 = new MockRAMDirectory();
+    final Directory dir1 = newDirectory(random);
 
     TestIndexReaderReopen.createIndex(random, dir1, true);
     IndexReader reader = IndexReader.open(dir1, false);
@@ -179,7 +179,7 @@ public class TestIndexReaderClone extend
 
   // open readOnly reader1, clone to non-readOnly reader2
   public void testCloneReadOnlyToWriteable() throws Exception {
-    final Directory dir1 = new MockRAMDirectory();
+    final Directory dir1 = newDirectory(random);
 
     TestIndexReaderReopen.createIndex(random, dir1, true);
     IndexReader reader1 = IndexReader.open(dir1, true);
@@ -202,7 +202,7 @@ public class TestIndexReaderClone extend
   // open non-readOnly reader1 on multi-segment index, then
   // optimize the index, then clone to readOnly reader2
   public void testReadOnlyCloneAfterOptimize() throws Exception {
-    final Directory dir1 = new MockRAMDirectory();
+    final Directory dir1 = newDirectory(random);
 
     TestIndexReaderReopen.createIndex(random, dir1, true);
     IndexReader reader1 = IndexReader.open(dir1, false);
@@ -229,7 +229,7 @@ public class TestIndexReaderClone extend
   }
   
   public void testCloneReadOnlyDirectoryReader() throws Exception {
-    final Directory dir1 = new MockRAMDirectory();
+    final Directory dir1 = newDirectory(random);
 
     TestIndexReaderReopen.createIndex(random, dir1, true);
     IndexReader reader = IndexReader.open(dir1, false);
@@ -250,9 +250,9 @@ public class TestIndexReaderClone extend
   }
 
   public void testParallelReader() throws Exception {
-    final Directory dir1 = new MockRAMDirectory();
+    final Directory dir1 = newDirectory(random);
     TestIndexReaderReopen.createIndex(random, dir1, true);
-    final Directory dir2 = new MockRAMDirectory();
+    final Directory dir2 = newDirectory(random);
     TestIndexReaderReopen.createIndex(random, dir2, true);
     IndexReader r1 = IndexReader.open(dir1, false);
     IndexReader r2 = IndexReader.open(dir2, false);
@@ -300,9 +300,9 @@ public class TestIndexReaderClone extend
   }
 
   public void testMixedReaders() throws Exception {
-    final Directory dir1 = new MockRAMDirectory();
+    final Directory dir1 = newDirectory(random);
     TestIndexReaderReopen.createIndex(random, dir1, true);
-    final Directory dir2 = new MockRAMDirectory();
+    final Directory dir2 = newDirectory(random);
     TestIndexReaderReopen.createIndex(random, dir2, true);
     IndexReader r1 = IndexReader.open(dir1, false);
     IndexReader r2 = IndexReader.open(dir2, false);
@@ -315,7 +315,7 @@ public class TestIndexReaderClone extend
   }
 
   public void testSegmentReaderUndeleteall() throws Exception {
-    final Directory dir1 = new MockRAMDirectory();
+    final Directory dir1 = newDirectory(random);
     TestIndexReaderReopen.createIndex(random, dir1, false);
     SegmentReader origSegmentReader = SegmentReader.getOnlySegmentReader(dir1);
     origSegmentReader.deleteDocument(10);
@@ -328,7 +328,7 @@ public class TestIndexReaderClone extend
   }
   
   public void testSegmentReaderCloseReferencing() throws Exception {
-    final Directory dir1 = new MockRAMDirectory();
+    final Directory dir1 = newDirectory(random);
     TestIndexReaderReopen.createIndex(random, dir1, false);
     SegmentReader origSegmentReader = SegmentReader.getOnlySegmentReader(dir1);
     origSegmentReader.deleteDocument(1);
@@ -347,7 +347,7 @@ public class TestIndexReaderClone extend
   }
   
   public void testSegmentReaderDelDocsReferenceCounting() throws Exception {
-    final Directory dir1 = new MockRAMDirectory();
+    final Directory dir1 = newDirectory(random);
     TestIndexReaderReopen.createIndex(random, dir1, false);
 
     IndexReader origReader = IndexReader.open(dir1, false);
@@ -410,7 +410,7 @@ public class TestIndexReaderClone extend
 
   // LUCENE-1648
   public void testCloneWithDeletes() throws Throwable {
-    final Directory dir1 = new MockRAMDirectory();
+    final Directory dir1 = newDirectory(random);
     TestIndexReaderReopen.createIndex(random, dir1, false);
     IndexReader origReader = IndexReader.open(dir1, false);
     origReader.deleteDocument(1);
@@ -427,7 +427,7 @@ public class TestIndexReaderClone extend
 
   // LUCENE-1648
   public void testCloneWithSetNorm() throws Throwable {
-    final Directory dir1 = new MockRAMDirectory();
+    final Directory dir1 = newDirectory(random);
     TestIndexReaderReopen.createIndex(random, dir1, false);
     IndexReader orig = IndexReader.open(dir1, false);
     orig.setNorm(1, "field1", 17.0f);
@@ -456,7 +456,7 @@ public class TestIndexReaderClone extend
   }
   
   public void testCloneSubreaders() throws Exception {
-    final Directory dir1 = new MockRAMDirectory();
+    final Directory dir1 = newDirectory(random);
  
     TestIndexReaderReopen.createIndex(random, dir1, true);
     IndexReader reader = IndexReader.open(dir1, false);
@@ -476,7 +476,7 @@ public class TestIndexReaderClone extend
   }
 
   public void testLucene1516Bug() throws Exception {
-    final Directory dir1 = new MockRAMDirectory();
+    final Directory dir1 = newDirectory(random);
     TestIndexReaderReopen.createIndex(random, dir1, false);
     IndexReader r1 = IndexReader.open(dir1, false);
     r1.incRef();
@@ -493,7 +493,7 @@ public class TestIndexReaderClone extend
   }
 
   public void testCloseStoredFields() throws Exception {
-    final Directory dir = new MockRAMDirectory();
+    final Directory dir = newDirectory(random);
     IndexWriter w = new IndexWriter(dir, newIndexWriterConfig(random,
         TEST_VERSION_CURRENT, new SimpleAnalyzer(TEST_VERSION_CURRENT)));
     ((LogMergePolicy) w.getConfig().getMergePolicy()).setUseCompoundFile(false);

Modified: lucene/dev/branches/branch_3x/lucene/src/test/org/apache/lucene/index/TestIndexReaderCloneNorms.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/lucene/src/test/org/apache/lucene/index/TestIndexReaderCloneNorms.java?rev=985485&r1=985484&r2=985485&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/lucene/src/test/org/apache/lucene/index/TestIndexReaderCloneNorms.java (original)
+++ lucene/dev/branches/branch_3x/lucene/src/test/org/apache/lucene/index/TestIndexReaderCloneNorms.java Sat Aug 14 13:06:17 2010
@@ -35,7 +35,6 @@ import org.apache.lucene.search.DefaultS
 import org.apache.lucene.search.Similarity;
 import org.apache.lucene.store.Directory;
 import org.apache.lucene.store.FSDirectory;
-import org.apache.lucene.store.MockRAMDirectory;
 import org.apache.lucene.util.LuceneTestCase;
 
 /**
@@ -166,8 +165,9 @@ public class TestIndexReaderCloneNorms e
   }
   
   public void testNormsClose() throws IOException { 
-    Directory dir1 = new MockRAMDirectory(); 
-    TestIndexReaderReopen.createIndex(newRandom(), dir1, false);
+    Random random = newRandom();
+    Directory dir1 = newDirectory(random); 
+    TestIndexReaderReopen.createIndex(random, dir1, false);
     SegmentReader reader1 = SegmentReader.getOnlySegmentReader(dir1);
     reader1.norms("field1");
     Norm r1norm = reader1.norms.get("field1");
@@ -182,8 +182,9 @@ public class TestIndexReaderCloneNorms e
   }
   
   public void testNormsRefCounting() throws IOException { 
-    Directory dir1 = new MockRAMDirectory(); 
-    TestIndexReaderReopen.createIndex(newRandom(), dir1, false);
+    Random random = newRandom();
+    Directory dir1 = newDirectory(random); 
+    TestIndexReaderReopen.createIndex(random, dir1, false);
     IndexReader reader1 = IndexReader.open(dir1, false);
         
     IndexReader reader2C = (IndexReader) reader1.clone();

Modified: lucene/dev/branches/branch_3x/lucene/src/test/org/apache/lucene/index/TestIndexReaderReopen.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/lucene/src/test/org/apache/lucene/index/TestIndexReaderReopen.java?rev=985485&r1=985484&r2=985485&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/lucene/src/test/org/apache/lucene/index/TestIndexReaderReopen.java (original)
+++ lucene/dev/branches/branch_3x/lucene/src/test/org/apache/lucene/index/TestIndexReaderReopen.java Sat Aug 14 13:06:17 2010
@@ -43,7 +43,6 @@ import org.apache.lucene.search.ScoreDoc
 import org.apache.lucene.search.TermQuery;
 import org.apache.lucene.store.Directory;
 import org.apache.lucene.store.FSDirectory;
-import org.apache.lucene.store.MockRAMDirectory;
 import org.apache.lucene.store.AlreadyClosedException;
 import org.apache.lucene.util.LuceneTestCase;
 import org.apache.lucene.util.BitVector;
@@ -53,8 +52,8 @@ public class TestIndexReaderReopen exten
   private File indexDir;
   
   public void testReopen() throws Exception {
-    final Directory dir1 = new MockRAMDirectory();
     Random random = newRandom();
+    final Directory dir1 = newDirectory(random);
     
     createIndex(random, dir1, false);
     performDefaultTests(new TestReopen() {
@@ -72,7 +71,7 @@ public class TestIndexReaderReopen exten
     });
     dir1.close();
     
-    final Directory dir2 = new MockRAMDirectory();
+    final Directory dir2 = newDirectory(random);
     
     createIndex(random, dir2, true);
     performDefaultTests(new TestReopen() {
@@ -93,9 +92,9 @@ public class TestIndexReaderReopen exten
   
   public void testParallelReaderReopen() throws Exception {
     Random random = newRandom();
-    final Directory dir1 = new MockRAMDirectory();
+    final Directory dir1 = newDirectory(random);
     createIndex(random, dir1, true);
-    final Directory dir2 = new MockRAMDirectory();
+    final Directory dir2 = newDirectory(random);
     createIndex(random, dir2, true);
     
     performDefaultTests(new TestReopen() {
@@ -118,9 +117,9 @@ public class TestIndexReaderReopen exten
     dir1.close();
     dir2.close();
     
-    final Directory dir3 = new MockRAMDirectory();
+    final Directory dir3 = newDirectory(random);
     createIndex(random, dir3, true);
-    final Directory dir4 = new MockRAMDirectory();
+    final Directory dir4 = newDirectory(random);
     createIndex(random, dir4, true);
 
     performTestsWithExceptionInReopen(new TestReopen() {
@@ -163,13 +162,16 @@ public class TestIndexReaderReopen exten
     dir.close();
   }
   public void testCommitReopenRAM () throws IOException {
-    Directory dir = new MockRAMDirectory();
-    doTestReopenWithCommit(newRandom(), dir, true);
+    Random random = newRandom();
+    Directory dir = newDirectory(random);
+    doTestReopenWithCommit(random, dir, true);
     dir.close();
   }
   public void testCommitRecreateRAM () throws IOException {
-    Directory dir = new MockRAMDirectory();
-    doTestReopenWithCommit(newRandom(), dir, false);
+    Random random = newRandom();
+    Directory dir = newDirectory(random);
+    doTestReopenWithCommit(random, dir, false);
+    dir.close();
   }
 
   private void doTestReopenWithCommit (Random random, Directory dir, boolean withReopen) throws IOException {
@@ -218,10 +220,10 @@ public class TestIndexReaderReopen exten
   
   public void testMultiReaderReopen() throws Exception {
     Random random = newRandom();
-    final Directory dir1 = new MockRAMDirectory();
+    final Directory dir1 = newDirectory(random);
     createIndex(random, dir1, true);
 
-    final Directory dir2 = new MockRAMDirectory();
+    final Directory dir2 = newDirectory(random);
     createIndex(random, dir2, true);
 
     performDefaultTests(new TestReopen() {
@@ -244,10 +246,10 @@ public class TestIndexReaderReopen exten
     dir1.close();
     dir2.close();
     
-    final Directory dir3 = new MockRAMDirectory();
+    final Directory dir3 = newDirectory(random);
     createIndex(random, dir3, true);
 
-    final Directory dir4 = new MockRAMDirectory();
+    final Directory dir4 = newDirectory(random);
     createIndex(random, dir4, true);
 
     performTestsWithExceptionInReopen(new TestReopen() {
@@ -275,15 +277,15 @@ public class TestIndexReaderReopen exten
 
   public void testMixedReaders() throws Exception {
     Random random = newRandom();
-    final Directory dir1 = new MockRAMDirectory();
+    final Directory dir1 = newDirectory(random);
     createIndex(random, dir1, true);
-    final Directory dir2 = new MockRAMDirectory();
+    final Directory dir2 = newDirectory(random);
     createIndex(random, dir2, true);
-    final Directory dir3 = new MockRAMDirectory();
+    final Directory dir3 = newDirectory(random);
     createIndex(random, dir3, false);
-    final Directory dir4 = new MockRAMDirectory();
+    final Directory dir4 = newDirectory(random);
     createIndex(random, dir4, true);
-    final Directory dir5 = new MockRAMDirectory();
+    final Directory dir5 = newDirectory(random);
     createIndex(random, dir5, false);
     
     performDefaultTests(new TestReopen() {
@@ -364,7 +366,7 @@ public class TestIndexReaderReopen exten
   public void testReferenceCounting() throws IOException {
     Random random = newRandom();
     for (int mode = 0; mode < 4; mode++) {
-      Directory dir1 = new MockRAMDirectory();
+      Directory dir1 = newDirectory(random);
       createIndex(random, dir1, true);
      
       IndexReader reader0 = IndexReader.open(dir1, false);
@@ -470,9 +472,9 @@ public class TestIndexReaderReopen exten
   public void testReferenceCountingMultiReader() throws IOException {
     Random random = newRandom();
     for (int mode = 0; mode <=1; mode++) {
-      Directory dir1 = new MockRAMDirectory();
+      Directory dir1 = newDirectory(random);
       createIndex(random, dir1, false);
-      Directory dir2 = new MockRAMDirectory();
+      Directory dir2 = newDirectory(random);
       createIndex(random, dir2, true);
       
       IndexReader reader1 = IndexReader.open(dir1, false);
@@ -542,9 +544,9 @@ public class TestIndexReaderReopen exten
   public void testReferenceCountingParallelReader() throws IOException {
     Random random = newRandom();
     for (int mode = 0; mode <=1; mode++) {
-      Directory dir1 = new MockRAMDirectory();
+      Directory dir1 = newDirectory(random);
       createIndex(random, dir1, false);
-      Directory dir2 = new MockRAMDirectory();
+      Directory dir2 = newDirectory(random);
       createIndex(random, dir2, true);
       
       IndexReader reader1 = IndexReader.open(dir1, false);
@@ -616,8 +618,9 @@ public class TestIndexReaderReopen exten
   }
   
   public void testNormsRefCounting() throws IOException {
-    Directory dir1 = new MockRAMDirectory();
-    createIndex(newRandom(), dir1, false);
+    Random random = newRandom();
+    Directory dir1 = newDirectory(random);
+    createIndex(random, dir1, false);
     
     IndexReader reader1 = IndexReader.open(dir1, false);
     SegmentReader segmentReader1 = SegmentReader.getOnlySegmentReader(reader1);
@@ -706,9 +709,9 @@ public class TestIndexReaderReopen exten
   }
   
   public void testThreadSafety() throws Exception {
-    final Directory dir = new MockRAMDirectory();
-    final int n = 30 * RANDOM_MULTIPLIER;
     Random random = newRandom();
+    final Directory dir = newDirectory(random);
+    final int n = 30 * RANDOM_MULTIPLIER;
     IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig(random,
         TEST_VERSION_CURRENT, new StandardAnalyzer(TEST_VERSION_CURRENT)));
     for (int i = 0; i < n; i++) {
@@ -1107,8 +1110,9 @@ public class TestIndexReaderReopen exten
   }
   
   public void testCloseOrig() throws Throwable {
-    Directory dir = new MockRAMDirectory();
-    createIndex(newRandom(), dir, false);
+    Random random = newRandom();
+    Directory dir = newDirectory(random);
+    createIndex(random, dir, false);
     IndexReader r1 = IndexReader.open(dir, false);
     IndexReader r2 = IndexReader.open(dir, false);
     r2.deleteDocument(0);
@@ -1128,8 +1132,9 @@ public class TestIndexReaderReopen exten
   }
 
   public void testDeletes() throws Throwable {
-    Directory dir = new MockRAMDirectory();
-    createIndex(newRandom(), dir, false); // Create an index with a bunch of docs (1 segment)
+    Random random = newRandom();
+    Directory dir = newDirectory(random);
+    createIndex(random, dir, false); // Create an index with a bunch of docs (1 segment)
 
     modifyIndex(0, dir); // Get delete bitVector on 1st segment
     modifyIndex(5, dir); // Add a doc (2 segments)
@@ -1161,8 +1166,9 @@ public class TestIndexReaderReopen exten
   }
 
   public void testDeletes2() throws Throwable {
-    Directory dir = new MockRAMDirectory();
-    createIndex(newRandom(), dir, false);
+    Random random = newRandom();
+    Directory dir = newDirectory(random);
+    createIndex(random, dir, false);
     // Get delete bitVector
     modifyIndex(0, dir);
     IndexReader r1 = IndexReader.open(dir, false);
@@ -1197,8 +1203,9 @@ public class TestIndexReaderReopen exten
   }
 
   public void testReopenOnCommit() throws Throwable {
-    Directory dir = new MockRAMDirectory();
-    IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig(newRandom(),
+    Random random = newRandom();
+    Directory dir = newDirectory(random);
+    IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig(random,
         TEST_VERSION_CURRENT, new WhitespaceAnalyzer(TEST_VERSION_CURRENT)).setIndexDeletionPolicy(new KeepAllCommits()).setMaxBufferedDocs(-1));
     ((LogMergePolicy) writer.getConfig().getMergePolicy()).setMergeFactor(10);
     for(int i=0;i<4;i++) {

Modified: lucene/dev/branches/branch_3x/lucene/src/test/org/apache/lucene/index/TestIndexWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/lucene/src/test/org/apache/lucene/index/TestIndexWriter.java?rev=985485&r1=985484&r2=985485&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/lucene/src/test/org/apache/lucene/index/TestIndexWriter.java (original)
+++ lucene/dev/branches/branch_3x/lucene/src/test/org/apache/lucene/index/TestIndexWriter.java Sat Aug 14 13:06:17 2010
@@ -90,7 +90,7 @@ public class TestIndexWriter extends Luc
     }
 
     public void testDocCount() throws IOException {
-        Directory dir = new MockRAMDirectory();
+        Directory dir = newDirectory(random);
 
         IndexWriter writer = null;
         IndexReader reader = null;
@@ -150,6 +150,7 @@ public class TestIndexWriter extends Luc
         assertEquals(0, writer.maxDoc());
         assertEquals(0, writer.numDocs());
         writer.close();
+        dir.close();
     }
 
     private static void addDoc(IndexWriter writer) throws IOException
@@ -186,7 +187,7 @@ public class TestIndexWriter extends Luc
       Directory[] dirs = new Directory[NUM_DIR];
       long inputDiskUsage = 0;
       for(int i=0;i<NUM_DIR;i++) {
-        dirs[i] = new MockRAMDirectory();
+        dirs[i] = newDirectory(random);
         IndexWriter writer  = new IndexWriter(dirs[i], newIndexWriterConfig(random, TEST_VERSION_CURRENT, new WhitespaceAnalyzer(TEST_VERSION_CURRENT)));
         for(int j=0;j<25;j++) {
           addDocWithIndex(writer, 25*i+j);
@@ -200,7 +201,7 @@ public class TestIndexWriter extends Luc
 
       // Now, build a starting index that has START_COUNT docs.  We
       // will then try to addIndexes into a copy of this:
-      MockRAMDirectory startDir = new MockRAMDirectory();
+      MockRAMDirectory startDir = newDirectory(random);
       IndexWriter writer = new IndexWriter(startDir, newIndexWriterConfig(random, TEST_VERSION_CURRENT, new WhitespaceAnalyzer(TEST_VERSION_CURRENT)));
       for(int j=0;j<START_COUNT;j++) {
         addDocWithIndex(writer, j);
@@ -456,6 +457,8 @@ public class TestIndexWriter extends Luc
       }
 
       startDir.close();
+      for (Directory dir : dirs)
+        dir.close();
     }
 
     /*
@@ -472,7 +475,7 @@ public class TestIndexWriter extends Luc
         while(true) {
           if (VERBOSE)
             System.out.println("TEST: cycle: diskFree=" + diskFree);
-          MockRAMDirectory dir = new MockRAMDirectory();
+          MockRAMDirectory dir = newDirectory(random);
           dir.setMaxSizeInBytes(diskFree);
           IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig(random, TEST_VERSION_CURRENT, new WhitespaceAnalyzer(TEST_VERSION_CURRENT)));
           MergeScheduler ms = writer.getConfig().getMergeScheduler();
@@ -614,7 +617,7 @@ public class TestIndexWriter extends Luc
 
     public void testOptimizeMaxNumSegments() throws IOException {
 
-      MockRAMDirectory dir = new MockRAMDirectory();
+      MockRAMDirectory dir = newDirectory(random);
 
       final Document doc = new Document();
       doc.add(new Field("content", "aaa", Field.Store.YES, Field.Index.ANALYZED));
@@ -651,10 +654,11 @@ public class TestIndexWriter extends Luc
         else
           assertEquals(3, optSegCount);
       }
+      dir.close();
     }
 
     public void testOptimizeMaxNumSegments2() throws IOException {
-      MockRAMDirectory dir = new MockRAMDirectory();
+      MockRAMDirectory dir = newDirectory(random);
 
       final Document doc = new Document();
       doc.add(new Field("content", "aaa", Field.Store.YES, Field.Index.ANALYZED));
@@ -691,6 +695,8 @@ public class TestIndexWriter extends Luc
         else
           assertEquals(7, optSegCount);
       }
+      writer.close();
+      dir.close();
     }
 
     /**
@@ -700,7 +706,7 @@ public class TestIndexWriter extends Luc
      */
     public void testOptimizeTempSpaceUsage() throws IOException {
     
-      MockRAMDirectory dir = new MockRAMDirectory();
+      MockRAMDirectory dir = newDirectory(random);
       IndexWriter writer  = new IndexWriter(dir, newIndexWriterConfig(random, TEST_VERSION_CURRENT, new WhitespaceAnalyzer(TEST_VERSION_CURRENT)).setMaxBufferedDocs(10));
       for(int j=0;j<500;j++) {
         addDocWithIndex(writer, j);
@@ -774,7 +780,7 @@ public class TestIndexWriter extends Luc
     // gracefully fallback to the previous segments file),
     // and that we can add to the index:
     public void testSimulatedCrashedWriter() throws IOException {
-        MockRAMDirectory dir = new MockRAMDirectory();
+        MockRAMDirectory dir = newDirectory(random);
         dir.setPreventDoubleWrite(false);
 
         IndexWriter writer = null;
@@ -830,13 +836,14 @@ public class TestIndexWriter extends Luc
 
         // close
         writer.close();
+        dir.close();
     }
 
     // Simulate a corrupt index by removing last byte of
     // latest segments file and make sure we get an
     // IOException trying to open the index:
     public void testSimulatedCorruptIndex1() throws IOException {
-        Directory dir = new MockRAMDirectory();
+        Directory dir = newDirectory(random);
 
         IndexWriter writer = null;
 
@@ -876,10 +883,11 @@ public class TestIndexWriter extends Luc
         if (reader != null) {
           reader.close();
         }
+        dir.close();
     }
 
     public void testChangesAfterClose() throws IOException {
-        Directory dir = new MockRAMDirectory();
+        Directory dir = newDirectory(random);
 
         IndexWriter writer = null;
 
@@ -894,6 +902,7 @@ public class TestIndexWriter extends Luc
         } catch (AlreadyClosedException e) {
           // expected
         }
+        dir.close();
     }
   
 
@@ -901,7 +910,7 @@ public class TestIndexWriter extends Luc
     // files and make sure we get an IOException trying to
     // open the index:
     public void testSimulatedCorruptIndex2() throws IOException {
-        Directory dir = new MockRAMDirectory();
+        Directory dir = newDirectory(random);
 
         IndexWriter writer = null;
 
@@ -939,6 +948,7 @@ public class TestIndexWriter extends Luc
         if (reader != null) {
           reader.close();
         }
+        dir.close();
     }
 
     /*
@@ -947,7 +957,7 @@ public class TestIndexWriter extends Luc
      * these docs until writer is closed.
      */
     public void testCommitOnClose() throws IOException {
-        Directory dir = new MockRAMDirectory();      
+        Directory dir = newDirectory(random);      
         IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig(random, TEST_VERSION_CURRENT, new WhitespaceAnalyzer(TEST_VERSION_CURRENT)));
         for (int i = 0; i < 14; i++) {
           addDoc(writer);
@@ -982,6 +992,8 @@ public class TestIndexWriter extends Luc
         hits = searcher.search(new TermQuery(searchTerm), null, 1000).scoreDocs;
         assertEquals("reader did not see changes after writer was closed", 47, hits.length);
         searcher.close();
+        reader.close();
+        dir.close();
     }
 
     /*
@@ -993,7 +1005,7 @@ public class TestIndexWriter extends Luc
      * and add docs to it.
      */
     public void testCommitOnCloseAbort() throws IOException {
-      MockRAMDirectory dir = new MockRAMDirectory();      
+      MockRAMDirectory dir = newDirectory(random);      
       IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig(random, TEST_VERSION_CURRENT, new WhitespaceAnalyzer(TEST_VERSION_CURRENT)).setMaxBufferedDocs(10));
       for (int i = 0; i < 14; i++) {
         addDoc(writer);
@@ -1065,7 +1077,7 @@ public class TestIndexWriter extends Luc
      * measure max temp disk space used.
      */
     public void testCommitOnCloseDiskUsage() throws IOException {
-      MockRAMDirectory dir = new MockRAMDirectory();      
+      MockRAMDirectory dir = newDirectory(random);      
       IndexWriter writer  = new IndexWriter(dir, new IndexWriterConfig(TEST_VERSION_CURRENT, new WhitespaceAnalyzer(TEST_VERSION_CURRENT)).setMaxBufferedDocs(10));
       ((LogMergePolicy) writer.getMergePolicy()).setMergeFactor(10);
       for(int j=0;j<30;j++) {
@@ -1101,6 +1113,7 @@ public class TestIndexWriter extends Luc
                  midDiskUsage < 100*startDiskUsage);
       assertTrue("writer used too much space after close: endDiskUsage=" + endDiskUsage + " startDiskUsage=" + startDiskUsage,
                  endDiskUsage < 100*startDiskUsage);
+      dir.close();
     }
 
 
@@ -1110,7 +1123,7 @@ public class TestIndexWriter extends Luc
      * and close().
      */
     public void testCommitOnCloseOptimize() throws IOException {
-      MockRAMDirectory dir = new MockRAMDirectory();  
+      MockRAMDirectory dir = newDirectory(random);  
       dir.setPreventDoubleWrite(false); // TODO: should this be disabled here?
       IndexWriter writer  = new IndexWriter(dir, newIndexWriterConfig(random, TEST_VERSION_CURRENT, new WhitespaceAnalyzer(TEST_VERSION_CURRENT)).setMaxBufferedDocs(10));
       ((LogMergePolicy) writer.getConfig().getMergePolicy()).setMergeFactor(10);
@@ -1152,10 +1165,11 @@ public class TestIndexWriter extends Luc
       // Reader should still see index as unoptimized:
       assertTrue("Reader incorrectly sees that the index is unoptimized", reader.isOptimized());
       reader.close();
+      dir.close();
     }
 
     public void testIndexNoDocuments() throws IOException {
-      MockRAMDirectory dir = new MockRAMDirectory();      
+      MockRAMDirectory dir = newDirectory(random);      
       IndexWriter writer  = new IndexWriter(dir, newIndexWriterConfig(random, TEST_VERSION_CURRENT, new WhitespaceAnalyzer(TEST_VERSION_CURRENT)));
       writer.commit();
       writer.close();
@@ -1173,10 +1187,11 @@ public class TestIndexWriter extends Luc
       assertEquals(0, reader.maxDoc());
       assertEquals(0, reader.numDocs());
       reader.close();
+      dir.close();
     }
 
     public void testManyFields() throws IOException {
-      MockRAMDirectory dir = new MockRAMDirectory();      
+      MockRAMDirectory dir = newDirectory(random);      
       IndexWriter writer  = new IndexWriter(dir, newIndexWriterConfig(random, TEST_VERSION_CURRENT, new WhitespaceAnalyzer(TEST_VERSION_CURRENT)).setMaxBufferedDocs(10));
       for(int j=0;j<100;j++) {
         Document doc = new Document();
@@ -1206,7 +1221,7 @@ public class TestIndexWriter extends Luc
     }
 
     public void testSmallRAMBuffer() throws IOException {
-      MockRAMDirectory dir = new MockRAMDirectory();      
+      MockRAMDirectory dir = newDirectory(random);      
       IndexWriter writer  = new IndexWriter(dir, newIndexWriterConfig(random, TEST_VERSION_CURRENT, new WhitespaceAnalyzer(TEST_VERSION_CURRENT)).setRAMBufferSizeMB(0.000001));
       ((LogMergePolicy) writer.getMergePolicy()).setMergeFactor(10);
       int lastNumFile = dir.listAll().length;
@@ -1233,7 +1248,7 @@ public class TestIndexWriter extends Luc
      *             session won't be possible.
      */
     public void testChangingRAMBuffer() throws IOException {
-      MockRAMDirectory dir = new MockRAMDirectory();      
+      MockRAMDirectory dir = newDirectory(random);      
       IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig(random,
         TEST_VERSION_CURRENT, new WhitespaceAnalyzer(TEST_VERSION_CURRENT)).setMaxBufferedDocs(10).setRAMBufferSizeMB(
         IndexWriterConfig.DISABLE_AUTO_FLUSH));
@@ -1291,7 +1306,7 @@ public class TestIndexWriter extends Luc
      *             changing those settings on IW won't be possible.
      */
     public void testChangingRAMBuffer2() throws IOException {
-      MockRAMDirectory dir = new MockRAMDirectory();      
+      MockRAMDirectory dir = newDirectory(random);      
       IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig(random,
         TEST_VERSION_CURRENT, new WhitespaceAnalyzer(TEST_VERSION_CURRENT)).setMaxBufferedDocs(10).setMaxBufferedDeleteTerms(
         10).setRAMBufferSizeMB(IndexWriterConfig.DISABLE_AUTO_FLUSH));
@@ -1350,7 +1365,7 @@ public class TestIndexWriter extends Luc
     }
 
     public void testDiverseDocs() throws IOException {
-      MockRAMDirectory dir = new MockRAMDirectory();      
+      MockRAMDirectory dir = newDirectory(random);      
       IndexWriter writer  = new IndexWriter(dir, newIndexWriterConfig(random, TEST_VERSION_CURRENT, new WhitespaceAnalyzer(TEST_VERSION_CURRENT)).setRAMBufferSizeMB(0.5));
       for(int i=0;i<3;i++) {
         // First, docs where every term is unique (heavy on
@@ -1397,7 +1412,7 @@ public class TestIndexWriter extends Luc
     }
 
     public void testEnablingNorms() throws IOException {
-      MockRAMDirectory dir = new MockRAMDirectory();      
+      MockRAMDirectory dir = newDirectory(random);      
       IndexWriter writer  = new IndexWriter(dir, newIndexWriterConfig(random, TEST_VERSION_CURRENT, new WhitespaceAnalyzer(TEST_VERSION_CURRENT)).setMaxBufferedDocs(10));
       // Enable norms for only 1 doc, pre flush
       for(int j=0;j<10;j++) {
@@ -1443,7 +1458,7 @@ public class TestIndexWriter extends Luc
     }
 
     public void testHighFreqTerm() throws IOException {
-      MockRAMDirectory dir = new MockRAMDirectory();      
+      MockRAMDirectory dir = newDirectory(random);      
       IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig(random,
           TEST_VERSION_CURRENT, new WhitespaceAnalyzer(TEST_VERSION_CURRENT)).setMaxFieldLength(100000000).setRAMBufferSizeMB(0.01));
       // Massive doc that has 128 K a's
@@ -1511,7 +1526,7 @@ public class TestIndexWriter extends Luc
     }
 
     public void testFlushWithNoMerging() throws IOException {
-      Directory dir = new MockRAMDirectory();
+      Directory dir = newDirectory(random);
       IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig(random, 
         TEST_VERSION_CURRENT, new WhitespaceAnalyzer(TEST_VERSION_CURRENT)).setMaxBufferedDocs(2));
       ((LogMergePolicy) writer.getMergePolicy()).setMergeFactor(10);
@@ -1526,12 +1541,13 @@ public class TestIndexWriter extends Luc
       // Since we flushed w/o allowing merging we should now
       // have 10 segments
       assert sis.size() == 10;
+      dir.close();
     }
 
     // Make sure we can flush segment w/ norms, then add
     // empty doc (no norms) and flush
     public void testEmptyDocAfterFlushingRealDoc() throws IOException {
-      Directory dir = new MockRAMDirectory();
+      Directory dir = newDirectory(random);
       IndexWriter writer  = new IndexWriter(dir, newIndexWriterConfig(random, TEST_VERSION_CURRENT, new WhitespaceAnalyzer(TEST_VERSION_CURRENT)));
       Document doc = new Document();
       doc.add(new Field("field", "aaa", Field.Store.YES, Field.Index.ANALYZED, Field.TermVector.WITH_POSITIONS_OFFSETS));
@@ -1542,6 +1558,8 @@ public class TestIndexWriter extends Luc
       _TestUtil.checkIndex(dir);
       IndexReader reader = IndexReader.open(dir, true);
       assertEquals(2, reader.numDocs());
+      reader.close();
+      dir.close();
     }
 
     // Test calling optimize(false) whereby optimize is kicked
@@ -1549,7 +1567,7 @@ public class TestIndexWriter extends Luc
     // writer.close()) does wait
     public void testBackgroundOptimize() throws IOException {
 
-      Directory dir = new MockRAMDirectory();
+      Directory dir = newDirectory(random);
       for(int pass=0;pass<2;pass++) {
         IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig(random,
           TEST_VERSION_CURRENT, new WhitespaceAnalyzer(TEST_VERSION_CURRENT))
@@ -1604,7 +1622,7 @@ public class TestIndexWriter extends Luc
    *
    */
   public void testBadSegment() throws IOException {
-    MockRAMDirectory dir = new MockRAMDirectory();
+    MockRAMDirectory dir = newDirectory(random);
     IndexWriter iw = new IndexWriter(dir, newIndexWriterConfig(random,
         TEST_VERSION_CURRENT, new StandardAnalyzer(TEST_VERSION_CURRENT)));
     
@@ -1617,7 +1635,7 @@ public class TestIndexWriter extends Luc
 
   // LUCENE-1008
   public void testNoTermVectorAfterTermVector() throws IOException {
-    MockRAMDirectory dir = new MockRAMDirectory();
+    MockRAMDirectory dir = newDirectory(random);
     IndexWriter iw = new IndexWriter(dir, newIndexWriterConfig(random,
         TEST_VERSION_CURRENT, new StandardAnalyzer(TEST_VERSION_CURRENT)));
     Document document = new Document();
@@ -1644,7 +1662,7 @@ public class TestIndexWriter extends Luc
 
   // LUCENE-1010
   public void testNoTermVectorAfterTermVectorMerge() throws IOException {
-    MockRAMDirectory dir = new MockRAMDirectory();
+    MockRAMDirectory dir = newDirectory(random);
     IndexWriter iw = new IndexWriter(dir, newIndexWriterConfig(random,
         TEST_VERSION_CURRENT, new StandardAnalyzer(TEST_VERSION_CURRENT)));
     Document document = new Document();
@@ -1677,7 +1695,7 @@ public class TestIndexWriter extends Luc
   public void testMaxThreadPriority() throws IOException {
     int pri = Thread.currentThread().getPriority();
     try {
-      MockRAMDirectory dir = new MockRAMDirectory();
+      MockRAMDirectory dir = newDirectory(random);
       IndexWriterConfig conf = newIndexWriterConfig(random,
           TEST_VERSION_CURRENT, new StandardAnalyzer(TEST_VERSION_CURRENT))
           .setMaxBufferedDocs(2);
@@ -1690,7 +1708,7 @@ public class TestIndexWriter extends Luc
       for(int i=0;i<4;i++)
         iw.addDocument(document);
       iw.close();
-      
+      dir.close();
     } finally {
       Thread.currentThread().setPriority(pri);
     }
@@ -1719,7 +1737,7 @@ public class TestIndexWriter extends Luc
 
   // LUCENE-1013
   public void testSetMaxMergeDocs() throws IOException {
-    MockRAMDirectory dir = new MockRAMDirectory();
+    MockRAMDirectory dir = newDirectory(random);
     IndexWriterConfig conf = newIndexWriterConfig(random,
         TEST_VERSION_CURRENT, new StandardAnalyzer(TEST_VERSION_CURRENT))
         .setMergeScheduler(new MyMergeScheduler()).setMaxBufferedDocs(2);
@@ -1733,11 +1751,12 @@ public class TestIndexWriter extends Luc
     for(int i=0;i<177;i++)
       iw.addDocument(document);
     iw.close();
+    dir.close();
   }
 
   // LUCENE-1072
   public void testExceptionFromTokenStream() throws IOException {
-    MockRAMDirectory dir = new MockRAMDirectory();
+    MockRAMDirectory dir = newDirectory(random);
     IndexWriterConfig conf = newIndexWriterConfig(random, TEST_VERSION_CURRENT, new Analyzer() {
 
       @Override
@@ -1836,7 +1855,7 @@ public class TestIndexWriter extends Luc
   // LUCENE-1072: make sure an errant exception on flushing
   // one segment only takes out those docs in that one flush
   public void testDocumentsWriterAbort() throws IOException {
-    MockRAMDirectory dir = new MockRAMDirectory();
+    MockRAMDirectory dir = newDirectory(random);
     FailOnlyOnFlush failure = new FailOnlyOnFlush();
     failure.setDoFail();
     dir.failOn(failure);
@@ -1861,6 +1880,7 @@ public class TestIndexWriter extends Luc
     IndexReader reader = IndexReader.open(dir, true);
     assertEquals(198, reader.docFreq(new Term("content", "aa")));
     reader.close();
+    dir.close();
   }
 
   private class CrashingFilter extends TokenFilter {
@@ -1895,7 +1915,7 @@ public class TestIndexWriter extends Luc
     };
 
     for(int i=0;i<2;i++) {
-      MockRAMDirectory dir = new MockRAMDirectory();
+      MockRAMDirectory dir = newDirectory(random);
       IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig(random, TEST_VERSION_CURRENT, analyzer));
       //writer.setInfoStream(System.out);
       Document doc = new Document();
@@ -1981,7 +2001,7 @@ public class TestIndexWriter extends Luc
     final int NUM_ITER = 100;
 
     for(int i=0;i<2;i++) {
-      MockRAMDirectory dir = new MockRAMDirectory();
+      MockRAMDirectory dir = newDirectory(random);
 
       {
         final IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig(random, TEST_VERSION_CURRENT, analyzer).setMaxBufferedDocs(-1));
@@ -2084,7 +2104,7 @@ public class TestIndexWriter extends Luc
   }
 
   public void testVariableSchema() throws Exception {
-    MockRAMDirectory dir = new MockRAMDirectory();
+    MockRAMDirectory dir = newDirectory(random);
     int delID = 0;
     for(int i=0;i<20;i++) {
       IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig(random, TEST_VERSION_CURRENT, new WhitespaceAnalyzer(TEST_VERSION_CURRENT)).setMaxBufferedDocs(2));
@@ -2132,10 +2152,11 @@ public class TestIndexWriter extends Luc
         writer.close();
       }
     }
+    dir.close();
   }
 
   public void testNoWaitClose() throws Throwable {
-    MockRAMDirectory directory = new MockRAMDirectory();
+    MockRAMDirectory directory = newDirectory(random);
 
     final Document doc = new Document();
     Field idField = new Field("id", "", Field.Store.YES, Field.Index.NOT_ANALYZED);
@@ -2291,7 +2312,7 @@ public class TestIndexWriter extends Luc
     int NUM_THREADS = 3;
 
     for(int iter=0;iter<7;iter++) {
-      MockRAMDirectory dir = new MockRAMDirectory();
+      MockRAMDirectory dir = newDirectory(random);
       IndexWriterConfig conf = newIndexWriterConfig(random, TEST_VERSION_CURRENT, new WhitespaceAnalyzer(TEST_VERSION_CURRENT))
         .setMaxBufferedDocs(10).setMergeScheduler(new ConcurrentMergeScheduler());
       // We expect AlreadyClosedException
@@ -2347,7 +2368,7 @@ public class TestIndexWriter extends Luc
   // an IndexWriter (hit during DW.ThreadState.init()) is
   // OK:
   public void testImmediateDiskFull() throws IOException {
-    MockRAMDirectory dir = new MockRAMDirectory();
+    MockRAMDirectory dir = newDirectory(random);
     IndexWriter writer = new IndexWriter(dir, new IndexWriterConfig(TEST_VERSION_CURRENT, new WhitespaceAnalyzer(TEST_VERSION_CURRENT))
         .setMaxBufferedDocs(2).setMergeScheduler(new ConcurrentMergeScheduler()));
     dir.setMaxSizeInBytes(Math.max(1, dir.getRecomputedActualSizeInBytes()));
@@ -2385,7 +2406,7 @@ public class TestIndexWriter extends Luc
     int NUM_THREADS = 3;
 
     for(int iter=0;iter<10;iter++) {
-      MockRAMDirectory dir = new MockRAMDirectory();
+      MockRAMDirectory dir = newDirectory(random);
       IndexWriterConfig conf = newIndexWriterConfig(random, TEST_VERSION_CURRENT, new WhitespaceAnalyzer(TEST_VERSION_CURRENT))
          .setMaxBufferedDocs(2).setMergeScheduler(new ConcurrentMergeScheduler());
       // We expect disk full exceptions in the merge threads
@@ -2444,7 +2465,7 @@ public class TestIndexWriter extends Luc
   // Runs test, with one thread, using the specific failure
   // to trigger an IOException
   public void _testSingleThreadFailure(MockRAMDirectory.Failure failure) throws IOException {
-    MockRAMDirectory dir = new MockRAMDirectory();
+    MockRAMDirectory dir = newDirectory(random);
 
     IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig(random, TEST_VERSION_CURRENT, new WhitespaceAnalyzer(TEST_VERSION_CURRENT))
       .setMaxBufferedDocs(2).setMergeScheduler(new ConcurrentMergeScheduler()));
@@ -2466,6 +2487,7 @@ public class TestIndexWriter extends Luc
     failure.clearDoFail();
     writer.addDocument(doc);
     writer.close(false);
+    dir.close();
   }
 
   // Runs test, with multiple threads, using the specific
@@ -2475,7 +2497,7 @@ public class TestIndexWriter extends Luc
     int NUM_THREADS = 3;
 
     for(int iter=0;iter<2;iter++) {
-      MockRAMDirectory dir = new MockRAMDirectory();
+      MockRAMDirectory dir = newDirectory(random);
       IndexWriterConfig conf = newIndexWriterConfig(random, TEST_VERSION_CURRENT,
           new WhitespaceAnalyzer(TEST_VERSION_CURRENT)).setMaxBufferedDocs(2).setMergeScheduler(new ConcurrentMergeScheduler());
       // We expect disk full exceptions in the merge threads
@@ -2633,7 +2655,7 @@ public class TestIndexWriter extends Luc
 
   // LUCENE-1084: test unlimited field length
   public void testUnlimitedMaxFieldLength() throws IOException {
-    Directory dir = new MockRAMDirectory();
+    Directory dir = newDirectory(random);
 
     IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig(random, TEST_VERSION_CURRENT, new WhitespaceAnalyzer(TEST_VERSION_CURRENT)));
 
@@ -2655,7 +2677,7 @@ public class TestIndexWriter extends Luc
 
   // LUCENE-1044: Simulate checksum error in segments_N
   public void testSegmentsChecksumError() throws IOException {
-    Directory dir = new MockRAMDirectory();
+    Directory dir = newDirectory(random);
 
     IndexWriter writer = null;
 
@@ -2689,11 +2711,12 @@ public class TestIndexWriter extends Luc
       fail("segmentInfos failed to retry fallback to correct segments_N file");
     }
     reader.close();
+    dir.close();
   }
 
   // LUCENE-1044: test writer.commit() when ac=false
   public void testForceCommit() throws IOException {
-    Directory dir = new MockRAMDirectory();
+    Directory dir = newDirectory(random);
 
     IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig(random,
         TEST_VERSION_CURRENT, new WhitespaceAnalyzer(TEST_VERSION_CURRENT))
@@ -2747,7 +2770,7 @@ public class TestIndexWriter extends Luc
 
   // LUCENE-1044: test exception during sync
   public void testExceptionDuringSync() throws IOException {
-    MockRAMDirectory dir = new MockRAMDirectory();
+    MockRAMDirectory dir = newDirectory(random);
     FailOnlyInSync failure = new FailOnlyInSync();
     dir.failOn(failure);
 
@@ -2781,7 +2804,7 @@ public class TestIndexWriter extends Luc
   // LUCENE-1168
   public void testTermVectorCorruption() throws IOException {
 
-    Directory dir = new MockRAMDirectory();
+    Directory dir = newDirectory(random);
     for(int iter=0;iter<2;iter++) {
       IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig(random,
           TEST_VERSION_CURRENT, new StandardAnalyzer(TEST_VERSION_CURRENT))
@@ -2832,7 +2855,7 @@ public class TestIndexWriter extends Luc
 
   // LUCENE-1168
   public void testTermVectorCorruption2() throws IOException {
-    Directory dir = new MockRAMDirectory();
+    Directory dir = newDirectory(random);
     for(int iter=0;iter<2;iter++) {
       IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig(random,
           TEST_VERSION_CURRENT, new StandardAnalyzer(TEST_VERSION_CURRENT))
@@ -2870,7 +2893,7 @@ public class TestIndexWriter extends Luc
 
   // LUCENE-1168
   public void testTermVectorCorruption3() throws IOException {
-    Directory dir = new MockRAMDirectory();
+    Directory dir = newDirectory(random);
     IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig(random,
         TEST_VERSION_CURRENT, new StandardAnalyzer(TEST_VERSION_CURRENT))
         .setMaxBufferedDocs(2).setRAMBufferSizeMB(
@@ -2913,7 +2936,7 @@ public class TestIndexWriter extends Luc
 
   // LUCENE-1084: test user-specified field length
   public void testUserSpecifiedMaxFieldLength() throws IOException {
-    Directory dir = new MockRAMDirectory();
+    Directory dir = newDirectory(random);
 
     IndexWriter writer = new IndexWriter(dir, new IndexWriterConfig(
         TEST_VERSION_CURRENT, new WhitespaceAnalyzer(TEST_VERSION_CURRENT)).setMaxFieldLength(100000));
@@ -2937,7 +2960,7 @@ public class TestIndexWriter extends Luc
   // LUCENE-325: test expungeDeletes, when 2 singular merges
   // are required
   public void testExpungeDeletes() throws IOException {
-    Directory dir = new MockRAMDirectory();
+    Directory dir = newDirectory(random);
     IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig(random, 
         TEST_VERSION_CURRENT, new StandardAnalyzer(TEST_VERSION_CURRENT))
         .setMaxBufferedDocs(2).setRAMBufferSizeMB(
@@ -2980,7 +3003,7 @@ public class TestIndexWriter extends Luc
 
   // LUCENE-325: test expungeDeletes, when many adjacent merges are required
   public void testExpungeDeletes2() throws IOException {
-    Directory dir = new MockRAMDirectory();
+    Directory dir = newDirectory(random);
     IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig(random, 
         TEST_VERSION_CURRENT, new StandardAnalyzer(TEST_VERSION_CURRENT))
         .setMaxBufferedDocs(2).setRAMBufferSizeMB(
@@ -3025,7 +3048,7 @@ public class TestIndexWriter extends Luc
   // LUCENE-325: test expungeDeletes without waiting, when
   // many adjacent merges are required
   public void testExpungeDeletes3() throws IOException {
-    Directory dir = new MockRAMDirectory();
+    Directory dir = newDirectory(random);
     IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig(random, 
         TEST_VERSION_CURRENT, new StandardAnalyzer(TEST_VERSION_CURRENT))
         .setMaxBufferedDocs(2).setRAMBufferSizeMB(
@@ -3068,12 +3091,13 @@ public class TestIndexWriter extends Luc
 
   // LUCENE-1179
   public void testEmptyFieldName() throws IOException {
-    MockRAMDirectory dir = new MockRAMDirectory();
+    MockRAMDirectory dir = newDirectory(random);
     IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig(random, TEST_VERSION_CURRENT, new WhitespaceAnalyzer(TEST_VERSION_CURRENT)));
     Document doc = new Document();
     doc.add(new Field("", "a b c", Field.Store.NO, Field.Index.ANALYZED));
     writer.addDocument(doc);
     writer.close();
+    dir.close();
   }
 
   // LUCENE-1198
@@ -3095,7 +3119,7 @@ public class TestIndexWriter extends Luc
   
 
   public void testExceptionDocumentsWriterInit() throws IOException {
-    MockRAMDirectory dir = new MockRAMDirectory();
+    MockRAMDirectory dir = newDirectory(random);
     MockIndexWriter w = new MockIndexWriter(dir, newIndexWriterConfig(random, TEST_VERSION_CURRENT, new WhitespaceAnalyzer(TEST_VERSION_CURRENT)));
     Document doc = new Document();
     doc.add(new Field("field", "a field", Field.Store.YES,
@@ -3115,7 +3139,7 @@ public class TestIndexWriter extends Luc
 
   // LUCENE-1208
   public void testExceptionJustBeforeFlush() throws IOException {
-    MockRAMDirectory dir = new MockRAMDirectory();
+    MockRAMDirectory dir = newDirectory(random);
     MockIndexWriter w = new MockIndexWriter(dir, newIndexWriterConfig(random, TEST_VERSION_CURRENT, new WhitespaceAnalyzer(TEST_VERSION_CURRENT)).setMaxBufferedDocs(2));
     Document doc = new Document();
     doc.add(new Field("field", "a field", Field.Store.YES,
@@ -3165,7 +3189,7 @@ public class TestIndexWriter extends Luc
 
   // LUCENE-1210
   public void testExceptionOnMergeInit() throws IOException {
-    MockRAMDirectory dir = new MockRAMDirectory();
+    MockRAMDirectory dir = newDirectory(random);
     IndexWriterConfig conf = newIndexWriterConfig(random, TEST_VERSION_CURRENT, new WhitespaceAnalyzer(TEST_VERSION_CURRENT))
       .setMaxBufferedDocs(2).setMergeScheduler(new ConcurrentMergeScheduler());
     ((LogMergePolicy) conf.getMergePolicy()).setMergeFactor(2);
@@ -3210,7 +3234,7 @@ public class TestIndexWriter extends Luc
 
   // LUCENE-1222
   public void testDoBeforeAfterFlush() throws IOException {
-    MockRAMDirectory dir = new MockRAMDirectory();
+    MockRAMDirectory dir = newDirectory(random);
     MockIndexWriter3 w = new MockIndexWriter3(dir, newIndexWriterConfig(random, TEST_VERSION_CURRENT, new WhitespaceAnalyzer(TEST_VERSION_CURRENT)));
     Document doc = new Document();
     doc.add(new Field("field", "a field", Field.Store.YES,
@@ -3266,7 +3290,7 @@ public class TestIndexWriter extends Luc
 
   // LUCENE-1214
   public void testExceptionsDuringCommit() throws Throwable {
-    MockRAMDirectory dir = new MockRAMDirectory();
+    MockRAMDirectory dir = newDirectory(random);
     FailOnlyInCommit failure = new FailOnlyInCommit();
     IndexWriter w = new IndexWriter(dir, newIndexWriterConfig(random, TEST_VERSION_CURRENT, new WhitespaceAnalyzer(TEST_VERSION_CURRENT)));
     Document doc = new Document();
@@ -3315,7 +3339,7 @@ public class TestIndexWriter extends Luc
 
   // LUCENE-510
   public void testInvalidUTF16() throws Throwable {
-    MockRAMDirectory dir = new MockRAMDirectory();
+    MockRAMDirectory dir = newDirectory(random);
     IndexWriter w = new IndexWriter(dir, newIndexWriterConfig(random, TEST_VERSION_CURRENT, new WhitespaceAnalyzer(TEST_VERSION_CURRENT)));
     Document doc = new Document();
 
@@ -3525,7 +3549,7 @@ public class TestIndexWriter extends Luc
       }
     };
 
-    MockRAMDirectory dir = new MockRAMDirectory();
+    MockRAMDirectory dir = newDirectory(random);
     IndexWriter w = new IndexWriter(dir, newIndexWriterConfig(random, TEST_VERSION_CURRENT, new WhitespaceAnalyzer(TEST_VERSION_CURRENT)));
     Document doc = new Document();
     doc.add(new Field("field", tokens));
@@ -3556,7 +3580,7 @@ public class TestIndexWriter extends Luc
 
   // LUCENE-1274: test writer.prepareCommit()
   public void testPrepareCommit() throws IOException {
-    Directory dir = new MockRAMDirectory();
+    Directory dir = newDirectory(random);
 
     IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig(random, TEST_VERSION_CURRENT, new WhitespaceAnalyzer(TEST_VERSION_CURRENT)).setMaxBufferedDocs(2));
     ((LogMergePolicy) writer.getConfig().getMergePolicy()).setMergeFactor(5);
@@ -3607,7 +3631,7 @@ public class TestIndexWriter extends Luc
 
   // LUCENE-1274: test writer.prepareCommit()
   public void testPrepareCommitRollback() throws IOException {
-    MockRAMDirectory dir = new MockRAMDirectory();
+    MockRAMDirectory dir = newDirectory(random);
     dir.setPreventDoubleWrite(false);
 
     IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig(random, TEST_VERSION_CURRENT, new WhitespaceAnalyzer(TEST_VERSION_CURRENT)).setMaxBufferedDocs(2));
@@ -3660,7 +3684,7 @@ public class TestIndexWriter extends Luc
 
   // LUCENE-1274
   public void testPrepareCommitNoChanges() throws IOException {
-    MockRAMDirectory dir = new MockRAMDirectory();
+    MockRAMDirectory dir = newDirectory(random);
 
     IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig(random, TEST_VERSION_CURRENT, new WhitespaceAnalyzer(TEST_VERSION_CURRENT)));
     writer.prepareCommit();
@@ -3966,7 +3990,7 @@ public class TestIndexWriter extends Luc
 
   // LUCENE-1347
   public void testRollbackExceptionHang() throws Throwable {
-    MockRAMDirectory dir = new MockRAMDirectory();
+    MockRAMDirectory dir = newDirectory(random);
     MockIndexWriter4 w = new MockIndexWriter4(dir, newIndexWriterConfig(random, TEST_VERSION_CURRENT, new WhitespaceAnalyzer(TEST_VERSION_CURRENT)));
 
     addDoc(w);
@@ -3980,12 +4004,13 @@ public class TestIndexWriter extends Luc
     
     w.doFail = false;
     w.rollback();
+    dir.close();
   }
 
 
   // LUCENE-1219
   public void testBinaryFieldOffsetLength() throws IOException {
-    MockRAMDirectory dir = new MockRAMDirectory();
+    MockRAMDirectory dir = newDirectory(random);
     IndexWriter w = new IndexWriter(dir, newIndexWriterConfig(random, TEST_VERSION_CURRENT, new WhitespaceAnalyzer(TEST_VERSION_CURRENT)));
     byte[] b = new byte[50];
     for(int i=0;i<50;i++)
@@ -4015,7 +4040,7 @@ public class TestIndexWriter extends Luc
 
   // LUCENE-1382
   public void testCommitUserData() throws IOException {
-    Directory dir = new MockRAMDirectory();
+    Directory dir = newDirectory(random);
     IndexWriter w = new IndexWriter(dir, newIndexWriterConfig(random, TEST_VERSION_CURRENT, new WhitespaceAnalyzer(TEST_VERSION_CURRENT)).setMaxBufferedDocs(2));
     for(int j=0;j<17;j++)
       addDoc(w);
@@ -4052,7 +4077,7 @@ public class TestIndexWriter extends Luc
   }
 
   public void testOptimizeExceptions() throws IOException {
-    MockRAMDirectory startDir = new MockRAMDirectory();
+    MockRAMDirectory startDir = newDirectory(random);
     IndexWriterConfig conf = newIndexWriterConfig(random, TEST_VERSION_CURRENT, new WhitespaceAnalyzer(TEST_VERSION_CURRENT)).setMaxBufferedDocs(2);
     ((LogMergePolicy) conf.getMergePolicy()).setMergeFactor(100);
     IndexWriter w = new IndexWriter(startDir, conf);
@@ -4076,14 +4101,15 @@ public class TestIndexWriter extends Luc
       w.close();
       dir.close();
     }
+    startDir.close();
   }
 
   // LUCENE-1429
   public void testOutOfMemoryErrorCausesCloseToFail() throws Exception {
 
     final List<Throwable> thrown = new ArrayList<Throwable>();
-
-    final IndexWriter writer = new IndexWriter(new MockRAMDirectory(),
+    final Directory dir = newDirectory(random);
+    final IndexWriter writer = new IndexWriter(dir,
         newIndexWriterConfig(random, TEST_VERSION_CURRENT, new StandardAnalyzer(
             TEST_VERSION_CURRENT))) {
         @Override
@@ -4105,11 +4131,12 @@ public class TestIndexWriter extends Luc
 
     // throws IllegalStateEx w/o bug fix
     writer.close();
+    dir.close();
   }
 
   // LUCENE-1442
   public void testDoubleOffsetCounting() throws Exception {
-    MockRAMDirectory dir = new MockRAMDirectory();
+    MockRAMDirectory dir = newDirectory(random);
     IndexWriter w = new IndexWriter(dir, newIndexWriterConfig(random, 
         TEST_VERSION_CURRENT, new WhitespaceAnalyzer(TEST_VERSION_CURRENT)));
     Document doc = new Document();
@@ -4145,7 +4172,7 @@ public class TestIndexWriter extends Luc
 
   // LUCENE-1442
   public void testDoubleOffsetCounting2() throws Exception {
-    MockRAMDirectory dir = new MockRAMDirectory();
+    MockRAMDirectory dir = newDirectory(random);
     IndexWriter w = new IndexWriter(dir, newIndexWriterConfig(random, TEST_VERSION_CURRENT, new SimpleAnalyzer(TEST_VERSION_CURRENT)));
     Document doc = new Document();
     Field f = new Field("field", "abcd", Field.Store.NO, Field.Index.ANALYZED, Field.TermVector.WITH_POSITIONS_OFFSETS);
@@ -4167,7 +4194,7 @@ public class TestIndexWriter extends Luc
 
   // LUCENE-1448
   public void testEndOffsetPositionCharAnalyzer() throws Exception {
-    MockRAMDirectory dir = new MockRAMDirectory();
+    MockRAMDirectory dir = newDirectory(random);
     IndexWriter w = new IndexWriter(dir, newIndexWriterConfig(random, TEST_VERSION_CURRENT, new WhitespaceAnalyzer(TEST_VERSION_CURRENT)));
     Document doc = new Document();
     Field f = new Field("field", "abcd   ", Field.Store.NO, Field.Index.ANALYZED, Field.TermVector.WITH_POSITIONS_OFFSETS);
@@ -4189,7 +4216,7 @@ public class TestIndexWriter extends Luc
 
   // LUCENE-1448
   public void testEndOffsetPositionWithCachingTokenFilter() throws Exception {
-    MockRAMDirectory dir = new MockRAMDirectory();
+    MockRAMDirectory dir = newDirectory(random);
     Analyzer analyzer = new WhitespaceAnalyzer(TEST_VERSION_CURRENT);
     IndexWriter w = new IndexWriter(dir, newIndexWriterConfig(random, TEST_VERSION_CURRENT, analyzer));
     Document doc = new Document();
@@ -4239,7 +4266,7 @@ public class TestIndexWriter extends Luc
   
   // LUCENE-1448
   public void testEndOffsetPositionStopFilter() throws Exception {
-    MockRAMDirectory dir = new MockRAMDirectory();
+    MockRAMDirectory dir = newDirectory(random);
     IndexWriter w = new IndexWriter(dir, newIndexWriterConfig(random, 
         TEST_VERSION_CURRENT, new StopAnalyzer(TEST_VERSION_CURRENT)));
     Document doc = new Document();
@@ -4262,7 +4289,7 @@ public class TestIndexWriter extends Luc
 
   // LUCENE-1448
   public void testEndOffsetPositionStandard() throws Exception {
-    MockRAMDirectory dir = new MockRAMDirectory();
+    MockRAMDirectory dir = newDirectory(random);
     IndexWriter w = new IndexWriter(dir, newIndexWriterConfig(random, 
         TEST_VERSION_CURRENT, new StandardAnalyzer(
         TEST_VERSION_CURRENT)));
@@ -4294,7 +4321,7 @@ public class TestIndexWriter extends Luc
 
   // LUCENE-1448
   public void testEndOffsetPositionStandardEmptyField() throws Exception {
-    MockRAMDirectory dir = new MockRAMDirectory();
+    MockRAMDirectory dir = newDirectory(random);
     IndexWriter w = new IndexWriter(dir, newIndexWriterConfig(random, 
         TEST_VERSION_CURRENT, new StandardAnalyzer(
         TEST_VERSION_CURRENT)));
@@ -4323,7 +4350,7 @@ public class TestIndexWriter extends Luc
 
   // LUCENE-1448
   public void testEndOffsetPositionStandardEmptyField2() throws Exception {
-    MockRAMDirectory dir = new MockRAMDirectory();
+    MockRAMDirectory dir = newDirectory(random);
     IndexWriter w = new IndexWriter(dir, newIndexWriterConfig(random, 
         TEST_VERSION_CURRENT, new StandardAnalyzer(
         TEST_VERSION_CURRENT)));
@@ -4383,7 +4410,7 @@ public class TestIndexWriter extends Luc
   }
 
   public void testDeadlock() throws Exception {
-    MockRAMDirectory dir = new MockRAMDirectory();
+    MockRAMDirectory dir = newDirectory(random);
     IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig(random, TEST_VERSION_CURRENT, new WhitespaceAnalyzer(TEST_VERSION_CURRENT)).setMaxBufferedDocs(2));
     Document doc = new Document();
     doc.add(new Field("content", "aaa bbb ccc ddd eee fff ggg hhh iii", Field.Store.YES,
@@ -4394,7 +4421,7 @@ public class TestIndexWriter extends Luc
     writer.commit();
     // index has 2 segments
 
-    MockRAMDirectory dir2 = new MockRAMDirectory();
+    MockRAMDirectory dir2 = newDirectory(random);
     IndexWriter writer2 = new IndexWriter(dir2, newIndexWriterConfig(random, TEST_VERSION_CURRENT, new WhitespaceAnalyzer(TEST_VERSION_CURRENT)));
     writer2.addDocument(doc);
     writer2.close();
@@ -4423,7 +4450,10 @@ public class TestIndexWriter extends Luc
 
     @Override
     public void run() {
-      MockRAMDirectory dir = new MockRAMDirectory();
+      MockRAMDirectory dir;
+      try { 
+        dir = newDirectory(random); 
+      } catch (IOException e) { throw new RuntimeException(e); }
       IndexWriter w = null;
       boolean first = true;
       while(!finish) {
@@ -4520,6 +4550,7 @@ public class TestIndexWriter extends Luc
           e.printStackTrace(System.out);
         }
       }
+      dir.close();
     }
   }
 
@@ -4551,7 +4582,7 @@ public class TestIndexWriter extends Luc
 
 
   public void testIndexStoreCombos() throws Exception {
-    MockRAMDirectory dir = new MockRAMDirectory();
+    MockRAMDirectory dir = newDirectory(random);
     IndexWriter w = new IndexWriter(dir, newIndexWriterConfig(random, TEST_VERSION_CURRENT, new WhitespaceAnalyzer(TEST_VERSION_CURRENT)));
     byte[] b = new byte[50];
     for(int i=0;i<50;i++)
@@ -4614,7 +4645,7 @@ public class TestIndexWriter extends Luc
 
   // LUCENE-1727: make sure doc fields are stored in order
   public void testStoredFieldsOrder() throws Throwable {
-    Directory d = new MockRAMDirectory();
+    Directory d = newDirectory(random);
     IndexWriter w = new IndexWriter(d, newIndexWriterConfig(random, TEST_VERSION_CURRENT, new WhitespaceAnalyzer(TEST_VERSION_CURRENT)));
     Document doc = new Document();
     doc.add(new Field("zzz", "a b c", Field.Store.YES, Field.Index.NO));
@@ -4646,7 +4677,7 @@ public class TestIndexWriter extends Luc
 
   public void testEmbeddedFFFF() throws Throwable {
 
-    Directory d = new MockRAMDirectory();
+    Directory d = newDirectory(random);
     IndexWriter w = new IndexWriter(d, newIndexWriterConfig(random, TEST_VERSION_CURRENT, new WhitespaceAnalyzer(TEST_VERSION_CURRENT)));
     Document doc = new Document();
     doc.add(new Field("field", "a a\uffffb", Field.Store.NO, Field.Index.ANALYZED));
@@ -4661,7 +4692,7 @@ public class TestIndexWriter extends Luc
   }
 
   public void testNoDocsIndex() throws Throwable {
-    Directory dir = new MockRAMDirectory();
+    Directory dir = newDirectory(random);
     IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig(random, 
         TEST_VERSION_CURRENT, new SimpleAnalyzer(TEST_VERSION_CURRENT)));
     LogMergePolicy lmp = (LogMergePolicy) writer.getConfig().getMergePolicy();
@@ -4682,7 +4713,7 @@ public class TestIndexWriter extends Luc
   public void testCommitThreadSafety() throws Throwable {
     final int NUM_THREADS = 5;
     final double RUN_SEC = 0.5;
-    final Directory dir = new MockRAMDirectory();
+    final Directory dir = newDirectory(random);
     final IndexWriter w = new IndexWriter(dir, newIndexWriterConfig(random, 
         TEST_VERSION_CURRENT, new SimpleAnalyzer(TEST_VERSION_CURRENT)));
     w.commit();
@@ -4734,7 +4765,7 @@ public class TestIndexWriter extends Luc
   public void testDeleteUnusedFiles() throws Exception {
 
     for(int iter=0;iter<2;iter++) {
-      Directory dir = new MockRAMDirectory();
+      Directory dir = newDirectory(random);
       IndexWriter w = new IndexWriter(dir, newIndexWriterConfig(random, TEST_VERSION_CURRENT, new WhitespaceAnalyzer(TEST_VERSION_CURRENT)));
       ((LogMergePolicy) w.getMergePolicy()).setUseCompoundFile(true);
       Document doc = new Document();
@@ -4793,7 +4824,7 @@ public class TestIndexWriter extends Luc
   public void testDeleteUnsedFiles2() throws Exception {
     // Validates that iw.deleteUnusedFiles() also deletes unused index commits
     // in case a deletion policy which holds onto commits is used.
-    Directory dir = new MockRAMDirectory();
+    Directory dir = newDirectory(random);
     SnapshotDeletionPolicy sdp = new SnapshotDeletionPolicy(new KeepOnlyLastCommitDeletionPolicy());
     IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig(random, 
         TEST_VERSION_CURRENT, new WhitespaceAnalyzer(TEST_VERSION_CURRENT))
@@ -4822,6 +4853,7 @@ public class TestIndexWriter extends Luc
     assertEquals(1, IndexReader.listCommits(dir).size());
     
     writer.close();
+    dir.close();
   }
   
   private static class FlushCountingIndexWriter extends IndexWriter {
@@ -4837,7 +4869,7 @@ public class TestIndexWriter extends Luc
   public void testIndexingThenDeleting() throws Exception {
     final Random r = random;
 
-    Directory dir = new MockRAMDirectory();
+    Directory dir = newDirectory(random);
     FlushCountingIndexWriter w = new FlushCountingIndexWriter(dir, newIndexWriterConfig(random, TEST_VERSION_CURRENT, new WhitespaceAnalyzer(TEST_VERSION_CURRENT)).setRAMBufferSizeMB(0.5).setMaxBufferedDocs(-1).setMaxBufferedDeleteTerms(-1));
     //w.setInfoStream(System.out);
     Document doc = new Document();
@@ -4872,7 +4904,7 @@ public class TestIndexWriter extends Luc
     // Tests that if we don't call commit(), the directory has 0 commits. This has
     // changed since LUCENE-2386, where before IW would always commit on a fresh
     // new index.
-    Directory dir = new MockRAMDirectory();
+    Directory dir = newDirectory(random);
     IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig(random, TEST_VERSION_CURRENT, new WhitespaceAnalyzer(TEST_VERSION_CURRENT)));
     try {
       IndexReader.listCommits(dir);
@@ -4883,6 +4915,7 @@ public class TestIndexWriter extends Luc
     // No changes still should generate a commit, because it's a new index.
     writer.close();
     assertEquals("expected 1 commits!", 1, IndexReader.listCommits(dir).size());
+    dir.close();
   }
 
   public void testEmptyFSDirWithNoLock() throws Exception {
@@ -4897,7 +4930,7 @@ public class TestIndexWriter extends Luc
     // Tests that if IW is created over an empty Directory, some documents are
     // indexed, flushed (but not committed) and then IW rolls back, then no 
     // files are left in the Directory.
-    Directory dir = new MockRAMDirectory();
+    Directory dir = newDirectory(random);
     IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig(random, 
         TEST_VERSION_CURRENT, new WhitespaceAnalyzer(TEST_VERSION_CURRENT))
         .setMaxBufferedDocs(2));
@@ -4923,6 +4956,7 @@ public class TestIndexWriter extends Luc
     // Since we rolled-back above, that close should be a no-op
     writer.close();
     assertEquals("expected a no-op close after IW.rollback()", 0, dir.listAll().length);
+    dir.close();
   }
 
   public void testNoSegmentFile() throws IOException {
@@ -4950,7 +4984,7 @@ public class TestIndexWriter extends Luc
   }
 
   public void testFutureCommit() throws Exception {
-    Directory dir = new MockRAMDirectory();
+    Directory dir = newDirectory(random);
 
     IndexWriter w = new IndexWriter(dir, newIndexWriterConfig(random, TEST_VERSION_CURRENT, new WhitespaceAnalyzer()).setIndexDeletionPolicy(NoDeletionPolicy.INSTANCE));
     Document doc = new Document();
@@ -5122,7 +5156,7 @@ public class TestIndexWriter extends Luc
   
   // LUCENE-2593
   public void testCorruptionAfterDiskFullDuringMerge() throws IOException {
-    MockRAMDirectory dir = new MockRAMDirectory();
+    MockRAMDirectory dir = newDirectory(random);
     final Random rand = random;
     //IndexWriter w = new IndexWriter(dir, newIndexWriterConfig(rand, TEST_VERSION_CURRENT, new MockAnalyzer()).setReaderPooling(true));
     IndexWriter w = new IndexWriter(dir, newIndexWriterConfig(rand, TEST_VERSION_CURRENT, new WhitespaceAnalyzer(TEST_VERSION_CURRENT)).setMergeScheduler(new SerialMergeScheduler()).setReaderPooling(true));

Modified: lucene/dev/branches/branch_3x/lucene/src/test/org/apache/lucene/index/TestIndexWriterConfig.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/lucene/src/test/org/apache/lucene/index/TestIndexWriterConfig.java?rev=985485&r1=985484&r2=985485&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/lucene/src/test/org/apache/lucene/index/TestIndexWriterConfig.java (original)
+++ lucene/dev/branches/branch_3x/lucene/src/test/org/apache/lucene/index/TestIndexWriterConfig.java Sat Aug 14 13:06:17 2010
@@ -261,7 +261,7 @@ public class TestIndexWriterConfig exten
     // iw.getConfig().getXYZ(), he'll get the same value he passed to
     // iw.setXYZ().
     IndexWriterConfig conf = new IndexWriterConfig(TEST_VERSION_CURRENT, new WhitespaceAnalyzer(TEST_VERSION_CURRENT));
-    Directory dir = new MockRAMDirectory();
+    Directory dir = newDirectory(newRandom());
     IndexWriter writer = new IndexWriter(dir, conf);
 
     writer.setSimilarity(new MySimilarity());
@@ -293,6 +293,8 @@ public class TestIndexWriterConfig exten
     
     writer.setMergePolicy(new LogDocMergePolicy());
     assertEquals(LogDocMergePolicy.class, writer.getConfig().getMergePolicy().getClass());
+    writer.close();
+    dir.close();
   }
 
 }