Package org.apache.lucene.tests.index
Class BaseDocValuesFormatTestCase
java.lang.Object
org.junit.Assert
org.apache.lucene.tests.util.LuceneTestCase
org.apache.lucene.tests.index.BaseDocValuesFormatTestCase
- Direct Known Subclasses:
BaseCompressingDocValuesFormatTestCase
Abstract class to do basic tests for a docvalues format. NOTE: This test focuses on the docvalues
impl, nothing else. The [stretch] goal is for this test to be so thorough in testing a new
DocValuesFormat that if this test passes, then all Lucene/Solr tests should also pass. Ie, if
there is some bug in a given DocValuesFormat 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
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidaddRandomFields(Document doc) Add random fields to the provided document.protected final <D extends Directory>
DSet the created version of the givenDirectoryand return it.protected voidassertDVIterate(Directory dir) protected booleanvoiddoTestBinaryVariableLengthVsStoredFields(double density) protected voidprotected voiddoTestSortedSetVsStoredFields(int numDocs, int minLength, int maxLength, int maxValuesPerDoc, int maxUniqueValues) protected voiddoTestSortedVsStoredFields(int numDocs, double density, int minLength, int maxLength) protected voiddoTestSortedVsStoredFields(int numDocs, double density, Supplier<byte[]> bytes) 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 CodecgetCodec()Returns the codec to run tests againstprotected intReturns the major version that this codec is compatible with.protected final DirectoryReaderprotected booleanvoidsetUp()For subclasses to override.protected booleanReturnsfalseif only the regular fields reader should be tested, andtrueif only the merge instance should be tested.voidtearDown()For subclasses to override.voidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidThis test is a best effort at verifying that checkIntegrity doesn't miss any files.voidvoidvoidvoidvoidvoidvoidvoidTests where a DVField uses a high number of packed bits to store its ords.voidvoidvoidThe purpose of this test is to make sure that bulk merge doesn't accumulate useless data over runs.voidvoidCalls close multiple times on closeable codec apisvoidvoidvoidvoidvoidvoidvoidvoidvoidTests exception handling on write and openInput/createOutputvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidTests dv against stored fields with threads (binary/numeric/sorted, no missing)voidTests dv against stored fields with threads (all types + missing)voidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidMethods 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, wrapReaderMethods 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
-
BaseDocValuesFormatTestCase
public BaseDocValuesFormatTestCase()
-
-
Method Details
-
addRandomFields
Add random fields to the provided document. -
testOneNumber
- Throws:
IOException
-
testOneFloat
- Throws:
IOException
-
testTwoNumbers
- Throws:
IOException
-
testTwoBinaryValues
- Throws:
IOException
-
testVariouslyCompressibleBinaryValues
- Throws:
IOException
-
testTwoFieldsMixed
- Throws:
IOException
-
testThreeFieldsMixed
- Throws:
IOException
-
testThreeFieldsMixed2
- Throws:
IOException
-
testTwoDocumentsNumeric
- Throws:
IOException
-
testTwoDocumentsMerged
- Throws:
IOException
-
testBigNumericRange
- Throws:
IOException
-
testBigNumericRange2
- Throws:
IOException
-
testBytes
- Throws:
IOException
-
testBytesTwoDocumentsMerged
- Throws:
IOException
-
testBytesMergeAwayAllValues
- Throws:
IOException
-
testSortedBytes
- Throws:
IOException
-
testSortedBytesTwoDocuments
- Throws:
IOException
-
testSortedBytesThreeDocuments
- Throws:
IOException
-
testSortedBytesTwoDocumentsMerged
- Throws:
IOException
-
testSortedMergeAwayAllValues
- Throws:
IOException
-
testBytesWithNewline
- Throws:
IOException
-
testMissingSortedBytes
- Throws:
IOException
-
testSortedTermsEnum
- Throws:
IOException
-
testEmptySortedBytes
- Throws:
IOException
-
testEmptyBytes
- Throws:
IOException
-
testVeryLargeButLegalBytes
- Throws:
IOException
-
testVeryLargeButLegalSortedBytes
- Throws:
IOException
-
testCodecUsesOwnBytes
- Throws:
IOException
-
testCodecUsesOwnSortedBytes
- Throws:
IOException
-
testDocValuesSimple
- Throws:
IOException
-
testRandomSortedBytes
- Throws:
IOException
-
assertDVIterate
- Throws:
IOException
-
testBooleanNumericsVsStoredFields
- Throws:
Exception
-
testSparseBooleanNumericsVsStoredFields
- Throws:
Exception
-
testByteNumericsVsStoredFields
- Throws:
Exception
-
testSparseByteNumericsVsStoredFields
- Throws:
Exception
-
testShortNumericsVsStoredFields
- Throws:
Exception
-
testSparseShortNumericsVsStoredFields
- Throws:
Exception
-
testIntNumericsVsStoredFields
- Throws:
Exception
-
testSparseIntNumericsVsStoredFields
- Throws:
Exception
-
testLongNumericsVsStoredFields
- Throws:
Exception
-
testSparseLongNumericsVsStoredFields
- Throws:
Exception
-
testBinaryFixedLengthVsStoredFields
- Throws:
Exception
-
testSparseBinaryFixedLengthVsStoredFields
- Throws:
Exception
-
testBinaryVariableLengthVsStoredFields
- Throws:
Exception
-
testSparseBinaryVariableLengthVsStoredFields
- Throws:
Exception
-
doTestBinaryVariableLengthVsStoredFields
- Throws:
Exception
-
doTestSortedVsStoredFields
protected void doTestSortedVsStoredFields(int numDocs, double density, Supplier<byte[]> bytes) throws Exception - Throws:
Exception
-
testSortedFixedLengthVsStoredFields
- Throws:
Exception
-
testSparseSortedFixedLengthVsStoredFields
- Throws:
Exception
-
testSortedVariableLengthVsStoredFields
- Throws:
Exception
-
testSparseSortedVariableLengthVsStoredFields
- Throws:
Exception
-
doTestSortedVsStoredFields
protected void doTestSortedVsStoredFields(int numDocs, double density, int minLength, int maxLength) throws Exception - Throws:
Exception
-
testSortedSetOneValue
- Throws:
IOException
-
testSortedSetTwoFields
- Throws:
IOException
-
testSortedSetTwoDocumentsMerged
- Throws:
IOException
-
testSortedSetTwoValues
- Throws:
IOException
-
testSortedSetTwoValuesUnordered
- Throws:
IOException
-
testSortedSetThreeValuesTwoDocs
- Throws:
IOException
-
testSortedSetTwoDocumentsLastMissing
- Throws:
IOException
-
testSortedSetTwoDocumentsLastMissingMerge
- Throws:
IOException
-
testSortedSetTwoDocumentsFirstMissing
- Throws:
IOException
-
testSortedSetTwoDocumentsFirstMissingMerge
- Throws:
IOException
-
testSortedSetMergeAwayAllValues
- Throws:
IOException
-
testSortedSetTermsEnum
- Throws:
IOException
-
doTestSortedSetVsStoredFields
protected void doTestSortedSetVsStoredFields(int numDocs, int minLength, int maxLength, int maxValuesPerDoc, int maxUniqueValues) throws Exception - Throws:
Exception
-
testSortedSetFixedLengthVsStoredFields
- Throws:
Exception
-
testSortedNumericsSingleValuedVsStoredFields
- Throws:
Exception
-
testSortedNumericsSingleValuedMissingVsStoredFields
- Throws:
Exception
-
testSortedNumericsMultipleValuesVsStoredFields
- Throws:
Exception
-
testSortedNumericsFewUniqueSetsVsStoredFields
- Throws:
Exception
-
testSortedSetVariableLengthVsStoredFields
- Throws:
Exception
-
testSortedSetFixedLengthSingleValuedVsStoredFields
- Throws:
Exception
-
testSortedSetVariableLengthSingleValuedVsStoredFields
- Throws:
Exception
-
testSortedSetFixedLengthFewUniqueSetsVsStoredFields
- Throws:
Exception
-
testSortedSetVariableLengthFewUniqueSetsVsStoredFields
- Throws:
Exception
-
testSortedSetVariableLengthManyValuesPerDocVsStoredFields
- Throws:
Exception
-
testSortedSetFixedLengthManyValuesPerDocVsStoredFields
- Throws:
Exception
-
testGCDCompression
- Throws:
Exception
-
testSparseGCDCompression
- Throws:
Exception
-
testZeros
- Throws:
Exception
-
testSparseZeros
- Throws:
Exception
-
testZeroOrMin
- Throws:
Exception
-
testTwoNumbersOneMissing
- Throws:
IOException
-
testTwoNumbersOneMissingWithMerging
- Throws:
IOException
-
testThreeNumbersOneMissingWithMerging
- Throws:
IOException
-
testTwoBytesOneMissing
- Throws:
IOException
-
testTwoBytesOneMissingWithMerging
- Throws:
IOException
-
testThreeBytesOneMissingWithMerging
- Throws:
IOException
-
testThreads
Tests dv against stored fields with threads (binary/numeric/sorted, no missing)- Throws:
Exception
-
testThreads2
Tests dv against stored fields with threads (all types + missing)- Throws:
Exception
-
testThreads3
- Throws:
Exception
-
testEmptyBinaryValueOnPageSizes
- Throws:
Exception
-
testOneSortedNumber
- Throws:
IOException
-
testOneSortedNumberOneMissing
- Throws:
IOException
-
testNumberMergeAwayAllValues
- Throws:
IOException
-
testTwoSortedNumber
- Throws:
IOException
-
testTwoSortedNumberSameValue
- Throws:
IOException
-
testTwoSortedNumberOneMissing
- Throws:
IOException
-
testSortedNumberMerge
- Throws:
IOException
-
testSortedNumberMergeAwayAllValues
- Throws:
IOException
-
testSortedEnumAdvanceIndependently
- Throws:
IOException
-
testSortedSetEnumAdvanceIndependently
- Throws:
IOException
-
doTestSortedSetEnumAdvanceIndependently
- Throws:
IOException
-
testSortedMergeAwayAllValuesLargeSegment
- Throws:
IOException
-
testSortedSetMergeAwayAllValuesLargeSegment
- Throws:
IOException
-
testNumericMergeAwayAllValuesLargeSegment
- Throws:
IOException
-
testSortedNumericMergeAwayAllValuesLargeSegment
- Throws:
IOException
-
testBinaryMergeAwayAllValuesLargeSegment
- Throws:
IOException
-
testRandomAdvanceNumeric
- Throws:
IOException
-
testRandomAdvanceBinary
- Throws:
IOException
-
testHighOrdsSortedSetDV
Tests where a DVField uses a high number of packed bits to store its ords. See: https://issues.apache.org/jira/browse/LUCENE-10159- Throws:
Exception
-
codecAcceptsHugeBinaryValues
-
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 givenDirectoryand return it.- Throws:
IOException
-
setUp
Description copied from class:LuceneTestCaseFor subclasses to override. Overrides must callsuper.setUp().- Overrides:
setUpin classLuceneTestCase- Throws:
Exception
-
tearDown
Description copied from class:LuceneTestCaseFor subclasses to override. Overrides must callsuper.tearDown().- Overrides:
tearDownin 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()Returnsfalseif only the regular fields reader should be tested, andtrueif 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
-