Class TestUtil
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Comparator<CharSequence> A comparator that compares UTF-16 strings / char sequences according to Unicode code point order. -
Method Summary
Modifier and TypeMethodDescriptionstatic voidaddIndexesSlowly(IndexWriter writer, DirectoryReader... readers) static CodecalwaysDocValuesFormat(DocValuesFormat format) Return a Codec that can read any of the default codecs and formats, but always writes in the specified format.static CodecReturn a Codec that can read any of the default codecs and formats, but always writes in the specified format.static CodecalwaysPostingsFormat(PostingsFormat format) Return a Codec that can read any of the default codecs and formats, but always writes in the specified format.static booleanstatic <T> voidassertAttributeReflection(AttributeImpl att, Map<String, T> reflectedValues) Checks some basic behaviour of an AttributeImplstatic voidassertConsistent(TopDocs expected, TopDocs actual) Assert that the givenTopDocshave the same top docs and consistent hit counts.static StringFor debugging: tries to include br.utf8ToString(), but if that fails (because it's not valid utf8, which is fine!), just use ordinary toString.static CharSequencebytesToCharSequence(BytesRef ref, Random random) static CheckIndex.StatuscheckIndex(Directory dir) This runs the CheckIndex tool on the index in.static CheckIndex.StatuscheckIndex(Directory dir, int level) static CheckIndex.StatuscheckIndex(Directory dir, int level, boolean failFast, boolean concurrent, ByteArrayOutputStream output) If failFast is true, then throw the first exception when index corruption is hit, instead of moving on to other fields/segments to look for any other corruption.static <T> voidcheckIterator(Iterator<T> iterator) Checks that the provided iterator is well-formed.static <T> voidcheckIterator(Iterator<T> iterator, long expectedSize, boolean allowNull) Checks that the provided iterator is well-formed.static voidcheckReader(IndexReader reader) This runs the CheckIndex tool on the Reader.static voidcheckReader(LeafReader reader, int level) static <T> voidcheckReadOnly(Collection<T> coll) Checks that the provided collection is read-only.static DocumentcloneDocument(Document doc1) static booleanReturns true if VirusCheckingFS is in use and was in fact already enabledstatic PostingsEnumdocs(Random random, IndexReader r, String field, BytesRef term, PostingsEnum reuse, int flags) static PostingsEnumdocs(Random random, TermsEnum termsEnum, PostingsEnum reuse, int flags) static booleandoubleUlpEquals(double x, double y, int maxUlps) Returns true if the arguments are equal or within the range of allowed error (inclusive).static voidstatic booleanstatic booleanfloatUlpEquals(float x, float y, short maxUlps) Returns true if the arguments are equal or within the range of allowed error (inclusive).static CodecReturns the actual default codec (e.g.static DocValuesFormatReturns the actual default docvalues format (e.g.static KnnVectorsFormatReturns the actual default vector format (e.g.static PostingsFormatReturns the actual default postings format (e.g.static PostingsFormatgetDefaultPostingsFormat(int minItemsPerBlock, int maxItemsPerBlock) Returns the actual default postings format (e.g.static StringgetDocValuesFormat(String field) static StringgetDocValuesFormat(Codec codec, String field) static StringgetPostingsFormat(String field) static StringgetPostingsFormat(Codec codec, String field) static PostingsFormatReturns a random postings format that supports term ordinalsstatic booleanhasVirusChecker(Path path) static booleanhasVirusChecker(Directory dir) static booleanhasWindowsFS(Path path) static booleanhasWindowsFS(Directory dir) static BigIntegernextBigInteger(Random random, int maxBytes) Returns a randomish big integer with1 .. maxBytesstorage.static intstart and end are BOTH inclusivestatic longstart and end are BOTH inclusivestatic DirectoryReturns a copy of the source directory, with file contents stored in RAM.static StringrandomAnalysisString(Random random, int maxLength, boolean simple) static BytesRefReturns a random binary term.static BytesRefrandomBinaryTerm(Random r, int length) Returns a random binary with a given lengthstatic StringrandomFixedByteLengthUnicodeString(Random r, int length) Returns random string, with a given UTF-8 byte lengthstatic voidrandomFixedLengthUnicodeString(Random random, char[] chars, int offset, int length) Fills provided char[] with valid random unicode code unit sequence.static StringrandomHtmlishString(Random random, int numElements) static StringrandomlyRecaseCodePoints(Random random, String str) Randomly upcases, downcases, or leaves intact each code point in the given stringstatic PatternrandomPattern(Random random) Returns a valid (compiling) Pattern instance with random stuff inside.static StringReturns random string of length between 0-20 codepoints, all codepoints within the same unicode block.static StringrandomRealisticUnicodeString(Random r, int maxLength) Returns random string of length up to maxLength codepoints , all codepoints within the same unicode block.static StringrandomRealisticUnicodeString(Random r, int minLength, int maxLength) Returns random string of length between min and max codepoints, all codepoints within the same unicode block.static StringReturns a String that's "regexpish" (contains lots of operators typically found in regular expressions) If you call this enough times, you might get a valid regex!static StringrandomRegexpishString(Random r, int maxLength) Returns a String that's "regexpish" (contains lots of operators typically found in regular expressions) If you call this enough times, you might get a valid regex!static Stringstatic StringrandomSimpleString(Random r, int maxLength) static StringrandomSimpleString(Random r, int minLength, int maxLength) static StringrandomSimpleStringRange(Random r, char minChar, char maxChar, int maxLength) static StringrandomSubString(Random random, int wordLength, boolean simple) static StringReturns random string, including full unicode range.static StringrandomUnicodeString(Random r, int maxLength) Returns a random string up to a certain length.static voidjust tries to configure things to keep the open file count lowishstatic voidShutdownExecutorServiceand wait for its.static CharSequencestringToCharSequence(String string, Random random) static voidsyncConcurrentMerges(IndexWriter writer) static voidstatic voidunzip(InputStream in, Path destDir) Convenience method unzipping zipName into destDir.
-
Field Details
-
STRING_CODEPOINT_COMPARATOR
A comparator that compares UTF-16 strings / char sequences according to Unicode code point order. This can be used to verifyBytesReforder.Warning: This comparator is rather inefficient, because it converts the strings to a
int[]array on each invocation.
-
-
Method Details
-
unzip
Convenience method unzipping zipName into destDir. You must pass it a clean destDir.Closes the given InputStream after extracting!
- Throws:
IOException
-
checkIterator
Checks that the provided iterator is well-formed.- is read-only: does not allow
remove - returns
expectedSizenumber of elements - does not return null elements, unless
allowNullis true. - throws NoSuchElementException if
nextis called afterhasNextreturns false.
- is read-only: does not allow
-
checkIterator
Checks that the provided iterator is well-formed.- is read-only: does not allow
remove - does not return null elements.
- throws NoSuchElementException if
nextis called afterhasNextreturns false.
- is read-only: does not allow
-
checkReadOnly
Checks that the provided collection is read-only.- See Also:
-
syncConcurrentMerges
-
syncConcurrentMerges
-
checkIndex
This runs the CheckIndex tool on the index in. If any issues are hit, a RuntimeException is thrown; else, true is returned.- Throws:
IOException
-
checkIndex
- Throws:
IOException
-
checkIndex
public static CheckIndex.Status checkIndex(Directory dir, int level, boolean failFast, boolean concurrent, ByteArrayOutputStream output) throws IOException If failFast is true, then throw the first exception when index corruption is hit, instead of moving on to other fields/segments to look for any other corruption.- Throws:
IOException
-
checkReader
This runs the CheckIndex tool on the Reader. If any issues are hit, a RuntimeException is thrown- Throws:
IOException
-
checkReader
- Throws:
IOException
-
floatUlpEquals
public static boolean floatUlpEquals(float x, float y, short maxUlps) Returns true if the arguments are equal or within the range of allowed error (inclusive). Returnsfalseif either of the arguments is NaN.Two float numbers are considered equal if there are
(maxUlps - 1)(or fewer) floating point numbers between them, i.e. two adjacent floating point numbers are considered equal.Adapted from org.apache.commons.numbers.core.Precision
github: https://github.com/apache/commons-numbers release 1.2
- Parameters:
x- first valuey- second valuemaxUlps-(maxUlps - 1)is the number of floating point values betweenxandy.- Returns:
trueif there are fewer thanmaxUlpsfloating point values betweenxandy.
-
doubleUlpEquals
public static boolean doubleUlpEquals(double x, double y, int maxUlps) Returns true if the arguments are equal or within the range of allowed error (inclusive). Returnsfalseif either of the arguments is NaN.Two double numbers are considered equal if there are
(maxUlps - 1)(or fewer) floating point numbers between them, i.e. two adjacent floating point numbers are considered equal.Adapted from org.apache.commons.numbers.core.Precision
github: https://github.com/apache/commons-numbers release 1.2
- Parameters:
x- first valuey- second valuemaxUlps-(maxUlps - 1)is the number of floating point values betweenxandy.- Returns:
trueif there are fewer thanmaxUlpsfloating point values betweenxandy.
-
nextInt
start and end are BOTH inclusive -
nextLong
start and end are BOTH inclusive -
nextBigInteger
Returns a randomish big integer with1 .. maxBytesstorage. -
randomSimpleString
-
randomSimpleString
-
randomSimpleStringRange
-
randomSimpleString
-
randomUnicodeString
Returns random string, including full unicode range. -
randomUnicodeString
Returns a random string up to a certain length. -
randomFixedLengthUnicodeString
public static void randomFixedLengthUnicodeString(Random random, char[] chars, int offset, int length) Fills provided char[] with valid random unicode code unit sequence. -
randomRegexpishString
Returns a String that's "regexpish" (contains lots of operators typically found in regular expressions) If you call this enough times, you might get a valid regex! -
randomRegexpishString
Returns a String that's "regexpish" (contains lots of operators typically found in regular expressions) If you call this enough times, you might get a valid regex!Note: to avoid practically endless backtracking patterns we replace asterisk and plus operators with bounded repetitions. See LUCENE-4111 for more info.
- Parameters:
maxLength- A hint about maximum length of the regexpish string. It may be exceeded by a few characters.
-
randomHtmlishString
-
randomlyRecaseCodePoints
Randomly upcases, downcases, or leaves intact each code point in the given string -
randomRealisticUnicodeString
Returns random string of length between 0-20 codepoints, all codepoints within the same unicode block. -
randomRealisticUnicodeString
Returns random string of length up to maxLength codepoints , all codepoints within the same unicode block. -
randomRealisticUnicodeString
Returns random string of length between min and max codepoints, all codepoints within the same unicode block. -
randomFixedByteLengthUnicodeString
Returns random string, with a given UTF-8 byte length -
randomBinaryTerm
Returns a random binary term. -
randomBinaryTerm
Returns a random binary with a given length -
alwaysPostingsFormat
Return a Codec that can read any of the default codecs and formats, but always writes in the specified format. -
alwaysDocValuesFormat
Return a Codec that can read any of the default codecs and formats, but always writes in the specified format. -
alwaysKnnVectorsFormat
Return a Codec that can read any of the default codecs and formats, but always writes in the specified format. -
getDefaultCodec
Returns the actual default codec (e.g. LuceneMNCodec) for this version of Lucene. This may be different fromCodec.getDefault()because that is randomized. -
getDefaultPostingsFormat
Returns the actual default postings format (e.g. LuceneMNPostingsFormat) for this version of Lucene. -
getDefaultPostingsFormat
Returns the actual default postings format (e.g. LuceneMNPostingsFormat) for this version of Lucene.- NOTE: This API is for internal purposes only and might change in incompatible ways in the next release.
- this may disappear at any time
-
getPostingsFormatWithOrds
Returns a random postings format that supports term ordinals -
getDefaultDocValuesFormat
Returns the actual default docvalues format (e.g. LuceneMNDocValuesFormat) for this version of Lucene. -
getPostingsFormat
-
getPostingsFormat
-
getDocValuesFormat
-
getDocValuesFormat
-
fieldSupportsHugeBinaryDocValues
-
getDefaultKnnVectorsFormat
Returns the actual default vector format (e.g. LuceneMNKnnVectorsFormat) for this version of Lucene. -
anyFilesExceptWriteLock
- Throws:
IOException
-
addIndexesSlowly
public static void addIndexesSlowly(IndexWriter writer, DirectoryReader... readers) throws IOException - Throws:
IOException
-
reduceOpenFiles
just tries to configure things to keep the open file count lowish -
assertAttributeReflection
Checks some basic behaviour of an AttributeImpl- Parameters:
reflectedValues- contains a map with "AttributeClass#key" as values
-
assertConsistent
Assert that the givenTopDocshave the same top docs and consistent hit counts. -
cloneDocument
-
docs
public static PostingsEnum docs(Random random, IndexReader r, String field, BytesRef term, PostingsEnum reuse, int flags) throws IOException - Throws:
IOException
-
docs
public static PostingsEnum docs(Random random, TermsEnum termsEnum, PostingsEnum reuse, int flags) throws IOException - Throws:
IOException
-
stringToCharSequence
-
bytesToCharSequence
-
shutdownExecutorService
ShutdownExecutorServiceand wait for its. -
randomPattern
Returns a valid (compiling) Pattern instance with random stuff inside. Be careful when applying random patterns to longer strings as certain types of patterns may explode into exponential times in backtracking implementations (such as Java's). -
randomAnalysisString
-
randomSubString
-
bytesRefToString
For debugging: tries to include br.utf8ToString(), but if that fails (because it's not valid utf8, which is fine!), just use ordinary toString. -
ramCopyOf
Returns a copy of the source directory, with file contents stored in RAM.- Throws:
IOException
-
hasWindowsFS
-
hasWindowsFS
-
hasVirusChecker
-
hasVirusChecker
-
disableVirusChecker
Returns true if VirusCheckingFS is in use and was in fact already enabled -
enableVirusChecker
-