public final class TestUtil extends Object
Modifier and Type | Field and Description |
---|---|
static Comparator<CharSequence> |
STRING_CODEPOINT_COMPARATOR
A comparator that compares UTF-16 strings / char sequences according to Unicode
code point order.
|
Modifier and Type | Method and Description |
---|---|
static void |
addIndexesSlowly(IndexWriter writer,
DirectoryReader... readers) |
static Codec |
alwaysDocValuesFormat(DocValuesFormat format)
Return a Codec that can read any of the
default codecs and formats, but always writes in the specified
format.
|
static Codec |
alwaysPostingsFormat(PostingsFormat format)
Return a Codec that can read any of the
default codecs and formats, but always writes in the specified
format.
|
static boolean |
anyFilesExceptWriteLock(Directory dir) |
static <T> void |
assertAttributeReflection(AttributeImpl att,
Map<String,T> reflectedValues)
Checks some basic behaviour of an AttributeImpl
|
static void |
assertConsistent(TopDocs expected,
TopDocs actual)
Assert that the given
TopDocs have the same top docs and consistent hit counts. |
static String |
bytesRefToString(BytesRef br)
For debugging: tries to include br.utf8ToString(), but if that
fails (because it's not valid utf8, which is fine!), just
use ordinary toString.
|
static CharSequence |
bytesToCharSequence(BytesRef ref,
Random random) |
static CheckIndex.Status |
checkIndex(Directory dir)
This runs the CheckIndex tool on the index in.
|
static CheckIndex.Status |
checkIndex(Directory dir,
boolean doSlowChecks) |
static CheckIndex.Status |
checkIndex(Directory dir,
boolean doSlowChecks,
boolean failFast,
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> void |
checkIterator(Iterator<T> iterator)
Checks that the provided iterator is well-formed.
|
static <T> void |
checkIterator(Iterator<T> iterator,
long expectedSize,
boolean allowNull)
Checks that the provided iterator is well-formed.
|
static void |
checkReader(IndexReader reader)
This runs the CheckIndex tool on the Reader.
|
static void |
checkReader(LeafReader reader,
boolean doSlowChecks) |
static <T> void |
checkReadOnly(Collection<T> coll)
Checks that the provided collection is read-only.
|
static Document |
cloneDocument(Document doc1) |
static boolean |
disableVirusChecker(Directory in)
Returns true if VirusCheckingFS is in use and was in fact already enabled
|
static PostingsEnum |
docs(Random random,
IndexReader r,
String field,
BytesRef term,
PostingsEnum reuse,
int flags) |
static PostingsEnum |
docs(Random random,
TermsEnum termsEnum,
PostingsEnum reuse,
int flags) |
static void |
enableVirusChecker(Directory in) |
static boolean |
fieldSupportsHugeBinaryDocValues(String field) |
static Codec |
getDefaultCodec()
Returns the actual default codec (e.g.
|
static DocValuesFormat |
getDefaultDocValuesFormat()
Returns the actual default docvalues format (e.g.
|
static PostingsFormat |
getDefaultPostingsFormat()
Returns the actual default postings format (e.g.
|
static PostingsFormat |
getDefaultPostingsFormat(int minItemsPerBlock,
int maxItemsPerBlock)
Returns the actual default postings format (e.g.
|
static String |
getDocValuesFormat(Codec codec,
String field) |
static String |
getDocValuesFormat(String field) |
static String |
getPostingsFormat(Codec codec,
String field) |
static String |
getPostingsFormat(String field) |
static PostingsFormat |
getPostingsFormatWithOrds(Random r)
Returns a random postings format that supports term ordinals
|
static boolean |
hasVirusChecker(Directory dir) |
static boolean |
hasVirusChecker(Path path) |
static boolean |
hasWindowsFS(Directory dir) |
static boolean |
hasWindowsFS(Path path) |
static BigInteger |
nextBigInteger(Random random,
int maxBytes)
Returns a randomish big integer with {@code 1 ..
|
static int |
nextInt(Random r,
int start,
int end)
start and end are BOTH inclusive
|
static long |
nextLong(Random r,
long start,
long end)
start and end are BOTH inclusive
|
static RAMDirectory |
ramCopyOf(Directory dir)
Returns a copy of directory, entirely in RAM
|
static String |
randomAnalysisString(Random random,
int maxLength,
boolean simple) |
static BytesRef |
randomBinaryTerm(Random r)
Returns a random binary term.
|
static String |
randomFixedByteLengthUnicodeString(Random r,
int length)
Returns random string, with a given UTF-8 byte length
|
static void |
randomFixedLengthUnicodeString(Random random,
char[] chars,
int offset,
int length)
Fills provided char[] with valid random unicode code
unit sequence.
|
static String |
randomHtmlishString(Random random,
int numElements) |
static String |
randomlyRecaseCodePoints(Random random,
String str)
Randomly upcases, downcases, or leaves intact each code point in the given string
|
static Pattern |
randomPattern(Random random)
Returns a valid (compiling) Pattern instance with random stuff inside.
|
static String |
randomRealisticUnicodeString(Random r)
Returns random string of length between 0-20 codepoints, all codepoints within the same unicode block.
|
static String |
randomRealisticUnicodeString(Random r,
int maxLength)
Returns random string of length up to maxLength codepoints , all codepoints within the same unicode block.
|
static String |
randomRealisticUnicodeString(Random r,
int minLength,
int maxLength)
Returns random string of length between min and max codepoints, all codepoints within the same unicode block.
|
static String |
randomRegexpishString(Random r)
Returns a String thats "regexpish" (contains lots of operators typically found in regular expressions)
If you call this enough times, you might get a valid regex!
|
static String |
randomRegexpishString(Random r,
int maxLength)
Returns a String thats "regexpish" (contains lots of operators typically found in regular expressions)
If you call this enough times, you might get a valid regex!
|
static String |
randomSimpleString(Random r) |
static String |
randomSimpleString(Random r,
int maxLength) |
static String |
randomSimpleString(Random r,
int minLength,
int maxLength) |
static String |
randomSimpleStringRange(Random r,
char minChar,
char maxChar,
int maxLength) |
static String |
randomSubString(Random random,
int wordLength,
boolean simple) |
static String |
randomUnicodeString(Random r)
Returns random string, including full unicode range.
|
static String |
randomUnicodeString(Random r,
int maxLength)
Returns a random string up to a certain length.
|
static void |
reduceOpenFiles(IndexWriter w)
just tries to configure things to keep the open file
count lowish
|
static void |
shutdownExecutorService(ExecutorService ex)
Shutdown
ExecutorService and wait for its. |
static CharSequence |
stringToCharSequence(String string,
Random random) |
static void |
syncConcurrentMerges(IndexWriter writer) |
static void |
syncConcurrentMerges(MergeScheduler ms) |
static void |
unzip(InputStream in,
Path destDir)
Convenience method unzipping zipName into destDir.
|
public static final Comparator<CharSequence> STRING_CODEPOINT_COMPARATOR
BytesRef
order.
Warning: This comparator is rather inefficient, because
it converts the strings to a int[]
array on each invocation.
public static void unzip(InputStream in, Path destDir) throws IOException
IOException
public static <T> void checkIterator(Iterator<T> iterator, long expectedSize, boolean allowNull)
remove
expectedSize
number of elements
allowNull
is true.
next
is called
after hasNext
returns false.
public static <T> void checkIterator(Iterator<T> iterator)
remove
next
is called
after hasNext
returns false.
public static <T> void checkReadOnly(Collection<T> coll)
checkIterator(Iterator)
public static void syncConcurrentMerges(IndexWriter writer)
public static void syncConcurrentMerges(MergeScheduler ms)
public static CheckIndex.Status checkIndex(Directory dir) throws IOException
IOException
public static CheckIndex.Status checkIndex(Directory dir, boolean doSlowChecks) throws IOException
IOException
public static CheckIndex.Status checkIndex(Directory dir, boolean doSlowChecks, boolean failFast, ByteArrayOutputStream output) throws IOException
IOException
public static void checkReader(IndexReader reader) throws IOException
IOException
public static void checkReader(LeafReader reader, boolean doSlowChecks) throws IOException
IOException
public static int nextInt(Random r, int start, int end)
public static long nextLong(Random r, long start, long end)
public static BigInteger nextBigInteger(Random random, int maxBytes)
1 .. maxBytes
storage.public static String randomSimpleStringRange(Random r, char minChar, char maxChar, int maxLength)
public static String randomUnicodeString(Random r)
public static String randomUnicodeString(Random r, int maxLength)
public static void randomFixedLengthUnicodeString(Random random, char[] chars, int offset, int length)
public static String randomRegexpishString(Random r)
public static String randomRegexpishString(Random r, int maxLength)
Note: to avoid practically endless backtracking patterns we replace asterisk and plus operators with bounded repetitions. See LUCENE-4111 for more info.
maxLength
- A hint about maximum length of the regexpish string. It may be exceeded by a few characters.public static String randomlyRecaseCodePoints(Random random, String str)
public static String randomRealisticUnicodeString(Random r)
public static String randomRealisticUnicodeString(Random r, int maxLength)
public static String randomRealisticUnicodeString(Random r, int minLength, int maxLength)
public static String randomFixedByteLengthUnicodeString(Random r, int length)
public static Codec alwaysPostingsFormat(PostingsFormat format)
public static Codec alwaysDocValuesFormat(DocValuesFormat format)
public static Codec getDefaultCodec()
Codec.getDefault()
because that is randomized.public static PostingsFormat getDefaultPostingsFormat()
public static PostingsFormat getDefaultPostingsFormat(int minItemsPerBlock, int maxItemsPerBlock)
public static PostingsFormat getPostingsFormatWithOrds(Random r)
public static DocValuesFormat getDefaultDocValuesFormat()
public static boolean fieldSupportsHugeBinaryDocValues(String field)
public static boolean anyFilesExceptWriteLock(Directory dir) throws IOException
IOException
public static void addIndexesSlowly(IndexWriter writer, DirectoryReader... readers) throws IOException
IOException
public static void reduceOpenFiles(IndexWriter w)
public static <T> void assertAttributeReflection(AttributeImpl att, Map<String,T> reflectedValues)
reflectedValues
- contains a map with "AttributeClass#key" as valuespublic static void assertConsistent(TopDocs expected, TopDocs actual)
TopDocs
have the same top docs and consistent hit counts.public static PostingsEnum docs(Random random, IndexReader r, String field, BytesRef term, PostingsEnum reuse, int flags) throws IOException
IOException
public static PostingsEnum docs(Random random, TermsEnum termsEnum, PostingsEnum reuse, int flags) throws IOException
IOException
public static CharSequence stringToCharSequence(String string, Random random)
public static CharSequence bytesToCharSequence(BytesRef ref, Random random)
public static void shutdownExecutorService(ExecutorService ex)
ExecutorService
and wait for its.public static Pattern randomPattern(Random random)
public static String randomAnalysisString(Random random, int maxLength, boolean simple)
public static String bytesRefToString(BytesRef br)
public static RAMDirectory ramCopyOf(Directory dir) throws IOException
IOException
public static boolean hasWindowsFS(Directory dir)
public static boolean hasWindowsFS(Path path)
public static boolean hasVirusChecker(Directory dir)
public static boolean hasVirusChecker(Path path)
public static boolean disableVirusChecker(Directory in)
public static void enableVirusChecker(Directory in)
Copyright © 2000-2021 Apache Software Foundation. All Rights Reserved.