Class 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 Detail

      • BaseStoredFieldsFormatTestCase

        public BaseStoredFieldsFormatTestCase()
    • Method Detail

      • addRandomFields

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

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

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

        public void testConcurrentReads()
                                 throws Exception
        Throws:
        Exception
      • 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
      • 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.
      • 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