LUCENE-5434: This test method uses a non nrt reader.

git-svn-id: https://svn.apache.org/repos/asf/lucene/dev/trunk@1565485 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Mark Robert Miller 2014-02-06 23:41:06 +00:00
parent 50ad64476e
commit 132f389f2d
1 changed files with 18 additions and 5 deletions

View File

@ -24,6 +24,7 @@ import org.apache.lucene.search.IndexSearcher;
import org.apache.lucene.store.Directory;
import org.apache.lucene.store.MockDirectoryWrapper;
import org.apache.lucene.util.LuceneTestCase.SuppressCodecs;
import org.junit.Before;
// TODO
// - mix in forceMerge, addIndexes
@ -32,6 +33,14 @@ import org.apache.lucene.util.LuceneTestCase.SuppressCodecs;
@SuppressCodecs({ "SimpleText", "Memory", "Direct" })
public class TestNRTThreads extends ThreadedIndexingAndSearchingTestCase {
private boolean useNonNrtReaders = true;
@Before
public void setUp() throws Exception {
super.setUp();
useNonNrtReaders = random().nextBoolean();
}
@Override
protected void doSearching(ExecutorService es, long stopTime) throws Exception {
@ -93,7 +102,7 @@ public class TestNRTThreads extends ThreadedIndexingAndSearchingTestCase {
@Override
protected Directory getDirectory(Directory in) {
assert in instanceof MockDirectoryWrapper;
((MockDirectoryWrapper) in).setAssertNoDeleteOpenFile(true);
if (!useNonNrtReaders) ((MockDirectoryWrapper) in).setAssertNoDeleteOpenFile(true);
return in;
}
@ -123,11 +132,15 @@ public class TestNRTThreads extends ThreadedIndexingAndSearchingTestCase {
@Override
protected IndexSearcher getFinalSearcher() throws Exception {
final IndexReader r2;
if (random().nextBoolean()) {
r2 = writer.getReader();
if (useNonNrtReaders) {
if (random().nextBoolean()) {
r2 = writer.getReader();
} else {
writer.commit();
r2 = DirectoryReader.open(dir);
}
} else {
writer.commit();
r2 = DirectoryReader.open(dir);
r2 = writer.getReader();
}
return newSearcher(r2);
}