Package org.apache.lucene.tests.index
Class BaseSegmentInfoFormatTestCase
java.lang.Object
org.junit.Assert
org.apache.lucene.tests.util.LuceneTestCase
org.apache.lucene.tests.index.BaseSegmentInfoFormatTestCase
Abstract class to do basic tests for si format. NOTE: This test focuses on the si impl, nothing
else. The [stretch] goal is for this test to be so thorough in testing a new si format that if
this test passes, then all Lucene/Solr tests should also pass. Ie, if there is some bug in a
given si Format 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 final voidassertEquals(SegmentInfo expected, SegmentInfo actual) 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 abstract Version[]Returns the versions this SI should testprotected 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.protected booleanprotected booleanWhether this format records min versions.voidtearDown()For subclasses to override.voidTests SI writer adds itself to files...voidTest attributes mapvoidThis test is a best effort at verifying that checkIntegrity doesn't miss any files.voidTest diagnostics mapvoidTest segment infos read that hits exception on close make sure we get our exception back, no file handle leaks, etc.voidTest segment infos write that hits exception on close.voidTest segment infos write that hits exception immediately on open.voidTest segment infos read that hits exception immediately on open.voidTest files mapvoidThe purpose of this test is to make sure that bulk merge doesn't accumulate useless data over runs.voidCalls close multiple times on closeable codec apisvoidSets some otherwise hard-to-test properties: random segment names, ID values, document count, etc and round-tripsvoidTests exception handling on write and openInput/createOutputvoidtestSort()Test sortvoidTest unique IDvoidTest versionsMethods 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
-
BaseSegmentInfoFormatTestCase
public BaseSegmentInfoFormatTestCase()
-
-
Method Details
-
supportsMinVersion
protected boolean supportsMinVersion()Whether this format records min versions. -
testFiles
Test files map- Throws:
Exception
-
testAddsSelfToFiles
Tests SI writer adds itself to files...- Throws:
Exception
-
testDiagnostics
Test diagnostics map- Throws:
Exception
-
testAttributes
Test attributes map- Throws:
Exception
-
testUniqueID
Test unique ID- Throws:
Exception
-
testVersions
Test versions- Throws:
Exception
-
supportsIndexSort
protected boolean supportsIndexSort() -
testSort
Test sort- Throws:
IOException
-
testExceptionOnCreateOutput
Test segment infos write that hits exception immediately on open. make sure we get our exception back, no file handle leaks, etc.- Throws:
Exception
-
testExceptionOnCloseOutput
Test segment infos write that hits exception on close. make sure we get our exception back, no file handle leaks, etc.- Throws:
Exception
-
testExceptionOnOpenInput
Test segment infos read that hits exception immediately on open. make sure we get our exception back, no file handle leaks, etc.- Throws:
Exception
-
testExceptionOnCloseInput
Test segment infos read that hits exception on close make sure we get our exception back, no file handle leaks, etc.- Throws:
Exception
-
testRandom
Sets some otherwise hard-to-test properties: random segment names, ID values, document count, etc and round-trips- Throws:
Exception
-
assertEquals
-
getVersions
Returns the versions this SI should test -
addRandomFields
Add random fields to the provided document. -
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
-