# Package org.apache.lucene.util

General test support.

See: Description

Interface Summary
Interface | Description
--- | ---
TestRuleIgnoreTestSuites.NestedTestSuite | Marker interface for nested suites that should be ignored if executed in stand-alone mode.

Class Summary
Class | Description
--- | ---
_TestUtil | General utility methods for Lucene unit tests.
English | Converts numbers to english strings for testing.
FailOnNonBulkMergesInfoStream | Hackidy-Häck-Hack to cause a test to fail on non-bulk merges
LineFileDocs | Minimal port of benchmark's LneDocSource + DocMaker, so tests can enum docs from a line file created by benchmark's WriteLineDoc task
LuceneJUnit3MethodProvider | Backwards compatible test* method provider (public, non-static).
LuceneTestCase | Base class for all Lucene unit tests, Junit3 or Junit4 variant.
NullInfoStream | Prints nothing.
QuickPatchThreadsFilter | Last minute patches.
Rethrow | Sneaky: rethrowing checked exceptions as unchecked ones.
RunListenerPrintReproduceInfo | A suite listener printing a "reproduce string".
TestRuleAssertionsRequired | Require assertions for Lucene/Solr packages.
TestRuleFieldCacheSanity | This rule will fail the test if it has insane field caches.
TestRuleIgnoreAfterMaxFailures | This rule keeps a count of failed tests (suites) and will result in an `AssumptionViolatedException` after a given number of failures for all tests following this condition.
TestRuleIgnoreTestSuites | This rule will cause the suite to be assumption-ignored if the test class implements a given marker interface and a special property is not set.
TestRuleMarkFailure | A rule for marking failed tests and suites.
TestRuleStoreClassName | Stores the suite name so you can retrieve it from `TestRuleStoreClassName.getTestClass()`
TestSecurityManager | A `SecurityManager` that prevents tests calling `System.exit(int)`.
ThrottledIndexOutput | Intentionally slow IndexOutput for testing.
TimeUnits | time unit constants for use in annotations.

Annotation Types Summary
Annotation Type | Description
--- | ---
LuceneTestCase.AwaitsFix | Annotation for tests which exhibit a known issue and are temporarily disabled.
LuceneTestCase.BadApple | Annotation for tests that fail frequently and should be moved to a "vault" plan in Jenkins.
LuceneTestCase.Nightly | Annotation for tests that should only be run during nightly builds.
LuceneTestCase.Slow | Annotation for tests that are slow.
LuceneTestCase.SuppressCodecs | Annotation for test classes that should avoid certain codec types (because they are expensive, for example).
LuceneTestCase.Weekly | Annotation for tests that should only be run during weekly builds

## Package org.apache.lucene.util Description

General test support. The primary class is `LuceneTestCase`, which extends JUnit with additional functionality.