Package org.apache.lucene.index
Class BaseFieldInfoFormatTestCase
- java.lang.Object
-
- org.junit.Assert
-
- org.apache.lucene.util.LuceneTestCase
-
- org.apache.lucene.index.BaseFieldInfoFormatTestCase
-
public abstract class BaseFieldInfoFormatTestCase extends LuceneTestCase
Abstract class to do basic tests for fis format. NOTE: This test focuses on the fis impl, nothing else. The [stretch] goal is for this test to be so thorough in testing a new fis format that if this test passes, then all Lucene/Solr tests should also pass. Ie, if there is some bug in a given fis 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.util.LuceneTestCase
LuceneTestCase.AwaitsFix, LuceneTestCase.BadApple, LuceneTestCase.Monster, LuceneTestCase.Nightly, LuceneTestCase.Slow, LuceneTestCase.SuppressCodecs, LuceneTestCase.SuppressFileSystems, LuceneTestCase.SuppressFsync, LuceneTestCase.SuppressReproduceLine, LuceneTestCase.SuppressSysoutChecks, LuceneTestCase.SuppressTempFileChecks, LuceneTestCase.ThrowingRunnable, LuceneTestCase.Weekly
-
-
Field Summary
-
Fields inherited from class org.apache.lucene.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_SLOW, 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_SLOW, TEST_THROTTLING, TEST_WEEKLY, VERBOSE
-
-
Constructor Summary
Constructors Constructor Description BaseFieldInfoFormatTestCase()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Deprecated Methods Modifier and Type Method Description protected void
addAttributes(FieldInfo fi)
Hook to add any codec attributes to fieldinfo instances added in this test.protected void
addRandomFields(Document doc)
Add random fields to the provided document.protected <D extends Directory>
DapplyCreatedVersionMajor(D d)
Set the created version of the givenDirectory
and return it.protected void
assertEquals(FieldInfo expected, FieldInfo actual)
equality for two individual fieldinfo objectsprotected void
assertEquals(FieldInfos expected, FieldInfos actual)
equality for entirety of fieldinfosprotected Collection<String>
excludedExtensionsFromByteCounts()
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
getCreatedVersionMajor()
Returns the major version that this codec is compatible with.protected DocValuesType[]
getDocValuesTypes()
Deprecated.only for Only available to ancient codecs can limit this to the subset of types they support.protected DirectoryReader
maybeWrapWithMergingReader(DirectoryReader r)
protected boolean
mergeIsStable()
protected static SegmentInfo
newSegmentInfo(Directory dir, String name)
Returns a new fake segmentvoid
setUp()
For subclasses to override.protected boolean
shouldTestMergeInstance()
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
testCheckIntegrityReadsAllBytes()
This test is a best effort at verifying that checkIntegrity doesn't miss any files.void
testExceptionOnCloseInput()
Test field infos read that hits exception on close.void
testExceptionOnCloseOutput()
Test field infos write that hits exception on close.void
testExceptionOnCreateOutput()
Test field infos write that hits exception immediately on open.void
testExceptionOnOpenInput()
Test field infos read that hits exception immediately on open.void
testImmutableAttributes()
Test field infos attributes coming back are not mutablevoid
testMergeStability()
The purpose of this test is to make sure that bulk merge doesn't accumulate useless data over runs.void
testMultiClose()
Calls close multiple times on closeable codec apisvoid
testOneField()
Test field infos read/write with a single fieldvoid
testRamBytesUsed()
Test the accuracy of the ramBytesUsed estimations.void
testRandom()
Test field infos read/write with random fields, with different values.void
testRandomExceptions()
Tests exception handling on write and openInput/createOutput-
Methods inherited from class org.apache.lucene.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, expectThrows, expectThrows, expectThrows, expectThrowsAnyOf, expectThrowsAnyOf, getBaseTempDirForTestClass, getDataInputStream, getDataPath, getOnlyLeafReader, getTestClass, getTestName, hasWorkingMMapOnWindows, isTestThread, localeForLanguageTag, maybeChangeLiveIndexWriterConfig, maybeWrapReader, newAlcoholicMergePolicy, newAlcoholicMergePolicy, 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, newStringField, newStringField, newStringField, newStringField, newTextField, newTextField, newTieredMergePolicy, newTieredMergePolicy, overrideDefaultQueryCache, overrideTestDefaultQueryCache, random, randomLocale, randomTimeZone, rarely, rarely, replaceMaxFailureRule, resetDefaultQueryCache, restoreCPUCoreCount, restoreIndexWriterMaxDocs, restoreSpins, runWithRestrictedPermissions, setIndexWriterMaxDocs, setupCPUCoreCount, setupSpins, 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, assertTrue, assertTrue, fail, fail
-
-
-
-
Method Detail
-
testOneField
public void testOneField() throws Exception
Test field infos read/write with a single field- Throws:
Exception
-
testImmutableAttributes
public void testImmutableAttributes() throws Exception
Test field infos attributes coming back are not mutable- Throws:
Exception
-
testExceptionOnCreateOutput
public void testExceptionOnCreateOutput() throws Exception
Test field infos write that hits exception immediately on open. make sure we get our exception back, no file handle leaks, etc.- Throws:
Exception
-
testExceptionOnCloseOutput
public void testExceptionOnCloseOutput() throws Exception
Test field infos write that hits exception on close. make sure we get our exception back, no file handle leaks, etc.- Throws:
Exception
-
testExceptionOnOpenInput
public void testExceptionOnOpenInput() throws Exception
Test field infos read that hits exception immediately on open. make sure we get our exception back, no file handle leaks, etc.- Throws:
Exception
-
testExceptionOnCloseInput
public void testExceptionOnCloseInput() throws Exception
Test field infos read that hits exception on close. make sure we get our exception back, no file handle leaks, etc.- Throws:
Exception
-
testRandom
public void testRandom() throws Exception
Test field infos read/write with random fields, with different values.- Throws:
Exception
-
addAttributes
protected void addAttributes(FieldInfo fi)
Hook to add any codec attributes to fieldinfo instances added in this test.
-
getDocValuesTypes
@Deprecated protected DocValuesType[] getDocValuesTypes()
Deprecated.only for Only available to ancient codecs can limit this to the subset of types they support.Docvalues types to test.
-
assertEquals
protected void assertEquals(FieldInfos expected, FieldInfos actual)
equality for entirety of fieldinfos
-
assertEquals
protected void assertEquals(FieldInfo expected, FieldInfo actual)
equality for two individual fieldinfo objects
-
newSegmentInfo
protected static SegmentInfo newSegmentInfo(Directory dir, String name)
Returns a new fake segment
-
addRandomFields
protected void addRandomFields(Document doc)
Add random fields to the provided document.
-
testRamBytesUsed
public void testRamBytesUsed() throws IOException
Test the accuracy of the ramBytesUsed estimations.- Throws:
IOException
-
getCodec
protected abstract Codec getCodec()
Returns the codec to run tests against
-
getCreatedVersionMajor
protected int getCreatedVersionMajor()
Returns the major version that this codec is compatible with.
-
applyCreatedVersionMajor
protected final <D extends Directory> D applyCreatedVersionMajor(D d) throws IOException
Set the created version of the givenDirectory
and return it.- Throws:
IOException
-
setUp
public void setUp() throws Exception
Description copied from class:LuceneTestCase
For subclasses to override. Overrides must callsuper.setUp()
.- Overrides:
setUp
in classLuceneTestCase
- Throws:
Exception
-
tearDown
public void tearDown() throws Exception
Description copied from class:LuceneTestCase
For subclasses to override. Overrides must callsuper.tearDown()
.- Overrides:
tearDown
in classLuceneTestCase
- Throws:
Exception
-
excludedExtensionsFromByteCounts
protected Collection<String> excludedExtensionsFromByteCounts()
Return the list of extensions that should be excluded from byte counts when comparing indices that store the same content.
-
testMergeStability
public void testMergeStability() throws Exception
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
public void testMultiClose() throws IOException
Calls close multiple times on closeable codec apis- Throws:
IOException
-
testRandomExceptions
public void testRandomExceptions() throws Exception
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
protected final DirectoryReader maybeWrapWithMergingReader(DirectoryReader r) throws IOException
- Throws:
IOException
-
testCheckIntegrityReadsAllBytes
public void testCheckIntegrityReadsAllBytes() throws Exception
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
-
-