public virtual void TestDisableLocks() { System.IO.FileInfo indexDirName = _TestUtil.GetTempDir("index.TestLockFactory4"); Assert.IsTrue(!FSDirectory.GetDisableLocks(), "Locks are already disabled"); FSDirectory.SetDisableLocks(true); IndexWriter writer = new IndexWriter(indexDirName, new WhitespaceAnalyzer(), true, IndexWriter.MaxFieldLength.LIMITED); Assert.IsTrue(typeof(NoLockFactory).IsInstanceOfType(writer.GetDirectory().GetLockFactory()), "FSDirectory did not use correct default LockFactory: got " + writer.GetDirectory().GetLockFactory()); // Should be no error since locking is disabled: IndexWriter writer2 = null; try { writer2 = new IndexWriter(indexDirName, new WhitespaceAnalyzer(), false, IndexWriter.MaxFieldLength.LIMITED); } catch (System.IO.IOException e) { System.Console.Out.WriteLine(e.StackTrace); Assert.Fail("Should not have hit an IOException with locking disabled"); } FSDirectory.SetDisableLocks(false); writer.Close(); if (writer2 != null) { writer2.Close(); } // Cleanup _TestUtil.RmDir(indexDirName); }