Class BaseNormsFormatTestCase


  • public abstract class BaseNormsFormatTestCase
    extends LuceneTestCase
    Abstract class to do basic tests for a norms format. NOTE: This test focuses on the norms impl, nothing else. The [stretch] goal is for this test to be so thorough in testing a new NormsFormat that if this test passes, then all Lucene/Solr tests should also pass. Ie, if there is some bug in a given NormsFormat that this test fails to catch then this test needs to be improved!
    • Constructor Detail

      • BaseNormsFormatTestCase

        public BaseNormsFormatTestCase()
    • Method Detail

      • codecSupportsSparsity

        protected boolean codecSupportsSparsity()
        Whether the codec supports sparse values.
      • testSparseByteRange

        public void testSparseByteRange()
                                 throws Exception
        Throws:
        Exception
      • testSparseShortRange

        public void testSparseShortRange()
                                  throws Exception
        Throws:
        Exception
      • testSparseLongRange

        public void testSparseLongRange()
                                 throws Exception
        Throws:
        Exception
      • testSparseFullLongRange

        public void testSparseFullLongRange()
                                     throws Exception
        Throws:
        Exception
      • testFewSparseValues

        public void testFewSparseValues()
                                 throws Exception
        Throws:
        Exception
      • testFewLargeValues

        public void testFewLargeValues()
                                throws Exception
        Throws:
        Exception
      • testFewSparseLargeValues

        public void testFewSparseLargeValues()
                                      throws Exception
        Throws:
        Exception
      • testSparseAllZeros

        public void testSparseAllZeros()
                                throws Exception
        Throws:
        Exception
      • testSparseOutliers

        public void testSparseOutliers()
                                throws Exception
        Throws:
        Exception
      • testSparseOutliers2

        public void testSparseOutliers2()
                                 throws Exception
        Throws:
        Exception
      • testNCommonBig

        @Nightly
        public void testNCommonBig()
                            throws Exception
        a more thorough n-common that tests all low bpv
        Throws:
        Exception
      • testSparseNCommonBig

        @Nightly
        public void testSparseNCommonBig()
                                  throws Exception
        a more thorough n-common that tests all low bpv and sparse docs
        Throws:
        Exception
      • addRandomFields

        protected void addRandomFields​(Document doc)
        Add random fields to the provided document.
      • 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
      • testIndependantSparseIterators

        public void testIndependantSparseIterators()
                                            throws IOException
        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 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.
      • 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