Package org.apache.lucene.tests.index
Class BasePostingsFormatTestCase
java.lang.Object
org.junit.Assert
org.apache.lucene.tests.util.LuceneTestCase
org.apache.lucene.tests.index.BasePostingsFormatTestCase
Abstract class to do basic tests for a postings format. NOTE: This test focuses on the postings
(docs/freqs/positions/payloads/offsets) impl, not the terms dict. The [stretch] goal is for this
test to be so thorough in testing a new PostingsFormat that if this test passes, then all
Lucene/Solr tests should also pass. Ie, if there is some bug in a given PostingsFormat that this
test fails to catch then this test needs to be improved!
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.lucene.tests.util.LuceneTestCase
LuceneTestCase.AwaitsFix, LuceneTestCase.BadApple, LuceneTestCase.Monster, LuceneTestCase.Nightly, LuceneTestCase.SuppressCodecs, LuceneTestCase.SuppressFileSystems, LuceneTestCase.SuppressFsync, LuceneTestCase.SuppressReproduceLine, LuceneTestCase.SuppressSysoutChecks, LuceneTestCase.SuppressTempFileChecks, LuceneTestCase.ThrowingConsumer<T>, LuceneTestCase.ThrowingRunnable, LuceneTestCase.Weekly
-
Field Summary
Fields inherited from class org.apache.lucene.tests.util.LuceneTestCase
assertsAreEnabled, classRules, DEFAULT_LINE_DOCS_FILE, INFOSTREAM, JENKINS_LARGE_LINE_DOCS_FILE, LEAVE_TEMPORARY, MAYBE_CACHE_POLICY, RANDOM_MULTIPLIER, ruleChain, suiteFailureMarker, SYSPROP_AWAITSFIX, SYSPROP_BADAPPLES, SYSPROP_FAILFAST, SYSPROP_MAXFAILURES, SYSPROP_MONSTER, SYSPROP_NIGHTLY, SYSPROP_WEEKLY, TEST_ASSERTS_ENABLED, TEST_AWAITSFIX, TEST_BADAPPLES, TEST_CODEC, TEST_DIRECTORY, TEST_DOCVALUESFORMAT, TEST_LINE_DOCS_FILE, TEST_MONSTER, TEST_NIGHTLY, TEST_POSTINGSFORMAT, TEST_THROTTLING, TEST_WEEKLY, VERBOSE
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected void
addRandomFields
(Document doc) Add random fields to the provided document.static void
protected final <D extends Directory>
DSet the created version of the givenDirectory
and return it.protected void
assertReused
(String field, PostingsEnum p1, PostingsEnum p2) protected static void
checkReuse
(TermsEnum termsEnum, int firstFlags, int secondFlags, boolean shouldReuse) static void
protected Collection
<String> Return the list of extensions that should be excluded from byte counts when comparing indices that store the same content.protected abstract Codec
getCodec()
Returns the codec to run tests againstprotected int
Returns the major version that this codec is compatible with.protected boolean
protected final DirectoryReader
protected boolean
void
setUp()
For subclasses to override.protected boolean
Returnsfalse
if only the regular fields reader should be tested, andtrue
if only the merge instance should be tested.void
tearDown()
For subclasses to override.void
void
This test is a best effort at verifying that checkIntegrity doesn't miss any files.void
void
void
void
void
void
void
void
void
void
void
void
void
Test realistic data, which is often better at uncovering real bugs.void
The purpose of this test is to make sure that bulk merge doesn't accumulate useless data over runs.void
Calls close multiple times on closeable codec apisvoid
void
void
void
void
void
void
void
void
Tests exception handling on write and openInput/createOutputMethods inherited from class org.apache.lucene.tests.util.LuceneTestCase
addVirusChecker, assertDeletedDocsEquals, assertDocsAndPositionsEnumEquals, assertDocsEnumEquals, assertDocsSkippingEquals, assertDocValuesEquals, assertDocValuesEquals, assertFieldInfosEquals, assertNormsEquals, assertPointsEquals, assertPositionsSkippingEquals, assertReaderEquals, assertReaderStatisticsEquals, assertStoredFieldEquals, assertStoredFieldsEquals, assertTermsEnumEquals, assertTermsEquals, assertTermsEquals, assertTermsStatisticsEquals, assertTermStatsEquals, assertTermVectorsEquals, asSet, assumeFalse, assumeNoException, assumeTrue, assumeWorkingMMapOnWindows, atLeast, atLeast, callStackContains, callStackContains, callStackContainsAnyOf, closeAfterSuite, closeAfterTest, collate, createTempDir, createTempDir, createTempFile, createTempFile, dumpArray, dumpIterator, ensureSaneIWCOnNightly, expectThrows, expectThrows, expectThrows, expectThrowsAnyOf, expectThrowsAnyOf, getDataInputStream, getDataPath, getJvmForkArguments, getOnlyLeafReader, getTestClass, getTestName, hasWorkingMMapOnWindows, isTestThread, localeForLanguageTag, maybeChangeLiveIndexWriterConfig, maybeWrapReader, newAlcoholicMergePolicy, newAlcoholicMergePolicy, newBytesRef, newBytesRef, newBytesRef, newBytesRef, newBytesRef, newBytesRef, newDirectory, newDirectory, newDirectory, newDirectory, newDirectory, newField, newField, newFSDirectory, newFSDirectory, newIndexWriterConfig, newIndexWriterConfig, newIndexWriterConfig, newIOContext, newIOContext, newLogMergePolicy, newLogMergePolicy, newLogMergePolicy, newLogMergePolicy, newLogMergePolicy, newMaybeVirusCheckingDirectory, newMaybeVirusCheckingFSDirectory, newMergePolicy, newMergePolicy, newMergePolicy, newMockDirectory, newMockDirectory, newMockDirectory, newMockFSDirectory, newMockFSDirectory, newSearcher, newSearcher, newSearcher, newSearcher, newSnapshotIndexWriterConfig, newStringField, newStringField, newStringField, newStringField, newTextField, newTextField, newTieredMergePolicy, newTieredMergePolicy, overrideDefaultQueryCache, overrideTestDefaultQueryCache, random, randomLocale, randomTimeZone, rarely, rarely, replaceMaxFailureRule, resetDefaultQueryCache, restoreCPUCoreCount, restoreIndexWriterMaxDocs, runWithRestrictedPermissions, setIndexWriterMaxDocs, setupCPUCoreCount, setUpExecutorService, shutdownExecutorService, slowFileExists, usually, usually, wrapReader
Methods inherited from class org.junit.Assert
assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertFalse, assertFalse, assertNotEquals, assertNotEquals, assertNotEquals, assertNotEquals, assertNotEquals, assertNotEquals, assertNotEquals, assertNotEquals, assertNotNull, assertNotNull, assertNotSame, assertNotSame, assertNull, assertNull, assertSame, assertSame, assertThat, assertThat, assertThrows, assertThrows, assertTrue, assertTrue, fail, fail
-
Constructor Details
-
BasePostingsFormatTestCase
public BasePostingsFormatTestCase()
-
-
Method Details
-
createPostings
- Throws:
IOException
-
afterClass
- Throws:
Exception
-
testDocsOnly
- Throws:
Exception
-
testDocsAndFreqs
- Throws:
Exception
-
testDocsAndFreqsAndPositions
- Throws:
Exception
-
testDocsAndFreqsAndPositionsAndPayloads
- Throws:
Exception
-
testDocsAndFreqsAndPositionsAndOffsets
- Throws:
Exception
-
testDocsAndFreqsAndPositionsAndOffsetsAndPayloads
- Throws:
Exception
-
testRandom
- Throws:
Exception
-
isPostingsEnumReuseImplemented
protected boolean isPostingsEnumReuseImplemented() -
testPostingsEnumReuse
- Throws:
Exception
-
checkReuse
protected static void checkReuse(TermsEnum termsEnum, int firstFlags, int secondFlags, boolean shouldReuse) throws IOException - Throws:
IOException
-
testJustEmptyField
- Throws:
Exception
-
testEmptyFieldAndEmptyTerm
- Throws:
Exception
-
testDidntWantFreqsButAskedAnyway
- Throws:
Exception
-
testAskForPositionsWhenNotThere
- Throws:
Exception
-
testGhosts
- Throws:
Exception
-
testLevel2Ghosts
- Throws:
Exception
-
testInvertedWrite
- Throws:
Exception
-
assertReused
-
testPostingsEnumDocsOnly
- Throws:
Exception
-
testPostingsEnumFreqs
- Throws:
Exception
-
testPostingsEnumPositions
- Throws:
Exception
-
testPostingsEnumOffsets
- Throws:
Exception
-
testPostingsEnumPayloads
- Throws:
Exception
-
testPostingsEnumAll
- Throws:
Exception
-
addRandomFields
Add random fields to the provided document. -
testLineFileDocs
Test realistic data, which is often better at uncovering real bugs.- Throws:
IOException
-
getCodec
Returns the codec to run tests against -
getCreatedVersionMajor
protected int getCreatedVersionMajor()Returns the major version that this codec is compatible with. -
applyCreatedVersionMajor
Set the created version of the givenDirectory
and return it.- Throws:
IOException
-
setUp
Description copied from class:LuceneTestCase
For subclasses to override. Overrides must callsuper.setUp()
.- Overrides:
setUp
in classLuceneTestCase
- Throws:
Exception
-
tearDown
Description copied from class:LuceneTestCase
For subclasses to override. Overrides must callsuper.tearDown()
.- Overrides:
tearDown
in classLuceneTestCase
- Throws:
Exception
-
excludedExtensionsFromByteCounts
Return the list of extensions that should be excluded from byte counts when comparing indices that store the same content. -
testMergeStability
The purpose of this test is to make sure that bulk merge doesn't accumulate useless data over runs.- Throws:
Exception
-
mergeIsStable
protected boolean mergeIsStable() -
testMultiClose
Calls close multiple times on closeable codec apis- Throws:
IOException
-
testRandomExceptions
Tests exception handling on write and openInput/createOutput- Throws:
Exception
-
shouldTestMergeInstance
protected boolean shouldTestMergeInstance()Returnsfalse
if only the regular fields reader should be tested, andtrue
if only the merge instance should be tested. -
maybeWrapWithMergingReader
- Throws:
IOException
-
testCheckIntegrityReadsAllBytes
This test is a best effort at verifying that checkIntegrity doesn't miss any files. It tests that the combination of opening a reader and calling checkIntegrity on it reads all bytes of all files.- Throws:
Exception
-