Class BaseStoredFieldsFormatTestCase

java.lang.Object
org.junit.Assert
org.apache.lucene.tests.util.LuceneTestCase
org.apache.lucene.tests.index.BaseStoredFieldsFormatTestCase

public abstract class BaseStoredFieldsFormatTestCase extends LuceneTestCase
Base class aiming at testing stored fields formats. To test a new format, all you need is to register a new Codec which uses it and extend this class and override getCodec().
WARNING: This API is experimental and might change in incompatible ways in the next release.
  • Constructor Details

    • BaseStoredFieldsFormatTestCase

      public BaseStoredFieldsFormatTestCase()
  • Method Details

    • addRandomFields

      protected void addRandomFields(Document d)
      Add random fields to the provided document.
    • testRandomStoredFields

      public void testRandomStoredFields() throws IOException
      Throws:
      IOException
    • testStoredFieldsOrder

      public void testStoredFieldsOrder() throws Throwable
      Throws:
      Throwable
    • testBinaryFieldOffsetLength

      public void testBinaryFieldOffsetLength() throws IOException
      Throws:
      IOException
    • testNumericField

      public void testNumericField() throws Exception
      Throws:
      Exception
    • testIndexedBit

      public void testIndexedBit() throws Exception
      Throws:
      Exception
    • testReadSkip

      public void testReadSkip() throws IOException
      Throws:
      IOException
    • testEmptyDocs

      public void testEmptyDocs() throws IOException
      Throws:
      IOException
    • testConcurrentReads

      public void testConcurrentReads() throws Exception
      Throws:
      Exception
    • testWriteReadMerge

      public void testWriteReadMerge() throws IOException
      Throws:
      IOException
    • testMergeFilterReader

      public void testMergeFilterReader() throws IOException
      Throws:
      IOException
    • testBigDocuments

      @Nightly public void testBigDocuments() throws IOException
      Throws:
      IOException
    • testBulkMergeWithDeletes

      public void testBulkMergeWithDeletes() throws IOException
      Throws:
      IOException
    • testMismatchedFields

      public void testMismatchedFields() throws Exception
      mix up field numbers, merge, and check that data is correct
      Throws:
      Exception
    • testRandomStoredFieldsWithIndexSort

      public void testRandomStoredFieldsWithIndexSort() throws Exception
      Throws:
      Exception
    • 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 given Directory and return it.
      Throws:
      IOException
    • setUp

      public void setUp() throws Exception
      Description copied from class: LuceneTestCase
      For subclasses to override. Overrides must call super.setUp().
      Overrides:
      setUp in class LuceneTestCase
      Throws:
      Exception
    • tearDown

      public void tearDown() throws Exception
      Description copied from class: LuceneTestCase
      For subclasses to override. Overrides must call super.tearDown().
      Overrides:
      tearDown in class LuceneTestCase
      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()
      Returns false if only the regular fields reader should be tested, and true 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