You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by dw...@apache.org on 2021/12/21 20:28:18 UTC

[lucene] branch branch_9x updated: LUCENE-10301: make the test-framework a proper module by moving all test (#560)

This is an automated email from the ASF dual-hosted git repository.

dweiss pushed a commit to branch branch_9x
in repository https://gitbox.apache.org/repos/asf/lucene.git


The following commit(s) were added to refs/heads/branch_9x by this push:
     new c2d505d  LUCENE-10301: make the test-framework a proper module by moving all test (#560)
c2d505d is described below

commit c2d505d5026fdc5bf038b6683945c9ae99a0a745
Author: Dawid Weiss <da...@carrotsearch.com>
AuthorDate: Tue Dec 21 21:28:14 2021 +0100

    LUCENE-10301: make the test-framework a proper module by moving all test (#560)
    
    classes to org.apache.lucene.tests.*. Also changes distribution layout
    (all modules are now under modules/).
    
    This is a backport on 9x.
---
 dev-tools/scripts/smokeTestRelease.py              |    2 +-
 gradle/documentation/render-javadoc.gradle         |   19 -
 gradle/java/modules.gradle                         |    3 +
 gradle/testing/randomization.gradle                |    4 +-
 gradle/testing/randomization/policies/tests.policy |    3 -
 lucene/CHANGES.txt                                 |    4 +
 lucene/MIGRATE.md                                  |    7 +
 .../lucene/analysis/ar/TestArabicAnalyzer.java     |    2 +-
 .../lucene/analysis/ar/TestArabicFilters.java      |    2 +-
 .../analysis/ar/TestArabicNormalizationFilter.java |    4 +-
 .../lucene/analysis/ar/TestArabicStemFilter.java   |    4 +-
 .../lucene/analysis/bg/TestBulgarianAnalyzer.java  |    2 +-
 .../bg/TestBulgarianStemFilterFactory.java         |    2 +-
 .../lucene/analysis/bg/TestBulgarianStemmer.java   |    4 +-
 .../lucene/analysis/bn/TestBengaliAnalyzer.java    |    2 +-
 .../lucene/analysis/bn/TestBengaliFilters.java     |    2 +-
 .../lucene/analysis/bn/TestBengaliNormalizer.java  |    4 +-
 .../lucene/analysis/bn/TestBengaliStemmer.java     |    2 +-
 .../boost/TestDelimitedBoostTokenFilter.java       |    2 +-
 .../lucene/analysis/br/TestBrazilianAnalyzer.java  |    2 +-
 .../br/TestBrazilianStemFilterFactory.java         |    4 +-
 .../lucene/analysis/ca/TestCatalanAnalyzer.java    |    2 +-
 .../charfilter/TestHTMLStripCharFilter.java        |    6 +-
 .../charfilter/TestHTMLStripCharFilterFactory.java |    2 +-
 .../analysis/charfilter/TestMappingCharFilter.java |    6 +-
 .../charfilter/TestMappingCharFilterFactory.java   |    2 +-
 .../lucene/analysis/cjk/TestCJKAnalyzer.java       |    4 +-
 .../lucene/analysis/cjk/TestCJKBigramFilter.java   |    2 +-
 .../analysis/cjk/TestCJKBigramFilterFactory.java   |    2 +-
 .../analysis/cjk/TestCJKWidthCharFilter.java       |    4 +-
 .../cjk/TestCJKWidthCharFilterFactory.java         |    2 +-
 .../lucene/analysis/cjk/TestCJKWidthFilter.java    |    4 +-
 .../analysis/cjk/TestCJKWidthFilterFactory.java    |    2 +-
 .../lucene/analysis/ckb/TestSoraniAnalyzer.java    |    2 +-
 .../ckb/TestSoraniNormalizationFilter.java         |    4 +-
 .../ckb/TestSoraniNormalizationFilterFactory.java  |    2 +-
 .../lucene/analysis/ckb/TestSoraniStemFilter.java  |    6 +-
 .../analysis/ckb/TestSoraniStemFilterFactory.java  |    4 +-
 .../analysis/classic/TestClassicAnalyzer.java      |    2 +-
 .../analysis/classic/TestClassicFactories.java     |    2 +-
 .../commongrams/TestCommonGramsFilter.java         |    4 +-
 .../commongrams/TestCommonGramsFilterFactory.java  |    4 +-
 .../TestCommonGramsQueryFilterFactory.java         |    2 +-
 .../compound/TestCompoundWordTokenFilter.java      |    4 +-
 ...stDictionaryCompoundWordTokenFilterFactory.java |    4 +-
 ...tHyphenationCompoundWordTokenFilterFactory.java |    4 +-
 .../core/TestAllAnalyzersHaveFactories.java        |   28 +-
 .../apache/lucene/analysis/core/TestAnalyzers.java |    2 +-
 .../lucene/analysis/core/TestBugInSomething.java   |   10 +-
 .../lucene/analysis/core/TestCoreFactories.java    |    2 +-
 .../analysis/core/TestDecimalDigitFilter.java      |    6 +-
 .../core/TestDecimalDigitFilterFactory.java        |    2 +-
 .../lucene/analysis/core/TestDuelingAnalyzers.java |    8 +-
 .../apache/lucene/analysis/core/TestFactories.java |    6 +-
 .../analysis/core/TestFlattenGraphFilter.java      |    8 +-
 .../lucene/analysis/core/TestKeywordAnalyzer.java  |    4 +-
 .../lucene/analysis/core/TestKeywordTokenizer.java |    2 +-
 .../lucene/analysis/core/TestRandomChains.java     |   16 +-
 .../lucene/analysis/core/TestStopAnalyzer.java     |    2 +-
 .../analysis/core/TestStopFilterFactory.java       |    2 +-
 .../lucene/analysis/core/TestTypeTokenFilter.java  |    4 +-
 .../analysis/core/TestTypeTokenFilterFactory.java  |    4 +-
 .../core/TestUnicodeWhitespaceTokenizer.java       |    2 +-
 .../analysis/core/TestWhitespaceAnalyzer.java      |    2 +-
 .../lucene/analysis/custom/TestCustomAnalyzer.java |    2 +-
 .../lucene/analysis/cz/TestCzechAnalyzer.java      |    2 +-
 .../analysis/cz/TestCzechStemFilterFactory.java    |    4 +-
 .../lucene/analysis/cz/TestCzechStemmer.java       |    4 +-
 .../lucene/analysis/da/TestDanishAnalyzer.java     |    2 +-
 .../lucene/analysis/de/TestGermanAnalyzer.java     |    2 +-
 .../analysis/de/TestGermanLightStemFilter.java     |    6 +-
 .../de/TestGermanLightStemFilterFactory.java       |    2 +-
 .../analysis/de/TestGermanMinimalStemFilter.java   |    6 +-
 .../de/TestGermanMinimalStemFilterFactory.java     |    4 +-
 .../analysis/de/TestGermanNormalizationFilter.java |    4 +-
 .../de/TestGermanNormalizationFilterFactory.java   |    4 +-
 .../lucene/analysis/de/TestGermanStemFilter.java   |    6 +-
 .../analysis/de/TestGermanStemFilterFactory.java   |    4 +-
 .../lucene/analysis/el/TestGreekAnalyzer.java      |    2 +-
 .../el/TestGreekLowerCaseFilterFactory.java        |    2 +-
 .../analysis/el/TestGreekStemFilterFactory.java    |    2 +-
 .../lucene/analysis/el/TestGreekStemmer.java       |    2 +-
 .../analysis/email/TestUAX29URLEmailAnalyzer.java  |    2 +-
 .../analysis/email/TestUAX29URLEmailTokenizer.java |    8 +-
 .../email/TestUAX29URLEmailTokenizerFactory.java   |    2 +-
 .../lucene/analysis/en/TestEnglishAnalyzer.java    |    2 +-
 .../analysis/en/TestEnglishMinimalStemFilter.java  |    4 +-
 .../en/TestEnglishMinimalStemFilterFactory.java    |    2 +-
 .../lucene/analysis/en/TestKStemFilterFactory.java |    2 +-
 .../apache/lucene/analysis/en/TestKStemmer.java    |    6 +-
 .../lucene/analysis/en/TestPorterStemFilter.java   |    6 +-
 .../analysis/en/TestPorterStemFilterFactory.java   |    2 +-
 .../lucene/analysis/es/TestSpanishAnalyzer.java    |    2 +-
 .../analysis/es/TestSpanishLightStemFilter.java    |    6 +-
 .../es/TestSpanishLightStemFilterFactory.java      |    4 +-
 .../analysis/es/TestSpanishMinimalStemFilter.java  |    4 +-
 .../es/TestSpanishMinimalStemFilterFactory.java    |    4 +-
 .../analysis/es/TestSpanishPluralStemFilter.java   |    6 +-
 .../es/TestSpanishPluralStemFilterFactory.java     |    4 +-
 .../lucene/analysis/et/TestEstonianAnalyzer.java   |    2 +-
 .../lucene/analysis/eu/TestBasqueAnalyzer.java     |    2 +-
 .../lucene/analysis/fa/TestPersianAnalyzer.java    |    2 +-
 .../lucene/analysis/fa/TestPersianCharFilter.java  |    4 +-
 .../fa/TestPersianNormalizationFilter.java         |    4 +-
 .../fa/TestPersianNormalizationFilterFactory.java  |    2 +-
 .../lucene/analysis/fi/TestFinnishAnalyzer.java    |    2 +-
 .../analysis/fi/TestFinnishLightStemFilter.java    |    6 +-
 .../fi/TestFinnishLightStemFilterFactory.java      |    4 +-
 .../lucene/analysis/fr/TestFrenchAnalyzer.java     |    2 +-
 .../analysis/fr/TestFrenchLightStemFilter.java     |    6 +-
 .../fr/TestFrenchLightStemFilterFactory.java       |    2 +-
 .../analysis/fr/TestFrenchMinimalStemFilter.java   |    6 +-
 .../fr/TestFrenchMinimalStemFilterFactory.java     |    2 +-
 .../lucene/analysis/ga/TestIrishAnalyzer.java      |    2 +-
 .../analysis/ga/TestIrishLowerCaseFilter.java      |    2 +-
 .../ga/TestIrishLowerCaseFilterFactory.java        |    2 +-
 .../lucene/analysis/gl/TestGalicianAnalyzer.java   |    2 +-
 .../analysis/gl/TestGalicianMinimalStemFilter.java |    4 +-
 .../gl/TestGalicianMinimalStemFilterFactory.java   |    2 +-
 .../lucene/analysis/gl/TestGalicianStemFilter.java |    6 +-
 .../analysis/gl/TestGalicianStemFilterFactory.java |    2 +-
 .../lucene/analysis/hi/TestHindiAnalyzer.java      |    2 +-
 .../lucene/analysis/hi/TestHindiFilters.java       |    2 +-
 .../lucene/analysis/hi/TestHindiNormalizer.java    |    2 +-
 .../lucene/analysis/hi/TestHindiStemmer.java       |    2 +-
 .../lucene/analysis/hu/TestHungarianAnalyzer.java  |    2 +-
 .../analysis/hu/TestHungarianLightStemFilter.java  |    6 +-
 .../hu/TestHungarianLightStemFilterFactory.java    |    2 +-
 .../lucene/analysis/hunspell/StemmerTestBase.java  |    2 +-
 .../lucene/analysis/hunspell/Test64kAffixes.java   |    2 +-
 .../analysis/hunspell/TestAffixCondition.java      |    2 +-
 .../analysis/hunspell/TestAllDictionaries.java     |    8 +-
 .../lucene/analysis/hunspell/TestDictionary.java   |    2 +-
 .../lucene/analysis/hunspell/TestHunspell.java     |    2 +-
 .../analysis/hunspell/TestHunspellStemFilter.java  |    4 +-
 .../hunspell/TestHunspellStemFilterFactory.java    |    2 +-
 .../lucene/analysis/hunspell/TestPerformance.java  |    2 +-
 .../analysis/hunspell/TestSpellChecking.java       |    2 +-
 .../analysis/hunspell/TestTrigramAutomaton.java    |    2 +-
 .../lucene/analysis/hy/TestArmenianAnalyzer.java   |    2 +-
 .../lucene/analysis/id/TestIndonesianAnalyzer.java |    2 +-
 .../id/TestIndonesianStemFilterFactory.java        |    4 +-
 .../lucene/analysis/id/TestIndonesianStemmer.java  |    4 +-
 .../lucene/analysis/in/TestIndicNormalizer.java    |    4 +-
 .../lucene/analysis/it/TestItalianAnalyzer.java    |    2 +-
 .../analysis/it/TestItalianLightStemFilter.java    |    6 +-
 .../it/TestItalianLightStemFilterFactory.java      |    2 +-
 .../lucene/analysis/lt/TestLithuanianAnalyzer.java |    2 +-
 .../lucene/analysis/lt/TestLithuanianStemming.java |    4 +-
 .../lucene/analysis/lv/TestLatvianAnalyzer.java    |    2 +-
 .../analysis/lv/TestLatvianStemFilterFactory.java  |    4 +-
 .../lucene/analysis/lv/TestLatvianStemmer.java     |    4 +-
 .../lucene/analysis/minhash/TestMinHashFilter.java |    4 +-
 .../miscellaneous/TestASCIIFoldingFilter.java      |    4 +-
 .../TestAsciiFoldingFilterFactory.java             |    6 +-
 .../miscellaneous/TestCapitalizationFilter.java    |    4 +-
 .../TestCapitalizationFilterFactory.java           |    2 +-
 .../miscellaneous/TestCodepointCountFilter.java    |    4 +-
 .../TestCodepointCountFilterFactory.java           |    4 +-
 .../miscellaneous/TestConcatenateGraphFilter.java  |    4 +-
 .../TestConcatenateGraphFilterFactory.java         |    4 +-
 .../TestConcatenatingTokenStream.java              |    8 +-
 .../miscellaneous/TestConditionalTokenFilter.java  |   10 +-
 .../miscellaneous/TestDateRecognizerFilter.java    |    2 +-
 .../TestDateRecognizerFilterFactory.java           |    2 +-
 .../TestDelimitedTermFrequencyTokenFilter.java     |    2 +-
 .../miscellaneous/TestDropIfFlaggedFilter.java     |    6 +-
 .../TestDropIfFlaggedFilterFactory.java            |    6 +-
 .../miscellaneous/TestEmptyTokenStream.java        |    2 +-
 .../miscellaneous/TestFingerprintFilter.java       |    4 +-
 .../TestFingerprintFilterFactory.java              |    4 +-
 .../miscellaneous/TestFixBrokenOffsetsFilter.java  |    6 +-
 .../miscellaneous/TestHyphenatedWordsFilter.java   |    4 +-
 .../miscellaneous/TestKeepFilterFactory.java       |    2 +-
 .../analysis/miscellaneous/TestKeepWordFilter.java |    4 +-
 .../miscellaneous/TestKeywordMarkerFilter.java     |    2 +-
 .../TestKeywordMarkerFilterFactory.java            |    2 +-
 .../miscellaneous/TestKeywordRepeatFilter.java     |    2 +-
 .../analysis/miscellaneous/TestLengthFilter.java   |    2 +-
 .../miscellaneous/TestLengthFilterFactory.java     |    4 +-
 .../miscellaneous/TestLimitTokenCountAnalyzer.java |    6 +-
 .../miscellaneous/TestLimitTokenCountFilter.java   |    4 +-
 .../TestLimitTokenCountFilterFactory.java          |    4 +-
 .../miscellaneous/TestLimitTokenOffsetFilter.java  |    4 +-
 .../TestLimitTokenOffsetFilterFactory.java         |    4 +-
 .../TestLimitTokenPositionFilter.java              |    4 +-
 .../TestLimitTokenPositionFilterFactory.java       |    4 +-
 .../miscellaneous/TestMiscellaneousFactories.java  |    2 +-
 .../miscellaneous/TestPerFieldAnalyzerWrapper.java |    6 +-
 .../miscellaneous/TestProtectedTermFilter.java     |    6 +-
 .../TestProtectedTermFilterFactory.java            |    2 +-
 .../TestRemoveDuplicatesTokenFilter.java           |    8 +-
 .../TestRemoveDuplicatesTokenFilterFactory.java    |    6 +-
 .../TestScandinavianFoldingFilter.java             |    4 +-
 .../TestScandinavianFoldingFilterFactory.java      |    2 +-
 .../TestScandinavianNormalizationFilter.java       |    2 +
 ...TestScandinavianNormalizationFilterFactory.java |    2 +-
 .../miscellaneous/TestScandinavianNormalizer.java  |    2 +
 .../miscellaneous/TestStemmerOverrideFilter.java   |    4 +-
 .../TestStemmerOverrideFilterFactory.java          |    2 +-
 .../analysis/miscellaneous/TestTrimFilter.java     |    8 +-
 .../miscellaneous/TestTrimFilterFactory.java       |    2 +-
 .../miscellaneous/TestTruncateTokenFilter.java     |    2 +-
 .../TestTruncateTokenFilterFactory.java            |    4 +-
 .../miscellaneous/TestTypeAsSynonymFilter.java     |    6 +-
 .../TestTypeAsSynonymFilterFactory.java            |    6 +-
 .../miscellaneous/TestWordDelimiterFilter.java     |    8 +-
 .../TestWordDelimiterGraphFilter.java              |   10 +-
 .../lucene/analysis/ne/TestNepaliAnalyzer.java     |    2 +-
 .../analysis/ngram/TestEdgeNGramTokenFilter.java   |    6 +-
 .../analysis/ngram/TestEdgeNGramTokenizer.java     |    4 +-
 .../lucene/analysis/ngram/TestNGramFilters.java    |    2 +-
 .../analysis/ngram/TestNGramTokenFilter.java       |    6 +-
 .../lucene/analysis/ngram/TestNGramTokenizer.java  |    4 +-
 .../lucene/analysis/nl/TestDutchAnalyzer.java      |    2 +-
 .../lucene/analysis/no/TestNorwegianAnalyzer.java  |    2 +-
 .../analysis/no/TestNorwegianLightStemFilter.java  |    6 +-
 .../no/TestNorwegianLightStemFilterFactory.java    |    2 +-
 .../no/TestNorwegianMinimalStemFilter.java         |    6 +-
 .../no/TestNorwegianMinimalStemFilterFactory.java  |    4 +-
 .../no/TestNorwegianNormalizationFilter.java       |    2 +
 .../TestNorwegianNormalizationFilterFactory.java   |    2 +-
 .../analysis/path/TestPathHierarchyTokenizer.java  |    2 +-
 .../path/TestReversePathHierarchyTokenizer.java    |    2 +-
 .../TestPatternCaptureGroupTokenFilter.java        |    4 +-
 .../pattern/TestPatternReplaceCharFilter.java      |    6 +-
 .../TestPatternReplaceCharFilterFactory.java       |    2 +-
 .../analysis/pattern/TestPatternReplaceFilter.java |    4 +-
 .../pattern/TestPatternReplaceFilterFactory.java   |    2 +-
 .../analysis/pattern/TestPatternTokenizer.java     |    2 +-
 .../pattern/TestPatternTokenizerFactory.java       |    2 +-
 .../analysis/pattern/TestPatternTypingFilter.java  |    6 +-
 .../pattern/TestPatternTypingFilterFactory.java    |    6 +-
 .../pattern/TestSimplePatternSplitTokenizer.java   |    4 +-
 .../pattern/TestSimplePatternTokenizer.java        |    4 +-
 .../payloads/TestDelimitedPayloadTokenFilter.java  |    2 +-
 .../TestDelimitedPayloadTokenFilterFactory.java    |    4 +-
 .../payloads/TestNumericPayloadTokenFilter.java    |    4 +-
 .../TestTokenOffsetPayloadTokenFilter.java         |    2 +-
 .../payloads/TestTypeAsPayloadTokenFilter.java     |    2 +-
 .../lucene/analysis/pt/TestPortugueseAnalyzer.java |    2 +-
 .../analysis/pt/TestPortugueseLightStemFilter.java |    6 +-
 .../pt/TestPortugueseLightStemFilterFactory.java   |    4 +-
 .../pt/TestPortugueseMinimalStemFilter.java        |    6 +-
 .../pt/TestPortugueseMinimalStemFilterFactory.java |    4 +-
 .../analysis/pt/TestPortugueseStemFilter.java      |    6 +-
 .../pt/TestPortugueseStemFilterFactory.java        |    2 +-
 .../query/TestQueryAutoStopWordAnalyzer.java       |    3 +
 .../analysis/reverse/TestReverseStringFilter.java  |    4 +-
 .../reverse/TestReverseStringFilterFactory.java    |    2 +-
 .../lucene/analysis/ro/TestRomanianAnalyzer.java   |    2 +-
 .../lucene/analysis/ru/TestRussianAnalyzer.java    |    2 +-
 .../analysis/ru/TestRussianLightStemFilter.java    |    6 +-
 .../ru/TestRussianLightStemFilterFactory.java      |    2 +-
 .../analysis/shingle/TestFixedShingleFilter.java   |    6 +-
 .../shingle/TestShingleAnalyzerWrapper.java        |    6 +-
 .../lucene/analysis/shingle/TestShingleFilter.java |    8 +-
 .../analysis/shingle/TestShingleFilterFactory.java |    2 +-
 .../analysis/sinks/TestTeeSinkTokenFilter.java     |    8 +-
 .../lucene/analysis/snowball/TestSnowball.java     |    4 +-
 .../snowball/TestSnowballPorterFilterFactory.java  |    2 +-
 .../analysis/snowball/TestSnowballVocab.java       |    4 +-
 .../lucene/analysis/sr/TestSerbianAnalyzer.java    |    2 +-
 .../sr/TestSerbianNormalizationFilter.java         |    4 +-
 .../sr/TestSerbianNormalizationFilterFactory.java  |    4 +-
 .../sr/TestSerbianNormalizationRegularFilter.java  |    4 +-
 .../lucene/analysis/sv/TestSwedishAnalyzer.java    |    2 +-
 .../analysis/sv/TestSwedishLightStemFilter.java    |    6 +-
 .../sv/TestSwedishLightStemFilterFactory.java      |    2 +-
 .../analysis/sv/TestSwedishMinimalStemFilter.java  |    4 +-
 .../synonym/BaseSynonymParserTestCase.java         |    2 +-
 .../analysis/synonym/TestMultiWordSynonyms.java    |    2 +-
 .../analysis/synonym/TestSolrSynonymParser.java    |    4 +-
 .../analysis/synonym/TestSynonymFilterFactory.java |    2 +-
 .../analysis/synonym/TestSynonymGraphFilter.java   |   14 +-
 .../analysis/synonym/TestSynonymMapFilter.java     |   10 +-
 .../analysis/synonym/TestWordnetSynonymParser.java |    6 +-
 .../lucene/analysis/ta/TestTamilAnalyzer.java      |    2 +-
 .../lucene/analysis/te/TestTeluguAnalyzer.java     |    2 +-
 .../lucene/analysis/te/TestTeluguFilters.java      |    2 +-
 .../lucene/analysis/te/TestTeluguNormalizer.java   |    2 +-
 .../lucene/analysis/te/TestTeluguStemmer.java      |    2 +-
 .../lucene/analysis/th/TestThaiAnalyzer.java       |    2 +-
 .../analysis/th/TestThaiTokenizerFactory.java      |    2 +-
 .../lucene/analysis/tr/TestApostropheFilter.java   |    2 +-
 .../analysis/tr/TestApostropheFilterFactory.java   |    4 +-
 .../lucene/analysis/tr/TestTurkishAnalyzer.java    |    2 +-
 .../analysis/tr/TestTurkishLowerCaseFilter.java    |    2 +-
 .../tr/TestTurkishLowerCaseFilterFactory.java      |    4 +-
 .../analysis/util/TestCharArrayIterator.java       |    4 +-
 .../lucene/analysis/util/TestCharTokenizers.java   |    2 +-
 .../apache/lucene/analysis/util/TestElision.java   |    2 +-
 .../analysis/util/TestElisionFilterFactory.java    |    4 +-
 .../util/TestFilesystemResourceLoader.java         |    2 +-
 .../analysis/util/TestRollingCharBuffer.java       |    4 +-
 .../analysis/util/TestSegmentingTokenizerBase.java |    2 +-
 .../analysis/wikipedia/TestWikipediaTokenizer.java |    2 +-
 .../wikipedia/TestWikipediaTokenizerFactory.java   |    2 +-
 .../collation/TestCollationDocValuesField.java     |    6 +-
 .../lucene/collation/TestCollationKeyAnalyzer.java |    2 +-
 .../icu/TestICUCollationDocValuesField.java        |    6 +-
 .../analysis/icu/TestICUCollationKeyAnalyzer.java  |    2 +-
 .../lucene/analysis/icu/TestICUFoldingFilter.java  |    4 +-
 .../analysis/icu/TestICUFoldingFilterFactory.java  |    2 +-
 .../analysis/icu/TestICUNormalizer2CharFilter.java |    6 +-
 .../icu/TestICUNormalizer2CharFilterFactory.java   |    2 +-
 .../analysis/icu/TestICUNormalizer2Filter.java     |    4 +-
 .../icu/TestICUNormalizer2FilterFactory.java       |    2 +-
 .../analysis/icu/TestICUTransformFilter.java       |    4 +-
 .../icu/TestICUTransformFilterFactory.java         |    2 +-
 .../icu/segmentation/TestCharArrayIterator.java    |    2 +-
 .../icu/segmentation/TestICUTokenizer.java         |    2 +-
 .../icu/segmentation/TestICUTokenizerCJK.java      |    4 +-
 .../icu/segmentation/TestICUTokenizerFactory.java  |    2 +-
 .../icu/segmentation/TestMyanmarSyllable.java      |    2 +-
 .../icu/segmentation/TestWithCJKBigramFilter.java  |    2 +-
 .../org/apache/lucene/analysis/ja/TestCSVUtil.java |    2 +-
 .../lucene/analysis/ja/TestExtendedMode.java       |    4 +-
 .../apache/lucene/analysis/ja/TestFactories.java   |    6 +-
 .../lucene/analysis/ja/TestJapaneseAnalyzer.java   |    2 +-
 .../analysis/ja/TestJapaneseBaseFormFilter.java    |    2 +-
 .../ja/TestJapaneseBaseFormFilterFactory.java      |    2 +-
 .../ja/TestJapaneseCompletionAnalyzer.java         |    2 +-
 .../analysis/ja/TestJapaneseCompletionFilter.java  |    2 +-
 .../ja/TestJapaneseCompletionFilterFactory.java    |    2 +-
 .../ja/TestJapaneseIterationMarkCharFilter.java    |    4 +-
 ...TestJapaneseIterationMarkCharFilterFactory.java |    4 +-
 .../ja/TestJapaneseKatakanaStemFilter.java         |    4 +-
 .../ja/TestJapaneseKatakanaStemFilterFactory.java  |    2 +-
 .../analysis/ja/TestJapaneseNumberFilter.java      |    2 +-
 .../ja/TestJapaneseNumberFilterFactory.java        |    2 +-
 .../TestJapanesePartOfSpeechStopFilterFactory.java |    2 +-
 .../analysis/ja/TestJapaneseReadingFormFilter.java |    2 +-
 .../ja/TestJapaneseReadingFormFilterFactory.java   |    2 +-
 .../lucene/analysis/ja/TestJapaneseTokenizer.java  |    6 +-
 .../analysis/ja/TestJapaneseTokenizerFactory.java  |    2 +-
 .../apache/lucene/analysis/ja/TestSearchMode.java  |    2 +-
 .../ja/completion/TestKatakanaRomanizer.java       |    2 +-
 .../analysis/ja/dict/TestTokenInfoDictionary.java  |    2 +-
 .../analysis/ja/dict/TestUserDictionary.java       |    2 +-
 .../lucene/analysis/ja/util/TestToStringUtil.java  |    2 +-
 .../analysis/ja/util/TestUnknownDictionary.java    |    2 +-
 .../morfologik/TestMorfologikAnalyzer.java         |    2 +-
 .../morfologik/TestMorfologikFilterFactory.java    |    2 +-
 .../lucene/analysis/uk/TestUkrainianAnalyzer.java  |    2 +-
 .../lucene/analysis/ko/TestKoreanAnalyzer.java     |    2 +-
 .../lucene/analysis/ko/TestKoreanNumberFilter.java |    2 +-
 .../analysis/ko/TestKoreanNumberFilterFactory.java |    2 +-
 .../TestKoreanPartOfSpeechStopFilterFactory.java   |    2 +-
 .../analysis/ko/TestKoreanReadingFormFilter.java   |    2 +-
 .../ko/TestKoreanReadingFormFilterFactory.java     |    2 +-
 .../lucene/analysis/ko/TestKoreanTokenizer.java    |    4 +-
 .../analysis/ko/TestKoreanTokenizerFactory.java    |    2 +-
 .../analysis/ko/dict/TestTokenInfoDictionary.java  |    2 +-
 .../analysis/ko/dict/TestUserDictionary.java       |    2 +-
 .../analysis/ko/util/TestUnknownDictionary.java    |    2 +-
 .../opennlp/TestOpenNLPChunkerFilterFactory.java   |    2 +-
 .../TestOpenNLPLemmatizerFilterFactory.java        |    2 +-
 .../opennlp/TestOpenNLPPOSFilterFactory.java       |    2 +-
 .../opennlp/TestOpenNLPSentenceBreakIterator.java  |    2 +-
 .../opennlp/TestOpenNLPTokenizerFactory.java       |    2 +-
 .../analysis/phonetic/TestBeiderMorseFilter.java   |    4 +-
 .../phonetic/TestBeiderMorseFilterFactory.java     |    2 +-
 .../phonetic/TestDaitchMokotoffSoundexFilter.java  |    4 +-
 .../TestDaitchMokotoffSoundexFilterFactory.java    |    4 +-
 .../phonetic/TestDoubleMetaphoneFilter.java        |    6 +-
 .../phonetic/TestDoubleMetaphoneFilterFactory.java |    2 +-
 .../analysis/phonetic/TestPhoneticFilter.java      |    4 +-
 .../phonetic/TestPhoneticFilterFactory.java        |    2 +-
 .../cn/smart/TestHMMChineseTokenizerFactory.java   |    2 +-
 .../cn/smart/TestSmartChineseAnalyzer.java         |    2 +-
 .../lucene/analysis/pl/TestPolishAnalyzer.java     |    2 +-
 .../TestStempelPolishStemFilterFactory.java        |    2 +-
 .../src/test/org/egothor/stemmer/TestCompile.java  |    2 +-
 .../src/test/org/egothor/stemmer/TestStemmer.java  |    2 +-
 .../lucene50/TestBlockPostingsFormat.java          |    6 +-
 .../lucene50/TestBlockPostingsFormat2.java         |    8 +-
 .../lucene50/TestBlockPostingsFormat3.java         |   16 +-
 .../backward_codecs/lucene50/TestForUtil.java      |    2 +-
 .../lucene50/TestLucene50CompoundFormat.java       |    4 +-
 .../lucene50/TestLucene50LiveDocsFormat.java       |    2 +-
 .../lucene50/TestLucene50StoredFieldsFormat.java   |    2 +-
 ...tLucene50StoredFieldsFormatHighCompression.java |    2 +-
 .../lucene50/TestLucene50TermVectorsFormat.java    |    2 +-
 .../lucene60/TestLucene60FieldInfosFormat.java     |    2 +-
 .../lucene60/TestLucene60PointsFormat.java         |    6 +-
 .../backward_codecs/lucene70/TestIndexedDISI.java  |    4 +-
 .../lucene70/TestLucene70DocValuesFormat.java      |   12 +-
 .../lucene70/TestLucene70NormsFormat.java          |    4 +-
 .../lucene70/TestLucene70SegmentInfoFormat.java    |    2 +-
 .../BaseLucene80DocValuesFormatTestCase.java       |   10 +-
 ...TestBestCompressionLucene80DocValuesFormat.java |    2 +-
 .../TestBestSpeedLucene80DocValuesFormat.java      |    2 +-
 .../lucene80/TestDocValuesCompression.java         |    4 +-
 .../backward_codecs/lucene80/TestIndexedDISI.java  |    4 +-
 .../lucene80/TestLucene80NormsFormat.java          |    2 +-
 .../backward_codecs/lucene84/TestForDeltaUtil.java |    4 +-
 .../backward_codecs/lucene84/TestForUtil.java      |    4 +-
 .../lucene84/TestLucene84PostingsFormat.java       |    6 +-
 .../backward_codecs/lucene84/TestPForUtil.java     |    4 +-
 .../lucene86/TestLucene86PointsFormat.java         |    6 +-
 .../lucene86/TestLucene86SegmentInfoFormat.java    |    2 +-
 .../lucene87/TestLucene87StoredFieldsFormat.java   |    2 +-
 ...tLucene87StoredFieldsFormatHighCompression.java |    2 +-
 .../packed/TestLegacyDirectMonotonic.java          |    4 +-
 .../packed/TestLegacyDirectPacked.java             |    4 +-
 .../packed/TestLegacyPackedInts.java               |    6 +-
 .../store/EndiannessReverserTestCase.java          |    2 +-
 .../backward_index/TestBackwardsCompatibility.java |   12 +-
 .../backward_index/TestIndexWriterOnOldIndex.java  |    4 +-
 .../backward_index/TestManyPointsInOldIndex.java   |    6 +-
 .../apache/lucene/benchmark/BenchmarkTestCase.java |    4 +-
 .../benchmark/byTask/TestPerfTasksLogic.java       |    8 +-
 .../benchmark/byTask/TestPerfTasksParse.java       |    4 +-
 .../byTask/feeds/TestEnwikiContentSource.java      |    2 +-
 .../benchmark/byTask/feeds/TestHtmlParser.java     |    2 +-
 .../byTask/feeds/TestTrecContentSource.java        |    4 +-
 .../lucene/benchmark/byTask/utils/TestConfig.java  |    2 +-
 .../classification/ClassificationTestBase.java     |    6 +-
 .../Test20NewsgroupsClassification.java            |    4 +-
 .../classification/TestBM25NBClassifier.java       |    2 +-
 .../TestBooleanPerceptronClassifier.java           |    2 +-
 .../TestCachingNaiveBayesClassifier.java           |    2 +-
 .../TestKNearestFuzzyClassifier.java               |    2 +-
 .../TestKNearestNeighborClassifier.java            |    2 +-
 .../TestSimpleNaiveBayesClassifier.java            |    2 +-
 .../document/DocumentClassificationTestBase.java   |    2 +-
 .../utils/TestConfusionMatrixGenerator.java        |    2 +-
 .../classification/utils/TestDataSplitter.java     |   10 +-
 .../utils/TestDocToDoubleVectorUtils.java          |    4 +-
 .../blockterms/TestFixedGapPostingsFormat.java     |    5 +-
 .../TestVarGapDocFreqIntervalPostingsFormat.java   |    5 +-
 .../TestVarGapFixedIntervalPostingsFormat.java     |    5 +-
 .../codecs/blocktreeords/TestOrdsBlockTree.java    |    8 +-
 .../codecs/bloom/TestBloomPostingsFormat.java      |    5 +-
 .../codecs/memory/TestDirectPostingsFormat.java    |    4 +-
 .../codecs/memory/TestFSTPostingsFormat.java       |    4 +-
 .../simpletext/TestSimpleTextCompoundFormat.java   |    2 +-
 .../simpletext/TestSimpleTextDocValuesFormat.java  |    2 +-
 .../simpletext/TestSimpleTextFieldInfoFormat.java  |    2 +-
 .../simpletext/TestSimpleTextKnnVectorsFormat.java |    2 +-
 .../simpletext/TestSimpleTextLiveDocsFormat.java   |    2 +-
 .../simpletext/TestSimpleTextNormsFormat.java      |    2 +-
 .../simpletext/TestSimpleTextPointsFormat.java     |    2 +-
 .../simpletext/TestSimpleTextPostingsFormat.java   |    4 +-
 .../TestSimpleTextSegmentInfoFormat.java           |    2 +-
 .../TestSimpleTextStoredFieldsFormat.java          |    2 +-
 .../TestSimpleTextTermVectorsFormat.java           |    2 +-
 .../codecs/uniformsplit/TestBlockWriter.java       |    2 +-
 .../codecs/uniformsplit/TestFSTDictionary.java     |    3 +-
 .../lucene/codecs/uniformsplit/TestTermBytes.java  |    2 +-
 .../uniformsplit/TestTermBytesComparator.java      |    2 +-
 .../TestUniformSplitPostingFormat.java             |    5 +-
 .../sharedterms/TestSTBlockReader.java             |    2 +-
 .../TestSTUniformSplitPostingFormat.java           |    1 +
 lucene/core/src/java/module-info.java              |    5 +
 .../org/apache/lucene/analysis/TokenFilter.java    |    8 +-
 .../java/org/apache/lucene/analysis/Tokenizer.java |    4 +-
 .../org/apache/lucene/analysis/package-info.java   |    2 +-
 .../org/apache/lucene/geo/XYEncodingUtils.java     |    8 +-
 .../java/org/apache/lucene/index/CheckIndex.java   |    5 +
 .../lucene/index/ConcurrentMergeScheduler.java     |   12 +
 .../org/apache/lucene/index/FilterLeafReader.java  |    9 +-
 .../org/apache/lucene/index/FilterMergePolicy.java |    8 +-
 .../java/org/apache/lucene/index/IndexReader.java  |   10 +-
 .../java/org/apache/lucene/index/IndexWriter.java  |   87 +-
 .../apache/lucene/index/MergeReaderWrapper.java    |  257 -
 .../org/apache/lucene/index/SegmentReader.java     |   14 +-
 .../lucene/index/StandardDirectoryReader.java      |    2 +-
 .../tests/ConcurrentMergeSchedulerAccess.java      |   29 +
 .../lucene/internal/tests/IndexPackageAccess.java  |   44 +
 .../lucene/internal/tests/IndexWriterAccess.java   |   44 +
 .../lucene/internal/tests/SegmentReaderAccess.java |   33 +
 .../apache/lucene/internal/tests/TestSecrets.java  |  128 +
 .../apache/lucene/internal/tests/package-info.java |   23 +
 .../org/apache/lucene/search/FilterScorer.java     |    8 +-
 .../org/apache/lucene/search/IndexSearcher.java    |   10 +
 .../org/apache/lucene/store/FilterDirectory.java   |    5 +
 .../org/apache/lucene/util/RamUsageEstimator.java  |    2 +-
 .../apache/lucene/util/automaton/Automaton.java    |    2 +-
 .../apache/lucene/util/automaton/Operations.java   |    2 +-
 .../src/test/org/apache/lucene/TestAssertions.java |    2 +-
 .../core/src/test/org/apache/lucene/TestDemo.java  |    2 +-
 .../test/org/apache/lucene/TestExternalCodecs.java |   10 +-
 .../apache/lucene/TestMergeSchedulerExternal.java  |    6 +-
 .../src/test/org/apache/lucene/TestSearch.java     |    3 +-
 .../org/apache/lucene/TestSearchForDuplicates.java |    4 +-
 .../analysis/TestAbstractAnalysisFactory.java      |    2 +-
 .../lucene/analysis/TestAnalysisSPILoader.java     |    2 +-
 .../lucene/analysis/TestAnalyzerWrapper.java       |    3 +-
 .../analysis/TestAutomatonToTokenStream.java       |    1 +
 .../lucene/analysis/TestCachingTokenFilter.java    |    4 +-
 .../apache/lucene/analysis/TestCharArrayMap.java   |    2 +-
 .../apache/lucene/analysis/TestCharArraySet.java   |    2 +-
 .../org/apache/lucene/analysis/TestCharFilter.java |    2 +-
 .../apache/lucene/analysis/TestCharacterUtils.java |    4 +-
 .../analysis/TestDelegatingAnalyzerWrapper.java    |    5 +-
 .../lucene/analysis/TestGraphTokenFilter.java      |    3 +
 .../lucene/analysis/TestGraphTokenizers.java       |    9 +-
 .../lucene/analysis/TestReusableStringReader.java  |    2 +-
 .../org/apache/lucene/analysis/TestStopFilter.java |    4 +-
 .../apache/lucene/analysis/TestWordlistLoader.java |    2 +-
 .../analysis/standard/TestStandardAnalyzer.java    |    8 +-
 .../analysis/standard/TestStandardFactories.java   |    2 +-
 .../tokenattributes/TestBytesRefAttImpl.java       |    2 +-
 .../tokenattributes/TestCharTermAttributeImpl.java |    4 +-
 .../TestPackedTokenAttributeImpl.java              |    6 +-
 .../tokenattributes/TestSimpleAttributeImpl.java   |    4 +-
 .../org/apache/lucene/codecs/TestCodecUtil.java    |    2 +-
 .../codecs/TestCompetitiveFreqNormAccumulator.java |    2 +-
 .../compressing/AbstractTestCompressionMode.java   |    4 +-
 .../apache/lucene/codecs/lucene90/TestForUtil.java |    4 +-
 .../lucene/codecs/lucene90/TestIndexedDISI.java    |    4 +-
 .../lucene90/TestLucene90CompoundFormat.java       |    4 +-
 .../lucene90/TestLucene90DocValuesFormat.java      |   10 +-
 .../lucene90/TestLucene90FieldInfosFormat.java     |    4 +-
 .../lucene90/TestLucene90HnswVectorsFormat.java    |    4 +-
 .../lucene90/TestLucene90LiveDocsFormat.java       |    4 +-
 .../codecs/lucene90/TestLucene90NormsFormat.java   |    4 +-
 .../codecs/lucene90/TestLucene90PointsFormat.java  |    6 +-
 .../lucene90/TestLucene90PostingsFormat.java       |    6 +-
 .../lucene90/TestLucene90SegmentInfoFormat.java    |    4 +-
 .../lucene90/TestLucene90StoredFieldsFormat.java   |    4 +-
 ...tLucene90StoredFieldsFormatHighCompression.java |    2 +-
 .../lucene90/TestLucene90TermVectorsFormat.java    |    4 +-
 .../lucene/codecs/lucene90/TestPForUtil.java       |    4 +-
 .../TestCompressingStoredFieldsFormat.java         |  328 +
 .../TestCompressingTermVectorsFormat.java          |  132 +
 .../lucene90/compressing/TestStoredFieldsInt.java  |    4 +-
 .../perfield/TestPerFieldDocValuesFormat.java      |   10 +-
 .../perfield/TestPerFieldKnnVectorsFormat.java     |   10 +-
 .../perfield/TestPerFieldPostingsFormat.java       |    4 +-
 .../perfield/TestPerFieldPostingsFormat2.java      |   12 +-
 .../lucene/document/BaseLatLonPointTestCase.java   |    6 +-
 .../lucene/document/BaseLatLonShapeTestCase.java   |    6 +-
 .../lucene/document/BaseLatLonSpatialTestCase.java |    8 +-
 .../lucene/document/BaseShapeEncodingTestCase.java |    2 +-
 .../lucene/document/BaseSpatialTestCase.java       |    4 +-
 .../lucene/document/BaseXYShapeTestCase.java       |    4 +-
 .../apache/lucene/document/TestBinaryDocument.java |    4 +-
 .../org/apache/lucene/document/TestDateTools.java  |    2 +-
 .../org/apache/lucene/document/TestDocument.java   |    6 +-
 .../apache/lucene/document/TestDoubleRange.java    |    2 +-
 .../lucene/document/TestFeatureDoubleValues.java   |    4 +-
 .../apache/lucene/document/TestFeatureField.java   |    6 +-
 .../apache/lucene/document/TestFeatureSort.java    |    8 +-
 .../test/org/apache/lucene/document/TestField.java |    8 +-
 .../org/apache/lucene/document/TestFieldType.java  |    2 +-
 .../org/apache/lucene/document/TestFloatRange.java |    2 +-
 .../lucene/document/TestInetAddressPoint.java      |    4 +-
 .../org/apache/lucene/document/TestIntRange.java   |    2 +-
 .../lucene/document/TestLatLonDocValuesField.java  |    2 +-
 .../document/TestLatLonLineShapeQueries.java       |    2 +-
 .../apache/lucene/document/TestLatLonPoint.java    |    2 +-
 .../TestLatLonPointDistanceFeatureQuery.java       |    8 +-
 .../document/TestLatLonPointDistanceSort.java      |    8 +-
 .../document/TestLatLonPointShapeQueries.java      |    2 +-
 .../apache/lucene/document/TestLatLonShape.java    |    8 +-
 .../lucene/document/TestLatLonShapeEncoding.java   |    2 +-
 .../document/TestLongDistanceFeatureQuery.java     |    8 +-
 .../org/apache/lucene/document/TestLongRange.java  |    2 +-
 .../lucene/document/TestPerFieldConsistency.java   |    2 +-
 .../lucene/document/TestXYLineShapeQueries.java    |    2 +-
 .../document/TestXYMultiPointShapeQueries.java     |    2 +-
 .../document/TestXYMultiPolygonShapeQueries.java   |    2 +-
 .../lucene/document/TestXYPointShapeQueries.java   |    2 +-
 .../org/apache/lucene/document/TestXYShape.java    |    8 +-
 .../lucene/document/TestXYShapeEncoding.java       |    2 +-
 .../src/test/org/apache/lucene/geo/TestCircle.java |    3 +-
 .../test/org/apache/lucene/geo/TestCircle2D.java   |    4 +-
 .../apache/lucene/geo/TestGeoEncodingUtils.java    |    4 +-
 .../test/org/apache/lucene/geo/TestGeoUtils.java   |    4 +-
 .../src/test/org/apache/lucene/geo/TestLine2D.java |    3 +-
 .../src/test/org/apache/lucene/geo/TestPoint.java  |    2 +-
 .../test/org/apache/lucene/geo/TestPoint2D.java    |    3 +-
 .../test/org/apache/lucene/geo/TestPolygon.java    |    2 +-
 .../test/org/apache/lucene/geo/TestPolygon2D.java  |   15 +-
 .../org/apache/lucene/geo/TestRectangle2D.java     |    3 +-
 .../lucene/geo/TestSimpleWKTShapeParsing.java      |    2 +-
 .../org/apache/lucene/geo/TestTessellator.java     |    5 +-
 .../test/org/apache/lucene/geo/TestXYCircle.java   |    3 +-
 .../src/test/org/apache/lucene/geo/TestXYLine.java |    3 +-
 .../test/org/apache/lucene/geo/TestXYPoint.java    |    3 +-
 .../test/org/apache/lucene/geo/TestXYPolygon.java  |    3 +-
 .../org/apache/lucene/geo/TestXYRectangle.java     |    5 +-
 .../apache/lucene/index/Test2BBinaryDocValues.java |   18 +-
 .../test/org/apache/lucene/index/Test2BDocs.java   |   18 +-
 .../lucene/index/Test2BNumericDocValues.java       |   18 +-
 .../test/org/apache/lucene/index/Test2BPoints.java |   10 +-
 .../org/apache/lucene/index/Test2BPositions.java   |   14 +-
 .../org/apache/lucene/index/Test2BPostings.java    |   12 +-
 .../apache/lucene/index/Test2BPostingsBytes.java   |   16 +-
 .../index/Test2BSortedDocValuesFixedSorted.java    |   18 +-
 .../lucene/index/Test2BSortedDocValuesOrds.java    |   18 +-
 .../test/org/apache/lucene/index/Test2BTerms.java  |   18 +-
 .../apache/lucene/index/Test4GBStoredFields.java   |   12 +-
 .../org/apache/lucene/index/TestAddIndexes.java    |   14 +-
 .../lucene/index/TestAllFilesCheckIndexHeader.java |   15 +-
 .../lucene/index/TestAllFilesDetectBitFlips.java   |   15 +-
 .../lucene/index/TestAllFilesDetectTruncation.java |   15 +-
 .../index/TestAllFilesHaveChecksumFooter.java      |    9 +-
 .../lucene/index/TestAllFilesHaveCodecHeader.java  |    9 +-
 .../lucene/index/TestApproximatePriorityQueue.java |    2 +-
 .../org/apache/lucene/index/TestAtomicUpdate.java  |    9 +-
 .../apache/lucene/index/TestBagOfPositions.java    |   10 +-
 .../org/apache/lucene/index/TestBagOfPostings.java |   10 +-
 .../lucene/index/TestBinaryDocValuesUpdates.java   |   13 +-
 .../org/apache/lucene/index/TestBinaryTerms.java   |    3 +-
 .../apache/lucene/index/TestBufferedUpdates.java   |    2 +-
 .../apache/lucene/index/TestByteSliceReader.java   |    4 +-
 .../org/apache/lucene/index/TestCheckIndex.java    |    7 +-
 .../lucene/index/TestCodecHoldsOpenFiles.java      |    7 +-
 .../test/org/apache/lucene/index/TestCodecs.java   |    6 +-
 .../lucene/index/TestConcurrentMergeScheduler.java |   11 +-
 .../lucene/index/TestConsistentFieldNumbers.java   |    6 +-
 .../test/org/apache/lucene/index/TestCrash.java    |    7 +-
 .../lucene/index/TestCrashCausesCorruptIndex.java  |    4 +-
 .../org/apache/lucene/index/TestCustomNorms.java   |    9 +-
 .../apache/lucene/index/TestCustomTermFreq.java    |    4 +-
 .../apache/lucene/index/TestDeletionPolicy.java    |    6 +-
 .../lucene/index/TestDemoParallelLeafReader.java   |    8 +-
 .../apache/lucene/index/TestDirectoryReader.java   |   22 +-
 .../lucene/index/TestDirectoryReaderReopen.java    |   10 +-
 .../src/test/org/apache/lucene/index/TestDoc.java  |    6 +-
 .../test/org/apache/lucene/index/TestDocCount.java |    5 +-
 .../org/apache/lucene/index/TestDocIDMerger.java   |    4 +-
 .../index/TestDocInverterPerFieldErrorInfo.java    |    4 +-
 .../org/apache/lucene/index/TestDocValues.java     |    2 +-
 .../lucene/index/TestDocValuesFieldUpdates.java    |    2 +-
 .../apache/lucene/index/TestDocValuesIndexing.java |   27 +-
 .../apache/lucene/index/TestDocsAndPositions.java  |    7 +-
 .../apache/lucene/index/TestDocsWithFieldSet.java  |    4 +-
 .../apache/lucene/index/TestDocumentWriter.java    |    9 +-
 .../index/TestDocumentsWriterDeleteQueue.java      |    2 +-
 .../index/TestDocumentsWriterPerThreadPool.java    |    2 +-
 .../index/TestDocumentsWriterStallControl.java     |    2 +-
 .../org/apache/lucene/index/TestDuelingCodecs.java |   12 +-
 .../lucene/index/TestDuelingCodecsAtNight.java     |    4 +-
 .../lucene/index/TestExceedMaxTermLength.java      |    6 +-
 .../lucene/index/TestExitableDirectoryReader.java  |    4 +-
 .../org/apache/lucene/index/TestFieldInfos.java    |   12 +-
 .../apache/lucene/index/TestFieldInvertState.java  |   10 +-
 .../org/apache/lucene/index/TestFieldReuse.java    |    6 +-
 .../lucene/index/TestFieldUpdatesBuffer.java       |    4 +-
 .../org/apache/lucene/index/TestFieldsReader.java  |    5 +-
 .../apache/lucene/index/TestFilterCodecReader.java |    4 +-
 .../lucene/index/TestFilterDirectoryReader.java    |    2 +-
 .../apache/lucene/index/TestFilterLeafReader.java  |    7 +-
 .../apache/lucene/index/TestFilterMergePolicy.java |    2 +-
 .../src/test/org/apache/lucene/index/TestFlex.java |   10 +-
 .../lucene/index/TestFlushByRamOrCountsPolicy.java |   10 +-
 .../apache/lucene/index/TestForTooMuchCloning.java |    9 +-
 .../apache/lucene/index/TestForceMergeForever.java |   10 +-
 .../lucene/index/TestFrozenBufferedUpdates.java    |    4 +-
 .../org/apache/lucene/index/TestIndexCommit.java   |    2 +-
 .../apache/lucene/index/TestIndexFileDeleter.java  |    9 +-
 .../org/apache/lucene/index/TestIndexInput.java    |    4 +-
 .../lucene/index/TestIndexManyDocuments.java       |    4 +-
 .../org/apache/lucene/index/TestIndexOptions.java  |    2 +-
 .../apache/lucene/index/TestIndexReaderClose.java  |    8 +-
 .../org/apache/lucene/index/TestIndexSorting.java  |   21 +-
 .../apache/lucene/index/TestIndexTooManyDocs.java  |    2 +-
 .../org/apache/lucene/index/TestIndexWriter.java   |   54 +-
 .../apache/lucene/index/TestIndexWriterCommit.java |   10 +-
 .../apache/lucene/index/TestIndexWriterConfig.java |    5 +-
 .../apache/lucene/index/TestIndexWriterDelete.java |   18 +-
 .../lucene/index/TestIndexWriterExceptions.java    |   17 +-
 .../lucene/index/TestIndexWriterExceptions2.java   |   20 +-
 .../lucene/index/TestIndexWriterForceMerge.java    |   10 +-
 .../lucene/index/TestIndexWriterFromReader.java    |    2 +-
 .../lucene/index/TestIndexWriterLockRelease.java   |    4 +-
 .../lucene/index/TestIndexWriterMaxDocs.java       |   12 +-
 .../lucene/index/TestIndexWriterMergePolicy.java   |   16 +-
 .../lucene/index/TestIndexWriterMerging.java       |    4 +-
 .../lucene/index/TestIndexWriterNRTIsCurrent.java  |    8 +-
 .../lucene/index/TestIndexWriterOnDiskFull.java    |    8 +-
 .../lucene/index/TestIndexWriterOnJRECrash.java    |    4 +-
 .../lucene/index/TestIndexWriterOnVMError.java     |   16 +-
 .../index/TestIndexWriterOutOfFileDescriptors.java |   10 +-
 .../apache/lucene/index/TestIndexWriterReader.java |   84 +-
 .../index/TestIndexWriterThreadsToSegments.java    |    7 +-
 .../lucene/index/TestIndexWriterUnicode.java       |    7 +-
 .../lucene/index/TestIndexWriterWithThreads.java   |   16 +-
 .../apache/lucene/index/TestIndexableField.java    |    5 +-
 .../lucene/index/TestIndexingSequenceNumbers.java  |    5 +-
 .../org/apache/lucene/index/TestInfoStream.java    |    2 +-
 .../org/apache/lucene/index/TestIntBlockPool.java  |    2 +-
 .../org/apache/lucene/index/TestIsCurrent.java     |    3 +-
 .../test/org/apache/lucene/index/TestKnnGraph.java |    2 +-
 .../apache/lucene/index/TestLazyProxSkipping.java  |    8 +-
 .../apache/lucene/index/TestLogMergePolicy.java    |    1 +
 .../org/apache/lucene/index/TestLongPostings.java  |    9 +-
 .../org/apache/lucene/index/TestManyFields.java    |    4 +-
 .../org/apache/lucene/index/TestMaxPosition.java   |    6 +-
 .../apache/lucene/index/TestMaxTermFrequency.java  |    9 +-
 .../org/apache/lucene/index/TestMergePolicy.java   |    4 +-
 .../apache/lucene/index/TestMergeRateLimiter.java  |    3 +-
 .../org/apache/lucene/index/TestMixedCodecs.java   |    7 +-
 .../lucene/index/TestMixedDocValuesUpdates.java    |   20 +-
 .../apache/lucene/index/TestMultiDocValues.java    |    5 +-
 .../org/apache/lucene/index/TestMultiFields.java   |   12 +-
 .../lucene/index/TestMultiLevelSkipList.java       |    7 +-
 .../apache/lucene/index/TestMultiTermsEnum.java    |    4 +-
 .../apache/lucene/index/TestNRTReaderCleanup.java  |    9 +-
 .../lucene/index/TestNRTReaderWithThreads.java     |   11 +-
 .../org/apache/lucene/index/TestNRTThreads.java    |   11 +-
 .../org/apache/lucene/index/TestNeverDelete.java   |    9 +-
 .../org/apache/lucene/index/TestNewestSegment.java |    4 +-
 .../apache/lucene/index/TestNoDeletionPolicy.java  |    4 +-
 .../org/apache/lucene/index/TestNoMergePolicy.java |    1 +
 .../apache/lucene/index/TestNoMergeScheduler.java  |    2 +-
 .../test/org/apache/lucene/index/TestNorms.java    |    7 +-
 .../lucene/index/TestNumericDocValuesUpdates.java  |   13 +-
 .../org/apache/lucene/index/TestOmitNorms.java     |    4 +-
 .../org/apache/lucene/index/TestOmitPositions.java |    7 +-
 .../test/org/apache/lucene/index/TestOmitTf.java   |    5 +-
 .../index/TestOneMergeWrappingMergePolicy.java     |    4 +-
 .../org/apache/lucene/index/TestOrdinalMap.java    |   11 +-
 .../lucene/index/TestParallelCompositeReader.java  |    4 +-
 .../lucene/index/TestParallelLeafReader.java       |    6 +-
 .../lucene/index/TestParallelReaderEmptyIndex.java |    4 +-
 .../apache/lucene/index/TestParallelTermEnum.java  |    6 +-
 .../test/org/apache/lucene/index/TestPayloads.java |   13 +-
 .../apache/lucene/index/TestPayloadsOnVectors.java |   11 +-
 .../apache/lucene/index/TestPendingDeletes.java    |    4 +-
 .../lucene/index/TestPendingSoftDeletes.java       |    2 +-
 .../apache/lucene/index/TestPerSegmentDeletes.java |   13 +-
 .../TestPersistentSnapshotDeletionPolicy.java      |    2 +-
 .../org/apache/lucene/index/TestPointValues.java   |    9 +-
 .../apache/lucene/index/TestPostingsOffsets.java   |   17 +-
 .../apache/lucene/index/TestPrefixCodedTerms.java  |    4 +-
 .../org/apache/lucene/index/TestReadOnlyIndex.java |    5 +-
 .../org/apache/lucene/index/TestReaderClosed.java  |   10 +-
 .../org/apache/lucene/index/TestReaderPool.java    |    4 +-
 .../lucene/index/TestReaderWrapperDVTypeCheck.java |    7 +-
 .../test/org/apache/lucene/index/TestRollback.java |    5 +-
 .../apache/lucene/index/TestRollingUpdates.java    |    6 +-
 .../lucene/index/TestSameTokenSamePosition.java    |    3 +-
 .../org/apache/lucene/index/TestSegmentInfos.java  |    8 +-
 .../org/apache/lucene/index/TestSegmentMerger.java |    5 +-
 .../org/apache/lucene/index/TestSegmentReader.java |    5 +-
 .../apache/lucene/index/TestSegmentTermDocs.java   |    7 +-
 .../apache/lucene/index/TestSegmentTermEnum.java   |    6 +-
 .../lucene/index/TestSegmentToThreadMapping.java   |    3 +-
 .../lucene/index/TestSizeBoundedForceMerge.java    |    2 +-
 .../lucene/index/TestSnapshotDeletionPolicy.java   |    4 +-
 .../TestSoftDeletesDirectoryReaderWrapper.java     |    2 +-
 .../index/TestSoftDeletesRetentionMergePolicy.java |   34 +-
 .../lucene/index/TestSortedSetDocValues.java       |    2 +-
 .../lucene/index/TestSortingCodecReader.java       |    5 +-
 .../org/apache/lucene/index/TestStressAdvance.java |    5 +-
 .../org/apache/lucene/index/TestStressDeletes.java |    8 +-
 .../apache/lucene/index/TestStressIndexing.java    |    6 +-
 .../apache/lucene/index/TestStressIndexing2.java   |    9 +-
 .../org/apache/lucene/index/TestStressNRT.java     |    7 +-
 .../org/apache/lucene/index/TestSumDocFreq.java    |    5 +-
 .../apache/lucene/index/TestSwappedIndexFiles.java |   13 +-
 .../src/test/org/apache/lucene/index/TestTerm.java |    2 +-
 .../org/apache/lucene/index/TestTermStates.java    |    3 +-
 .../org/apache/lucene/index/TestTermVectors.java   |   11 +-
 .../apache/lucene/index/TestTermVectorsReader.java |    6 +-
 .../apache/lucene/index/TestTermVectorsWriter.java |   13 +-
 .../org/apache/lucene/index/TestTermdocPerf.java   |    4 +-
 .../test/org/apache/lucene/index/TestTerms.java    |    7 +-
 .../org/apache/lucene/index/TestTermsEnum.java     |   12 +-
 .../org/apache/lucene/index/TestTermsEnum2.java    |   12 +-
 .../apache/lucene/index/TestTermsHashPerField.java |    2 +-
 .../lucene/index/TestThreadedForceMerge.java       |    8 +-
 .../apache/lucene/index/TestTieredMergePolicy.java |   11 +-
 .../index/TestTragicIndexWriterDeadlock.java       |    5 +-
 .../lucene/index/TestTransactionRollback.java      |    4 +-
 .../org/apache/lucene/index/TestTransactions.java  |    8 +-
 .../org/apache/lucene/index/TestTryDelete.java     |    4 +-
 .../lucene/index/TestTwoPhaseCommitTool.java       |    2 +-
 .../apache/lucene/index/TestUniqueTermCount.java   |    9 +-
 .../lucene/index/TestUpgradeIndexMergePolicy.java  |    3 +-
 .../lucene/internal/tests/TestTestSecrets.java     |   40 +
 .../search/TestApproximationSearchEquivalence.java |    2 +
 .../apache/lucene/search/TestAutomatonQuery.java   |   10 +-
 .../lucene/search/TestAutomatonQueryUnicode.java   |    4 +-
 .../apache/lucene/search/TestBaseRangeFilter.java  |    8 +-
 .../apache/lucene/search/TestBlendedTermQuery.java |    5 +-
 .../lucene/search/TestBlockMaxConjunction.java     |    8 +-
 .../org/apache/lucene/search/TestBoolean2.java     |   10 +-
 .../lucene/search/TestBoolean2ScorerSupplier.java  |    4 +-
 .../lucene/search/TestBooleanMinShouldMatch.java   |    6 +-
 .../org/apache/lucene/search/TestBooleanOr.java    |    9 +-
 .../org/apache/lucene/search/TestBooleanQuery.java |    9 +-
 .../search/TestBooleanQueryVisitSubscorers.java    |    7 +-
 .../apache/lucene/search/TestBooleanRewrites.java  |    6 +-
 .../apache/lucene/search/TestBooleanScorer.java    |    5 +-
 .../org/apache/lucene/search/TestBoostQuery.java   |    2 +-
 .../apache/lucene/search/TestCachingCollector.java |    2 +-
 .../apache/lucene/search/TestCollectorManager.java |    4 +-
 .../lucene/search/TestComplexExplanations.java     |    1 +
 .../TestComplexExplanationsOfNonMatches.java       |    2 +
 .../apache/lucene/search/TestConjunctionDISI.java  |    4 +-
 .../org/apache/lucene/search/TestConjunctions.java |    6 +-
 .../lucene/search/TestConstantScoreQuery.java      |    5 +-
 .../lucene/search/TestConstantScoreScorer.java     |    6 +-
 .../search/TestControlledRealTimeReopenThread.java |   10 +-
 .../lucene/search/TestCustomSearcherSort.java      |    4 +-
 .../org/apache/lucene/search/TestDateSort.java     |    4 +-
 .../lucene/search/TestDisjunctionMaxQuery.java     |    8 +-
 ...estDisjunctionScoreBlockBoundaryPropagator.java |    2 +-
 .../apache/lucene/search/TestDocIdSetIterator.java |    2 +-
 .../search/TestDocValuesFieldExistsQuery.java      |    6 +-
 .../apache/lucene/search/TestDocValuesQueries.java |    7 +-
 .../lucene/search/TestDocValuesRewriteMethod.java  |   14 +-
 .../lucene/search/TestDoubleRangeFieldQueries.java |    3 +-
 .../lucene/search/TestDoubleValuesSource.java      |    9 +-
 .../apache/lucene/search/TestEarlyTermination.java |    4 +-
 .../lucene/search/TestElevationComparator.java     |    4 +-
 .../lucene/search/TestFieldCacheRewriteMethod.java |    2 +
 .../org/apache/lucene/search/TestFilterWeight.java |    2 +-
 .../lucene/search/TestFloatRangeFieldQueries.java  |    3 +-
 .../org/apache/lucene/search/TestFuzzyQuery.java   |   10 +-
 .../lucene/search/TestFuzzyTermOnShortTerms.java   |    8 +-
 .../lucene/search/TestIndexOrDocValuesQuery.java   |    4 +-
 .../apache/lucene/search/TestIndexSearcher.java    |    6 +-
 .../apache/lucene/search/TestIndriAndQuery.java    |   10 +-
 .../lucene/search/TestInetAddressRangeQueries.java |    3 +-
 .../lucene/search/TestIntRangeFieldQueries.java    |    5 +-
 .../apache/lucene/search/TestKnnVectorQuery.java   |    4 +-
 .../apache/lucene/search/TestLRUQueryCache.java    |   10 +-
 .../lucene/search/TestLatLonDocValuesQueries.java  |    2 +-
 .../lucene/search/TestLatLonPointQueries.java      |    2 +-
 .../apache/lucene/search/TestLiveFieldValues.java  |    6 +-
 .../lucene/search/TestLongRangeFieldQueries.java   |    5 +-
 .../apache/lucene/search/TestLongValuesSource.java |    9 +-
 .../lucene/search/TestMatchAllDocsQuery.java       |    4 +-
 .../apache/lucene/search/TestMatchNoDocsQuery.java |    5 +-
 .../apache/lucene/search/TestMatchesIterator.java  |    2 +
 .../apache/lucene/search/TestMaxClauseLimit.java   |    2 +-
 .../lucene/search/TestMaxScoreAccumulator.java     |    2 +-
 .../lucene/search/TestMaxScoreSumPropagator.java   |    4 +-
 .../apache/lucene/search/TestMinShouldMatch2.java  |    7 +-
 .../apache/lucene/search/TestMultiCollector.java   |    6 +-
 .../lucene/search/TestMultiCollectorManager.java   |    4 +-
 .../apache/lucene/search/TestMultiPhraseEnum.java  |    2 +-
 .../apache/lucene/search/TestMultiPhraseQuery.java |    8 +-
 .../apache/lucene/search/TestMultiSliceMerge.java  |    5 +-
 .../lucene/search/TestMultiTermConstantScore.java  |    7 +-
 .../lucene/search/TestMultiTermQueryRewrites.java  |    6 +-
 .../lucene/search/TestMultiThreadTermVectors.java  |    6 +-
 .../org/apache/lucene/search/TestMultiset.java     |    2 +-
 .../apache/lucene/search/TestNGramPhraseQuery.java |    4 +-
 .../org/apache/lucene/search/TestNeedsScores.java  |    4 +-
 .../lucene/search/TestNormsFieldExistsQuery.java   |    6 +-
 .../src/test/org/apache/lucene/search/TestNot.java |    4 +-
 .../lucene/search/TestPhrasePrefixQuery.java       |    4 +-
 .../org/apache/lucene/search/TestPhraseQuery.java  |   18 +-
 .../org/apache/lucene/search/TestPointQueries.java |    8 +-
 .../lucene/search/TestPositionIncrement.java       |    4 +-
 .../search/TestPositiveScoresOnlyCollector.java    |    4 +-
 .../lucene/search/TestPrefixInBooleanQuery.java    |    4 +-
 .../org/apache/lucene/search/TestPrefixQuery.java  |    6 +-
 .../org/apache/lucene/search/TestPrefixRandom.java |   11 +-
 .../apache/lucene/search/TestQueryRescorer.java    |    7 +-
 .../org/apache/lucene/search/TestQueryVisitor.java |    2 +-
 .../search/TestRangeFieldsDocValuesQuery.java      |    4 +-
 .../org/apache/lucene/search/TestRegexpQuery.java  |    4 +-
 .../org/apache/lucene/search/TestRegexpRandom.java |    8 +-
 .../apache/lucene/search/TestRegexpRandom2.java    |   13 +-
 .../lucene/search/TestReqExclBulkScorer.java       |    4 +-
 .../apache/lucene/search/TestReqOptSumScorer.java  |    6 +-
 .../lucene/search/TestSameScoresWithThreads.java   |   10 +-
 .../search/TestScoreCachingWrappingScorer.java     |    4 +-
 .../org/apache/lucene/search/TestScorerPerf.java   |    4 +-
 .../org/apache/lucene/search/TestSearchAfter.java  |    8 +-
 .../lucene/search/TestSearchWithThreads.java       |    4 +-
 .../apache/lucene/search/TestSearcherManager.java  |   12 +-
 .../lucene/search/TestSegmentCacheables.java       |    2 +-
 .../apache/lucene/search/TestShardSearching.java   |    5 +-
 .../org/apache/lucene/search/TestSimilarity.java   |    6 +-
 .../lucene/search/TestSimilarityProvider.java      |    6 +-
 .../lucene/search/TestSimpleExplanations.java      |    1 +
 .../search/TestSimpleExplanationsOfNonMatches.java |    2 +
 .../TestSimpleExplanationsWithFillerDocs.java      |    4 +-
 .../lucene/search/TestSimpleSearchEquivalence.java |    2 +
 .../lucene/search/TestSloppyPhraseQuery.java       |   12 +-
 .../lucene/search/TestSloppyPhraseQuery2.java      |    3 +-
 .../test/org/apache/lucene/search/TestSort.java    |    4 +-
 .../apache/lucene/search/TestSortOptimization.java |    4 +-
 .../org/apache/lucene/search/TestSortRandom.java   |    6 +-
 .../org/apache/lucene/search/TestSortRescorer.java |    6 +-
 .../lucene/search/TestSortedNumericSortField.java  |    4 +-
 .../lucene/search/TestSortedSetSelector.java       |    6 +-
 .../lucene/search/TestSortedSetSortField.java      |    4 +-
 .../apache/lucene/search/TestSubScorerFreqs.java   |    7 +-
 .../org/apache/lucene/search/TestSynonymQuery.java |    8 +-
 .../apache/lucene/search/TestTermInSetQuery.java   |    9 +-
 .../org/apache/lucene/search/TestTermQuery.java    |    7 +-
 .../apache/lucene/search/TestTermRangeQuery.java   |    6 +-
 .../org/apache/lucene/search/TestTermScorer.java   |    9 +-
 .../lucene/search/TestTimeLimitingCollector.java   |   10 +-
 .../apache/lucene/search/TestTopDocsCollector.java |    7 +-
 .../org/apache/lucene/search/TestTopDocsMerge.java |    6 +-
 .../lucene/search/TestTopFieldCollector.java       |    7 +-
 .../TestTopFieldCollectorEarlyTermination.java     |   11 +-
 .../lucene/search/TestTotalHitCountCollector.java  |    4 +-
 .../org/apache/lucene/search/TestTotalHits.java    |    2 +-
 .../TestUsageTrackingFilterCachingPolicy.java      |    4 +-
 .../org/apache/lucene/search/TestWANDScorer.java   |    7 +-
 .../org/apache/lucene/search/TestWildcard.java     |    6 +-
 .../apache/lucene/search/TestWildcardRandom.java   |    8 +-
 .../lucene/search/TestXYDocValuesQueries.java      |    2 +-
 .../lucene/search/TestXYPointDistanceSort.java     |    8 +-
 .../apache/lucene/search/TestXYPointQueries.java   |    2 +-
 .../search/similarities/AxiomaticTestCase.java     |    1 +
 .../search/similarities/BasicModelTestCase.java    |    1 +
 .../search/similarities/DistributionTestCase.java  |    1 +
 .../similarities/TestAxiomaticSimilarity.java      |    2 +-
 .../search/similarities/TestBM25Similarity.java    |    1 +
 .../search/similarities/TestBooleanSimilarity.java |    5 +-
 .../search/similarities/TestClassicSimilarity.java |    3 +-
 .../similarities/TestIndependenceChiSquared.java   |    1 +
 .../similarities/TestIndependenceSaturated.java    |    1 +
 .../similarities/TestIndependenceStandardized.java |    1 +
 .../similarities/TestIndriDirichletSimilarity.java |    1 +
 .../similarities/TestLMDirichletSimilarity.java    |    1 +
 .../TestLMJelinekMercerSimilarity.java             |    1 +
 .../search/similarities/TestSimilarity2.java       |    6 +-
 .../search/similarities/TestSimilarityBase.java    |    6 +-
 .../lucene/store/BaseDataOutputTestCase.java       |    2 +-
 .../apache/lucene/store/TestBufferedChecksum.java  |    2 +-
 .../lucene/store/TestBufferedIndexInput.java       |    2 +-
 .../lucene/store/TestByteArrayDataInput.java       |    2 +-
 .../lucene/store/TestByteBuffersDataInput.java     |    2 +-
 .../lucene/store/TestByteBuffersDataOutput.java    |    4 +-
 .../lucene/store/TestByteBuffersDirectory.java     |    5 +-
 .../lucene/store/TestChecksumIndexInput.java       |    4 +-
 .../org/apache/lucene/store/TestDirectory.java     |    4 +-
 .../lucene/store/TestFileSwitchDirectory.java      |   10 +-
 .../apache/lucene/store/TestFilterDirectory.java   |    1 +
 .../lucene/store/TestIndexOutputAlignment.java     |    2 +-
 .../lucene/store/TestInputStreamDataInput.java     |    4 +-
 .../org/apache/lucene/store/TestLockFactory.java   |    5 +-
 .../org/apache/lucene/store/TestMmapDirectory.java |    1 +
 .../store/TestMultiByteBuffersDirectory.java       |    1 +
 .../org/apache/lucene/store/TestMultiMMap.java     |    1 +
 .../apache/lucene/store/TestNIOFSDirectory.java    |    7 +-
 .../lucene/store/TestNRTCachingDirectory.java      |    9 +-
 .../lucene/store/TestNativeFSLockFactory.java      |    7 +-
 .../lucene/store/TestOutputStreamIndexOutput.java  |    2 +-
 .../org/apache/lucene/store/TestRateLimiter.java   |    4 +-
 .../lucene/store/TestSimpleFSLockFactory.java      |    1 +
 .../store/TestSingleInstanceLockFactory.java       |    3 +-
 .../lucene/store/TestSleepingLockWrapper.java      |    3 +-
 .../lucene/store/TestStressLockFactories.java      |    2 +-
 .../lucene/store/TestTrackingDirectoryWrapper.java |    1 +
 .../org/apache/lucene/util/BaseSortTestCase.java   |    2 +
 .../org/apache/lucene/util/Test2BPagedBytes.java   |    8 +-
 .../test/org/apache/lucene/util/TestArrayUtil.java |    2 +
 .../apache/lucene/util/TestAttributeSource.java    |    3 +-
 .../org/apache/lucene/util/TestByteBlockPool.java  |    2 +
 .../test/org/apache/lucene/util/TestBytesRef.java  |    3 +
 .../org/apache/lucene/util/TestBytesRefArray.java  |    2 +
 .../org/apache/lucene/util/TestBytesRefHash.java   |    2 +
 .../test/org/apache/lucene/util/TestCharsRef.java  |    2 +
 .../apache/lucene/util/TestCharsRefBuilder.java    |    3 +
 .../apache/lucene/util/TestClassLoaderUtils.java   |    1 +
 .../lucene/util/TestCloseableThreadLocal.java      |    2 +
 .../org/apache/lucene/util/TestCollectionUtil.java |    1 +
 .../apache/lucene/util/TestDocIdSetBuilder.java    |    2 +
 .../org/apache/lucene/util/TestFilterIterator.java |    1 +
 .../apache/lucene/util/TestFixedBitDocIdSet.java   |    1 +
 .../org/apache/lucene/util/TestFixedBitSet.java    |    2 +
 .../lucene/util/TestFixedLengthBytesRefArray.java  |    2 +
 .../util/TestFrequencyTrackingRingBuffer.java      |    2 +
 .../test/org/apache/lucene/util/TestIOUtils.java   |    5 +-
 .../apache/lucene/util/TestIntArrayDocIdSet.java   |    1 +
 .../org/apache/lucene/util/TestIntroSelector.java  |    2 +
 .../test/org/apache/lucene/util/TestIntsRef.java   |    2 +
 .../org/apache/lucene/util/TestLSBRadixSorter.java |    2 +
 .../org/apache/lucene/util/TestLongBitSet.java     |    2 +
 .../test/org/apache/lucene/util/TestLongHeap.java  |    2 +
 .../test/org/apache/lucene/util/TestLongsRef.java  |    2 +
 .../org/apache/lucene/util/TestMSBRadixSorter.java |    2 +
 .../test/org/apache/lucene/util/TestMathUtil.java  |    1 +
 .../org/apache/lucene/util/TestMergedIterator.java |    1 +
 .../org/apache/lucene/util/TestNamedSPILoader.java |    2 +
 .../org/apache/lucene/util/TestNotDocIdSet.java    |    1 +
 .../org/apache/lucene/util/TestNumericUtils.java   |    2 +
 .../org/apache/lucene/util/TestOfflineSorter.java  |    4 +-
 .../org/apache/lucene/util/TestPagedBytes.java     |    7 +-
 .../org/apache/lucene/util/TestPriorityQueue.java  |    2 +
 .../org/apache/lucene/util/TestQueryBuilder.java   |    9 +-
 .../org/apache/lucene/util/TestRadixSelector.java  |    2 +
 .../apache/lucene/util/TestRamUsageEstimator.java  |    3 +-
 .../util/TestRecyclingByteBlockAllocator.java      |    1 +
 .../util/TestRecyclingIntBlockAllocator.java       |    1 +
 .../apache/lucene/util/TestRoaringDocIdSet.java    |    1 +
 .../org/apache/lucene/util/TestRollingBuffer.java  |    1 +
 .../org/apache/lucene/util/TestSentinelIntSet.java |    1 +
 .../test/org/apache/lucene/util/TestSetOnce.java   |    1 +
 .../org/apache/lucene/util/TestSloppyMath.java     |    3 +-
 .../org/apache/lucene/util/TestSmallFloat.java     |    2 +
 .../lucene/util/TestSparseFixedBitDocIdSet.java    |    1 +
 .../apache/lucene/util/TestSparseFixedBitSet.java  |    2 +
 .../lucene/util/TestStableMSBRadixSorter.java      |    2 +
 .../lucene/util/TestStressRamUsageEstimator.java   |    2 +
 .../org/apache/lucene/util/TestStringHelper.java   |    2 +
 .../lucene/util/TestStringMSBRadixSorter.java      |    2 +
 .../test/org/apache/lucene/util/TestTimSorter.java |    1 +
 .../apache/lucene/util/TestTimSorterWorstCase.java |    3 +-
 .../org/apache/lucene/util/TestUnicodeUtil.java    |    2 +
 .../org/apache/lucene/util/TestVectorUtil.java     |    1 +
 .../test/org/apache/lucene/util/TestVersion.java   |    1 +
 .../org/apache/lucene/util/TestVirtualMethod.java  |    2 +
 .../apache/lucene/util/TestWeakIdentityMap.java    |    1 +
 .../lucene/util/automaton/TestAutomaton.java       |    7 +-
 .../util/automaton/TestCompiledAutomaton.java      |    4 +-
 .../automaton/TestDaciukMihovAutomatonBuilder.java |    2 +-
 .../lucene/util/automaton/TestDeterminism.java     |    3 +-
 .../util/automaton/TestDeterminizeLexicon.java     |    4 +-
 .../util/automaton/TestFiniteStringsIterator.java  |    5 +-
 .../apache/lucene/util/automaton/TestIntSet.java   |    2 +-
 .../util/automaton/TestLevenshteinAutomata.java    |    2 +-
 .../TestLimitedFiniteStringsIterator.java          |    5 +-
 .../apache/lucene/util/automaton/TestMinimize.java |    3 +-
 .../lucene/util/automaton/TestOperations.java      |    3 +
 .../apache/lucene/util/automaton/TestRegExp.java   |    2 +-
 .../lucene/util/automaton/TestUTF32ToUTF8.java     |    5 +-
 .../apache/lucene/util/bkd/Test2BBKDPoints.java    |    4 +-
 .../test/org/apache/lucene/util/bkd/TestBKD.java   |   10 +-
 .../lucene/util/bkd/TestBKDRadixSelector.java      |    4 +-
 .../apache/lucene/util/bkd/TestBKDRadixSort.java   |    4 +-
 .../org/apache/lucene/util/bkd/TestBKDUtil.java    |    4 +-
 .../apache/lucene/util/bkd/TestDocIdsWriter.java   |    4 +-
 .../util/bkd/TestMutablePointTreeReaderUtils.java  |    4 +-
 .../apache/lucene/util/compress/LZ4TestCase.java   |    4 +-
 .../compress/TestLowercaseAsciiCompression.java    |    4 +-
 .../test/org/apache/lucene/util/fst/Test2BFST.java |    4 +-
 .../apache/lucene/util/fst/TestBitTableUtil.java   |    2 +-
 .../org/apache/lucene/util/fst/TestBytesStore.java |    4 +-
 .../lucene/util/fst/TestFSTDirectAddressing.java   |    2 +-
 .../test/org/apache/lucene/util/fst/TestFSTs.java  |   21 +-
 .../test/org/apache/lucene/util/fst/TestUtil.java  |    2 +-
 .../graph/TestGraphTokenStreamFiniteStrings.java   |    6 +-
 .../apache/lucene/util/hnsw/MockVectorValues.java  |    2 +-
 .../org/apache/lucene/util/hnsw/TestHnswGraph.java |    2 +-
 .../org/apache/lucene/util/hnsw/TestNeighbors.java |    2 +-
 .../apache/lucene/util/hppc/TestIntIntHashMap.java |    2 +-
 .../lucene/util/mutable/TestMutableValues.java     |    2 +-
 .../lucene/util/packed/TestDirectMonotonic.java    |    4 +-
 .../lucene/util/packed/TestDirectPacked.java       |    4 +-
 .../apache/lucene/util/packed/TestPackedInts.java  |    6 +-
 .../src/test/org/apache/lucene/demo/TestDemo.java  |    2 +-
 .../demo/facet/TestAssociationsFacetsExample.java  |    2 +-
 .../demo/facet/TestDistanceFacetsExample.java      |    2 +-
 .../TestExpressionAggregationFacetsExample.java    |    2 +-
 .../facet/TestMultiCategoryListsFacetsExample.java |    2 +-
 .../lucene/demo/facet/TestRangeFacetsExample.java  |    2 +-
 .../lucene/demo/facet/TestSimpleFacetsExample.java |    2 +-
 .../facet/TestSimpleSortedSetFacetsExample.java    |    2 +-
 .../apache/lucene/demo/knn/TestDemoEmbeddings.java |    2 +-
 .../apache/lucene/demo/knn/TestKnnVectorDict.java  |    2 +-
 .../lucene/distribution/TestModularLayer.java      |   25 +-
 lucene/distribution/binary-release.gradle          |   17 +-
 .../lucene/expressions/TestDemoExpressions.java    |    4 +-
 .../lucene/expressions/TestExpressionRescorer.java |    4 +-
 .../expressions/TestExpressionSortField.java       |    2 +-
 .../lucene/expressions/TestExpressionSorts.java    |   10 +-
 .../expressions/TestExpressionValidation.java      |    2 +-
 .../expressions/TestExpressionValueSource.java     |    6 +-
 .../lucene/expressions/js/TestCustomFunctions.java |    2 +-
 .../lucene/expressions/js/TestExpressionMath.java  |    2 +-
 .../expressions/js/TestJavascriptCompiler.java     |    2 +-
 .../expressions/js/TestJavascriptFunction.java     |    2 +-
 .../expressions/js/TestJavascriptOperations.java   |    2 +-
 .../lucene/expressions/js/TestVariableContext.java |    2 +-
 .../org/apache/lucene/facet/FacetTestCase.java     |    4 +-
 .../apache/lucene/facet/TestDrillDownQuery.java    |    8 +-
 .../org/apache/lucene/facet/TestDrillSideways.java |    6 +-
 .../org/apache/lucene/facet/TestFacetQuery.java    |    6 +-
 .../org/apache/lucene/facet/TestFacetUtils.java    |    4 +-
 .../org/apache/lucene/facet/TestFacetsConfig.java  |    4 +-
 .../lucene/facet/TestLongValueFacetCounts.java     |    6 +-
 .../lucene/facet/TestMultipleIndexFields.java      |    6 +-
 .../facet/TestRandomSamplingFacetsCollector.java   |    2 +-
 .../lucene/facet/TestStringValueFacetCounts.java   |    4 +-
 .../lucene/facet/range/TestRangeFacetCounts.java   |    4 +-
 .../sortedset/TestSortedSetDocValuesFacets.java    |    6 +-
 .../TestBackCompatSortedNumericDocValues.java      |    4 +-
 .../facet/taxonomy/TestCachedOrdinalsReader.java   |    2 +-
 .../lucene/facet/taxonomy/TestFacetLabel.java      |    2 +-
 .../taxonomy/TestOrdinalMappingLeafReader.java     |    2 +-
 .../taxonomy/TestSearcherTaxonomyManager.java      |    6 +-
 .../facet/taxonomy/TestTaxonomyCombined.java       |    2 +-
 .../taxonomy/TestTaxonomyFacetAssociations.java    |    2 +-
 .../facet/taxonomy/TestTaxonomyFacetCounts.java    |    6 +-
 .../facet/taxonomy/TestTaxonomyFacetCounts2.java   |    2 +-
 .../facet/taxonomy/TestTaxonomyFacetLabels.java    |    2 +-
 .../taxonomy/TestTaxonomyFacetSumValueSource.java  |    6 +-
 .../facet/taxonomy/directory/TestAddTaxonomy.java  |    4 +-
 .../directory/TestBackwardsCompatibility.java      |    6 +-
 .../directory/TestDirectoryTaxonomyReader.java     |    2 +-
 .../directory/TestDirectoryTaxonomyWriter.java     |    4 +-
 .../writercache/Test2GBCharBlockArray.java         |    6 +-
 .../writercache/TestUTF8TaxonomyWriterCache.java   |    2 +-
 .../search/grouping/AbstractGroupingTestCase.java  |    8 +-
 .../search/grouping/BaseGroupSelectorTestCase.java |    2 +-
 .../grouping/TestAllGroupHeadsCollector.java       |    8 +-
 .../search/grouping/TestAllGroupsCollector.java    |    6 +-
 .../lucene/search/grouping/TestBlockGrouping.java  |    2 +-
 .../grouping/TestDistinctValuesCollector.java      |    4 +-
 .../search/grouping/TestDoubleRangeFactory.java    |    2 +-
 .../search/grouping/TestGroupFacetCollector.java   |    6 +-
 .../lucene/search/grouping/TestGrouping.java       |    8 +-
 .../lucene/search/grouping/TestGroupingSearch.java |    6 +-
 .../search/grouping/TestLongRangeFactory.java      |    2 +-
 .../lucene/search/grouping/TestTopGroups.java      |    2 +-
 .../lucene/search/highlight/TestHighlighter.java   |   16 +-
 .../search/highlight/TestHighlighterPhrase.java    |   10 +-
 .../apache/lucene/search/highlight/TestMisses.java |    6 +-
 .../highlight/TestOffsetLimitTokenFilter.java      |    2 +
 .../lucene/search/highlight/TestTokenSources.java  |   14 +-
 .../highlight/custom/TestHighlightCustomQuery.java |   10 +-
 .../lucene/search/matchhighlight/IndexBuilder.java |    2 +-
 .../matchhighlight/TestMatchHighlighter.java       |    2 +-
 .../matchhighlight/TestMatchRegionRetriever.java   |    2 +-
 .../search/matchhighlight/TestPassageSelector.java |    2 +-
 .../TestCustomSeparatorBreakIterator.java          |    2 +-
 .../uhighlight/TestDefaultPassageFormatter.java    |    2 +-
 .../uhighlight/TestLengthGoalBreakIterator.java    |    6 +-
 .../uhighlight/TestSplittingBreakIterator.java     |    2 +-
 .../search/uhighlight/TestUnifiedHighlighter.java  |    8 +-
 .../uhighlight/TestUnifiedHighlighterMTQ.java      |   10 +-
 .../uhighlight/TestUnifiedHighlighterRanking.java  |   10 +-
 .../TestUnifiedHighlighterReanalysis.java          |    8 +-
 .../TestUnifiedHighlighterStrictPhrases.java       |    8 +-
 .../TestUnifiedHighlighterTermIntervals.java       |    8 +-
 .../uhighlight/TestUnifiedHighlighterTermVec.java  |    8 +-
 .../search/uhighlight/TestWholeBreakIterator.java  |    2 +-
 .../TestUnifiedHighlighterExtensibility.java       |    4 +-
 .../search/vectorhighlight/AbstractTestCase.java   |    4 +-
 .../TestBreakIteratorBoundaryScanner.java          |    2 +-
 .../vectorhighlight/TestFastVectorHighlighter.java |   12 +-
 .../vectorhighlight/TestFieldPhraseList.java       |    2 +-
 .../search/vectorhighlight/TestFieldTermStack.java |    2 +-
 .../vectorhighlight/TestIndexTimeSynonym.java      |    1 +
 .../vectorhighlight/TestSimpleBoundaryScanner.java |    2 +-
 .../TestSimpleFragmentsBuilder.java                |    6 +-
 .../apache/lucene/search/join/TestBlockJoin.java   |   11 +-
 .../lucene/search/join/TestBlockJoinScorer.java    |    4 +-
 .../lucene/search/join/TestBlockJoinSelector.java  |    2 +-
 .../lucene/search/join/TestBlockJoinSorting.java   |    6 +-
 .../search/join/TestBlockJoinValidation.java       |    6 +-
 .../lucene/search/join/TestCheckJoinIndex.java     |    6 +-
 .../apache/lucene/search/join/TestJoinUtil.java    |   10 +-
 .../join/TestParentChildrenBlockJoinQuery.java     |    4 +-
 .../search/join/TestQueryBitSetProducer.java       |    4 +-
 .../desktop/util/inifile/TestSimpleIniFile.java    |    2 +-
 .../luke/models/analysis/TestAnalysisImpl.java     |    2 +-
 .../luke/models/commits/TestCommitsImpl.java       |    8 +-
 .../luke/models/documents/DocumentsTestBase.java   |    4 +-
 .../models/documents/TestDocValuesAdapter.java     |    4 +-
 .../luke/models/documents/TestDocumentsImpl.java   |    2 +-
 .../models/documents/TestTermVectorsAdapter.java   |    2 +-
 .../luke/models/overview/OverviewTestBase.java     |    6 +-
 .../lucene/luke/models/search/TestSearchImpl.java  |    4 +-
 .../lucene/index/memory/TestMemoryIndex.java       |    8 +-
 .../memory/TestMemoryIndexAgainstDirectory.java    |   16 +-
 .../org/apache/lucene/misc/TestHighFreqTerms.java  |    8 +-
 .../org/apache/lucene/misc/TestIndexMergeTool.java |    2 +-
 .../lucene/misc/TestSweetSpotSimilarity.java       |    2 +-
 .../lucene/misc/document/TestLazyDocument.java     |    3 +-
 .../lucene/misc/index/TestIndexRearranger.java     |    2 +-
 .../lucene/misc/index/TestIndexSplitter.java       |    8 +-
 .../misc/index/TestMultiPassIndexSplitter.java     |    4 +-
 .../lucene/misc/index/TestPKIndexSplitter.java     |    6 +-
 .../search/TestDiversifiedTopDocsCollector.java    |    4 +-
 .../misc/search/TestDocValuesStatsCollector.java   |    4 +-
 .../TestMemoryAccountingBitsetCollector.java       |    4 +-
 .../lucene/misc/store/TestDirectIODirectory.java   |    3 +-
 .../store/TestHardLinkCopyDirectoryWrapper.java    |    6 +-
 .../apache/lucene/misc/store/TestRAFDirectory.java |    2 +-
 .../lucene/misc/store/TestWindowsDirectory.java    |    2 +-
 .../misc/util/TestCollectorMemoryTracker.java      |    2 +-
 .../apache/lucene/misc/util/fst/TestFSTsMisc.java  |    8 +-
 .../lucene/monitor/ConcurrentMatcherTestBase.java  |    2 +-
 .../org/apache/lucene/monitor/MonitorTestBase.java |    2 +-
 .../monitor/TestBooleanClauseWeightings.java       |    2 +-
 .../lucene/monitor/TestBooleanTermExtractor.java   |    2 +-
 .../apache/lucene/monitor/TestDocumentBatch.java   |    2 +-
 .../org/apache/lucene/monitor/TestExtractors.java  |    2 +-
 .../monitor/TestForceNoBulkScoringQuery.java       |    2 +-
 .../apache/lucene/monitor/TestQueryAnalyzer.java   |    2 +-
 .../lucene/monitor/TestQueryTermComparators.java   |    2 +-
 .../apache/lucene/monitor/TestQueryTermFilter.java |    2 +-
 .../lucene/monitor/TestRegexpQueryHandler.java     |    2 +-
 .../apache/lucene/monitor/TestSpanExtractors.java  |    2 +-
 .../monitor/TestSuffixingNGramTokenizer.java       |    2 +-
 .../lucene/monitor/TestTermsEnumTokenFilter.java   |    2 +-
 .../lucene/queries/TestCommonTermsQuery.java       |   12 +-
 .../lucene/queries/function/FunctionTestSetup.java |    8 +-
 .../function/TestDocValuesFieldSources.java        |    8 +-
 .../queries/function/TestFieldScoreQuery.java      |    2 +-
 .../queries/function/TestFunctionMatchQuery.java   |    2 +-
 .../function/TestFunctionQueryExplanations.java    |    2 +-
 .../queries/function/TestFunctionQuerySort.java    |    4 +-
 .../function/TestFunctionScoreExplanations.java    |    2 +-
 .../queries/function/TestFunctionScoreQuery.java   |    2 +-
 .../queries/function/TestIndexReaderFunctions.java |    8 +-
 .../queries/function/TestLongNormValueSource.java  |    8 +-
 .../queries/function/TestSortedSetFieldSource.java |    2 +-
 .../lucene/queries/function/TestValueSources.java  |    8 +-
 .../docvalues/TestBoolValOfNumericDVs.java         |    2 +-
 .../queries/intervals/TestComplexMatches.java      |    2 +-
 .../queries/intervals/TestDisjunctionRewrites.java |    2 +-
 .../queries/intervals/TestIntervalBuilder.java     |    6 +-
 .../queries/intervals/TestIntervalQuery.java       |    8 +-
 .../lucene/queries/intervals/TestIntervals.java    |    4 +-
 .../intervals/TestPayloadFilteredInterval.java     |   10 +-
 .../queries/intervals/TestSimplifications.java     |    2 +-
 .../lucene/queries/mlt/TestMoreLikeThis.java       |   12 +-
 .../lucene/queries/payloads/PayloadHelper.java     |    7 +-
 .../queries/payloads/TestPayloadCheckQuery.java    |   14 +-
 .../queries/payloads/TestPayloadExplanations.java  |    2 +-
 .../queries/payloads/TestPayloadScoreQuery.java    |   10 +-
 .../queries/payloads/TestPayloadSpanPositions.java |    6 +-
 .../lucene/queries/payloads/TestPayloadSpans.java  |    6 +-
 .../queries/payloads/TestPayloadTermQuery.java     |   12 +-
 .../queries/spans/BaseSpanExplanationTestCase.java |    2 +-
 .../apache/lucene/queries/spans/SpanTestUtil.java  |    2 +-
 .../apache/lucene/queries/spans/TestBasics.java    |   12 +-
 .../queries/spans/TestFieldMaskingSpanQuery.java   |   10 +-
 .../lucene/queries/spans/TestFilterSpans.java      |    2 +-
 .../lucene/queries/spans/TestNearSpansOrdered.java |    8 +-
 .../queries/spans/TestQueryRescorerWithSpans.java  |    4 +-
 .../lucene/queries/spans/TestSpanCollection.java   |    6 +-
 .../lucene/queries/spans/TestSpanContainQuery.java |    8 +-
 .../spans/TestSpanExplanationsOfNonMatches.java    |    2 +-
 .../lucene/queries/spans/TestSpanFirstQuery.java   |    8 +-
 .../lucene/queries/spans/TestSpanMatches.java      |    2 +-
 .../spans/TestSpanMultiTermQueryWrapper.java       |    4 +-
 .../lucene/queries/spans/TestSpanNearQuery.java    |    6 +-
 .../lucene/queries/spans/TestSpanNotQuery.java     |    6 +-
 .../lucene/queries/spans/TestSpanOrQuery.java      |    4 +-
 .../lucene/queries/spans/TestSpanQueryVisitor.java |    2 +-
 .../queries/spans/TestSpanSearchEquivalence.java   |    2 +-
 .../lucene/queries/spans/TestSpanSimilarity.java   |    4 +-
 .../lucene/queries/spans/TestSpanTermQuery.java    |    6 +-
 .../org/apache/lucene/queries/spans/TestSpans.java |    8 +-
 .../apache/lucene/queries/spans/TestSpansEnum.java |   12 +-
 .../queryparser/classic/TestMultiAnalyzer.java     |    4 +-
 .../classic/TestMultiFieldQueryParser.java         |    8 +-
 .../classic/TestMultiPhraseQueryParsing.java       |    2 +-
 .../queryparser/classic/TestQueryParser.java       |   12 +-
 .../complexPhrase/TestComplexPhraseQuery.java      |    6 +-
 .../queryparser/ext/TestExtendableQueryParser.java |    4 +-
 .../lucene/queryparser/ext/TestExtensions.java     |    2 +-
 .../core/builders/TestQueryTreeBuilder.java        |    2 +-
 .../flexible/core/nodes/TestQueryNode.java         |    2 +-
 .../queryparser/flexible/messages/TestNLS.java     |    2 +-
 .../precedence/TestPrecedenceQueryParser.java      |    5 +-
 .../flexible/spans/TestSpanQueryParser.java        |    2 +-
 .../spans/TestSpanQueryParserSimpleSample.java     |    2 +-
 .../standard/TestMultiAnalyzerQPHelper.java        |    3 +-
 .../flexible/standard/TestMultiFieldQPHelper.java  |    3 +-
 .../flexible/standard/TestPointQueryParser.java    |    2 +-
 .../flexible/standard/TestQPHelper.java            |    8 +-
 .../flexible/standard/TestStandardQP.java          |    4 +-
 .../standard/TestStandardQPEnhancements.java       |    4 +-
 .../queryparser/simple/TestSimpleQueryParser.java  |    8 +-
 .../surround/query/SingleFieldTestDb.java          |    4 +-
 .../surround/query/Test01Exceptions.java           |    2 +-
 .../queryparser/surround/query/Test02Boolean.java  |    2 +-
 .../queryparser/surround/query/Test03Distance.java |    2 +-
 .../queryparser/surround/query/TestSrndQuery.java  |    4 +-
 .../queryparser/util/QueryParserTestBase.java      |   10 +-
 .../queryparser/xml/CoreParserTestIndexData.java   |    2 +-
 .../lucene/queryparser/xml/TestCoreParser.java     |    8 +-
 lucene/replicator/src/java/module-info.java        |    1 +
 .../lucene/replicator/ReplicatorTestCase.java      |    2 +-
 .../TestIndexAndTaxonomyReplicationClient.java     |    4 +-
 .../replicator/TestIndexReplicationClient.java     |    4 +-
 .../lucene/replicator/nrt/SimplePrimaryNode.java   |    6 +-
 .../lucene/replicator/nrt/SimpleReplicaNode.java   |    4 +-
 .../lucene/replicator/nrt/TestNRTReplication.java  |   12 +-
 .../lucene/replicator/nrt/TestSimpleServer.java    |   10 +-
 .../replicator/nrt/TestStressNRTReplication.java   |   14 +-
 .../lucene/payloads/TestPayloadSpanUtil.java       |    6 +-
 .../idversion/TestIDVersionPostingsFormat.java     |   14 +-
 .../sandbox/document/TestBigIntegerPoint.java      |    4 +-
 .../sandbox/document/TestDoubleRangeField.java     |    2 +-
 .../document/TestFloatPointNearestNeighbor.java    |    6 +-
 .../sandbox/document/TestHalfFloatPoint.java       |    6 +-
 .../sandbox/queries/TestFuzzyLikeThisQuery.java    |    6 +-
 .../sandbox/search/TestCombinedFieldQuery.java     |    6 +-
 .../lucene/sandbox/search/TestCoveringQuery.java   |    4 +-
 .../sandbox/search/TestDocValuesNumbersQuery.java  |    6 +-
 .../sandbox/search/TestDocValuesTermsQuery.java    |    6 +-
 .../sandbox/search/TestFieldCacheTermsFilter.java  |    4 +-
 ...tIndexSortSortedNumericDocValuesRangeQuery.java |   10 +-
 .../search/TestLargeNumHitsTopDocsCollector.java   |    6 +-
 .../search/TestLatLonBoundingBoxQueries.java       |    6 +-
 .../lucene/sandbox/search/TestLongHashSet.java     |    2 +-
 .../sandbox/search/TestMultiRangeQueries.java      |    8 +-
 .../apache/lucene/sandbox/search/TestNearest.java  |    8 +-
 .../sandbox/search/TestPhraseWildcardQuery.java    |    4 +-
 .../sandbox/search/TestProfilerCollector.java      |    6 +-
 .../search/TestQueryProfilerIndexSearcher.java     |    8 +-
 .../sandbox/search/TestQueryProfilerScorer.java    |    2 +-
 .../sandbox/search/TestTermAutomatonQuery.java     |   14 +-
 .../org/apache/lucene/spatial/SpatialTestCase.java |    8 +-
 .../lucene/spatial/TestQueryEqualsHashCode.java    |    2 +-
 .../org/apache/lucene/spatial/TestSpatialArgs.java |    2 +-
 .../apache/lucene/spatial/TestSpatialExample.java  |    2 +-
 .../apache/lucene/spatial/TestTestFramework.java   |    2 +-
 .../prefix/TestRecursivePrefixTreeStrategy.java    |    2 +-
 .../prefix/tree/TestDateRangePrefixTree.java       |    2 +-
 .../spatial/prefix/tree/TestS2PrefixTree.java      |    2 +-
 .../spatial/query/TestSpatialArgsParser.java       |    2 +-
 .../spatial/spatial4j/RandomizedShapeTestCase.java |    2 +-
 .../apache/lucene/spatial/spatial4j/TestGeo3d.java |    2 +-
 .../lucene/spatial3d/TestGeo3DDocValues.java       |    4 +-
 .../apache/lucene/spatial3d/TestGeo3DPoint.java    |    8 +-
 .../geom/TestCompositeGeoPolygonRelationships.java |    2 +-
 .../apache/lucene/spatial3d/geom/TestGeoBBox.java  |    2 +-
 .../lucene/spatial3d/geom/TestGeoCircle.java       |    2 +-
 .../spatial3d/geom/TestGeoConvexPolygon.java       |    2 +-
 .../lucene/spatial3d/geom/TestGeoExactCircle.java  |    2 +-
 .../apache/lucene/spatial3d/geom/TestGeoModel.java |    2 +-
 .../apache/lucene/spatial3d/geom/TestGeoPath.java  |    2 +-
 .../apache/lucene/spatial3d/geom/TestGeoPoint.java |    2 +-
 .../lucene/spatial3d/geom/TestGeoPolygon.java      |    2 +-
 .../apache/lucene/spatial3d/geom/TestPlane.java    |    2 +-
 .../spatial3d/geom/TestRandomBinaryCodec.java      |    2 +-
 .../spatial3d/geom/TestRandomGeoPolygon.java       |    2 +-
 .../geom/TestRandomGeoShapeRelationship.java       |    2 +-
 .../lucene/spatial3d/geom/TestRandomPlane.java     |    2 +-
 .../geom/TestSimpleGeoPolygonRelationships.java    |    2 +-
 .../apache/lucene/spatial3d/geom/TestXYZSolid.java |    2 +-
 .../search/spell/TestDirectSpellChecker.java       |   10 +-
 .../search/spell/TestJaroWinklerDistance.java      |    2 +-
 .../search/spell/TestLevenshteinDistance.java      |    2 +-
 .../lucene/search/spell/TestLuceneDictionary.java  |    6 +-
 .../lucene/search/spell/TestNGramDistance.java     |    2 +-
 .../search/spell/TestPlainTextDictionary.java      |    2 +-
 .../lucene/search/spell/TestSpellChecker.java      |    6 +-
 .../search/spell/TestWordBreakSpellChecker.java    |   12 +-
 .../search/suggest/TestDocumentDictionary.java     |    6 +-
 .../suggest/TestDocumentValueSourceDictionary.java |    6 +-
 .../lucene/search/suggest/TestFileDictionary.java  |    4 +-
 .../suggest/TestHighFrequencyDictionary.java       |    4 +-
 .../lucene/search/suggest/TestInputIterator.java   |    4 +-
 .../lucene/search/suggest/TestLookupBenchmark.java |    6 +-
 .../lucene/search/suggest/TestPersistence.java     |    4 +-
 .../analyzing/TestAnalyzingInfixSuggester.java     |    8 +-
 .../suggest/analyzing/TestAnalyzingSuggester.java  |   22 +-
 .../analyzing/TestBlendedInfixSuggester.java       |    8 +-
 .../suggest/analyzing/TestFreeTextSuggester.java   |   10 +-
 .../suggest/analyzing/TestFuzzySuggester.java      |   14 +-
 .../suggest/analyzing/TestSuggestStopFilter.java   |    4 +-
 .../analyzing/TestSuggestStopFilterFactory.java    |    2 +-
 .../search/suggest/document/TestContextQuery.java  |    8 +-
 .../suggest/document/TestContextSuggestField.java  |    8 +-
 .../suggest/document/TestFuzzyCompletionQuery.java |    6 +-
 .../document/TestPrefixCompletionQuery.java        |   10 +-
 .../suggest/document/TestRegexCompletionQuery.java |    6 +-
 .../search/suggest/document/TestSuggestField.java  |   12 +-
 .../search/suggest/fst/TestBytesRefSorters.java    |    2 +-
 .../search/suggest/fst/TestFSTCompletion.java      |    2 +
 .../search/suggest/fst/TestWFSTCompletion.java     |    4 +-
 lucene/test-framework/build.gradle                 |   10 +-
 lucene/test-framework/src/java/module-info.java    |   73 +
 .../analysis/BaseTokenStreamFactoryTestCase.java   |  162 -
 .../lucene/analysis/BaseTokenStreamTestCase.java   | 1533 ----
 .../lucene/analysis/CannedBinaryTokenStream.java   |   80 -
 .../apache/lucene/analysis/CannedTokenStream.java  |   71 -
 .../apache/lucene/analysis/CollationTestBase.java  |  214 -
 .../apache/lucene/analysis/CrankyTokenFilter.java  |   70 -
 .../lucene/analysis/LookaheadTokenFilter.java      |  319 -
 .../org/apache/lucene/analysis/MockAnalyzer.java   |  183 -
 .../apache/lucene/analysis/MockBytesAnalyzer.java  |   38 -
 .../org/apache/lucene/analysis/MockCharFilter.java |  106 -
 .../analysis/MockFixedLengthPayloadFilter.java     |   51 -
 .../lucene/analysis/MockGraphTokenFilter.java      |  127 -
 .../analysis/MockHoleInjectingTokenFilter.java     |   78 -
 .../lucene/analysis/MockLowerCaseFilter.java       |   38 -
 .../lucene/analysis/MockPayloadAnalyzer.java       |   86 -
 .../analysis/MockRandomLookaheadTokenFilter.java   |   95 -
 .../apache/lucene/analysis/MockReaderWrapper.java  |   94 -
 .../lucene/analysis/MockSynonymAnalyzer.java       |   27 -
 .../apache/lucene/analysis/MockSynonymFilter.java  |   99 -
 .../apache/lucene/analysis/MockTokenFilter.java    |  128 -
 .../org/apache/lucene/analysis/MockTokenizer.java  |  368 -
 .../analysis/MockUTF16TermAttributeImpl.java       |   43 -
 .../analysis/MockVariableLengthPayloadFilter.java  |   50 -
 .../lucene/analysis/SimplePayloadFilter.java       |   54 -
 .../src/java/org/apache/lucene/analysis/Token.java |  213 -
 .../apache/lucene/analysis/TokenStreamToDot.java   |  166 -
 .../lucene/analysis/ValidatingTokenFilter.java     |  236 -
 .../apache/lucene/analysis/VocabularyAssert.java   |   82 -
 .../java/org/apache/lucene/analysis/package.html   |   42 -
 .../EmojiTokenizationTestUnicode_12_1.java         | 8092 --------------------
 .../standard/WordBreakTestUnicode_12_1_0.java      | 8039 -------------------
 .../standard/generateEmojiTokenizationTest.pl      |  150 -
 .../standard/generateJavaUnicodeWordBreakTest.pl   |  262 -
 .../apache/lucene/analysis/standard/package.html   |   26 -
 .../apache/lucene/codecs/MissingOrdRemapper.java   |  120 -
 .../lucene/codecs/asserting/AssertingCodec.java    |  158 -
 .../codecs/asserting/AssertingDocValuesFormat.java |  307 -
 .../asserting/AssertingKnnVectorsFormat.java       |  120 -
 .../codecs/asserting/AssertingLiveDocsFormat.java  |   96 -
 .../codecs/asserting/AssertingNormsFormat.java     |  130 -
 .../codecs/asserting/AssertingPointsFormat.java    |  141 -
 .../codecs/asserting/AssertingPostingsFormat.java  |  233 -
 .../asserting/AssertingStoredFieldsFormat.java     |  161 -
 .../asserting/AssertingTermVectorsFormat.java      |  212 -
 .../lucene/codecs/asserting/package-info.java      |   19 -
 .../lucene/codecs/blockterms/LuceneFixedGap.java   |  122 -
 .../blockterms/LuceneVarGapDocFreqInterval.java    |  130 -
 .../blockterms/LuceneVarGapFixedInterval.java      |  125 -
 .../apache/lucene/codecs/blockterms/package.html   |   26 -
 .../bloom/TestBloomFilteredLucenePostings.java     |   75 -
 .../org/apache/lucene/codecs/bloom/package.html    |   26 -
 .../codecs/cheapbastard/CheapBastardCodec.java     |   38 -
 .../lucene/codecs/cheapbastard/package-info.java   |   22 -
 .../codecs/compressing/CompressingCodec.java       |  155 -
 .../DeflateWithPresetCompressingCodec.java         |   40 -
 .../codecs/compressing/FastCompressingCodec.java   |   38 -
 .../FastDecompressionCompressingCodec.java         |   38 -
 .../HighCompressionCompressingCodec.java           |   40 -
 .../compressing/LZ4WithPresetCompressingCodec.java |   40 -
 .../compressing/dummy/DummyCompressingCodec.java   |  103 -
 .../codecs/compressing/dummy/package-info.java     |   19 -
 .../apache/lucene/codecs/compressing/package.html  |   26 -
 .../apache/lucene/codecs/cranky/CrankyCodec.java   |   99 -
 .../lucene/codecs/cranky/CrankyCompoundFormat.java |   49 -
 .../codecs/cranky/CrankyDocValuesFormat.java       |  115 -
 .../codecs/cranky/CrankyFieldInfosFormat.java      |   56 -
 .../lucene/codecs/cranky/CrankyLiveDocsFormat.java |   58 -
 .../lucene/codecs/cranky/CrankyNormsFormat.java    |   75 -
 .../lucene/codecs/cranky/CrankyPointsFormat.java   |  248 -
 .../lucene/codecs/cranky/CrankyPostingsFormat.java |   79 -
 .../codecs/cranky/CrankySegmentInfoFormat.java     |   49 -
 .../codecs/cranky/CrankyStoredFieldsFormat.java    |  128 -
 .../codecs/cranky/CrankyTermVectorsFormat.java     |  174 -
 .../apache/lucene/codecs/cranky/package-info.java  |   19 -
 .../mockrandom/MockRandomPostingsFormat.java       |  393 -
 .../lucene/codecs/mockrandom/package-info.java     |   19 -
 .../src/java/org/apache/lucene/codecs/package.html |   26 -
 .../codecs/ramonly/RAMOnlyPostingsFormat.java      |  594 --
 .../apache/lucene/codecs/ramonly/package-info.java |   19 -
 .../codecs/uniformsplit/Rot13CypherTestUtil.java   |   69 -
 .../UniformSplitRot13PostingsFormat.java           |  167 -
 .../apache/lucene/codecs/uniformsplit/package.html |   43 -
 .../STUniformSplitRot13PostingsFormat.java         |   71 -
 .../codecs/uniformsplit/sharedterms/package.html   |   43 -
 .../apache/lucene/geo/BaseGeoPointTestCase.java    | 1757 -----
 .../org/apache/lucene/geo/BaseXYPointTestCase.java | 1580 ----
 .../java/org/apache/lucene/geo/EarthDebugger.java  |  329 -
 .../java/org/apache/lucene/geo/GeoTestUtil.java    |  805 --
 .../java/org/apache/lucene/geo/ShapeTestUtil.java  |  315 -
 .../src/java/org/apache/lucene/geo/package.html    |   26 -
 .../apache/lucene/index/AlcoholicMergePolicy.java  |   79 -
 .../lucene/index/AllDeletedFilterReader.java       |   50 -
 .../lucene/index/AssertingDirectoryReader.java     |   44 -
 .../apache/lucene/index/AssertingLeafReader.java   | 1469 ----
 .../lucene/index/BaseCompoundFormatTestCase.java   |  915 ---
 .../BaseCompressingDocValuesFormatTestCase.java    |  127 -
 .../lucene/index/BaseDocValuesFormatTestCase.java  | 3647 ---------
 .../lucene/index/BaseFieldInfoFormatTestCase.java  |  418 -
 .../lucene/index/BaseIndexFileFormatTestCase.java  |  962 ---
 .../lucene/index/BaseKnnVectorsFormatTestCase.java | 1010 ---
 .../lucene/index/BaseLiveDocsFormatTestCase.java   |  147 -
 .../lucene/index/BaseMergePolicyTestCase.java      |  500 --
 .../lucene/index/BaseNormsFormatTestCase.java      |  848 --
 .../lucene/index/BasePointsFormatTestCase.java     | 1393 ----
 .../lucene/index/BasePostingsFormatTestCase.java   | 1599 ----
 .../index/BaseSegmentInfoFormatTestCase.java       |  649 --
 .../index/BaseStoredFieldsFormatTestCase.java      |  973 ---
 .../index/BaseTermVectorsFormatTestCase.java       | 1896 -----
 .../apache/lucene/index/BaseTestCheckIndex.java    |  163 -
 .../java/org/apache/lucene/index/DocHelper.java    |  320 -
 .../apache/lucene/index/FieldFilterLeafReader.java |  188 -
 .../org/apache/lucene/index/ForceMergePolicy.java  |   42 -
 .../lucene/index/IndexWriterMaxDocsChanger.java    |   48 -
 .../apache/lucene/index/MergingCodecReader.java    |   94 -
 .../index/MergingDirectoryReaderWrapper.java       |   50 -
 .../lucene/index/MismatchedDirectoryReader.java    |   51 -
 .../apache/lucene/index/MismatchedLeafReader.java  |  149 -
 .../lucene/index/MockIndexWriterEventListener.java |   37 -
 .../apache/lucene/index/MockRandomMergePolicy.java |  232 -
 .../lucene/index/OwnCacheKeyMultiReader.java       |   61 -
 .../org/apache/lucene/index/PerThreadPKLookup.java |   95 -
 .../apache/lucene/index/PointsStackTracker.java    |   96 -
 .../java/org/apache/lucene/index/RandomCodec.java  |  309 -
 .../org/apache/lucene/index/RandomIndexWriter.java |  581 --
 .../apache/lucene/index/RandomPostingsTester.java  | 1697 ----
 .../index/SuppressingConcurrentMergeScheduler.java |   35 -
 .../ThreadedIndexingAndSearchingTestCase.java      |  758 --
 .../src/java/org/apache/lucene/index/package.html  |   32 -
 .../org/apache/lucene/mockfile/DisableFsyncFS.java |   63 -
 .../java/org/apache/lucene/mockfile/ExtrasFS.java  |   85 -
 .../mockfile/FilterAsynchronousFileChannel.java    |  115 -
 .../lucene/mockfile/FilterDirectoryStream.java     |   76 -
 .../apache/lucene/mockfile/FilterFileChannel.java  |  137 -
 .../apache/lucene/mockfile/FilterFileStore.java    |  102 -
 .../apache/lucene/mockfile/FilterFileSystem.java   |  178 -
 .../lucene/mockfile/FilterFileSystemProvider.java  |  282 -
 .../apache/lucene/mockfile/FilterInputStream2.java |   94 -
 .../lucene/mockfile/FilterOutputStream2.java       |   74 -
 .../org/apache/lucene/mockfile/FilterPath.java     |  295 -
 .../lucene/mockfile/FilterSeekableByteChannel.java |   85 -
 .../org/apache/lucene/mockfile/HandleLimitFS.java  |   53 -
 .../apache/lucene/mockfile/HandleTrackingFS.java   |  335 -
 .../java/org/apache/lucene/mockfile/LeakFS.java    |   66 -
 .../lucene/mockfile/MockFileSystemTestCase.java    |  129 -
 .../java/org/apache/lucene/mockfile/ShuffleFS.java |   72 -
 .../java/org/apache/lucene/mockfile/VerboseFS.java |  259 -
 .../apache/lucene/mockfile/VirusCheckingFS.java    |   81 -
 .../java/org/apache/lucene/mockfile/WindowsFS.java |  169 -
 .../org/apache/lucene/mockfile/package-info.java   |   34 -
 .../apache/lucene/search/AssertingBulkScorer.java  |  112 -
 .../apache/lucene/search/AssertingCollector.java   |   64 -
 .../lucene/search/AssertingIndexSearcher.java      |   80 -
 .../lucene/search/AssertingLeafCollector.java      |   56 -
 .../org/apache/lucene/search/AssertingMatches.java |   56 -
 .../lucene/search/AssertingMatchesIterator.java    |   84 -
 .../org/apache/lucene/search/AssertingQuery.java   |   85 -
 .../apache/lucene/search/AssertingScorable.java    |   86 -
 .../org/apache/lucene/search/AssertingScorer.java  |  270 -
 .../org/apache/lucene/search/AssertingWeight.java  |  115 -
 .../lucene/search/BaseExplanationTestCase.java     |  160 -
 .../lucene/search/BaseRangeFieldQueryTestCase.java |  428 --
 .../lucene/search/BlockScoreQueryWrapper.java      |  208 -
 .../lucene/search/BulkScorerWrapperScorer.java     |  122 -
 .../java/org/apache/lucene/search/CheckHits.java   |  759 --
 .../org/apache/lucene/search/MatchesTestBase.java  |  375 -
 .../java/org/apache/lucene/search/QueryUtils.java  |  710 --
 .../lucene/search/RandomApproximationQuery.java    |  209 -
 .../apache/lucene/search/ScorerIndexSearcher.java  |   71 -
 .../lucene/search/SearchEquivalenceTestBase.java   |  240 -
 .../lucene/search/ShardSearchingTestBase.java      |  666 --
 .../src/java/org/apache/lucene/search/package.html |   32 -
 .../search/similarities/AssertingSimilarity.java   |  107 -
 .../similarities/BaseSimilarityTestCase.java       |  522 --
 .../search/similarities/RandomSimilarity.java      |  119 -
 .../apache/lucene/search/similarities/package.html |   31 -
 .../lucene/store/BaseChunkedDirectoryTestCase.java |  334 -
 .../apache/lucene/store/BaseDirectoryTestCase.java | 1346 ----
 .../apache/lucene/store/BaseDirectoryWrapper.java  |   68 -
 .../lucene/store/BaseLockFactoryTestCase.java      |  337 -
 .../apache/lucene/store/CorruptingIndexOutput.java |  108 -
 .../apache/lucene/store/MockDirectoryWrapper.java  | 1126 ---
 .../apache/lucene/store/MockIndexInputWrapper.java |  233 -
 .../lucene/store/MockIndexOutputWrapper.java       |  181 -
 .../apache/lucene/store/RawDirectoryWrapper.java   |   48 -
 .../store/SlowClosingMockIndexInputWrapper.java    |   44 -
 .../store/SlowOpeningMockIndexInputWrapper.java    |   44 -
 .../src/java/org/apache/lucene/store/package.html  |   29 -
 .../analysis/BaseTokenStreamFactoryTestCase.java   |  166 +
 .../tests/analysis/BaseTokenStreamTestCase.java    | 1536 ++++
 .../tests/analysis/CannedBinaryTokenStream.java    |   81 +
 .../lucene/tests/analysis/CannedTokenStream.java   |   72 +
 .../lucene/tests/analysis/CollationTestBase.java   |  216 +
 .../lucene/tests/analysis/CrankyTokenFilter.java   |   72 +
 .../tests/analysis/LookaheadTokenFilter.java       |  321 +
 .../apache/lucene/tests/analysis/MockAnalyzer.java |  186 +
 .../lucene/tests/analysis/MockBytesAnalyzer.java   |   40 +
 .../lucene/tests/analysis/MockCharFilter.java      |  107 +
 .../analysis/MockFixedLengthPayloadFilter.java     |   53 +
 .../tests/analysis/MockGraphTokenFilter.java       |  128 +
 .../analysis/MockHoleInjectingTokenFilter.java     |   80 +
 .../lucene/tests/analysis/MockLowerCaseFilter.java |   41 +
 .../lucene/tests/analysis/MockPayloadAnalyzer.java |   90 +
 .../analysis/MockRandomLookaheadTokenFilter.java   |   96 +
 .../lucene/tests/analysis/MockReaderWrapper.java   |   94 +
 .../lucene/tests/analysis/MockSynonymAnalyzer.java |   29 +
 .../lucene/tests/analysis/MockSynonymFilter.java   |  101 +
 .../lucene/tests/analysis/MockTokenFilter.java     |  130 +
 .../lucene/tests/analysis/MockTokenizer.java       |  369 +
 .../tests/analysis/MockUTF16TermAttributeImpl.java |   43 +
 .../analysis/MockVariableLengthPayloadFilter.java  |   52 +
 .../lucene/tests/analysis/SimplePayloadFilter.java |   56 +
 .../org/apache/lucene/tests/analysis/Token.java    |  213 +
 .../lucene/tests/analysis/TokenStreamToDot.java    |  167 +
 .../tests/analysis/ValidatingTokenFilter.java      |  238 +
 .../lucene/tests/analysis/VocabularyAssert.java    |   83 +
 .../apache/lucene/tests/analysis/package-info.java |   39 +
 .../EmojiTokenizationTestUnicode_12_1.java         | 8092 ++++++++++++++++++++
 .../standard/WordBreakTestUnicode_12_1_0.java      | 8039 +++++++++++++++++++
 .../standard/generateEmojiTokenizationTest.pl      |  150 +
 .../standard/generateJavaUnicodeWordBreakTest.pl   |  262 +
 .../tests/analysis/standard/package-info.java      |   22 +
 .../tests/codecs/asserting/AssertingCodec.java     |  158 +
 .../codecs/asserting/AssertingDocValuesFormat.java |  307 +
 .../asserting/AssertingKnnVectorsFormat.java       |  120 +
 .../codecs/asserting/AssertingLiveDocsFormat.java  |   96 +
 .../codecs/asserting/AssertingNormsFormat.java     |  130 +
 .../codecs/asserting/AssertingPointsFormat.java    |  141 +
 .../codecs/asserting/AssertingPostingsFormat.java  |  233 +
 .../asserting/AssertingStoredFieldsFormat.java     |  161 +
 .../asserting/AssertingTermVectorsFormat.java      |  212 +
 .../tests/codecs/asserting/package-info.java       |   19 +
 .../tests/codecs/blockterms/LuceneFixedGap.java    |  128 +
 .../blockterms/LuceneVarGapDocFreqInterval.java    |  137 +
 .../blockterms/LuceneVarGapFixedInterval.java      |  132 +
 .../tests/codecs/blockterms/package-info.java      |   19 +
 .../bloom/TestBloomFilteredLucenePostings.java     |   78 +
 .../lucene/tests/codecs/bloom/package-info.java    |   22 +
 .../codecs/cheapbastard/CheapBastardCodec.java     |   38 +
 .../tests/codecs/cheapbastard/package-info.java    |   22 +
 .../tests/codecs/compressing/CompressingCodec.java |  156 +
 .../DeflateWithPresetCompressingCodec.java         |   40 +
 .../codecs/compressing/FastCompressingCodec.java   |   40 +
 .../FastDecompressionCompressingCodec.java         |   40 +
 .../HighCompressionCompressingCodec.java           |   42 +
 .../compressing/LZ4WithPresetCompressingCodec.java |   40 +
 .../compressing/dummy/DummyCompressingCodec.java   |  103 +
 .../codecs/compressing/dummy/package-info.java     |   19 +
 .../tests/codecs/compressing/package-info.java     |   22 +
 .../lucene/tests/codecs/cranky/CrankyCodec.java    |   99 +
 .../tests/codecs/cranky/CrankyCompoundFormat.java  |   49 +
 .../tests/codecs/cranky/CrankyDocValuesFormat.java |  115 +
 .../codecs/cranky/CrankyFieldInfosFormat.java      |   56 +
 .../tests/codecs/cranky/CrankyLiveDocsFormat.java  |   58 +
 .../tests/codecs/cranky/CrankyNormsFormat.java     |   75 +
 .../tests/codecs/cranky/CrankyPointsFormat.java    |  248 +
 .../tests/codecs/cranky/CrankyPostingsFormat.java  |   79 +
 .../codecs/cranky/CrankySegmentInfoFormat.java     |   49 +
 .../codecs/cranky/CrankyStoredFieldsFormat.java    |  128 +
 .../codecs/cranky/CrankyTermVectorsFormat.java     |  174 +
 .../lucene/tests/codecs/cranky/package-info.java   |   19 +
 .../mockrandom/MockRandomPostingsFormat.java       |  393 +
 .../tests/codecs/mockrandom/package-info.java      |   19 +
 .../apache/lucene/tests/codecs/package-info.java   |   19 +
 .../codecs/ramonly/RAMOnlyPostingsFormat.java      |  594 ++
 .../lucene/tests/codecs/ramonly/package-info.java  |   19 +
 .../codecs/uniformsplit/Rot13CypherTestUtil.java   |   71 +
 .../UniformSplitRot13PostingsFormat.java           |  173 +
 .../tests/codecs/uniformsplit/package-info.java    |   22 +
 .../STUniformSplitRot13PostingsFormat.java         |   74 +
 .../uniformsplit/sharedterms/package-info.java     |   22 +
 .../lucene/tests/geo/BaseGeoPointTestCase.java     | 1763 +++++
 .../lucene/tests/geo/BaseXYPointTestCase.java      | 1586 ++++
 .../org/apache/lucene/tests/geo/EarthDebugger.java |  331 +
 .../org/apache/lucene/tests/geo/GeoTestUtil.java   |  811 ++
 .../org/apache/lucene/tests/geo/ShapeTestUtil.java |  322 +
 .../org/apache/lucene/tests/geo/package-info.java  |   19 +
 .../lucene/tests/index/AlcoholicMergePolicy.java   |   81 +
 .../lucene/tests/index/AllDeletedFilterReader.java |   52 +
 .../tests/index/AssertingDirectoryReader.java      |   47 +
 .../lucene/tests/index/AssertingLeafReader.java    | 1490 ++++
 .../tests/index/BaseCompoundFormatTestCase.java    |  919 +++
 .../BaseCompressingDocValuesFormatTestCase.java    |  129 +
 .../tests/index/BaseDocValuesFormatTestCase.java   | 3665 +++++++++
 .../tests/index/BaseFieldInfoFormatTestCase.java   |  430 ++
 .../tests/index/BaseIndexFileFormatTestCase.java   |  984 +++
 .../tests/index/BaseKnnVectorsFormatTestCase.java  | 1023 +++
 .../tests/index/BaseLiveDocsFormatTestCase.java    |  150 +
 .../tests/index/BaseMergePolicyTestCase.java       |  512 ++
 .../tests/index/BaseNormsFormatTestCase.java       |  858 +++
 .../tests/index/BasePointsFormatTestCase.java      | 1409 ++++
 .../tests/index/BasePostingsFormatTestCase.java    | 1613 ++++
 .../tests/index/BaseSegmentInfoFormatTestCase.java |  652 ++
 .../index/BaseStoredFieldsFormatTestCase.java      |  988 +++
 .../tests/index/BaseTermVectorsFormatTestCase.java | 1905 +++++
 .../lucene/tests/index/BaseTestCheckIndex.java     |  166 +
 .../org/apache/lucene/tests/index/DocHelper.java   |  326 +
 .../lucene/tests/index/FieldFilterLeafReader.java  |  200 +
 .../lucene/tests/index/ForceMergePolicy.java       |   46 +
 .../lucene/tests/index/MergeReaderWrapper.java     |  273 +
 .../lucene/tests/index/MergingCodecReader.java     |   96 +
 .../tests/index/MergingDirectoryReaderWrapper.java |   54 +
 .../tests/index/MismatchedDirectoryReader.java     |   54 +
 .../lucene/tests/index/MismatchedLeafReader.java   |  154 +
 .../tests/index/MockIndexWriterEventListener.java  |   40 +
 .../lucene/tests/index/MockRandomMergePolicy.java  |  239 +
 .../lucene/tests/index/OwnCacheKeyMultiReader.java |   64 +
 .../lucene/tests/index/PerThreadPKLookup.java      |  100 +
 .../lucene/tests/index/PointsStackTracker.java     |   96 +
 .../org/apache/lucene/tests/index/RandomCodec.java |  313 +
 .../lucene/tests/index/RandomIndexWriter.java      |  596 ++
 .../lucene/tests/index/RandomPostingsTester.java   | 1716 +++++
 .../index/SuppressingConcurrentMergeScheduler.java |   37 +
 .../ThreadedIndexingAndSearchingTestCase.java      |  780 ++
 .../apache/lucene/tests/index/package-info.java    |   30 +
 .../lucene/tests/mockfile/DisableFsyncFS.java      |   63 +
 .../org/apache/lucene/tests/mockfile/ExtrasFS.java |   85 +
 .../mockfile/FilterAsynchronousFileChannel.java    |  115 +
 .../tests/mockfile/FilterDirectoryStream.java      |   76 +
 .../lucene/tests/mockfile/FilterFileChannel.java   |  137 +
 .../lucene/tests/mockfile/FilterFileStore.java     |  102 +
 .../lucene/tests/mockfile/FilterFileSystem.java    |  178 +
 .../tests/mockfile/FilterFileSystemProvider.java   |  282 +
 .../lucene/tests/mockfile/FilterInputStream2.java  |   94 +
 .../lucene/tests/mockfile/FilterOutputStream2.java |   74 +
 .../apache/lucene/tests/mockfile/FilterPath.java   |  295 +
 .../tests/mockfile/FilterSeekableByteChannel.java  |   85 +
 .../lucene/tests/mockfile/HandleLimitFS.java       |   53 +
 .../lucene/tests/mockfile/HandleTrackingFS.java    |  335 +
 .../org/apache/lucene/tests/mockfile/LeakFS.java   |   66 +
 .../tests/mockfile/MockFileSystemTestCase.java     |  129 +
 .../apache/lucene/tests/mockfile/ShuffleFS.java    |   72 +
 .../apache/lucene/tests/mockfile/VerboseFS.java    |  259 +
 .../lucene/tests/mockfile/VirusCheckingFS.java     |   81 +
 .../apache/lucene/tests/mockfile/WindowsFS.java    |  169 +
 .../apache/lucene/tests/mockfile/package-info.java |   35 +
 .../lucene/tests/search/AssertingBulkScorer.java   |  116 +
 .../lucene/tests/search/AssertingCollector.java    |   68 +
 .../tests/search/AssertingIndexSearcher.java       |   85 +
 .../tests/search/AssertingLeafCollector.java       |   60 +
 .../lucene/tests/search/AssertingMatches.java      |   59 +
 .../tests/search/AssertingMatchesIterator.java     |   86 +
 .../apache/lucene/tests/search/AssertingQuery.java |   90 +
 .../lucene/tests/search/AssertingScorable.java     |   91 +
 .../lucene/tests/search/AssertingScorer.java       |  274 +
 .../lucene/tests/search/AssertingWeight.java       |  122 +
 .../tests/search/BaseExplanationTestCase.java      |  165 +
 .../tests/search/BaseRangeFieldQueryTestCase.java  |  432 ++
 .../tests/search/BlockScoreQueryWrapper.java       |  216 +
 .../tests/search/BulkScorerWrapperScorer.java      |  128 +
 .../org/apache/lucene/tests/search/CheckHits.java  |  776 ++
 .../lucene/tests/search/MatchesTestBase.java       |  383 +
 .../org/apache/lucene/tests/search/QueryUtils.java |  722 ++
 .../tests/search/RandomApproximationQuery.java     |  218 +
 .../lucene/tests/search/ScorerIndexSearcher.java   |   78 +
 .../tests/search/SearchEquivalenceTestBase.java    |  248 +
 .../tests/search/ShardSearchingTestBase.java       |  677 ++
 .../apache/lucene/tests/search/package-info.java   |   30 +
 .../search/similarities/AssertingSimilarity.java   |  108 +
 .../similarities/BaseSimilarityTestCase.java       |  524 ++
 .../search/similarities/RandomSimilarity.java      |  156 +
 .../tests/search/similarities/package-info.java    |   26 +
 .../tests/store/BaseChunkedDirectoryTestCase.java  |  340 +
 .../lucene/tests/store/BaseDirectoryTestCase.java  | 1354 ++++
 .../lucene/tests/store/BaseDirectoryWrapper.java   |   70 +
 .../tests/store/BaseLockFactoryTestCase.java       |  341 +
 .../lucene/tests/store/CorruptingIndexOutput.java  |  112 +
 .../lucene/tests/store/MockDirectoryWrapper.java   | 1133 +++
 .../lucene/tests/store/MockIndexInputWrapper.java  |  234 +
 .../lucene/tests/store/MockIndexOutputWrapper.java |  184 +
 .../lucene/tests/store/RawDirectoryWrapper.java    |   46 +
 .../store/SlowClosingMockIndexInputWrapper.java    |   45 +
 .../store/SlowOpeningMockIndexInputWrapper.java    |   45 +
 .../apache/lucene/tests/store/package-info.java    |   24 +
 .../lucene/tests/util/AbstractBeforeAfterRule.java |   62 +
 .../lucene/tests/util/BaseBitSetTestCase.java      |  308 +
 .../lucene/tests/util/BaseDocIdSetTestCase.java    |  199 +
 .../lucene/tests/util/CloseableDirectory.java      |   50 +
 .../java/org/apache/lucene/tests/util/English.java |  183 +
 .../tests/util/FailOnNonBulkMergesInfoStream.java  |   38 +
 .../apache/lucene/tests/util/FailureMarker.java    |   46 +
 .../org/apache/lucene/tests/util/LineFileDocs.java |  319 +
 .../tests/util/LuceneJUnit3MethodProvider.java     |   48 +
 .../apache/lucene/tests/util/LuceneTestCase.java   | 3281 ++++++++
 .../apache/lucene/tests/util/NullInfoStream.java   |   44 +
 .../lucene/tests/util/QuickPatchThreadsFilter.java |   47 +
 .../apache/lucene/tests/util/RamUsageTester.java   |  371 +
 .../apache/lucene/tests/util/RemoveUponClose.java  |   60 +
 .../java/org/apache/lucene/tests/util/Rethrow.java |   39 +
 .../tests/util/RunListenerPrintReproduceInfo.java  |  229 +
 .../tests/util/TestRuleAssertionsRequired.java     |   57 +
 .../apache/lucene/tests/util/TestRuleDelegate.java |   43 +
 .../tests/util/TestRuleIgnoreAfterMaxFailures.java |   64 +
 .../tests/util/TestRuleIgnoreTestSuites.java       |   56 +
 .../lucene/tests/util/TestRuleLimitSysouts.java    |  308 +
 .../lucene/tests/util/TestRuleMarkFailure.java     |  102 +
 .../util/TestRuleRestoreSystemProperties.java      |   75 +
 .../util/TestRuleSetupAndRestoreClassEnv.java      |  300 +
 .../util/TestRuleSetupAndRestoreInstanceEnv.java   |   37 +
 .../tests/util/TestRuleSetupTeardownChained.java   |   57 +
 .../lucene/tests/util/TestRuleStoreClassName.java  |   54 +
 .../tests/util/TestRuleTemporaryFilesCleanup.java  |  324 +
 .../tests/util/TestRuleThreadAndTestName.java      |   53 +
 .../lucene/tests/util/TestSecurityManager.java     |   91 +
 .../org/apache/lucene/tests/util/TestUtil.java     | 1767 +++++
 .../lucene/tests/util/ThrottledIndexOutput.java    |  149 +
 .../org/apache/lucene/tests/util/TimeUnits.java    |   29 +
 .../util/VerifyTestClassNamingConvention.java      |   52 +
 .../tests/util/automaton/AutomatonTestUtil.java    |  527 ++
 .../lucene/tests/util/automaton/package-info.java  |   23 +
 .../apache/lucene/tests/util/fst/FSTTester.java    |  852 +++
 .../apache/lucene/tests/util/fst/package-info.java |   19 +
 .../org/apache/lucene/tests/util/package-info.java |   22 +
 .../lucene/util/AbstractBeforeAfterRule.java       |   62 -
 .../org/apache/lucene/util/BaseBitSetTestCase.java |  301 -
 .../apache/lucene/util/BaseDocIdSetTestCase.java   |  198 -
 .../org/apache/lucene/util/CloseableDirectory.java |   50 -
 .../src/java/org/apache/lucene/util/English.java   |  183 -
 .../lucene/util/FailOnNonBulkMergesInfoStream.java |   37 -
 .../java/org/apache/lucene/util/FailureMarker.java |   46 -
 .../java/org/apache/lucene/util/LineFileDocs.java  |  316 -
 .../lucene/util/LuceneJUnit3MethodProvider.java    |   48 -
 .../org/apache/lucene/util/LuceneTestCase.java     | 3263 --------
 .../org/apache/lucene/util/NullInfoStream.java     |   43 -
 .../lucene/util/QuickPatchThreadsFilter.java       |   46 -
 .../org/apache/lucene/util/RamUsageTester.java     |  368 -
 .../org/apache/lucene/util/RemoveUponClose.java    |   59 -
 .../src/java/org/apache/lucene/util/Rethrow.java   |   39 -
 .../lucene/util/RunListenerPrintReproduceInfo.java |  228 -
 .../lucene/util/TestRuleAssertionsRequired.java    |   57 -
 .../org/apache/lucene/util/TestRuleDelegate.java   |   43 -
 .../util/TestRuleIgnoreAfterMaxFailures.java       |   64 -
 .../lucene/util/TestRuleIgnoreTestSuites.java      |   56 -
 .../apache/lucene/util/TestRuleLimitSysouts.java   |  308 -
 .../apache/lucene/util/TestRuleMarkFailure.java    |  102 -
 .../util/TestRuleRestoreSystemProperties.java      |   75 -
 .../util/TestRuleSetupAndRestoreClassEnv.java      |  298 -
 .../util/TestRuleSetupAndRestoreInstanceEnv.java   |   37 -
 .../lucene/util/TestRuleSetupTeardownChained.java  |   57 -
 .../apache/lucene/util/TestRuleStoreClassName.java |   54 -
 .../lucene/util/TestRuleTemporaryFilesCleanup.java |  322 -
 .../lucene/util/TestRuleThreadAndTestName.java     |   53 -
 .../apache/lucene/util/TestSecurityManager.java    |   90 -
 .../src/java/org/apache/lucene/util/TestUtil.java  | 1760 -----
 .../apache/lucene/util/ThrottledIndexOutput.java   |  148 -
 .../src/java/org/apache/lucene/util/TimeUnits.java |   29 -
 .../util/VerifyTestClassNamingConvention.java      |   52 -
 .../lucene/util/automaton/AutomatonTestUtil.java   |  522 --
 .../org/apache/lucene/util/automaton/package.html  |   27 -
 .../java/org/apache/lucene/util/fst/FSTTester.java |  847 --
 .../java/org/apache/lucene/util/fst/package.html   |   26 -
 .../src/java/org/apache/lucene/util/package.html   |   27 -
 .../services/org.apache.lucene.codecs.Codec        |   16 +-
 .../org.apache.lucene.codecs.DocValuesFormat       |    2 +-
 .../org.apache.lucene.codecs.KnnVectorsFormat      |    2 +-
 .../org.apache.lucene.codecs.PostingsFormat        |   18 +-
 .../lucene/{ => tests}/geo/lucene-9251.wkt.gz      |  Bin
 .../lucene/{ => tests}/geo/lucene-9417.geojson.gz  |  Bin
 .../{ => tests}/geo/lucene-9538-invalid.geojson.gz |  Bin
 .../lucene/{ => tests}/util/europarl.lines.txt.gz  |  Bin
 .../{ => tests}/util/europarl.lines.txt.seek       |    0
 .../lucene/analysis/TestLookaheadTokenFilter.java  |  102 -
 .../apache/lucene/analysis/TestMockAnalyzer.java   |  330 -
 .../apache/lucene/analysis/TestMockCharFilter.java |   47 -
 .../lucene/analysis/TestMockSynonymFilter.java     |  178 -
 .../org/apache/lucene/analysis/TestPosition.java   |   33 -
 .../test/org/apache/lucene/analysis/TestToken.java |  189 -
 .../lucene/analysis/TrivialLookaheadFilter.java    |  103 -
 .../asserting/TestAssertingDocValuesFormat.java    |   30 -
 .../codecs/asserting/TestAssertingNormsFormat.java |   30 -
 .../asserting/TestAssertingPointsFormat.java       |   30 -
 .../asserting/TestAssertingPostingsFormat.java     |   35 -
 .../asserting/TestAssertingStoredFieldsFormat.java |   30 -
 .../asserting/TestAssertingTermVectorsFormat.java  |   35 -
 .../TestCompressingStoredFieldsFormat.java         |  328 -
 .../TestCompressingTermVectorsFormat.java          |  132 -
 .../lucene/index/TestAssertingLeafReader.java      |   66 -
 .../apache/lucene/index/TestForceMergePolicy.java  |   27 -
 .../apache/lucene/mockfile/TestDisableFsyncFS.java |   51 -
 .../org/apache/lucene/mockfile/TestExtrasFS.java   |   83 -
 .../apache/lucene/mockfile/TestHandleLimitFS.java  |   64 -
 .../lucene/mockfile/TestHandleTrackingFS.java      |   99 -
 .../org/apache/lucene/mockfile/TestLeakFS.java     |  118 -
 .../org/apache/lucene/mockfile/TestShuffleFS.java  |  166 -
 .../org/apache/lucene/mockfile/TestVerboseFS.java  |  234 -
 .../lucene/mockfile/TestVirusCheckingFS.java       |   65 -
 .../org/apache/lucene/mockfile/TestWindowsFS.java  |  185 -
 .../lucene/search/TestBaseExplanationTestCase.java |  121 -
 .../lucene/store/TestMockDirectoryWrapper.java     |  207 -
 .../tests/analysis/TestLookaheadTokenFilter.java   |  105 +
 .../lucene/tests/analysis/TestMockAnalyzer.java    |  335 +
 .../lucene/tests/analysis/TestMockCharFilter.java  |   49 +
 .../tests/analysis/TestMockSynonymFilter.java      |  179 +
 .../apache/lucene/tests/analysis/TestPosition.java |   33 +
 .../apache/lucene/tests/analysis/TestToken.java    |  191 +
 .../tests/analysis/TrivialLookaheadFilter.java     |  104 +
 .../asserting/TestAssertingDocValuesFormat.java    |   30 +
 .../codecs/asserting/TestAssertingNormsFormat.java |   30 +
 .../asserting/TestAssertingPointsFormat.java       |   30 +
 .../asserting/TestAssertingPostingsFormat.java     |   35 +
 .../asserting/TestAssertingStoredFieldsFormat.java |   30 +
 .../asserting/TestAssertingTermVectorsFormat.java  |   35 +
 .../tests/index/TestAssertingLeafReader.java       |   72 +
 .../lucene/tests/index/TestForceMergePolicy.java   |   29 +
 .../lucene/tests/mockfile/TestDisableFsyncFS.java  |   51 +
 .../apache/lucene/tests/mockfile/TestExtrasFS.java |   83 +
 .../lucene/tests/mockfile/TestHandleLimitFS.java   |   64 +
 .../tests/mockfile/TestHandleTrackingFS.java       |   99 +
 .../apache/lucene/tests/mockfile/TestLeakFS.java   |  118 +
 .../lucene/tests/mockfile/TestShuffleFS.java       |  166 +
 .../lucene/tests/mockfile/TestVerboseFS.java       |  234 +
 .../lucene/tests/mockfile/TestVirusCheckingFS.java |   65 +
 .../lucene/tests/mockfile/TestWindowsFS.java       |  185 +
 .../tests/search/TestBaseExplanationTestCase.java  |  128 +
 .../tests/store/TestMockDirectoryWrapper.java      |  214 +
 .../org/apache/lucene/tests/util/SorePoint.java    |   29 +
 .../org/apache/lucene/tests/util/SoreType.java     |   23 +
 .../tests/util/TestBeforeAfterOverrides.java       |   75 +
 .../lucene/tests/util/TestCodecReported.java       |   45 +
 .../util/TestExceptionInBeforeClassHooks.java      |  140 +
 .../apache/lucene/tests/util/TestExpectThrows.java |  168 +
 .../tests/util/TestFailIfDirectoryNotClosed.java   |   47 +
 .../tests/util/TestFailIfUnreferencedFiles.java    |   70 +
 .../lucene/tests/util/TestGroupFiltering.java      |   58 +
 .../lucene/tests/util/TestJUnitRuleOrder.java      |   94 +
 .../org/apache/lucene/tests/util/TestJvmInfo.java  |   36 +
 .../lucene/tests/util/TestMaxFailuresRule.java     |  183 +
 .../apache/lucene/tests/util/TestPleaseFail.java   |   35 +
 .../util/TestRamUsageTesterOnWildAnimals.java      |   53 +
 .../lucene/tests/util/TestReproduceMessage.java    |  271 +
 .../util/TestReproduceMessageWithRepeated.java     |   47 +
 .../util/TestRunWithRestrictedPermissions.java     |   59 +
 .../lucene/tests/util/TestSeedFromUncaught.java    |   56 +
 .../tests/util/TestSetupTeardownChaining.java      |   77 +
 .../lucene/tests/util/TestSysoutsLimits.java       |  108 +
 .../tests/util/TestWorstCaseTestBehavior.java      |  102 +
 .../apache/lucene/tests/util/WithNestedTests.java  |  197 +
 .../src/test/org/apache/lucene/util/SorePoint.java |   29 -
 .../src/test/org/apache/lucene/util/SoreType.java  |   23 -
 .../lucene/util/TestBeforeAfterOverrides.java      |   75 -
 .../org/apache/lucene/util/TestCodecReported.java  |   45 -
 .../util/TestExceptionInBeforeClassHooks.java      |  140 -
 .../org/apache/lucene/util/TestExpectThrows.java   |  168 -
 .../lucene/util/TestFailIfDirectoryNotClosed.java  |   47 -
 .../lucene/util/TestFailIfUnreferencedFiles.java   |   70 -
 .../org/apache/lucene/util/TestGroupFiltering.java |   58 -
 .../org/apache/lucene/util/TestJUnitRuleOrder.java |   94 -
 .../test/org/apache/lucene/util/TestJvmInfo.java   |   36 -
 .../apache/lucene/util/TestMaxFailuresRule.java    |  183 -
 .../org/apache/lucene/util/TestPleaseFail.java     |   35 -
 .../util/TestRamUsageTesterOnWildAnimals.java      |   53 -
 .../apache/lucene/util/TestReproduceMessage.java   |  271 -
 .../util/TestReproduceMessageWithRepeated.java     |   47 -
 .../util/TestRunWithRestrictedPermissions.java     |   59 -
 .../apache/lucene/util/TestSeedFromUncaught.java   |   56 -
 .../lucene/util/TestSetupTeardownChaining.java     |   77 -
 .../org/apache/lucene/util/TestSysoutsLimits.java  |  108 -
 .../lucene/util/TestWorstCaseTestBehavior.java     |  102 -
 .../org/apache/lucene/util/WithNestedTests.java    |  196 -
 1926 files changed, 85950 insertions(+), 84512 deletions(-)

diff --git a/dev-tools/scripts/smokeTestRelease.py b/dev-tools/scripts/smokeTestRelease.py
index 7a7e809..1d4f448 100755
--- a/dev-tools/scripts/smokeTestRelease.py
+++ b/dev-tools/scripts/smokeTestRelease.py
@@ -588,7 +588,7 @@ def verifyUnpacked(java, artifact, unpackPath, gitRevision, version, testArgs):
     if len(in_lucene_folder) > 0:
       raise RuntimeError('lucene: unexpected files/dirs in artifact %s lucene/ folder: %s' % (artifact, in_lucene_folder))
   else:
-    is_in_list(in_root_folder, ['bin', 'docs', 'licenses', 'modules', 'modules-test-framework', 'modules-thirdparty'])
+    is_in_list(in_root_folder, ['bin', 'docs', 'licenses', 'modules', 'modules-thirdparty'])
 
   if len(in_root_folder) > 0:
     raise RuntimeError('lucene: unexpected files/dirs in artifact %s: %s' % (artifact, in_root_folder))
diff --git a/gradle/documentation/render-javadoc.gradle b/gradle/documentation/render-javadoc.gradle
index 9579c5d..63cfbf3 100644
--- a/gradle/documentation/render-javadoc.gradle
+++ b/gradle/documentation/render-javadoc.gradle
@@ -228,22 +228,6 @@ configure(project(":lucene:core")) {
   }
 }
 
-// Fix for Java 11 Javadoc tool that cannot handle split packages between modules correctly.
-// (by removing all the packages which are part of lucene-core)
-// See: https://issues.apache.org/jira/browse/LUCENE-8738?focusedCommentId=16818106&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-16818106
-// LUCENE-9499: This workaround should be applied only to test-framework (we have no split package in other modules).
-configure(project(":lucene:test-framework")) {
-  project.tasks.withType(RenderJavadocTask) {
-    doLast {
-      Set luceneCorePackages = file("${project(':lucene:core').tasks[name].outputDir}/element-list").readLines('UTF-8').toSet();
-      File elementFile = file("${outputDir}/element-list");
-      List elements = elementFile.readLines('UTF-8');
-      elements.removeAll(luceneCorePackages)
-      elementFile.write(elements.join('\n').concat('\n'), 'UTF-8');
-    }
-  }
-}
-
 configure(project(':lucene:demo')) {
   project.tasks.withType(RenderJavadocTask) {
     // For the demo, we link the example source in the javadocs, as it's ref'ed elsewhere
@@ -391,9 +375,6 @@ class RenderJavadocTask extends DefaultTask {
     // - find all (enabled) tasks this tasks depends on (with same name), calling findRenderTasksInDependencies()
     // - sort the tasks preferring those whose project name equals 'core', then lexigraphical by path
     // - for each task get output dir to create relative or absolute link
-    // NOTE: explicitly exclude solr/test-framework, or attempting to link to lucene-test-framework because if we did javadoc would
-    // attempt to link class refs in in org.apache.lucene, causing broken links. (either broken links to things like "Directory" if
-    // lucene-test-framework was first, or broken links to things like LuceneTestCase if lucene-core was first)
     findRenderTasksInDependencies()
         .sort(false, Comparator.comparing { (it.project.name != 'core') as Boolean }.thenComparing(Comparator.comparing { it.path }))
         .each { otherTask ->
diff --git a/gradle/java/modules.gradle b/gradle/java/modules.gradle
index 94604b9..0855423 100644
--- a/gradle/java/modules.gradle
+++ b/gradle/java/modules.gradle
@@ -17,6 +17,9 @@
 
 // Configure miscellaneous aspects required for supporting the java module system layer.
 
+// Debugging utilities.
+apply from: buildscript.sourceFile.toPath().resolveSibling("modules-debugging.gradle")
+
 allprojects {
   plugins.withType(JavaPlugin) {
     // We won't be using gradle's built-in automatic module finder.
diff --git a/gradle/testing/randomization.gradle b/gradle/testing/randomization.gradle
index 938ca39..90406f4 100644
--- a/gradle/testing/randomization.gradle
+++ b/gradle/testing/randomization.gradle
@@ -167,10 +167,10 @@ allprojects {
           if (project.path.endsWith(".tests")) {
             // LUCENE-10301: for now, do not use the security manager for modular tests (test framework is not available).
           } else if (project.path == ":lucene:replicator") {
-            systemProperty 'java.security.manager', "org.apache.lucene.util.TestSecurityManager"
+            systemProperty 'java.security.manager', "org.apache.lucene.tests.util.TestSecurityManager"
             systemProperty 'java.security.policy', file("${resources}/policies/replicator-tests.policy")
           } else if (project.path.startsWith(":lucene")) {
-            systemProperty 'java.security.manager', "org.apache.lucene.util.TestSecurityManager"
+            systemProperty 'java.security.manager', "org.apache.lucene.tests.util.TestSecurityManager"
             systemProperty 'java.security.policy', file("${resources}/policies/tests.policy")
           }
 
diff --git a/gradle/testing/randomization/policies/tests.policy b/gradle/testing/randomization/policies/tests.policy
index 71dc799..c32ae6c 100644
--- a/gradle/testing/randomization/policies/tests.policy
+++ b/gradle/testing/randomization/policies/tests.policy
@@ -57,10 +57,7 @@ grant {
   permission java.lang.reflect.ReflectPermission "suppressAccessChecks";
   // needed by cyberneko usage by benchmarks on J9
   permission java.lang.RuntimePermission "accessClassInPackage.org.apache.xerces.util";
-  // needed by org.apache.logging.log4j
-  permission java.lang.RuntimePermission "getenv.*";
   permission java.lang.RuntimePermission "getClassLoader";
-  permission java.lang.RuntimePermission "setContextClassLoader";
 
   // Needed for loading native library (lucene:misc:native) in lucene:misc
   permission java.lang.RuntimePermission "getFileStoreAttributes";
diff --git a/lucene/CHANGES.txt b/lucene/CHANGES.txt
index a7b9d14..0835cb2 100644
--- a/lucene/CHANGES.txt
+++ b/lucene/CHANGES.txt
@@ -14,6 +14,10 @@ API Changes
 * LUCENE-10197: UnifiedHighlighter now has a Builder to construct it.  The UH's setters are now
   deprecated.  (Animesh Pandey, David Smiley)
 
+* LUCENE-10301: the test framework is now a module. All the classes have been moved from
+  org.apache.lucene.* to org.apache.lucene.tests.* to avoid package name conflicts with the
+  core module. (Dawid Weiss)
+
 New Features
 ---------------------
 
diff --git a/lucene/MIGRATE.md b/lucene/MIGRATE.md
index 8c0f0fb..ba48ed5 100644
--- a/lucene/MIGRATE.md
+++ b/lucene/MIGRATE.md
@@ -19,6 +19,13 @@
 
 ## Migration from Lucene 9.0 to Lucene 9.1
 
+### Test framework package migration and module (LUCENE-10301)
+
+The test framework is now a module. All the classes have been moved from
+`org.apache.lucene.*` to `org.apache.lucene.tests.*` to avoid package name conflicts
+with the core module. If you were using the Lucene test framework, the migration should be
+fairly automatic (package prefix).
+
 ### Minor syntactical changes in StandardQueryParser (LUCENE-10223)
 
 Added interval functions and min-should-match support to `StandardQueryParser`. This
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ar/TestArabicAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ar/TestArabicAnalyzer.java
index a4591d0..6d3c7b9 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ar/TestArabicAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ar/TestArabicAnalyzer.java
@@ -17,8 +17,8 @@
 package org.apache.lucene.analysis.ar;
 
 import java.io.IOException;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.CharArraySet;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 
 /** Test the Arabic Analyzer */
 public class TestArabicAnalyzer extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ar/TestArabicFilters.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ar/TestArabicFilters.java
index 246210e..c4f409d 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ar/TestArabicFilters.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ar/TestArabicFilters.java
@@ -18,9 +18,9 @@ package org.apache.lucene.analysis.ar;
 
 import java.io.Reader;
 import java.io.StringReader;
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
 
 /** Simple tests to ensure the Arabic filter Factories are working. */
 public class TestArabicFilters extends BaseTokenStreamFactoryTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ar/TestArabicNormalizationFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ar/TestArabicNormalizationFilter.java
index d833b30..9ac351b 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ar/TestArabicNormalizationFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ar/TestArabicNormalizationFilter.java
@@ -19,10 +19,10 @@ package org.apache.lucene.analysis.ar;
 import java.io.IOException;
 import java.io.StringReader;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.core.KeywordTokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 /** Test the Arabic Normalization Filter */
 public class TestArabicNormalizationFilter extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ar/TestArabicStemFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ar/TestArabicStemFilter.java
index 403a1af..f00d9fa 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ar/TestArabicStemFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ar/TestArabicStemFilter.java
@@ -18,12 +18,12 @@ package org.apache.lucene.analysis.ar;
 
 import java.io.IOException;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.CharArraySet;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.core.KeywordTokenizer;
 import org.apache.lucene.analysis.miscellaneous.SetKeywordMarkerFilter;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 /** Test the Arabic Normalization Filter */
 public class TestArabicStemFilter extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/bg/TestBulgarianAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/bg/TestBulgarianAnalyzer.java
index 52411fc..c37052e 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/bg/TestBulgarianAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/bg/TestBulgarianAnalyzer.java
@@ -18,8 +18,8 @@ package org.apache.lucene.analysis.bg;
 
 import java.io.IOException;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.CharArraySet;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 
 /** Test the Bulgarian analyzer */
 public class TestBulgarianAnalyzer extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/bg/TestBulgarianStemFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/bg/TestBulgarianStemFilterFactory.java
index 35e8a4b..7e34b4c 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/bg/TestBulgarianStemFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/bg/TestBulgarianStemFilterFactory.java
@@ -18,9 +18,9 @@ package org.apache.lucene.analysis.bg;
 
 import java.io.Reader;
 import java.io.StringReader;
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
 
 /** Simple tests to ensure the Bulgarian stem filter factory is working. */
 public class TestBulgarianStemFilterFactory extends BaseTokenStreamFactoryTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/bg/TestBulgarianStemmer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/bg/TestBulgarianStemmer.java
index d55fe0c..e90a142 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/bg/TestBulgarianStemmer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/bg/TestBulgarianStemmer.java
@@ -19,12 +19,12 @@ package org.apache.lucene.analysis.bg;
 import java.io.IOException;
 import java.io.StringReader;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.CharArraySet;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.core.KeywordTokenizer;
 import org.apache.lucene.analysis.miscellaneous.SetKeywordMarkerFilter;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 /** Test the Bulgarian Stemmer */
 public class TestBulgarianStemmer extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/bn/TestBengaliAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/bn/TestBengaliAnalyzer.java
index d199dfe..148b9f1 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/bn/TestBengaliAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/bn/TestBengaliAnalyzer.java
@@ -17,7 +17,7 @@
 package org.apache.lucene.analysis.bn;
 
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 
 /** Tests the BengaliAnalyzer */
 public class TestBengaliAnalyzer extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/bn/TestBengaliFilters.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/bn/TestBengaliFilters.java
index 54a0661..c652aac 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/bn/TestBengaliFilters.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/bn/TestBengaliFilters.java
@@ -18,8 +18,8 @@ package org.apache.lucene.analysis.bn;
 
 import java.io.Reader;
 import java.io.StringReader;
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
 import org.apache.lucene.analysis.TokenStream;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
 
 /** Test Bengali Filter Factory */
 public class TestBengaliFilters extends BaseTokenStreamFactoryTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/bn/TestBengaliNormalizer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/bn/TestBengaliNormalizer.java
index 841859c..eda8775 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/bn/TestBengaliNormalizer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/bn/TestBengaliNormalizer.java
@@ -18,11 +18,11 @@ package org.apache.lucene.analysis.bn;
 
 import java.io.IOException;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.TokenFilter;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.core.KeywordTokenizer;
-import org.apache.lucene.util.TestUtil;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.util.TestUtil;
 
 /** Test BengaliNormalizer */
 public class TestBengaliNormalizer extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/bn/TestBengaliStemmer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/bn/TestBengaliStemmer.java
index 756008a..8e7063e 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/bn/TestBengaliStemmer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/bn/TestBengaliStemmer.java
@@ -18,10 +18,10 @@ package org.apache.lucene.analysis.bn;
 
 import java.io.IOException;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.TokenFilter;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.core.KeywordTokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 
 /** Test Codes for BengaliStemmer */
 public class TestBengaliStemmer extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/boost/TestDelimitedBoostTokenFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/boost/TestDelimitedBoostTokenFilter.java
index 17b5c15..3a4774c 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/boost/TestDelimitedBoostTokenFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/boost/TestDelimitedBoostTokenFilter.java
@@ -16,10 +16,10 @@
  */
 package org.apache.lucene.analysis.boost;
 
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
 import org.apache.lucene.search.BoostAttribute;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 
 public class TestDelimitedBoostTokenFilter extends BaseTokenStreamTestCase {
 
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/br/TestBrazilianAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/br/TestBrazilianAnalyzer.java
index b1f7ada..7bf8da8 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/br/TestBrazilianAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/br/TestBrazilianAnalyzer.java
@@ -19,13 +19,13 @@ package org.apache.lucene.analysis.br;
 import java.io.IOException;
 import java.io.StringReader;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.CharArraySet;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.core.KeywordTokenizer;
 import org.apache.lucene.analysis.core.LetterTokenizer;
 import org.apache.lucene.analysis.core.LowerCaseFilter;
 import org.apache.lucene.analysis.miscellaneous.SetKeywordMarkerFilter;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 
 /**
  * Test the Brazilian Stem Filter, which only modifies the term text.
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/br/TestBrazilianStemFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/br/TestBrazilianStemFilterFactory.java
index 81dd93b..0a7e2a2 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/br/TestBrazilianStemFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/br/TestBrazilianStemFilterFactory.java
@@ -18,10 +18,10 @@ package org.apache.lucene.analysis.br;
 
 import java.io.Reader;
 import java.io.StringReader;
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 /** Simple tests to ensure the Brazilian stem filter factory is working. */
 public class TestBrazilianStemFilterFactory extends BaseTokenStreamFactoryTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ca/TestCatalanAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ca/TestCatalanAnalyzer.java
index 444eef3..048e08e 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ca/TestCatalanAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ca/TestCatalanAnalyzer.java
@@ -18,8 +18,8 @@ package org.apache.lucene.analysis.ca;
 
 import java.io.IOException;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.CharArraySet;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 
 public class TestCatalanAnalyzer extends BaseTokenStreamTestCase {
   /** This test fails with NPE when the stopwords file is missing in classpath */
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/charfilter/TestHTMLStripCharFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/charfilter/TestHTMLStripCharFilter.java
index d91baa6..de07c9d 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/charfilter/TestHTMLStripCharFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/charfilter/TestHTMLStripCharFilter.java
@@ -26,10 +26,10 @@ import java.util.Arrays;
 import java.util.HashSet;
 import java.util.Set;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.Tokenizer;
-import org.apache.lucene.util.TestUtil;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
+import org.apache.lucene.tests.util.TestUtil;
 
 public class TestHTMLStripCharFilter extends BaseTokenStreamTestCase {
 
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/charfilter/TestHTMLStripCharFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/charfilter/TestHTMLStripCharFilterFactory.java
index 8c28f44..72eddd3 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/charfilter/TestHTMLStripCharFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/charfilter/TestHTMLStripCharFilterFactory.java
@@ -18,8 +18,8 @@ package org.apache.lucene.analysis.charfilter;
 
 import java.io.Reader;
 import java.io.StringReader;
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
 import org.apache.lucene.analysis.TokenStream;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
 
 /** Simple tests to ensure this factory is working */
 public class TestHTMLStripCharFilterFactory extends BaseTokenStreamFactoryTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/charfilter/TestMappingCharFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/charfilter/TestMappingCharFilter.java
index 79a8a44..07b8f6a 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/charfilter/TestMappingCharFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/charfilter/TestMappingCharFilter.java
@@ -26,12 +26,12 @@ import java.util.Map;
 import java.util.Random;
 import java.util.Set;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.CharFilter;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
-import org.apache.lucene.util.TestUtil;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
+import org.apache.lucene.tests.util.TestUtil;
 import org.apache.lucene.util.UnicodeUtil;
 
 public class TestMappingCharFilter extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/charfilter/TestMappingCharFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/charfilter/TestMappingCharFilterFactory.java
index eb14290..240daeb 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/charfilter/TestMappingCharFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/charfilter/TestMappingCharFilterFactory.java
@@ -16,7 +16,7 @@
  */
 package org.apache.lucene.analysis.charfilter;
 
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
 
 public class TestMappingCharFilterFactory extends BaseTokenStreamFactoryTestCase {
   public void testParseString() throws Exception {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/cjk/TestCJKAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/cjk/TestCJKAnalyzer.java
index e22bb14..60de5c5 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/cjk/TestCJKAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/cjk/TestCJKAnalyzer.java
@@ -19,9 +19,7 @@ package org.apache.lucene.analysis.cjk;
 import java.io.IOException;
 import java.io.Reader;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.CharArraySet;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.StopFilter;
 import org.apache.lucene.analysis.TokenFilter;
 import org.apache.lucene.analysis.TokenStream;
@@ -31,6 +29,8 @@ import org.apache.lucene.analysis.charfilter.NormalizeCharMap;
 import org.apache.lucene.analysis.core.KeywordTokenizer;
 import org.apache.lucene.analysis.standard.StandardTokenizer;
 import org.apache.lucene.analysis.tokenattributes.TypeAttribute;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 /** Most tests adopted from TestCJKTokenizer */
 public class TestCJKAnalyzer extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/cjk/TestCJKBigramFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/cjk/TestCJKBigramFilter.java
index e8271e5..4e6499e 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/cjk/TestCJKBigramFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/cjk/TestCJKBigramFilter.java
@@ -18,9 +18,9 @@ package org.apache.lucene.analysis.cjk;
 
 import java.util.Random;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.standard.StandardTokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.util.IOUtils;
 
 public class TestCJKBigramFilter extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/cjk/TestCJKBigramFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/cjk/TestCJKBigramFilterFactory.java
index 2bf8bed..428292c 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/cjk/TestCJKBigramFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/cjk/TestCJKBigramFilterFactory.java
@@ -18,9 +18,9 @@ package org.apache.lucene.analysis.cjk;
 
 import java.io.Reader;
 import java.io.StringReader;
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
 
 /** Simple tests to ensure the CJK bigram factory is working. */
 public class TestCJKBigramFilterFactory extends BaseTokenStreamFactoryTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/cjk/TestCJKWidthCharFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/cjk/TestCJKWidthCharFilter.java
index 8f92396..038b41f 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/cjk/TestCJKWidthCharFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/cjk/TestCJKWidthCharFilter.java
@@ -21,11 +21,11 @@ import java.io.IOException;
 import java.io.Reader;
 import java.io.StringReader;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.CharFilter;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 public class TestCJKWidthCharFilter extends BaseTokenStreamTestCase {
   /** Full-width ASCII forms normalized to half-width (basic latin) */
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/cjk/TestCJKWidthCharFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/cjk/TestCJKWidthCharFilterFactory.java
index 8b3ecec..8338450 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/cjk/TestCJKWidthCharFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/cjk/TestCJKWidthCharFilterFactory.java
@@ -19,8 +19,8 @@ package org.apache.lucene.analysis.cjk;
 
 import java.io.Reader;
 import java.io.StringReader;
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
 import org.apache.lucene.analysis.TokenStream;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
 
 /** Simple tests to ensure {@link CJKWidthCharFilter} is working */
 public class TestCJKWidthCharFilterFactory extends BaseTokenStreamFactoryTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/cjk/TestCJKWidthFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/cjk/TestCJKWidthFilter.java
index 9cdde2f..967af7f 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/cjk/TestCJKWidthFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/cjk/TestCJKWidthFilter.java
@@ -18,10 +18,10 @@ package org.apache.lucene.analysis.cjk;
 
 import java.io.IOException;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.core.KeywordTokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 /** Tests for {@link CJKWidthFilter} */
 public class TestCJKWidthFilter extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/cjk/TestCJKWidthFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/cjk/TestCJKWidthFilterFactory.java
index 611bd5f..20e610a 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/cjk/TestCJKWidthFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/cjk/TestCJKWidthFilterFactory.java
@@ -18,8 +18,8 @@ package org.apache.lucene.analysis.cjk;
 
 import java.io.Reader;
 import java.io.StringReader;
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
 import org.apache.lucene.analysis.TokenStream;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
 
 /** Simple tests to ensure the CJKWidthFilterFactory is working */
 public class TestCJKWidthFilterFactory extends BaseTokenStreamFactoryTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ckb/TestSoraniAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ckb/TestSoraniAnalyzer.java
index 3309da0..42f6a52 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ckb/TestSoraniAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ckb/TestSoraniAnalyzer.java
@@ -18,8 +18,8 @@ package org.apache.lucene.analysis.ckb;
 
 import java.io.IOException;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.CharArraySet;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 
 /** Test the Sorani analyzer */
 public class TestSoraniAnalyzer extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ckb/TestSoraniNormalizationFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ckb/TestSoraniNormalizationFilter.java
index 6a6f9ed..44c7365 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ckb/TestSoraniNormalizationFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ckb/TestSoraniNormalizationFilter.java
@@ -18,10 +18,10 @@ package org.apache.lucene.analysis.ckb;
 
 import java.io.IOException;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.core.KeywordTokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 /** Tests normalization for Sorani (this is more critical than stemming...) */
 public class TestSoraniNormalizationFilter extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ckb/TestSoraniNormalizationFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ckb/TestSoraniNormalizationFilterFactory.java
index af51b81..acbd645 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ckb/TestSoraniNormalizationFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ckb/TestSoraniNormalizationFilterFactory.java
@@ -18,8 +18,8 @@ package org.apache.lucene.analysis.ckb;
 
 import java.io.Reader;
 import java.io.StringReader;
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
 import org.apache.lucene.analysis.TokenStream;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
 
 /** Simple tests to ensure the Sorani normalization factory is working. */
 public class TestSoraniNormalizationFilterFactory extends BaseTokenStreamFactoryTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ckb/TestSoraniStemFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ckb/TestSoraniStemFilter.java
index 41591a6..d2f4e9e 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ckb/TestSoraniStemFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ckb/TestSoraniStemFilter.java
@@ -16,15 +16,15 @@
  */
 package org.apache.lucene.analysis.ckb;
 
-import static org.apache.lucene.analysis.VocabularyAssert.assertVocabulary;
+import static org.apache.lucene.tests.analysis.VocabularyAssert.assertVocabulary;
 
 import java.io.IOException;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.core.KeywordTokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 /** Test the Sorani Stemmer. */
 public class TestSoraniStemFilter extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ckb/TestSoraniStemFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ckb/TestSoraniStemFilterFactory.java
index 7a5693d..317d29a 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ckb/TestSoraniStemFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ckb/TestSoraniStemFilterFactory.java
@@ -18,10 +18,10 @@ package org.apache.lucene.analysis.ckb;
 
 import java.io.Reader;
 import java.io.StringReader;
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 /** Simple tests to ensure the Sorani stem factory is working. */
 public class TestSoraniStemFilterFactory extends BaseTokenStreamFactoryTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/classic/TestClassicAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/classic/TestClassicAnalyzer.java
index b649807..c84918b 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/classic/TestClassicAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/classic/TestClassicAnalyzer.java
@@ -19,7 +19,6 @@ package org.apache.lucene.analysis.classic;
 import java.io.IOException;
 import java.util.Arrays;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.document.Document;
 import org.apache.lucene.document.Field;
 import org.apache.lucene.document.TextField;
@@ -33,6 +32,7 @@ import org.apache.lucene.index.Term;
 import org.apache.lucene.search.DocIdSetIterator;
 import org.apache.lucene.store.ByteBuffersDirectory;
 import org.apache.lucene.store.Directory;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.util.BytesRef;
 
 /** tests for classicanalyzer */
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/classic/TestClassicFactories.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/classic/TestClassicFactories.java
index 27643fe..3eb2b03 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/classic/TestClassicFactories.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/classic/TestClassicFactories.java
@@ -18,9 +18,9 @@ package org.apache.lucene.analysis.classic;
 
 import java.io.Reader;
 import java.io.StringReader;
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
 
 /** Simple tests to ensure the classic lucene factories are working. */
 public class TestClassicFactories extends BaseTokenStreamFactoryTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/commongrams/TestCommonGramsFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/commongrams/TestCommonGramsFilter.java
index 2ce0d3a..9f70861 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/commongrams/TestCommonGramsFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/commongrams/TestCommonGramsFilter.java
@@ -19,13 +19,13 @@ package org.apache.lucene.analysis.commongrams;
 import java.io.StringReader;
 import java.util.Arrays;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.CharArraySet;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenFilter;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.core.WhitespaceTokenizer;
 import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 /** Tests CommonGrams(Query)Filter */
 public class TestCommonGramsFilter extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/commongrams/TestCommonGramsFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/commongrams/TestCommonGramsFilterFactory.java
index d93cd60..ab3c364 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/commongrams/TestCommonGramsFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/commongrams/TestCommonGramsFilterFactory.java
@@ -17,11 +17,11 @@
 package org.apache.lucene.analysis.commongrams;
 
 import java.io.StringReader;
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
 import org.apache.lucene.analysis.CharArraySet;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 import org.apache.lucene.util.ClasspathResourceLoader;
 import org.apache.lucene.util.ResourceLoader;
 import org.apache.lucene.util.Version;
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/commongrams/TestCommonGramsQueryFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/commongrams/TestCommonGramsQueryFilterFactory.java
index 309f731..4296a7a 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/commongrams/TestCommonGramsQueryFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/commongrams/TestCommonGramsQueryFilterFactory.java
@@ -16,11 +16,11 @@
  */
 package org.apache.lucene.analysis.commongrams;
 
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
 import org.apache.lucene.analysis.CharArraySet;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.core.TestStopFilterFactory;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
 import org.apache.lucene.util.ClasspathResourceLoader;
 import org.apache.lucene.util.ResourceLoader;
 import org.apache.lucene.util.Version;
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/compound/TestCompoundWordTokenFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/compound/TestCompoundWordTokenFilter.java
index 4d36c19..67a36f9 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/compound/TestCompoundWordTokenFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/compound/TestCompoundWordTokenFilter.java
@@ -21,9 +21,7 @@ import java.io.Reader;
 import java.io.StringReader;
 import java.util.Arrays;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.CharArraySet;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenFilter;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
@@ -32,6 +30,8 @@ import org.apache.lucene.analysis.charfilter.NormalizeCharMap;
 import org.apache.lucene.analysis.compound.hyphenation.HyphenationTree;
 import org.apache.lucene.analysis.core.KeywordTokenizer;
 import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 import org.apache.lucene.util.Attribute;
 import org.apache.lucene.util.AttributeImpl;
 import org.apache.lucene.util.AttributeReflector;
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/compound/TestDictionaryCompoundWordTokenFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/compound/TestDictionaryCompoundWordTokenFilterFactory.java
index 1f86140..cfe2f43 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/compound/TestDictionaryCompoundWordTokenFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/compound/TestDictionaryCompoundWordTokenFilterFactory.java
@@ -18,10 +18,10 @@ package org.apache.lucene.analysis.compound;
 
 import java.io.Reader;
 import java.io.StringReader;
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 /** Simple tests to ensure the Dictionary compound filter factory is working. */
 public class TestDictionaryCompoundWordTokenFilterFactory extends BaseTokenStreamFactoryTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/compound/TestHyphenationCompoundWordTokenFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/compound/TestHyphenationCompoundWordTokenFilterFactory.java
index de51ed6..d13e518 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/compound/TestHyphenationCompoundWordTokenFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/compound/TestHyphenationCompoundWordTokenFilterFactory.java
@@ -18,10 +18,10 @@ package org.apache.lucene.analysis.compound;
 
 import java.io.Reader;
 import java.io.StringReader;
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 /** Simple tests to ensure the Hyphenation compound filter factory is working. */
 public class TestHyphenationCompoundWordTokenFilterFactory extends BaseTokenStreamFactoryTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestAllAnalyzersHaveFactories.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestAllAnalyzersHaveFactories.java
index b5d0570..945177b 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestAllAnalyzersHaveFactories.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestAllAnalyzersHaveFactories.java
@@ -29,24 +29,11 @@ import java.util.Set;
 import org.apache.lucene.analysis.CachingTokenFilter;
 import org.apache.lucene.analysis.CharFilter;
 import org.apache.lucene.analysis.CharFilterFactory;
-import org.apache.lucene.analysis.CrankyTokenFilter;
-import org.apache.lucene.analysis.MockCharFilter;
-import org.apache.lucene.analysis.MockFixedLengthPayloadFilter;
-import org.apache.lucene.analysis.MockGraphTokenFilter;
-import org.apache.lucene.analysis.MockHoleInjectingTokenFilter;
-import org.apache.lucene.analysis.MockLowerCaseFilter;
-import org.apache.lucene.analysis.MockRandomLookaheadTokenFilter;
-import org.apache.lucene.analysis.MockSynonymFilter;
-import org.apache.lucene.analysis.MockTokenFilter;
-import org.apache.lucene.analysis.MockTokenizer;
-import org.apache.lucene.analysis.MockVariableLengthPayloadFilter;
-import org.apache.lucene.analysis.SimplePayloadFilter;
 import org.apache.lucene.analysis.TokenFilter;
 import org.apache.lucene.analysis.TokenFilterFactory;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.TokenizerFactory;
-import org.apache.lucene.analysis.ValidatingTokenFilter;
 import org.apache.lucene.analysis.miscellaneous.PatternKeywordMarkerFilter;
 import org.apache.lucene.analysis.miscellaneous.SetKeywordMarkerFilter;
 import org.apache.lucene.analysis.path.ReversePathHierarchyTokenizer;
@@ -54,7 +41,20 @@ import org.apache.lucene.analysis.sinks.TeeSinkTokenFilter;
 import org.apache.lucene.analysis.snowball.SnowballFilter;
 import org.apache.lucene.analysis.sr.SerbianNormalizationRegularFilter;
 import org.apache.lucene.analysis.util.StringMockResourceLoader;
-import org.apache.lucene.util.LuceneTestCase;
+import org.apache.lucene.tests.analysis.CrankyTokenFilter;
+import org.apache.lucene.tests.analysis.MockCharFilter;
+import org.apache.lucene.tests.analysis.MockFixedLengthPayloadFilter;
+import org.apache.lucene.tests.analysis.MockGraphTokenFilter;
+import org.apache.lucene.tests.analysis.MockHoleInjectingTokenFilter;
+import org.apache.lucene.tests.analysis.MockLowerCaseFilter;
+import org.apache.lucene.tests.analysis.MockRandomLookaheadTokenFilter;
+import org.apache.lucene.tests.analysis.MockSynonymFilter;
+import org.apache.lucene.tests.analysis.MockTokenFilter;
+import org.apache.lucene.tests.analysis.MockTokenizer;
+import org.apache.lucene.tests.analysis.MockVariableLengthPayloadFilter;
+import org.apache.lucene.tests.analysis.SimplePayloadFilter;
+import org.apache.lucene.tests.analysis.ValidatingTokenFilter;
+import org.apache.lucene.tests.util.LuceneTestCase;
 import org.apache.lucene.util.ResourceLoader;
 import org.apache.lucene.util.ResourceLoaderAware;
 import org.apache.lucene.util.Version;
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestAnalyzers.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestAnalyzers.java
index 305c9f9..7ca07cf 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestAnalyzers.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestAnalyzers.java
@@ -19,7 +19,6 @@ package org.apache.lucene.analysis.core;
 import java.io.IOException;
 import java.io.StringReader;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.LowerCaseFilter;
 import org.apache.lucene.analysis.TokenFilter;
 import org.apache.lucene.analysis.TokenStream;
@@ -28,6 +27,7 @@ import org.apache.lucene.analysis.en.EnglishAnalyzer;
 import org.apache.lucene.analysis.standard.StandardTokenizer;
 import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
 import org.apache.lucene.analysis.tokenattributes.PayloadAttribute;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.util.BytesRef;
 import org.apache.lucene.util.IOUtils;
 
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestBugInSomething.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestBugInSomething.java
index a1a754b..28777e8 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestBugInSomething.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestBugInSomething.java
@@ -23,12 +23,8 @@ import java.nio.CharBuffer;
 import java.util.Arrays;
 import java.util.HashSet;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.CharArraySet;
 import org.apache.lucene.analysis.CharFilter;
-import org.apache.lucene.analysis.MockCharFilter;
-import org.apache.lucene.analysis.MockTokenFilter;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenFilter;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
@@ -40,7 +36,11 @@ import org.apache.lucene.analysis.ngram.EdgeNGramTokenizer;
 import org.apache.lucene.analysis.ngram.NGramTokenFilter;
 import org.apache.lucene.analysis.shingle.ShingleFilter;
 import org.apache.lucene.analysis.wikipedia.WikipediaTokenizer;
-import org.apache.lucene.util.LuceneTestCase.SuppressCodecs;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockCharFilter;
+import org.apache.lucene.tests.analysis.MockTokenFilter;
+import org.apache.lucene.tests.analysis.MockTokenizer;
+import org.apache.lucene.tests.util.LuceneTestCase.SuppressCodecs;
 
 @SuppressCodecs("Direct")
 public class TestBugInSomething extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestCoreFactories.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestCoreFactories.java
index fcd0b51..90368c7 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestCoreFactories.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestCoreFactories.java
@@ -18,8 +18,8 @@ package org.apache.lucene.analysis.core;
 
 import java.io.Reader;
 import java.io.StringReader;
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
 import org.apache.lucene.analysis.Tokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
 
 /** Simple tests to ensure the core lucene factories are working. */
 public class TestCoreFactories extends BaseTokenStreamFactoryTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestDecimalDigitFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestDecimalDigitFilter.java
index fbf7b0d..c91da63 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestDecimalDigitFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestDecimalDigitFilter.java
@@ -18,12 +18,12 @@ package org.apache.lucene.analysis.core;
 
 import java.util.Random;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.search.DocIdSetIterator;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
+import org.apache.lucene.tests.util.TestUtil;
 import org.apache.lucene.util.SparseFixedBitSet;
-import org.apache.lucene.util.TestUtil;
 import org.junit.AfterClass;
 import org.junit.BeforeClass;
 
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestDecimalDigitFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestDecimalDigitFilterFactory.java
index e0f4df3..ccb9719 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestDecimalDigitFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestDecimalDigitFilterFactory.java
@@ -18,8 +18,8 @@ package org.apache.lucene.analysis.core;
 
 import java.io.Reader;
 import java.io.StringReader;
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
 import org.apache.lucene.analysis.TokenStream;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
 
 /** Simple tests to ensure the digit normalization factory is working. */
 public class TestDecimalDigitFilterFactory extends BaseTokenStreamFactoryTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestDuelingAnalyzers.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestDuelingAnalyzers.java
index 3142f57..8f336c2 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestDuelingAnalyzers.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestDuelingAnalyzers.java
@@ -20,16 +20,16 @@ import java.io.Reader;
 import java.io.StringReader;
 import java.util.Random;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
-import org.apache.lucene.analysis.MockAnalyzer;
-import org.apache.lucene.analysis.MockReaderWrapper;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
 import org.apache.lucene.analysis.tokenattributes.OffsetAttribute;
 import org.apache.lucene.analysis.tokenattributes.PositionIncrementAttribute;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockAnalyzer;
+import org.apache.lucene.tests.analysis.MockReaderWrapper;
+import org.apache.lucene.tests.util.TestUtil;
 import org.apache.lucene.util.IOUtils;
-import org.apache.lucene.util.TestUtil;
 import org.apache.lucene.util.automaton.Automaton;
 import org.apache.lucene.util.automaton.CharacterRunAutomaton;
 import org.apache.lucene.util.automaton.Operations;
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestFactories.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestFactories.java
index a20e1ee..95b8bdd 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestFactories.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestFactories.java
@@ -27,17 +27,17 @@ import java.util.Map;
 import java.util.Set;
 import org.apache.lucene.analysis.AbstractAnalysisFactory;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.CharFilterFactory;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenFilterFactory;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.TokenizerFactory;
 import org.apache.lucene.analysis.boost.DelimitedBoostTokenFilterFactory;
 import org.apache.lucene.analysis.miscellaneous.DelimitedTermFrequencyTokenFilterFactory;
 import org.apache.lucene.analysis.util.StringMockResourceLoader;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
+import org.apache.lucene.tests.util.LuceneTestCase.Nightly;
 import org.apache.lucene.util.AttributeFactory;
-import org.apache.lucene.util.LuceneTestCase.Nightly;
 import org.apache.lucene.util.ResourceLoaderAware;
 import org.apache.lucene.util.Version;
 
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestFlattenGraphFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestFlattenGraphFilter.java
index 2452a36..7b35f56 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestFlattenGraphFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestFlattenGraphFilter.java
@@ -26,17 +26,17 @@ import java.util.Random;
 import java.util.stream.Collectors;
 import org.apache.lucene.analysis.Analyzer;
 import org.apache.lucene.analysis.AutomatonToTokenStream;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
-import org.apache.lucene.analysis.CannedTokenStream;
 import org.apache.lucene.analysis.CharArraySet;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.StopFilter;
-import org.apache.lucene.analysis.Token;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.TokenStreamToAutomaton;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.synonym.SynonymGraphFilter;
 import org.apache.lucene.analysis.synonym.SynonymMap;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.CannedTokenStream;
+import org.apache.lucene.tests.analysis.MockTokenizer;
+import org.apache.lucene.tests.analysis.Token;
 import org.apache.lucene.util.BytesRef;
 import org.apache.lucene.util.CharsRef;
 import org.apache.lucene.util.CharsRefBuilder;
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestKeywordAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestKeywordAnalyzer.java
index a75ebd5..f280015 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestKeywordAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestKeywordAnalyzer.java
@@ -18,7 +18,6 @@ package org.apache.lucene.analysis.core;
 
 import java.io.StringReader;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.tokenattributes.OffsetAttribute;
 import org.apache.lucene.document.Document;
@@ -33,9 +32,10 @@ import org.apache.lucene.index.PostingsEnum;
 import org.apache.lucene.search.DocIdSetIterator;
 import org.apache.lucene.store.ByteBuffersDirectory;
 import org.apache.lucene.store.Directory;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.util.TestUtil;
 import org.apache.lucene.util.BytesRef;
 import org.apache.lucene.util.IOUtils;
-import org.apache.lucene.util.TestUtil;
 
 public class TestKeywordAnalyzer extends BaseTokenStreamTestCase {
 
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestKeywordTokenizer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestKeywordTokenizer.java
index 229761d..03ee775 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestKeywordTokenizer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestKeywordTokenizer.java
@@ -20,8 +20,8 @@ import java.io.IOException;
 import java.io.StringReader;
 import java.util.HashMap;
 import java.util.Map;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.Tokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.util.AttributeFactory;
 
 public class TestKeywordTokenizer extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestRandomChains.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestRandomChains.java
index 99061d5..98256b3 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestRandomChains.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestRandomChains.java
@@ -48,18 +48,13 @@ import java.util.function.Function;
 import java.util.function.Predicate;
 import java.util.regex.Pattern;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.CachingTokenFilter;
 import org.apache.lucene.analysis.CharArrayMap;
 import org.apache.lucene.analysis.CharArraySet;
 import org.apache.lucene.analysis.CharFilter;
-import org.apache.lucene.analysis.CrankyTokenFilter;
-import org.apache.lucene.analysis.MockTokenFilter;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenFilter;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
-import org.apache.lucene.analysis.ValidatingTokenFilter;
 import org.apache.lucene.analysis.boost.DelimitedBoostTokenFilter;
 import org.apache.lucene.analysis.charfilter.NormalizeCharMap;
 import org.apache.lucene.analysis.cjk.CJKBigramFilter;
@@ -95,14 +90,19 @@ import org.apache.lucene.analysis.standard.StandardTokenizer;
 import org.apache.lucene.analysis.synonym.SynonymMap;
 import org.apache.lucene.analysis.wikipedia.WikipediaTokenizer;
 import org.apache.lucene.store.ByteBuffersDirectory;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.CrankyTokenFilter;
+import org.apache.lucene.tests.analysis.MockTokenFilter;
+import org.apache.lucene.tests.analysis.MockTokenizer;
+import org.apache.lucene.tests.analysis.ValidatingTokenFilter;
+import org.apache.lucene.tests.util.Rethrow;
+import org.apache.lucene.tests.util.TestUtil;
+import org.apache.lucene.tests.util.automaton.AutomatonTestUtil;
 import org.apache.lucene.util.AttributeFactory;
 import org.apache.lucene.util.AttributeSource;
 import org.apache.lucene.util.CharsRef;
-import org.apache.lucene.util.Rethrow;
-import org.apache.lucene.util.TestUtil;
 import org.apache.lucene.util.Version;
 import org.apache.lucene.util.automaton.Automaton;
-import org.apache.lucene.util.automaton.AutomatonTestUtil;
 import org.apache.lucene.util.automaton.CharacterRunAutomaton;
 import org.apache.lucene.util.automaton.Operations;
 import org.apache.lucene.util.automaton.RegExp;
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestStopAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestStopAnalyzer.java
index a012e44..29b3089 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestStopAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestStopAnalyzer.java
@@ -20,12 +20,12 @@ import java.io.IOException;
 import java.util.HashSet;
 import java.util.Iterator;
 import java.util.Set;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.CharArraySet;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.en.EnglishAnalyzer;
 import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
 import org.apache.lucene.analysis.tokenattributes.PositionIncrementAttribute;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 
 public class TestStopAnalyzer extends BaseTokenStreamTestCase {
 
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestStopFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestStopFilterFactory.java
index e82a356..0946a92 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestStopFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestStopFilterFactory.java
@@ -16,9 +16,9 @@
  */
 package org.apache.lucene.analysis.core;
 
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
 import org.apache.lucene.analysis.CharArraySet;
 import org.apache.lucene.analysis.en.EnglishAnalyzer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
 import org.apache.lucene.util.ClasspathResourceLoader;
 import org.apache.lucene.util.ResourceLoader;
 
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestTypeTokenFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestTypeTokenFilter.java
index 32ce496..0de7e52 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestTypeTokenFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestTypeTokenFilter.java
@@ -20,13 +20,13 @@ import java.io.IOException;
 import java.io.StringReader;
 import java.util.Collections;
 import java.util.Set;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.standard.StandardTokenizer;
 import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
 import org.apache.lucene.analysis.tokenattributes.PositionIncrementAttribute;
 import org.apache.lucene.analysis.tokenattributes.TypeAttribute;
-import org.apache.lucene.util.English;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.util.English;
 
 public class TestTypeTokenFilter extends BaseTokenStreamTestCase {
 
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestTypeTokenFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestTypeTokenFilterFactory.java
index fa7b943..ffcbcbc 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestTypeTokenFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestTypeTokenFilterFactory.java
@@ -17,9 +17,9 @@
 package org.apache.lucene.analysis.core;
 
 import java.util.Set;
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
-import org.apache.lucene.analysis.CannedTokenStream;
 import org.apache.lucene.analysis.TokenFilterFactory;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
+import org.apache.lucene.tests.analysis.CannedTokenStream;
 
 /** Testcase for {@link TypeTokenFilterFactory} */
 public class TestTypeTokenFilterFactory extends BaseTokenStreamFactoryTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestUnicodeWhitespaceTokenizer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestUnicodeWhitespaceTokenizer.java
index f9510eb..f8f3fe1 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestUnicodeWhitespaceTokenizer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestUnicodeWhitespaceTokenizer.java
@@ -20,8 +20,8 @@ import java.io.IOException;
 import java.io.StringReader;
 import java.util.HashMap;
 import java.util.Map;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.Tokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.util.AttributeFactory;
 
 public class TestUnicodeWhitespaceTokenizer extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestWhitespaceAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestWhitespaceAnalyzer.java
index 384b294..3d0b538 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestWhitespaceAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestWhitespaceAnalyzer.java
@@ -19,7 +19,7 @@ package org.apache.lucene.analysis.core;
 
 import java.io.IOException;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 
 public class TestWhitespaceAnalyzer extends BaseTokenStreamTestCase {
 
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/custom/TestCustomAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/custom/TestCustomAnalyzer.java
index 66e74d5..a65ff28 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/custom/TestCustomAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/custom/TestCustomAnalyzer.java
@@ -23,7 +23,6 @@ import java.util.Collections;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.CharFilter;
 import org.apache.lucene.analysis.CharFilterFactory;
 import org.apache.lucene.analysis.LowerCaseFilter;
@@ -41,6 +40,7 @@ import org.apache.lucene.analysis.core.WhitespaceTokenizerFactory;
 import org.apache.lucene.analysis.miscellaneous.ASCIIFoldingFilterFactory;
 import org.apache.lucene.analysis.reverse.ReverseStringFilterFactory;
 import org.apache.lucene.analysis.standard.StandardTokenizerFactory;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.util.AttributeFactory;
 import org.apache.lucene.util.BytesRef;
 import org.apache.lucene.util.SetOnce.AlreadySetException;
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/cz/TestCzechAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/cz/TestCzechAnalyzer.java
index baa517d..0dc4547 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/cz/TestCzechAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/cz/TestCzechAnalyzer.java
@@ -18,8 +18,8 @@ package org.apache.lucene.analysis.cz;
 
 import java.io.IOException;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.CharArraySet;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 
 /**
  * Test the CzechAnalyzer
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/cz/TestCzechStemFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/cz/TestCzechStemFilterFactory.java
index 1a7f620..0e28d81 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/cz/TestCzechStemFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/cz/TestCzechStemFilterFactory.java
@@ -18,10 +18,10 @@ package org.apache.lucene.analysis.cz;
 
 import java.io.Reader;
 import java.io.StringReader;
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 /** Simple tests to ensure the Czech stem filter factory is working. */
 public class TestCzechStemFilterFactory extends BaseTokenStreamFactoryTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/cz/TestCzechStemmer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/cz/TestCzechStemmer.java
index 8890b0c..61047d2 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/cz/TestCzechStemmer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/cz/TestCzechStemmer.java
@@ -19,12 +19,12 @@ package org.apache.lucene.analysis.cz;
 import java.io.IOException;
 import java.io.StringReader;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.CharArraySet;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.core.KeywordTokenizer;
 import org.apache.lucene.analysis.miscellaneous.SetKeywordMarkerFilter;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 /**
  * Test the Czech Stemmer.
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/da/TestDanishAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/da/TestDanishAnalyzer.java
index c7619ac..d04d979 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/da/TestDanishAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/da/TestDanishAnalyzer.java
@@ -18,8 +18,8 @@ package org.apache.lucene.analysis.da;
 
 import java.io.IOException;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.CharArraySet;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 
 public class TestDanishAnalyzer extends BaseTokenStreamTestCase {
   /** This test fails with NPE when the stopwords file is missing in classpath */
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanAnalyzer.java
index 0159130..faa3ab9 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanAnalyzer.java
@@ -19,12 +19,12 @@ package org.apache.lucene.analysis.de;
 import java.io.IOException;
 import java.io.StringReader;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.CharArraySet;
 import org.apache.lucene.analysis.LowerCaseFilter;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.core.LetterTokenizer;
 import org.apache.lucene.analysis.miscellaneous.SetKeywordMarkerFilter;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 
 public class TestGermanAnalyzer extends BaseTokenStreamTestCase {
   public void testReusableTokenStream() throws Exception {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanLightStemFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanLightStemFilter.java
index 5e557fa..564bb56 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanLightStemFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanLightStemFilter.java
@@ -16,17 +16,17 @@
  */
 package org.apache.lucene.analysis.de;
 
-import static org.apache.lucene.analysis.VocabularyAssert.*;
+import static org.apache.lucene.tests.analysis.VocabularyAssert.*;
 
 import java.io.IOException;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.CharArraySet;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.core.KeywordTokenizer;
 import org.apache.lucene.analysis.miscellaneous.SetKeywordMarkerFilter;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 /** Simple tests for {@link GermanLightStemFilter} */
 public class TestGermanLightStemFilter extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanLightStemFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanLightStemFilterFactory.java
index 52baa3f..d7d9dc4 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanLightStemFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanLightStemFilterFactory.java
@@ -18,8 +18,8 @@ package org.apache.lucene.analysis.de;
 
 import java.io.Reader;
 import java.io.StringReader;
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
 import org.apache.lucene.analysis.TokenStream;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
 
 /** Simple tests to ensure the German light stem factory is working. */
 public class TestGermanLightStemFilterFactory extends BaseTokenStreamFactoryTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanMinimalStemFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanMinimalStemFilter.java
index 08cc577..3154478 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanMinimalStemFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanMinimalStemFilter.java
@@ -16,17 +16,17 @@
  */
 package org.apache.lucene.analysis.de;
 
-import static org.apache.lucene.analysis.VocabularyAssert.*;
+import static org.apache.lucene.tests.analysis.VocabularyAssert.*;
 
 import java.io.IOException;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.CharArraySet;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.core.KeywordTokenizer;
 import org.apache.lucene.analysis.miscellaneous.SetKeywordMarkerFilter;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 /** Simple tests for {@link GermanMinimalStemFilter} */
 public class TestGermanMinimalStemFilter extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanMinimalStemFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanMinimalStemFilterFactory.java
index d0d93a7..eb55a20 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanMinimalStemFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanMinimalStemFilterFactory.java
@@ -18,10 +18,10 @@ package org.apache.lucene.analysis.de;
 
 import java.io.Reader;
 import java.io.StringReader;
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 /** Simple tests to ensure the German minimal stem factory is working. */
 public class TestGermanMinimalStemFilterFactory extends BaseTokenStreamFactoryTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanNormalizationFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanNormalizationFilter.java
index f0613f6..357c70d 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanNormalizationFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanNormalizationFilter.java
@@ -18,11 +18,11 @@ package org.apache.lucene.analysis.de;
 
 import java.io.IOException;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.core.KeywordTokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 /** Tests {@link GermanNormalizationFilter} */
 public class TestGermanNormalizationFilter extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanNormalizationFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanNormalizationFilterFactory.java
index bd1fc23..d05fddc 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanNormalizationFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanNormalizationFilterFactory.java
@@ -18,10 +18,10 @@ package org.apache.lucene.analysis.de;
 
 import java.io.Reader;
 import java.io.StringReader;
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 /** Simple tests to ensure the German normalization factory is working. */
 public class TestGermanNormalizationFilterFactory extends BaseTokenStreamFactoryTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanStemFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanStemFilter.java
index 0b9c523..5ebe4f1 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanStemFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanStemFilter.java
@@ -16,19 +16,19 @@
  */
 package org.apache.lucene.analysis.de;
 
-import static org.apache.lucene.analysis.VocabularyAssert.*;
+import static org.apache.lucene.tests.analysis.VocabularyAssert.*;
 
 import java.io.IOException;
 import java.io.InputStream;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.CharArraySet;
 import org.apache.lucene.analysis.LowerCaseFilter;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.core.KeywordTokenizer;
 import org.apache.lucene.analysis.miscellaneous.SetKeywordMarkerFilter;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 /**
  * Test the German stemmer. The stemming algorithm is known to work less than perfect, as it doesn't
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanStemFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanStemFilterFactory.java
index 9555447..658d366 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanStemFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/de/TestGermanStemFilterFactory.java
@@ -18,10 +18,10 @@ package org.apache.lucene.analysis.de;
 
 import java.io.Reader;
 import java.io.StringReader;
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 /** Simple tests to ensure the German stem filter factory is working. */
 public class TestGermanStemFilterFactory extends BaseTokenStreamFactoryTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/el/TestGreekAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/el/TestGreekAnalyzer.java
index 30d2965..91cf775 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/el/TestGreekAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/el/TestGreekAnalyzer.java
@@ -17,7 +17,7 @@
 package org.apache.lucene.analysis.el;
 
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 
 /** A unit test class for verifying the correct operation of the GreekAnalyzer. */
 public class TestGreekAnalyzer extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/el/TestGreekLowerCaseFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/el/TestGreekLowerCaseFilterFactory.java
index 57d14fd..b109095 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/el/TestGreekLowerCaseFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/el/TestGreekLowerCaseFilterFactory.java
@@ -18,8 +18,8 @@ package org.apache.lucene.analysis.el;
 
 import java.io.Reader;
 import java.io.StringReader;
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
 import org.apache.lucene.analysis.TokenStream;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
 
 /** Simple tests to ensure the Greek lowercase filter factory is working. */
 public class TestGreekLowerCaseFilterFactory extends BaseTokenStreamFactoryTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/el/TestGreekStemFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/el/TestGreekStemFilterFactory.java
index 40595ba..965acdd 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/el/TestGreekStemFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/el/TestGreekStemFilterFactory.java
@@ -18,8 +18,8 @@ package org.apache.lucene.analysis.el;
 
 import java.io.Reader;
 import java.io.StringReader;
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
 import org.apache.lucene.analysis.TokenStream;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
 
 /** Simple tests to ensure the Greek stem filter factory is working. */
 public class TestGreekStemFilterFactory extends BaseTokenStreamFactoryTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/el/TestGreekStemmer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/el/TestGreekStemmer.java
index 0eb3489..9b5ddc4 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/el/TestGreekStemmer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/el/TestGreekStemmer.java
@@ -18,9 +18,9 @@ package org.apache.lucene.analysis.el;
 
 import java.io.IOException;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.core.KeywordTokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 
 public class TestGreekStemmer extends BaseTokenStreamTestCase {
   private Analyzer a;
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/email/TestUAX29URLEmailAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/email/TestUAX29URLEmailAnalyzer.java
index 9058603..52f8964 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/email/TestUAX29URLEmailAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/email/TestUAX29URLEmailAnalyzer.java
@@ -19,7 +19,7 @@ package org.apache.lucene.analysis.email;
 import java.io.IOException;
 import java.util.Arrays;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 
 public class TestUAX29URLEmailAnalyzer extends BaseTokenStreamTestCase {
 
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/email/TestUAX29URLEmailTokenizer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/email/TestUAX29URLEmailTokenizer.java
index 6eb226d..c72c907 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/email/TestUAX29URLEmailTokenizer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/email/TestUAX29URLEmailTokenizer.java
@@ -30,15 +30,15 @@ import java.util.Random;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.TokenFilter;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
-import org.apache.lucene.analysis.standard.EmojiTokenizationTestUnicode_12_1;
-import org.apache.lucene.analysis.standard.WordBreakTestUnicode_12_1_0;
 import org.apache.lucene.analysis.tokenattributes.TypeAttribute;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.standard.EmojiTokenizationTestUnicode_12_1;
+import org.apache.lucene.tests.analysis.standard.WordBreakTestUnicode_12_1_0;
+import org.apache.lucene.tests.util.TestUtil;
 import org.apache.lucene.util.IOUtils;
-import org.apache.lucene.util.TestUtil;
 
 public class TestUAX29URLEmailTokenizer extends BaseTokenStreamTestCase {
 
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/email/TestUAX29URLEmailTokenizerFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/email/TestUAX29URLEmailTokenizerFactory.java
index bb038ca..1d590ca 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/email/TestUAX29URLEmailTokenizerFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/email/TestUAX29URLEmailTokenizerFactory.java
@@ -18,8 +18,8 @@ package org.apache.lucene.analysis.email;
 
 import java.io.Reader;
 import java.io.StringReader;
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
 import org.apache.lucene.analysis.Tokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
 
 /** A few tests based on org.apache.lucene.analysis.TestUAX29URLEmailTokenizer */
 public class TestUAX29URLEmailTokenizerFactory extends BaseTokenStreamFactoryTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/en/TestEnglishAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/en/TestEnglishAnalyzer.java
index 5402150..69698d5 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/en/TestEnglishAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/en/TestEnglishAnalyzer.java
@@ -18,8 +18,8 @@ package org.apache.lucene.analysis.en;
 
 import java.io.IOException;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.CharArraySet;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 
 public class TestEnglishAnalyzer extends BaseTokenStreamTestCase {
   /** This test fails with NPE when the stopwords file is missing in classpath */
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/en/TestEnglishMinimalStemFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/en/TestEnglishMinimalStemFilter.java
index b915f8d..f4b15eb 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/en/TestEnglishMinimalStemFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/en/TestEnglishMinimalStemFilter.java
@@ -18,10 +18,10 @@ package org.apache.lucene.analysis.en;
 
 import java.io.IOException;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.core.KeywordTokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 /** Simple tests for {@link EnglishMinimalStemFilter} */
 public class TestEnglishMinimalStemFilter extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/en/TestEnglishMinimalStemFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/en/TestEnglishMinimalStemFilterFactory.java
index 018fbb8..404ce22 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/en/TestEnglishMinimalStemFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/en/TestEnglishMinimalStemFilterFactory.java
@@ -18,8 +18,8 @@ package org.apache.lucene.analysis.en;
 
 import java.io.Reader;
 import java.io.StringReader;
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
 import org.apache.lucene.analysis.TokenStream;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
 
 /** Simple tests to ensure the English minimal stem factory is working. */
 public class TestEnglishMinimalStemFilterFactory extends BaseTokenStreamFactoryTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/en/TestKStemFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/en/TestKStemFilterFactory.java
index 021758d..3997fff 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/en/TestKStemFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/en/TestKStemFilterFactory.java
@@ -18,8 +18,8 @@ package org.apache.lucene.analysis.en;
 
 import java.io.Reader;
 import java.io.StringReader;
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
 import org.apache.lucene.analysis.TokenStream;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
 
 /** Simple tests to ensure the kstem filter factory is working. */
 public class TestKStemFilterFactory extends BaseTokenStreamFactoryTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/en/TestKStemmer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/en/TestKStemmer.java
index fb2091d..385f0a7 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/en/TestKStemmer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/en/TestKStemmer.java
@@ -16,14 +16,14 @@
  */
 package org.apache.lucene.analysis.en;
 
-import static org.apache.lucene.analysis.VocabularyAssert.assertVocabulary;
+import static org.apache.lucene.tests.analysis.VocabularyAssert.assertVocabulary;
 
 import java.io.IOException;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.core.KeywordTokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 import org.junit.Ignore;
 
 /** Tests for {@link KStemmer} */
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/en/TestPorterStemFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/en/TestPorterStemFilter.java
index 5a3a32d..87ece3a 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/en/TestPorterStemFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/en/TestPorterStemFilter.java
@@ -16,18 +16,18 @@
  */
 package org.apache.lucene.analysis.en;
 
-import static org.apache.lucene.analysis.VocabularyAssert.*;
+import static org.apache.lucene.tests.analysis.VocabularyAssert.*;
 
 import java.io.IOException;
 import java.io.StringReader;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.CharArraySet;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.core.KeywordTokenizer;
 import org.apache.lucene.analysis.miscellaneous.SetKeywordMarkerFilter;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 /** Test the PorterStemFilter with Martin Porter's test data. */
 public class TestPorterStemFilter extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/en/TestPorterStemFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/en/TestPorterStemFilterFactory.java
index 20c26da..1e8e815 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/en/TestPorterStemFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/en/TestPorterStemFilterFactory.java
@@ -18,8 +18,8 @@ package org.apache.lucene.analysis.en;
 
 import java.io.Reader;
 import java.io.StringReader;
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
 import org.apache.lucene.analysis.TokenStream;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
 
 /** Simple tests to ensure the Porter stem filter factory is working. */
 public class TestPorterStemFilterFactory extends BaseTokenStreamFactoryTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/es/TestSpanishAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/es/TestSpanishAnalyzer.java
index 68f42da..b2017bb 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/es/TestSpanishAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/es/TestSpanishAnalyzer.java
@@ -18,8 +18,8 @@ package org.apache.lucene.analysis.es;
 
 import java.io.IOException;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.CharArraySet;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 
 public class TestSpanishAnalyzer extends BaseTokenStreamTestCase {
   /** This test fails with NPE when the stopwords file is missing in classpath */
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/es/TestSpanishLightStemFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/es/TestSpanishLightStemFilter.java
index 10f8da2..a0770ba 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/es/TestSpanishLightStemFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/es/TestSpanishLightStemFilter.java
@@ -16,14 +16,14 @@
  */
 package org.apache.lucene.analysis.es;
 
-import static org.apache.lucene.analysis.VocabularyAssert.*;
+import static org.apache.lucene.tests.analysis.VocabularyAssert.*;
 
 import java.io.IOException;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.core.KeywordTokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 /** Simple tests for {@link SpanishLightStemFilter} */
 public class TestSpanishLightStemFilter extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/es/TestSpanishLightStemFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/es/TestSpanishLightStemFilterFactory.java
index 5b17ce2..f209945 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/es/TestSpanishLightStemFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/es/TestSpanishLightStemFilterFactory.java
@@ -18,10 +18,10 @@ package org.apache.lucene.analysis.es;
 
 import java.io.Reader;
 import java.io.StringReader;
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 /** Simple tests to ensure the Spanish Light stem factory is working. */
 public class TestSpanishLightStemFilterFactory extends BaseTokenStreamFactoryTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/es/TestSpanishMinimalStemFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/es/TestSpanishMinimalStemFilter.java
index 7cd511e..d170f37 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/es/TestSpanishMinimalStemFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/es/TestSpanishMinimalStemFilter.java
@@ -19,11 +19,11 @@ package org.apache.lucene.analysis.es;
 
 import java.io.IOException;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.core.KeywordTokenizer;
 import org.apache.lucene.analysis.en.EnglishMinimalStemFilter;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 /**
  * Simple tests for {@link SpanishMinimalStemFilter}
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/es/TestSpanishMinimalStemFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/es/TestSpanishMinimalStemFilterFactory.java
index d71615e..ebb9fc4 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/es/TestSpanishMinimalStemFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/es/TestSpanishMinimalStemFilterFactory.java
@@ -19,10 +19,10 @@ package org.apache.lucene.analysis.es;
 
 import java.io.Reader;
 import java.io.StringReader;
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 /**
  * Simple tests to ensure the spanish minimal stem factory is working.
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/es/TestSpanishPluralStemFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/es/TestSpanishPluralStemFilter.java
index 9381b90..4917390 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/es/TestSpanishPluralStemFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/es/TestSpanishPluralStemFilter.java
@@ -16,14 +16,14 @@
  */
 package org.apache.lucene.analysis.es;
 
-import static org.apache.lucene.analysis.VocabularyAssert.assertVocabulary;
+import static org.apache.lucene.tests.analysis.VocabularyAssert.assertVocabulary;
 
 import java.io.IOException;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.core.KeywordTokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 /** Simple tests for {@link SpanishPluralStemFilter} */
 public class TestSpanishPluralStemFilter extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/es/TestSpanishPluralStemFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/es/TestSpanishPluralStemFilterFactory.java
index 8abe712..a639d61 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/es/TestSpanishPluralStemFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/es/TestSpanishPluralStemFilterFactory.java
@@ -18,10 +18,10 @@ package org.apache.lucene.analysis.es;
 
 import java.io.Reader;
 import java.io.StringReader;
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 /** Simple tests to ensure the Spanish Plural stem factory is working. */
 public class TestSpanishPluralStemFilterFactory extends BaseTokenStreamFactoryTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/et/TestEstonianAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/et/TestEstonianAnalyzer.java
index e6169b0..6bde072 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/et/TestEstonianAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/et/TestEstonianAnalyzer.java
@@ -18,7 +18,7 @@ package org.apache.lucene.analysis.et;
 
 import java.io.IOException;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 
 public class TestEstonianAnalyzer extends BaseTokenStreamTestCase {
 
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/eu/TestBasqueAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/eu/TestBasqueAnalyzer.java
index 263a9aa..9042c21 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/eu/TestBasqueAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/eu/TestBasqueAnalyzer.java
@@ -18,8 +18,8 @@ package org.apache.lucene.analysis.eu;
 
 import java.io.IOException;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.CharArraySet;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 
 public class TestBasqueAnalyzer extends BaseTokenStreamTestCase {
   /** This test fails with NPE when the stopwords file is missing in classpath */
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/fa/TestPersianAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/fa/TestPersianAnalyzer.java
index e1c6421..e6498d5 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/fa/TestPersianAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/fa/TestPersianAnalyzer.java
@@ -17,8 +17,8 @@
 package org.apache.lucene.analysis.fa;
 
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.CharArraySet;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 
 /** Test the Persian Analyzer */
 public class TestPersianAnalyzer extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/fa/TestPersianCharFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/fa/TestPersianCharFilter.java
index 13cd9e0..ba6a257 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/fa/TestPersianCharFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/fa/TestPersianCharFilter.java
@@ -18,8 +18,8 @@ package org.apache.lucene.analysis.fa;
 
 import java.io.Reader;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
-import org.apache.lucene.analysis.MockTokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 public class TestPersianCharFilter extends BaseTokenStreamTestCase {
   private Analyzer analyzer;
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/fa/TestPersianNormalizationFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/fa/TestPersianNormalizationFilter.java
index a1180cb..89609df 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/fa/TestPersianNormalizationFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/fa/TestPersianNormalizationFilter.java
@@ -18,10 +18,10 @@ package org.apache.lucene.analysis.fa;
 
 import java.io.IOException;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.core.KeywordTokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 /** Test the Persian Normalization Filter */
 public class TestPersianNormalizationFilter extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/fa/TestPersianNormalizationFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/fa/TestPersianNormalizationFilterFactory.java
index 667325e..e371622 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/fa/TestPersianNormalizationFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/fa/TestPersianNormalizationFilterFactory.java
@@ -18,8 +18,8 @@ package org.apache.lucene.analysis.fa;
 
 import java.io.Reader;
 import java.io.StringReader;
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
 import org.apache.lucene.analysis.TokenStream;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
 
 /** Simple tests to ensure the Persian normalization factory is working. */
 public class TestPersianNormalizationFilterFactory extends BaseTokenStreamFactoryTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/fi/TestFinnishAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/fi/TestFinnishAnalyzer.java
index fe2cc11..74facc1 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/fi/TestFinnishAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/fi/TestFinnishAnalyzer.java
@@ -18,8 +18,8 @@ package org.apache.lucene.analysis.fi;
 
 import java.io.IOException;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.CharArraySet;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 
 public class TestFinnishAnalyzer extends BaseTokenStreamTestCase {
   /** This test fails with NPE when the stopwords file is missing in classpath */
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/fi/TestFinnishLightStemFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/fi/TestFinnishLightStemFilter.java
index 145aa55..cac78c2 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/fi/TestFinnishLightStemFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/fi/TestFinnishLightStemFilter.java
@@ -16,17 +16,17 @@
  */
 package org.apache.lucene.analysis.fi;
 
-import static org.apache.lucene.analysis.VocabularyAssert.*;
+import static org.apache.lucene.tests.analysis.VocabularyAssert.*;
 
 import java.io.IOException;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.CharArraySet;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.core.KeywordTokenizer;
 import org.apache.lucene.analysis.miscellaneous.SetKeywordMarkerFilter;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 /** Simple tests for {@link FinnishLightStemFilter} */
 public class TestFinnishLightStemFilter extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/fi/TestFinnishLightStemFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/fi/TestFinnishLightStemFilterFactory.java
index 82d930a..8ec532e 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/fi/TestFinnishLightStemFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/fi/TestFinnishLightStemFilterFactory.java
@@ -18,10 +18,10 @@ package org.apache.lucene.analysis.fi;
 
 import java.io.Reader;
 import java.io.StringReader;
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 /** Simple tests to ensure the Finnish light stem factory is working. */
 public class TestFinnishLightStemFilterFactory extends BaseTokenStreamFactoryTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/fr/TestFrenchAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/fr/TestFrenchAnalyzer.java
index 2e3a64e..a975b61 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/fr/TestFrenchAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/fr/TestFrenchAnalyzer.java
@@ -18,8 +18,8 @@ package org.apache.lucene.analysis.fr;
 
 import java.io.IOException;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.CharArraySet;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 
 /** Test case for FrenchAnalyzer. */
 public class TestFrenchAnalyzer extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/fr/TestFrenchLightStemFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/fr/TestFrenchLightStemFilter.java
index 53aba98..5844472 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/fr/TestFrenchLightStemFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/fr/TestFrenchLightStemFilter.java
@@ -16,17 +16,17 @@
  */
 package org.apache.lucene.analysis.fr;
 
-import static org.apache.lucene.analysis.VocabularyAssert.*;
+import static org.apache.lucene.tests.analysis.VocabularyAssert.*;
 
 import java.io.IOException;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.CharArraySet;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.core.KeywordTokenizer;
 import org.apache.lucene.analysis.miscellaneous.SetKeywordMarkerFilter;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 /** Simple tests for {@link FrenchLightStemFilter} */
 public class TestFrenchLightStemFilter extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/fr/TestFrenchLightStemFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/fr/TestFrenchLightStemFilterFactory.java
index d6cbeab..ea9de37 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/fr/TestFrenchLightStemFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/fr/TestFrenchLightStemFilterFactory.java
@@ -18,8 +18,8 @@ package org.apache.lucene.analysis.fr;
 
 import java.io.Reader;
 import java.io.StringReader;
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
 import org.apache.lucene.analysis.TokenStream;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
 
 /** Simple tests to ensure the French light stem factory is working. */
 public class TestFrenchLightStemFilterFactory extends BaseTokenStreamFactoryTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/fr/TestFrenchMinimalStemFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/fr/TestFrenchMinimalStemFilter.java
index 036f958..e0880db 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/fr/TestFrenchMinimalStemFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/fr/TestFrenchMinimalStemFilter.java
@@ -16,17 +16,17 @@
  */
 package org.apache.lucene.analysis.fr;
 
-import static org.apache.lucene.analysis.VocabularyAssert.*;
+import static org.apache.lucene.tests.analysis.VocabularyAssert.*;
 
 import java.io.IOException;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.CharArraySet;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.core.KeywordTokenizer;
 import org.apache.lucene.analysis.miscellaneous.SetKeywordMarkerFilter;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 /** Simple tests for {@link FrenchMinimalStemFilter} */
 public class TestFrenchMinimalStemFilter extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/fr/TestFrenchMinimalStemFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/fr/TestFrenchMinimalStemFilterFactory.java
index 19ebea7..73545a1 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/fr/TestFrenchMinimalStemFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/fr/TestFrenchMinimalStemFilterFactory.java
@@ -18,8 +18,8 @@ package org.apache.lucene.analysis.fr;
 
 import java.io.Reader;
 import java.io.StringReader;
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
 import org.apache.lucene.analysis.TokenStream;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
 
 /** Simple tests to ensure the French minimal stem factory is working. */
 public class TestFrenchMinimalStemFilterFactory extends BaseTokenStreamFactoryTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ga/TestIrishAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ga/TestIrishAnalyzer.java
index 138d189..02a5ad2 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ga/TestIrishAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ga/TestIrishAnalyzer.java
@@ -18,8 +18,8 @@ package org.apache.lucene.analysis.ga;
 
 import java.io.IOException;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.CharArraySet;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 
 public class TestIrishAnalyzer extends BaseTokenStreamTestCase {
   /** This test fails with NPE when the stopwords file is missing in classpath */
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ga/TestIrishLowerCaseFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ga/TestIrishLowerCaseFilter.java
index 08167c9..d85d8b3 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ga/TestIrishLowerCaseFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ga/TestIrishLowerCaseFilter.java
@@ -18,10 +18,10 @@ package org.apache.lucene.analysis.ga;
 
 import java.io.IOException;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.core.KeywordTokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 
 /** Test the Irish lowercase filter. */
 public class TestIrishLowerCaseFilter extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ga/TestIrishLowerCaseFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ga/TestIrishLowerCaseFilterFactory.java
index ccf7a00..520f384 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ga/TestIrishLowerCaseFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ga/TestIrishLowerCaseFilterFactory.java
@@ -18,8 +18,8 @@ package org.apache.lucene.analysis.ga;
 
 import java.io.Reader;
 import java.io.StringReader;
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
 import org.apache.lucene.analysis.TokenStream;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
 
 /** Simple tests to ensure the Irish lowercase filter factory is working. */
 public class TestIrishLowerCaseFilterFactory extends BaseTokenStreamFactoryTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/gl/TestGalicianAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/gl/TestGalicianAnalyzer.java
index e0dcaeb..91b1d6a 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/gl/TestGalicianAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/gl/TestGalicianAnalyzer.java
@@ -18,8 +18,8 @@ package org.apache.lucene.analysis.gl;
 
 import java.io.IOException;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.CharArraySet;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 
 public class TestGalicianAnalyzer extends BaseTokenStreamTestCase {
   /** This test fails with NPE when the stopwords file is missing in classpath */
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/gl/TestGalicianMinimalStemFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/gl/TestGalicianMinimalStemFilter.java
index d3d79e6..d744edd 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/gl/TestGalicianMinimalStemFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/gl/TestGalicianMinimalStemFilter.java
@@ -18,13 +18,13 @@ package org.apache.lucene.analysis.gl;
 
 import java.io.IOException;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.CharArraySet;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.core.KeywordTokenizer;
 import org.apache.lucene.analysis.miscellaneous.SetKeywordMarkerFilter;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 /** Simple tests for {@link GalicianMinimalStemmer} */
 public class TestGalicianMinimalStemFilter extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/gl/TestGalicianMinimalStemFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/gl/TestGalicianMinimalStemFilterFactory.java
index 18318a1..6e92766 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/gl/TestGalicianMinimalStemFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/gl/TestGalicianMinimalStemFilterFactory.java
@@ -18,8 +18,8 @@ package org.apache.lucene.analysis.gl;
 
 import java.io.Reader;
 import java.io.StringReader;
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
 import org.apache.lucene.analysis.TokenStream;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
 
 /** Simple tests to ensure the Galician plural stem factory is working. */
 public class TestGalicianMinimalStemFilterFactory extends BaseTokenStreamFactoryTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/gl/TestGalicianStemFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/gl/TestGalicianStemFilter.java
index 2a84d8a..f26e67c 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/gl/TestGalicianStemFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/gl/TestGalicianStemFilter.java
@@ -16,14 +16,14 @@
  */
 package org.apache.lucene.analysis.gl;
 
-import static org.apache.lucene.analysis.VocabularyAssert.assertVocabulary;
+import static org.apache.lucene.tests.analysis.VocabularyAssert.assertVocabulary;
 
 import java.io.IOException;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.core.KeywordTokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 /** Simple tests for {@link GalicianStemFilter} */
 public class TestGalicianStemFilter extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/gl/TestGalicianStemFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/gl/TestGalicianStemFilterFactory.java
index 5f088a2..fc61333 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/gl/TestGalicianStemFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/gl/TestGalicianStemFilterFactory.java
@@ -18,8 +18,8 @@ package org.apache.lucene.analysis.gl;
 
 import java.io.Reader;
 import java.io.StringReader;
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
 import org.apache.lucene.analysis.TokenStream;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
 
 /** Simple tests to ensure the Galician stem factory is working. */
 public class TestGalicianStemFilterFactory extends BaseTokenStreamFactoryTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hi/TestHindiAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hi/TestHindiAnalyzer.java
index a61ea9b..bc5c98e 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hi/TestHindiAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hi/TestHindiAnalyzer.java
@@ -17,8 +17,8 @@
 package org.apache.lucene.analysis.hi;
 
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.CharArraySet;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 
 /** Tests the HindiAnalyzer */
 public class TestHindiAnalyzer extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hi/TestHindiFilters.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hi/TestHindiFilters.java
index b795997..45e2012 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hi/TestHindiFilters.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hi/TestHindiFilters.java
@@ -18,8 +18,8 @@ package org.apache.lucene.analysis.hi;
 
 import java.io.Reader;
 import java.io.StringReader;
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
 import org.apache.lucene.analysis.TokenStream;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
 
 /** Simple tests to ensure the Hindi filter Factories are working. */
 public class TestHindiFilters extends BaseTokenStreamFactoryTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hi/TestHindiNormalizer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hi/TestHindiNormalizer.java
index 0a9e3be..d713918 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hi/TestHindiNormalizer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hi/TestHindiNormalizer.java
@@ -18,10 +18,10 @@ package org.apache.lucene.analysis.hi;
 
 import java.io.IOException;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.TokenFilter;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.core.KeywordTokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 
 /** Test HindiNormalizer */
 public class TestHindiNormalizer extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hi/TestHindiStemmer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hi/TestHindiStemmer.java
index 14208b8..6f5a1b7 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hi/TestHindiStemmer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hi/TestHindiStemmer.java
@@ -18,10 +18,10 @@ package org.apache.lucene.analysis.hi;
 
 import java.io.IOException;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.TokenFilter;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.core.KeywordTokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 
 /** Test HindiStemmer */
 public class TestHindiStemmer extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hu/TestHungarianAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hu/TestHungarianAnalyzer.java
index f9782d4..1d977f8 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hu/TestHungarianAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hu/TestHungarianAnalyzer.java
@@ -18,8 +18,8 @@ package org.apache.lucene.analysis.hu;
 
 import java.io.IOException;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.CharArraySet;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 
 public class TestHungarianAnalyzer extends BaseTokenStreamTestCase {
   /** This test fails with NPE when the stopwords file is missing in classpath */
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hu/TestHungarianLightStemFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hu/TestHungarianLightStemFilter.java
index 2162d5d..7c8ce77 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hu/TestHungarianLightStemFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hu/TestHungarianLightStemFilter.java
@@ -16,17 +16,17 @@
  */
 package org.apache.lucene.analysis.hu;
 
-import static org.apache.lucene.analysis.VocabularyAssert.*;
+import static org.apache.lucene.tests.analysis.VocabularyAssert.*;
 
 import java.io.IOException;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.CharArraySet;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.core.KeywordTokenizer;
 import org.apache.lucene.analysis.miscellaneous.SetKeywordMarkerFilter;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 /** Simple tests for {@link HungarianLightStemFilter} */
 public class TestHungarianLightStemFilter extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hu/TestHungarianLightStemFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hu/TestHungarianLightStemFilterFactory.java
index 01a79d3..26e6aa6 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hu/TestHungarianLightStemFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hu/TestHungarianLightStemFilterFactory.java
@@ -18,8 +18,8 @@ package org.apache.lucene.analysis.hu;
 
 import java.io.Reader;
 import java.io.StringReader;
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
 import org.apache.lucene.analysis.TokenStream;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
 
 /** Simple tests to ensure the Hungarian light stem factory is working. */
 public class TestHungarianLightStemFilterFactory extends BaseTokenStreamFactoryTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/StemmerTestBase.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/StemmerTestBase.java
index 5ea1d33..bdffa5a 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/StemmerTestBase.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/StemmerTestBase.java
@@ -23,9 +23,9 @@ import java.text.ParseException;
 import java.util.Arrays;
 import java.util.List;
 import org.apache.lucene.store.ByteBuffersDirectory;
+import org.apache.lucene.tests.util.LuceneTestCase;
 import org.apache.lucene.util.CharsRef;
 import org.apache.lucene.util.IOUtils;
-import org.apache.lucene.util.LuceneTestCase;
 import org.junit.AfterClass;
 
 /** base class for hunspell stemmer tests */
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/Test64kAffixes.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/Test64kAffixes.java
index 51c76d8..eb3938c 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/Test64kAffixes.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/Test64kAffixes.java
@@ -23,8 +23,8 @@ import java.nio.file.Files;
 import java.nio.file.Path;
 import java.util.List;
 import org.apache.lucene.store.Directory;
+import org.apache.lucene.tests.util.LuceneTestCase;
 import org.apache.lucene.util.CharsRef;
-import org.apache.lucene.util.LuceneTestCase;
 
 /** Tests that &gt; 64k affixes actually works and doesnt overflow some internal int */
 public class Test64kAffixes extends LuceneTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestAffixCondition.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestAffixCondition.java
index c419040..301c19e 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestAffixCondition.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestAffixCondition.java
@@ -21,7 +21,7 @@ import static org.apache.lucene.analysis.hunspell.AffixCondition.ALWAYS_TRUE_KEY
 import static org.apache.lucene.analysis.hunspell.AffixKind.PREFIX;
 import static org.apache.lucene.analysis.hunspell.AffixKind.SUFFIX;
 
-import org.apache.lucene.util.LuceneTestCase;
+import org.apache.lucene.tests.util.LuceneTestCase;
 
 public class TestAffixCondition extends LuceneTestCase {
 
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestAllDictionaries.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestAllDictionaries.java
index 670dea9..999ee2b 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestAllDictionaries.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestAllDictionaries.java
@@ -41,12 +41,12 @@ import java.util.concurrent.atomic.AtomicLong;
 import java.util.function.Function;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
-import org.apache.lucene.store.BaseDirectoryWrapper;
-import org.apache.lucene.util.LuceneTestCase;
-import org.apache.lucene.util.LuceneTestCase.SuppressSysoutChecks;
+import org.apache.lucene.tests.store.BaseDirectoryWrapper;
+import org.apache.lucene.tests.util.LuceneTestCase;
+import org.apache.lucene.tests.util.LuceneTestCase.SuppressSysoutChecks;
+import org.apache.lucene.tests.util.RamUsageTester;
 import org.apache.lucene.util.NamedThreadFactory;
 import org.apache.lucene.util.RamUsageEstimator;
-import org.apache.lucene.util.RamUsageTester;
 import org.junit.Assert;
 import org.junit.Assume;
 import org.junit.Ignore;
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestDictionary.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestDictionary.java
index 41ece96..3ba0094 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestDictionary.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestDictionary.java
@@ -34,8 +34,8 @@ import java.util.stream.Collectors;
 import java.util.stream.IntStream;
 import org.apache.lucene.store.ByteBuffersDirectory;
 import org.apache.lucene.store.Directory;
+import org.apache.lucene.tests.util.LuceneTestCase;
 import org.apache.lucene.util.IntsRef;
-import org.apache.lucene.util.LuceneTestCase;
 import org.junit.Test;
 
 public class TestDictionary extends LuceneTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestHunspell.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestHunspell.java
index 598e74c..3da1f11 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestHunspell.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestHunspell.java
@@ -26,7 +26,7 @@ import java.text.ParseException;
 import java.util.Collections;
 import java.util.concurrent.CancellationException;
 import java.util.concurrent.atomic.AtomicBoolean;
-import org.apache.lucene.util.LuceneTestCase;
+import org.apache.lucene.tests.util.LuceneTestCase;
 import org.junit.Test;
 
 public class TestHunspell extends LuceneTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestHunspellStemFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestHunspellStemFilter.java
index b5d4406..ccd1a25 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestHunspellStemFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestHunspellStemFilter.java
@@ -21,13 +21,13 @@ import java.io.InputStream;
 import java.util.Arrays;
 import java.util.Collections;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.CharArraySet;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.core.KeywordTokenizer;
 import org.apache.lucene.analysis.miscellaneous.SetKeywordMarkerFilter;
 import org.apache.lucene.store.Directory;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 import org.apache.lucene.util.IOUtils;
 import org.junit.AfterClass;
 import org.junit.BeforeClass;
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestHunspellStemFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestHunspellStemFilterFactory.java
index 6fbfa9d..54abd09 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestHunspellStemFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestHunspellStemFilterFactory.java
@@ -18,8 +18,8 @@ package org.apache.lucene.analysis.hunspell;
 
 import java.io.Reader;
 import java.io.StringReader;
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
 import org.apache.lucene.analysis.TokenStream;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
 
 /** Simple tests to ensure the Hunspell stemmer loads from factory */
 public class TestHunspellStemFilterFactory extends BaseTokenStreamFactoryTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestPerformance.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestPerformance.java
index 9b2ef82..61410c9 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestPerformance.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestPerformance.java
@@ -35,7 +35,7 @@ import java.util.concurrent.TimeUnit;
 import java.util.function.Consumer;
 import java.util.regex.Pattern;
 import java.util.stream.Collectors;
-import org.apache.lucene.util.LuceneTestCase;
+import org.apache.lucene.tests.util.LuceneTestCase;
 import org.apache.lucene.util.NamedThreadFactory;
 import org.junit.Assume;
 import org.junit.AssumptionViolatedException;
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestSpellChecking.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestSpellChecking.java
index 7e175b6..15e452c 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestSpellChecking.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestSpellChecking.java
@@ -24,8 +24,8 @@ import java.text.ParseException;
 import java.util.List;
 import java.util.stream.Collectors;
 import org.apache.lucene.store.ByteBuffersDirectory;
+import org.apache.lucene.tests.util.LuceneTestCase;
 import org.apache.lucene.util.IOUtils;
-import org.apache.lucene.util.LuceneTestCase;
 
 public class TestSpellChecking extends LuceneTestCase {
 
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestTrigramAutomaton.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestTrigramAutomaton.java
index a424d23..49134ff 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestTrigramAutomaton.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestTrigramAutomaton.java
@@ -17,8 +17,8 @@
 package org.apache.lucene.analysis.hunspell;
 
 import java.util.stream.Collectors;
+import org.apache.lucene.tests.util.LuceneTestCase;
 import org.apache.lucene.util.CharsRef;
-import org.apache.lucene.util.LuceneTestCase;
 
 public class TestTrigramAutomaton extends LuceneTestCase {
   public void testSameScore() {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hy/TestArmenianAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hy/TestArmenianAnalyzer.java
index cb9db24..23951fd 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/hy/TestArmenianAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/hy/TestArmenianAnalyzer.java
@@ -18,8 +18,8 @@ package org.apache.lucene.analysis.hy;
 
 import java.io.IOException;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.CharArraySet;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 
 public class TestArmenianAnalyzer extends BaseTokenStreamTestCase {
   /** This test fails with NPE when the stopwords file is missing in classpath */
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/id/TestIndonesianAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/id/TestIndonesianAnalyzer.java
index 300bcfc..ff5fc53 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/id/TestIndonesianAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/id/TestIndonesianAnalyzer.java
@@ -18,8 +18,8 @@ package org.apache.lucene.analysis.id;
 
 import java.io.IOException;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.CharArraySet;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 
 public class TestIndonesianAnalyzer extends BaseTokenStreamTestCase {
   /** This test fails with NPE when the stopwords file is missing in classpath */
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/id/TestIndonesianStemFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/id/TestIndonesianStemFilterFactory.java
index bb19b48..1e7ef1b 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/id/TestIndonesianStemFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/id/TestIndonesianStemFilterFactory.java
@@ -18,10 +18,10 @@ package org.apache.lucene.analysis.id;
 
 import java.io.Reader;
 import java.io.StringReader;
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 /** Simple tests to ensure the Indonesian stem filter factory is working. */
 public class TestIndonesianStemFilterFactory extends BaseTokenStreamFactoryTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/id/TestIndonesianStemmer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/id/TestIndonesianStemmer.java
index f98ad3f..8a63ae5 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/id/TestIndonesianStemmer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/id/TestIndonesianStemmer.java
@@ -18,10 +18,10 @@ package org.apache.lucene.analysis.id;
 
 import java.io.IOException;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.core.KeywordTokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 import org.apache.lucene.util.IOUtils;
 
 /** Tests {@link IndonesianStemmer} */
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/in/TestIndicNormalizer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/in/TestIndicNormalizer.java
index ec389c6..e214620 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/in/TestIndicNormalizer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/in/TestIndicNormalizer.java
@@ -19,11 +19,11 @@ package org.apache.lucene.analysis.in;
 import java.io.IOException;
 import java.io.StringReader;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenFilter;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.core.KeywordTokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 /** Test IndicNormalizer */
 public class TestIndicNormalizer extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/it/TestItalianAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/it/TestItalianAnalyzer.java
index 8cc3d5b..5c66752 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/it/TestItalianAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/it/TestItalianAnalyzer.java
@@ -18,8 +18,8 @@ package org.apache.lucene.analysis.it;
 
 import java.io.IOException;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.CharArraySet;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 
 public class TestItalianAnalyzer extends BaseTokenStreamTestCase {
   /** This test fails with NPE when the stopwords file is missing in classpath */
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/it/TestItalianLightStemFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/it/TestItalianLightStemFilter.java
index 7872484..929cd91 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/it/TestItalianLightStemFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/it/TestItalianLightStemFilter.java
@@ -16,14 +16,14 @@
  */
 package org.apache.lucene.analysis.it;
 
-import static org.apache.lucene.analysis.VocabularyAssert.*;
+import static org.apache.lucene.tests.analysis.VocabularyAssert.*;
 
 import java.io.IOException;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.core.KeywordTokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 /** Simple tests for {@link ItalianLightStemFilter} */
 public class TestItalianLightStemFilter extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/it/TestItalianLightStemFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/it/TestItalianLightStemFilterFactory.java
index d2d0754..600bb3e 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/it/TestItalianLightStemFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/it/TestItalianLightStemFilterFactory.java
@@ -18,8 +18,8 @@ package org.apache.lucene.analysis.it;
 
 import java.io.Reader;
 import java.io.StringReader;
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
 import org.apache.lucene.analysis.TokenStream;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
 
 /** Simple tests to ensure the Italian light stem factory is working. */
 public class TestItalianLightStemFilterFactory extends BaseTokenStreamFactoryTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/lt/TestLithuanianAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/lt/TestLithuanianAnalyzer.java
index 6a071df..f8e37ec2 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/lt/TestLithuanianAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/lt/TestLithuanianAnalyzer.java
@@ -18,8 +18,8 @@ package org.apache.lucene.analysis.lt;
 
 import java.io.IOException;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.CharArraySet;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 
 public class TestLithuanianAnalyzer extends BaseTokenStreamTestCase {
 
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/lt/TestLithuanianStemming.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/lt/TestLithuanianStemming.java
index c1976bc..329f9ef 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/lt/TestLithuanianStemming.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/lt/TestLithuanianStemming.java
@@ -18,10 +18,10 @@ package org.apache.lucene.analysis.lt;
 
 import java.io.IOException;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.snowball.SnowballFilter;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 import org.tartarus.snowball.ext.LithuanianStemmer;
 
 /**
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/lv/TestLatvianAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/lv/TestLatvianAnalyzer.java
index db1df0e..8ede4d5 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/lv/TestLatvianAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/lv/TestLatvianAnalyzer.java
@@ -18,8 +18,8 @@ package org.apache.lucene.analysis.lv;
 
 import java.io.IOException;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.CharArraySet;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 
 public class TestLatvianAnalyzer extends BaseTokenStreamTestCase {
   /** This test fails with NPE when the stopwords file is missing in classpath */
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/lv/TestLatvianStemFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/lv/TestLatvianStemFilterFactory.java
index e88a1ea..a55e300 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/lv/TestLatvianStemFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/lv/TestLatvianStemFilterFactory.java
@@ -18,10 +18,10 @@ package org.apache.lucene.analysis.lv;
 
 import java.io.Reader;
 import java.io.StringReader;
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 /** Simple tests to ensure the Latvian stem factory is working. */
 public class TestLatvianStemFilterFactory extends BaseTokenStreamFactoryTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/lv/TestLatvianStemmer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/lv/TestLatvianStemmer.java
index 192b25b..3cd1701 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/lv/TestLatvianStemmer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/lv/TestLatvianStemmer.java
@@ -18,10 +18,10 @@ package org.apache.lucene.analysis.lv;
 
 import java.io.IOException;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.core.KeywordTokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 /** Basic tests for {@link LatvianStemmer} */
 public class TestLatvianStemmer extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/minhash/TestMinHashFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/minhash/TestMinHashFilter.java
index 77a2ebe..c9ade16 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/minhash/TestMinHashFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/minhash/TestMinHashFilter.java
@@ -23,13 +23,13 @@ import java.io.UnsupportedEncodingException;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.HashSet;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.minhash.MinHashFilter.FixedSizeTreeSet;
 import org.apache.lucene.analysis.minhash.MinHashFilter.LongPair;
 import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 import org.apache.lucene.util.automaton.CharacterRunAutomaton;
 import org.apache.lucene.util.automaton.RegExp;
 import org.junit.Test;
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestASCIIFoldingFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestASCIIFoldingFilter.java
index d42ac6c..706952a 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestASCIIFoldingFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestASCIIFoldingFilter.java
@@ -21,12 +21,12 @@ import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.core.KeywordTokenizer;
 import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 public class TestASCIIFoldingFilter extends BaseTokenStreamTestCase {
   /** Pop one input token's worth of tokens off the filter and verify that they are as expected. */
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestAsciiFoldingFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestAsciiFoldingFilterFactory.java
index 03761e0..67abfc8 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestAsciiFoldingFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestAsciiFoldingFilterFactory.java
@@ -19,11 +19,11 @@ package org.apache.lucene.analysis.miscellaneous;
 import java.io.IOException;
 import java.util.Collections;
 import java.util.HashMap;
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
-import org.apache.lucene.analysis.CannedTokenStream;
-import org.apache.lucene.analysis.Token;
 import org.apache.lucene.analysis.TokenFilterFactory;
 import org.apache.lucene.analysis.TokenStream;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
+import org.apache.lucene.tests.analysis.CannedTokenStream;
+import org.apache.lucene.tests.analysis.Token;
 
 public class TestAsciiFoldingFilterFactory extends BaseTokenStreamFactoryTestCase {
 
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestCapitalizationFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestCapitalizationFilter.java
index 88d3d32..a4ca04e 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestCapitalizationFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestCapitalizationFilter.java
@@ -25,11 +25,11 @@ import java.util.Arrays;
 import java.util.Collection;
 import java.util.List;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.CharArraySet;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.core.KeywordTokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 import org.junit.Test;
 
 /** Tests {@link CapitalizationFilter} */
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestCapitalizationFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestCapitalizationFilterFactory.java
index 4d83ebd..1d9876d 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestCapitalizationFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestCapitalizationFilterFactory.java
@@ -18,8 +18,8 @@ package org.apache.lucene.analysis.miscellaneous;
 
 import java.io.Reader;
 import java.io.StringReader;
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
 import org.apache.lucene.analysis.TokenStream;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
 
 public class TestCapitalizationFilterFactory extends BaseTokenStreamFactoryTestCase {
 
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestCodepointCountFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestCodepointCountFilter.java
index 733d10b..e9d319b 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestCodepointCountFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestCodepointCountFilter.java
@@ -19,11 +19,11 @@ package org.apache.lucene.analysis.miscellaneous;
 import java.io.IOException;
 import java.io.StringReader;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.core.KeywordTokenizer;
-import org.apache.lucene.util.TestUtil;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.util.TestUtil;
 import org.junit.Test;
 
 public class TestCodepointCountFilter extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestCodepointCountFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestCodepointCountFilterFactory.java
index 0f9d7dc..eba7df9 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestCodepointCountFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestCodepointCountFilterFactory.java
@@ -18,10 +18,10 @@ package org.apache.lucene.analysis.miscellaneous;
 
 import java.io.Reader;
 import java.io.StringReader;
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 public class TestCodepointCountFilterFactory extends BaseTokenStreamFactoryTestCase {
 
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestConcatenateGraphFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestConcatenateGraphFilter.java
index 4e13d03..48a3312 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestConcatenateGraphFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestConcatenateGraphFilter.java
@@ -18,8 +18,6 @@ package org.apache.lucene.analysis.miscellaneous;
 
 import java.io.IOException;
 import java.io.StringReader;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.StopFilter;
 import org.apache.lucene.analysis.TokenFilter;
 import org.apache.lucene.analysis.TokenStream;
@@ -27,6 +25,8 @@ import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.synonym.SynonymFilter;
 import org.apache.lucene.analysis.synonym.SynonymGraphFilter;
 import org.apache.lucene.analysis.synonym.SynonymMap;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 import org.apache.lucene.util.CharsRef;
 import org.apache.lucene.util.CharsRefBuilder;
 import org.junit.Test;
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestConcatenateGraphFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestConcatenateGraphFilterFactory.java
index 25236d6..6dc98e8 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestConcatenateGraphFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestConcatenateGraphFilterFactory.java
@@ -19,10 +19,10 @@ package org.apache.lucene.analysis.miscellaneous;
 
 import java.io.Reader;
 import java.io.StringReader;
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.StopFilter;
 import org.apache.lucene.analysis.TokenStream;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 import org.apache.lucene.util.Version;
 
 public class TestConcatenateGraphFilterFactory extends BaseTokenStreamFactoryTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestConcatenatingTokenStream.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestConcatenatingTokenStream.java
index 51dd138..00efa01 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestConcatenatingTokenStream.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestConcatenatingTokenStream.java
@@ -19,13 +19,13 @@ package org.apache.lucene.analysis.miscellaneous;
 
 import java.io.IOException;
 import java.io.StringReader;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
-import org.apache.lucene.analysis.CannedTokenStream;
-import org.apache.lucene.analysis.MockTokenizer;
-import org.apache.lucene.analysis.Token;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.tokenattributes.FlagsAttribute;
 import org.apache.lucene.analysis.tokenattributes.PayloadAttribute;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.CannedTokenStream;
+import org.apache.lucene.tests.analysis.MockTokenizer;
+import org.apache.lucene.tests.analysis.Token;
 import org.apache.lucene.util.AttributeFactory;
 
 public class TestConcatenatingTokenStream extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestConditionalTokenFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestConditionalTokenFilter.java
index 8058c11..272dfd6 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestConditionalTokenFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestConditionalTokenFilter.java
@@ -24,17 +24,12 @@ import java.util.Random;
 import java.util.function.Function;
 import java.util.regex.Pattern;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
-import org.apache.lucene.analysis.CannedTokenStream;
 import org.apache.lucene.analysis.CharArraySet;
 import org.apache.lucene.analysis.CharacterUtils;
 import org.apache.lucene.analysis.FilteringTokenFilter;
-import org.apache.lucene.analysis.MockAnalyzer;
-import org.apache.lucene.analysis.Token;
 import org.apache.lucene.analysis.TokenFilter;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
-import org.apache.lucene.analysis.ValidatingTokenFilter;
 import org.apache.lucene.analysis.classic.ClassicTokenizer;
 import org.apache.lucene.analysis.core.TypeTokenFilter;
 import org.apache.lucene.analysis.de.GermanStemFilter;
@@ -49,6 +44,11 @@ import org.apache.lucene.analysis.synonym.SynonymMap;
 import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
 import org.apache.lucene.analysis.tokenattributes.OffsetAttribute;
 import org.apache.lucene.analysis.tokenattributes.PositionIncrementAttribute;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.CannedTokenStream;
+import org.apache.lucene.tests.analysis.MockAnalyzer;
+import org.apache.lucene.tests.analysis.Token;
+import org.apache.lucene.tests.analysis.ValidatingTokenFilter;
 
 public class TestConditionalTokenFilter extends BaseTokenStreamTestCase {
 
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestDateRecognizerFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestDateRecognizerFilter.java
index 5c5afec..236bc1c 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestDateRecognizerFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestDateRecognizerFilter.java
@@ -20,8 +20,8 @@ import java.io.IOException;
 import java.text.DateFormat;
 import java.text.SimpleDateFormat;
 import java.util.Locale;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.TokenStream;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 
 public class TestDateRecognizerFilter extends BaseTokenStreamTestCase {
 
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestDateRecognizerFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestDateRecognizerFilterFactory.java
index 28831b0..7b15a1f 100755
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestDateRecognizerFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestDateRecognizerFilterFactory.java
@@ -18,7 +18,7 @@ package org.apache.lucene.analysis.miscellaneous;
 
 import java.util.HashMap;
 import java.util.Map;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 
 public class TestDateRecognizerFilterFactory extends BaseTokenStreamTestCase {
 
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestDelimitedTermFrequencyTokenFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestDelimitedTermFrequencyTokenFilter.java
index 3c84f82..8724873 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestDelimitedTermFrequencyTokenFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestDelimitedTermFrequencyTokenFilter.java
@@ -17,10 +17,10 @@
 
 package org.apache.lucene.analysis.miscellaneous;
 
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
 import org.apache.lucene.analysis.tokenattributes.TermFrequencyAttribute;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 
 public class TestDelimitedTermFrequencyTokenFilter extends BaseTokenStreamTestCase {
 
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestDropIfFlaggedFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestDropIfFlaggedFilter.java
index 84e1395..8d06275 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestDropIfFlaggedFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestDropIfFlaggedFilter.java
@@ -16,10 +16,10 @@
  */
 package org.apache.lucene.analysis.miscellaneous;
 
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
-import org.apache.lucene.analysis.CannedTokenStream;
-import org.apache.lucene.analysis.Token;
 import org.apache.lucene.analysis.TokenStream;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.CannedTokenStream;
+import org.apache.lucene.tests.analysis.Token;
 
 /** Test that this filter removes tokens that match a particular set of flags. */
 public class TestDropIfFlaggedFilter extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestDropIfFlaggedFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestDropIfFlaggedFilterFactory.java
index c1afbbf..ca9ff4f 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestDropIfFlaggedFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestDropIfFlaggedFilterFactory.java
@@ -17,11 +17,11 @@
 
 package org.apache.lucene.analysis.miscellaneous;
 
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
-import org.apache.lucene.analysis.CannedTokenStream;
-import org.apache.lucene.analysis.Token;
 import org.apache.lucene.analysis.TokenFilterFactory;
 import org.apache.lucene.analysis.TokenStream;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
+import org.apache.lucene.tests.analysis.CannedTokenStream;
+import org.apache.lucene.tests.analysis.Token;
 
 /** This test just ensures the factory works, detailed tests in {@link TestDropIfFlaggedFilter} */
 public class TestDropIfFlaggedFilterFactory extends BaseTokenStreamFactoryTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestEmptyTokenStream.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestEmptyTokenStream.java
index d4f5b68..8aa86e7 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestEmptyTokenStream.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestEmptyTokenStream.java
@@ -17,7 +17,6 @@
 package org.apache.lucene.analysis.miscellaneous;
 
 import java.io.IOException;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.tokenattributes.TermToBytesRefAttribute;
 import org.apache.lucene.document.Document;
@@ -26,6 +25,7 @@ import org.apache.lucene.document.StringField;
 import org.apache.lucene.document.TextField;
 import org.apache.lucene.index.IndexWriter;
 import org.apache.lucene.store.Directory;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 
 public class TestEmptyTokenStream extends BaseTokenStreamTestCase {
 
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestFingerprintFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestFingerprintFilter.java
index 3746f00..77690c4 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestFingerprintFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestFingerprintFilter.java
@@ -16,9 +16,9 @@
  */
 package org.apache.lucene.analysis.miscellaneous;
 
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenStream;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 public class TestFingerprintFilter extends BaseTokenStreamTestCase {
 
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestFingerprintFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestFingerprintFilterFactory.java
index ee59c54..82a8908 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestFingerprintFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestFingerprintFilterFactory.java
@@ -18,9 +18,9 @@ package org.apache.lucene.analysis.miscellaneous;
 
 import java.io.Reader;
 import java.io.StringReader;
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenStream;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 public class TestFingerprintFilterFactory extends BaseTokenStreamFactoryTestCase {
 
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestFixBrokenOffsetsFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestFixBrokenOffsetsFilter.java
index afdffd2..4b9c8e1 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestFixBrokenOffsetsFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestFixBrokenOffsetsFilter.java
@@ -18,15 +18,15 @@
 package org.apache.lucene.analysis.miscellaneous;
 
 import java.io.IOException;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
-import org.apache.lucene.analysis.CannedTokenStream;
-import org.apache.lucene.analysis.Token;
 import org.apache.lucene.document.Document;
 import org.apache.lucene.document.Field;
 import org.apache.lucene.document.FieldType;
 import org.apache.lucene.document.TextField;
 import org.apache.lucene.index.IndexWriter;
 import org.apache.lucene.store.Directory;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.CannedTokenStream;
+import org.apache.lucene.tests.analysis.Token;
 
 @Deprecated
 public class TestFixBrokenOffsetsFilter extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestHyphenatedWordsFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestHyphenatedWordsFilter.java
index 0590d5c..26ba7ce 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestHyphenatedWordsFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestHyphenatedWordsFilter.java
@@ -19,11 +19,11 @@ package org.apache.lucene.analysis.miscellaneous;
 import java.io.IOException;
 import java.io.StringReader;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.core.KeywordTokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 /** HyphenatedWordsFilter test */
 public class TestHyphenatedWordsFilter extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestKeepFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestKeepFilterFactory.java
index baf6a71..0f36200 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestKeepFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestKeepFilterFactory.java
@@ -16,8 +16,8 @@
  */
 package org.apache.lucene.analysis.miscellaneous;
 
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
 import org.apache.lucene.analysis.CharArraySet;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
 import org.apache.lucene.util.ClasspathResourceLoader;
 import org.apache.lucene.util.ResourceLoader;
 
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestKeepWordFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestKeepWordFilter.java
index 4cfbce7..a390b71 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestKeepWordFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestKeepWordFilter.java
@@ -19,11 +19,11 @@ package org.apache.lucene.analysis.miscellaneous;
 import java.util.HashSet;
 import java.util.Set;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.CharArraySet;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 /** Test {@link KeepWordFilter} */
 public class TestKeepWordFilter extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestKeywordMarkerFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestKeywordMarkerFilter.java
index 7f62713..3652a2b 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestKeywordMarkerFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestKeywordMarkerFilter.java
@@ -19,12 +19,12 @@ package org.apache.lucene.analysis.miscellaneous;
 import java.io.IOException;
 import java.util.Locale;
 import java.util.regex.Pattern;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.CharArraySet;
 import org.apache.lucene.analysis.TokenFilter;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
 import org.apache.lucene.analysis.tokenattributes.KeywordAttribute;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 import org.junit.Test;
 
 /** Testcase for {@link KeywordMarkerFilter} */
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestKeywordMarkerFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestKeywordMarkerFilterFactory.java
index 60add0e..5285428 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestKeywordMarkerFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestKeywordMarkerFilterFactory.java
@@ -18,9 +18,9 @@ package org.apache.lucene.analysis.miscellaneous;
 
 import java.io.Reader;
 import java.io.StringReader;
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.util.StringMockResourceLoader;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
 import org.apache.lucene.util.Version;
 
 /** Simple tests to ensure the keyword marker filter factory is working. */
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestKeywordRepeatFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestKeywordRepeatFilter.java
index b43270c..33576a0 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestKeywordRepeatFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestKeywordRepeatFilter.java
@@ -17,9 +17,9 @@
 package org.apache.lucene.analysis.miscellaneous;
 
 import java.io.IOException;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.snowball.SnowballFilter;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 
 public class TestKeywordRepeatFilter extends BaseTokenStreamTestCase {
 
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestLengthFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestLengthFilter.java
index 932e733..2121a6f 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestLengthFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestLengthFilter.java
@@ -18,10 +18,10 @@ package org.apache.lucene.analysis.miscellaneous;
 
 import java.io.IOException;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.core.KeywordTokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 import org.junit.Test;
 
 public class TestLengthFilter extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestLengthFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestLengthFilterFactory.java
index 8dbe483..d932100 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestLengthFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestLengthFilterFactory.java
@@ -18,10 +18,10 @@ package org.apache.lucene.analysis.miscellaneous;
 
 import java.io.Reader;
 import java.io.StringReader;
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 public class TestLengthFilterFactory extends BaseTokenStreamFactoryTestCase {
 
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestLimitTokenCountAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestLimitTokenCountAnalyzer.java
index 988f0fa..74a948a 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestLimitTokenCountAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestLimitTokenCountAnalyzer.java
@@ -18,8 +18,6 @@ package org.apache.lucene.analysis.miscellaneous;
 
 import java.io.IOException;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
-import org.apache.lucene.analysis.MockAnalyzer;
 import org.apache.lucene.document.Document;
 import org.apache.lucene.document.Field;
 import org.apache.lucene.index.DirectoryReader;
@@ -28,7 +26,9 @@ import org.apache.lucene.index.IndexWriter;
 import org.apache.lucene.index.IndexWriterConfig;
 import org.apache.lucene.index.Term;
 import org.apache.lucene.store.Directory;
-import org.apache.lucene.util.TestUtil;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockAnalyzer;
+import org.apache.lucene.tests.util.TestUtil;
 
 public class TestLimitTokenCountAnalyzer extends BaseTokenStreamTestCase {
 
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestLimitTokenCountFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestLimitTokenCountFilter.java
index 93f21a4..46b7c65 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestLimitTokenCountFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestLimitTokenCountFilter.java
@@ -16,9 +16,9 @@
  */
 package org.apache.lucene.analysis.miscellaneous;
 
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenStream;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 import org.junit.Test;
 
 public class TestLimitTokenCountFilter extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestLimitTokenCountFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestLimitTokenCountFilterFactory.java
index c02005b..ed145d5 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestLimitTokenCountFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestLimitTokenCountFilterFactory.java
@@ -18,9 +18,9 @@ package org.apache.lucene.analysis.miscellaneous;
 
 import java.io.Reader;
 import java.io.StringReader;
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenStream;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 public class TestLimitTokenCountFilterFactory extends BaseTokenStreamFactoryTestCase {
 
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestLimitTokenOffsetFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestLimitTokenOffsetFilter.java
index 814637c..9bf640b 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestLimitTokenOffsetFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestLimitTokenOffsetFilter.java
@@ -16,9 +16,9 @@
  */
 package org.apache.lucene.analysis.miscellaneous;
 
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenStream;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 import org.junit.Test;
 
 public class TestLimitTokenOffsetFilter extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestLimitTokenOffsetFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestLimitTokenOffsetFilterFactory.java
index fc76fb9..ef19049 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestLimitTokenOffsetFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestLimitTokenOffsetFilterFactory.java
@@ -18,9 +18,9 @@ package org.apache.lucene.analysis.miscellaneous;
 
 import java.io.Reader;
 import java.io.StringReader;
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenStream;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 public class TestLimitTokenOffsetFilterFactory extends BaseTokenStreamFactoryTestCase {
 
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestLimitTokenPositionFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestLimitTokenPositionFilter.java
index 52ee974..9349d35 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestLimitTokenPositionFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestLimitTokenPositionFilter.java
@@ -19,11 +19,11 @@ package org.apache.lucene.analysis.miscellaneous;
 import java.io.IOException;
 import java.io.StringReader;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.synonym.SynonymFilter;
 import org.apache.lucene.analysis.synonym.SynonymMap;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 import org.apache.lucene.util.CharsRef;
 import org.apache.lucene.util.CharsRefBuilder;
 import org.junit.Test;
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestLimitTokenPositionFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestLimitTokenPositionFilterFactory.java
index 17cf8b3..8515b81 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestLimitTokenPositionFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestLimitTokenPositionFilterFactory.java
@@ -18,9 +18,9 @@ package org.apache.lucene.analysis.miscellaneous;
 
 import java.io.Reader;
 import java.io.StringReader;
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenStream;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 public class TestLimitTokenPositionFilterFactory extends BaseTokenStreamFactoryTestCase {
 
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestMiscellaneousFactories.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestMiscellaneousFactories.java
index 2418e96..add0aa0 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestMiscellaneousFactories.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestMiscellaneousFactories.java
@@ -18,8 +18,8 @@ package org.apache.lucene.analysis.miscellaneous;
 
 import java.io.Reader;
 import java.io.StringReader;
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
 import org.apache.lucene.analysis.TokenStream;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
 
 /** Simple tests to ensure the miscellaneous lucene factories are working. */
 public class TestMiscellaneousFactories extends BaseTokenStreamFactoryTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestPerFieldAnalyzerWrapper.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestPerFieldAnalyzerWrapper.java
index 2b8cd7d..7a49b02 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestPerFieldAnalyzerWrapper.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestPerFieldAnalyzerWrapper.java
@@ -21,14 +21,14 @@ import java.util.Collections;
 import java.util.Map;
 import org.apache.lucene.analysis.Analyzer;
 import org.apache.lucene.analysis.AnalyzerWrapper;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
-import org.apache.lucene.analysis.MockCharFilter;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenFilter;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.core.SimpleAnalyzer;
 import org.apache.lucene.analysis.core.WhitespaceAnalyzer;
 import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockCharFilter;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 import org.apache.lucene.util.IOUtils;
 
 public class TestPerFieldAnalyzerWrapper extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestProtectedTermFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestProtectedTermFilter.java
index b222d17..05e31d0 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestProtectedTermFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestProtectedTermFilter.java
@@ -18,12 +18,12 @@
 package org.apache.lucene.analysis.miscellaneous;
 
 import java.io.IOException;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
-import org.apache.lucene.analysis.CannedTokenStream;
 import org.apache.lucene.analysis.CharArraySet;
-import org.apache.lucene.analysis.Token;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.core.LowerCaseFilter;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.CannedTokenStream;
+import org.apache.lucene.tests.analysis.Token;
 
 public class TestProtectedTermFilter extends BaseTokenStreamTestCase {
 
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestProtectedTermFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestProtectedTermFilterFactory.java
index 150e9d1..219c823 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestProtectedTermFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestProtectedTermFilterFactory.java
@@ -16,9 +16,9 @@
  */
 package org.apache.lucene.analysis.miscellaneous;
 
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
 import org.apache.lucene.analysis.CharArraySet;
 import org.apache.lucene.analysis.TokenStream;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
 
 /** Simple tests to ensure the simple truncation filter factory is working. */
 public class TestProtectedTermFilterFactory extends BaseTokenStreamFactoryTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestRemoveDuplicatesTokenFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestRemoveDuplicatesTokenFilter.java
index a2963a2..bc14982 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestRemoveDuplicatesTokenFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestRemoveDuplicatesTokenFilter.java
@@ -20,9 +20,6 @@ import java.io.IOException;
 import java.util.Arrays;
 import java.util.Iterator;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
-import org.apache.lucene.analysis.MockTokenizer;
-import org.apache.lucene.analysis.Token;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.core.KeywordTokenizer;
@@ -31,8 +28,11 @@ import org.apache.lucene.analysis.synonym.SynonymMap;
 import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
 import org.apache.lucene.analysis.tokenattributes.OffsetAttribute;
 import org.apache.lucene.analysis.tokenattributes.PositionIncrementAttribute;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
+import org.apache.lucene.tests.analysis.Token;
+import org.apache.lucene.tests.util.TestUtil;
 import org.apache.lucene.util.CharsRef;
-import org.apache.lucene.util.TestUtil;
 
 public class TestRemoveDuplicatesTokenFilter extends BaseTokenStreamTestCase {
 
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestRemoveDuplicatesTokenFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestRemoveDuplicatesTokenFilterFactory.java
index f369a88..ca9b165 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestRemoveDuplicatesTokenFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestRemoveDuplicatesTokenFilterFactory.java
@@ -16,10 +16,10 @@
  */
 package org.apache.lucene.analysis.miscellaneous;
 
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
-import org.apache.lucene.analysis.CannedTokenStream;
-import org.apache.lucene.analysis.Token;
 import org.apache.lucene.analysis.TokenStream;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
+import org.apache.lucene.tests.analysis.CannedTokenStream;
+import org.apache.lucene.tests.analysis.Token;
 
 /** Simple tests to ensure this factory is working */
 public class TestRemoveDuplicatesTokenFilterFactory extends BaseTokenStreamFactoryTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestScandinavianFoldingFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestScandinavianFoldingFilter.java
index 5a20b8d..67ee8dc 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestScandinavianFoldingFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestScandinavianFoldingFilter.java
@@ -17,11 +17,11 @@
 package org.apache.lucene.analysis.miscellaneous;
 
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.core.KeywordTokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 public class TestScandinavianFoldingFilter extends BaseTokenStreamTestCase {
   private Analyzer analyzer;
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestScandinavianFoldingFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestScandinavianFoldingFilterFactory.java
index 596b493..72df59f 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestScandinavianFoldingFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestScandinavianFoldingFilterFactory.java
@@ -18,8 +18,8 @@ package org.apache.lucene.analysis.miscellaneous;
 
 import java.io.Reader;
 import java.io.StringReader;
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
 import org.apache.lucene.analysis.TokenStream;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
 
 public class TestScandinavianFoldingFilterFactory extends BaseTokenStreamFactoryTestCase {
 
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestScandinavianNormalizationFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestScandinavianNormalizationFilter.java
index d26f7a0..0b5ca78 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestScandinavianNormalizationFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestScandinavianNormalizationFilter.java
@@ -18,6 +18,8 @@ package org.apache.lucene.analysis.miscellaneous;
 
 import org.apache.lucene.analysis.*;
 import org.apache.lucene.analysis.core.KeywordTokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 public class TestScandinavianNormalizationFilter extends BaseTokenStreamTestCase {
   public void testDefault() throws Exception {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestScandinavianNormalizationFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestScandinavianNormalizationFilterFactory.java
index 2966fd4..3fe52b3 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestScandinavianNormalizationFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestScandinavianNormalizationFilterFactory.java
@@ -16,8 +16,8 @@
  */
 package org.apache.lucene.analysis.miscellaneous;
 
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
 import org.apache.lucene.analysis.TokenStream;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
 
 public class TestScandinavianNormalizationFilterFactory extends BaseTokenStreamFactoryTestCase {
 
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestScandinavianNormalizer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestScandinavianNormalizer.java
index 2bea534..2014b20 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestScandinavianNormalizer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestScandinavianNormalizer.java
@@ -22,6 +22,8 @@ import java.util.Set;
 import org.apache.lucene.analysis.*;
 import org.apache.lucene.analysis.miscellaneous.ScandinavianNormalizer.Foldings;
 import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 /** Tests low level the normalizer functionality */
 public class TestScandinavianNormalizer extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestStemmerOverrideFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestStemmerOverrideFilter.java
index c07d2c8..e2dec98 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestStemmerOverrideFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestStemmerOverrideFilter.java
@@ -25,7 +25,6 @@ import java.util.List;
 import java.util.Map;
 import java.util.Map.Entry;
 import java.util.Set;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.CharacterUtils;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
@@ -33,7 +32,8 @@ import org.apache.lucene.analysis.core.KeywordTokenizer;
 import org.apache.lucene.analysis.core.WhitespaceTokenizer;
 import org.apache.lucene.analysis.en.PorterStemFilter;
 import org.apache.lucene.analysis.miscellaneous.StemmerOverrideFilter.StemmerOverrideMap;
-import org.apache.lucene.util.TestUtil;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.util.TestUtil;
 
 /** */
 public class TestStemmerOverrideFilter extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestStemmerOverrideFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestStemmerOverrideFilterFactory.java
index bc4e9c5..9e366bc 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestStemmerOverrideFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestStemmerOverrideFilterFactory.java
@@ -18,9 +18,9 @@ package org.apache.lucene.analysis.miscellaneous;
 
 import java.io.Reader;
 import java.io.StringReader;
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.util.StringMockResourceLoader;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
 import org.apache.lucene.util.Version;
 
 /** Simple tests to ensure the stemmer override filter factory is working. */
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestTrimFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestTrimFilter.java
index cfc9e39..5b315cf 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestTrimFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestTrimFilter.java
@@ -18,13 +18,13 @@ package org.apache.lucene.analysis.miscellaneous;
 
 import java.io.IOException;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
-import org.apache.lucene.analysis.CannedTokenStream;
-import org.apache.lucene.analysis.MockTokenizer;
-import org.apache.lucene.analysis.Token;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.core.KeywordTokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.CannedTokenStream;
+import org.apache.lucene.tests.analysis.MockTokenizer;
+import org.apache.lucene.tests.analysis.Token;
 
 /** */
 public class TestTrimFilter extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestTrimFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestTrimFilterFactory.java
index 980b01e..d1e4e51 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestTrimFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestTrimFilterFactory.java
@@ -18,8 +18,8 @@ package org.apache.lucene.analysis.miscellaneous;
 
 import java.io.Reader;
 import java.io.StringReader;
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
 import org.apache.lucene.analysis.TokenStream;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
 
 /** Simple tests to ensure this factory is working */
 public class TestTrimFilterFactory extends BaseTokenStreamFactoryTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestTruncateTokenFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestTruncateTokenFilter.java
index df3f045..0ce3932 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestTruncateTokenFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestTruncateTokenFilter.java
@@ -16,8 +16,8 @@
  */
 package org.apache.lucene.analysis.miscellaneous;
 
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.TokenStream;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 import org.junit.Test;
 
 /** Test the truncate token filter. */
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestTruncateTokenFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestTruncateTokenFilterFactory.java
index 14da3b5..2fed6c2 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestTruncateTokenFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestTruncateTokenFilterFactory.java
@@ -18,10 +18,10 @@ package org.apache.lucene.analysis.miscellaneous;
 
 import java.io.Reader;
 import java.io.StringReader;
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 /** Simple tests to ensure the simple truncation filter factory is working. */
 public class TestTruncateTokenFilterFactory extends BaseTokenStreamFactoryTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestTypeAsSynonymFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestTypeAsSynonymFilter.java
index ead884d..66ef905 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestTypeAsSynonymFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestTypeAsSynonymFilter.java
@@ -18,10 +18,10 @@ package org.apache.lucene.analysis.miscellaneous;
 
 import java.util.Collections;
 import java.util.Set;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
-import org.apache.lucene.analysis.CannedTokenStream;
-import org.apache.lucene.analysis.Token;
 import org.apache.lucene.analysis.TokenStream;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.CannedTokenStream;
+import org.apache.lucene.tests.analysis.Token;
 
 /**
  * Test that this filter moves the value in type to a synonym token with the same offsets. This is
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestTypeAsSynonymFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestTypeAsSynonymFilterFactory.java
index 4175b18..1921972 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestTypeAsSynonymFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestTypeAsSynonymFilterFactory.java
@@ -17,10 +17,10 @@
 
 package org.apache.lucene.analysis.miscellaneous;
 
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
-import org.apache.lucene.analysis.CannedTokenStream;
-import org.apache.lucene.analysis.Token;
 import org.apache.lucene.analysis.TokenStream;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
+import org.apache.lucene.tests.analysis.CannedTokenStream;
+import org.apache.lucene.tests.analysis.Token;
 
 public class TestTypeAsSynonymFilterFactory extends BaseTokenStreamFactoryTestCase {
 
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestWordDelimiterFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestWordDelimiterFilter.java
index 9f8ab64..9eccfd5 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestWordDelimiterFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestWordDelimiterFilter.java
@@ -21,12 +21,8 @@ import java.util.Arrays;
 import java.util.HashSet;
 import java.util.Random;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
-import org.apache.lucene.analysis.CannedTokenStream;
 import org.apache.lucene.analysis.CharArraySet;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.StopFilter;
-import org.apache.lucene.analysis.Token;
 import org.apache.lucene.analysis.TokenFilter;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
@@ -34,6 +30,10 @@ import org.apache.lucene.analysis.core.KeywordTokenizer;
 import org.apache.lucene.analysis.en.EnglishAnalyzer;
 import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
 import org.apache.lucene.analysis.tokenattributes.PositionIncrementAttribute;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.CannedTokenStream;
+import org.apache.lucene.tests.analysis.MockTokenizer;
+import org.apache.lucene.tests.analysis.Token;
 import org.apache.lucene.util.IOUtils;
 
 /**
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestWordDelimiterGraphFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestWordDelimiterGraphFilter.java
index f0fe89c..d925839 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestWordDelimiterGraphFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/miscellaneous/TestWordDelimiterGraphFilter.java
@@ -36,12 +36,8 @@ import java.util.List;
 import java.util.Random;
 import java.util.Set;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
-import org.apache.lucene.analysis.CannedTokenStream;
 import org.apache.lucene.analysis.CharArraySet;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.StopFilter;
-import org.apache.lucene.analysis.Token;
 import org.apache.lucene.analysis.TokenFilter;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
@@ -49,8 +45,12 @@ import org.apache.lucene.analysis.core.KeywordTokenizer;
 import org.apache.lucene.analysis.en.EnglishAnalyzer;
 import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
 import org.apache.lucene.analysis.tokenattributes.PositionIncrementAttribute;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.CannedTokenStream;
+import org.apache.lucene.tests.analysis.MockTokenizer;
+import org.apache.lucene.tests.analysis.Token;
+import org.apache.lucene.tests.util.TestUtil;
 import org.apache.lucene.util.IOUtils;
-import org.apache.lucene.util.TestUtil;
 
 /**
  * New WordDelimiterGraphFilter tests... most of the tests are in ConvertedLegacyTest TODO: should
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ne/TestNepaliAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ne/TestNepaliAnalyzer.java
index e81dea9..32f0275 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ne/TestNepaliAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ne/TestNepaliAnalyzer.java
@@ -17,8 +17,8 @@
 package org.apache.lucene.analysis.ne;
 
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.CharArraySet;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 
 /** Tests the NepaliAnalyzer */
 public class TestNepaliAnalyzer extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ngram/TestEdgeNGramTokenFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ngram/TestEdgeNGramTokenFilter.java
index 808c473..aea268e 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ngram/TestEdgeNGramTokenFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ngram/TestEdgeNGramTokenFilter.java
@@ -20,8 +20,6 @@ import java.io.IOException;
 import java.io.StringReader;
 import java.util.Random;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenFilter;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
@@ -32,7 +30,9 @@ import org.apache.lucene.analysis.shingle.ShingleFilter;
 import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
 import org.apache.lucene.analysis.tokenattributes.OffsetAttribute;
 import org.apache.lucene.analysis.tokenattributes.PositionIncrementAttribute;
-import org.apache.lucene.util.TestUtil;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
+import org.apache.lucene.tests.util.TestUtil;
 
 /** Tests {@link EdgeNGramTokenFilter} for correctness. */
 public class TestEdgeNGramTokenFilter extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ngram/TestEdgeNGramTokenizer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ngram/TestEdgeNGramTokenizer.java
index 78846c3..434a552 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ngram/TestEdgeNGramTokenizer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ngram/TestEdgeNGramTokenizer.java
@@ -21,9 +21,9 @@ import java.io.IOException;
 import java.io.StringReader;
 import java.util.Arrays;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.Tokenizer;
-import org.apache.lucene.util.TestUtil;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.util.TestUtil;
 
 /** Tests {@link EdgeNGramTokenizer} for correctness. */
 public class TestEdgeNGramTokenizer extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ngram/TestNGramFilters.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ngram/TestNGramFilters.java
index a2bd882..14c168c 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ngram/TestNGramFilters.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ngram/TestNGramFilters.java
@@ -18,11 +18,11 @@ package org.apache.lucene.analysis.ngram;
 
 import java.io.Reader;
 import java.io.StringReader;
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.payloads.PayloadHelper;
 import org.apache.lucene.analysis.tokenattributes.PayloadAttribute;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
 import org.apache.lucene.util.BytesRef;
 
 /** Simple tests to ensure the NGram filter factories are working. */
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ngram/TestNGramTokenFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ngram/TestNGramTokenFilter.java
index f5f6967..207a6f4 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ngram/TestNGramTokenFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ngram/TestNGramTokenFilter.java
@@ -20,8 +20,6 @@ import java.io.IOException;
 import java.io.StringReader;
 import java.util.Random;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenFilter;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
@@ -31,7 +29,9 @@ import org.apache.lucene.analysis.miscellaneous.ASCIIFoldingFilter;
 import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
 import org.apache.lucene.analysis.tokenattributes.OffsetAttribute;
 import org.apache.lucene.analysis.tokenattributes.PositionIncrementAttribute;
-import org.apache.lucene.util.TestUtil;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
+import org.apache.lucene.tests.util.TestUtil;
 
 /** Tests {@link NGramTokenFilter} for correctness. */
 public class TestNGramTokenFilter extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ngram/TestNGramTokenizer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ngram/TestNGramTokenizer.java
index 5908cdf..23240c5 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ngram/TestNGramTokenizer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ngram/TestNGramTokenizer.java
@@ -21,14 +21,14 @@ import java.io.IOException;
 import java.io.StringReader;
 import java.util.Arrays;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
 import org.apache.lucene.analysis.tokenattributes.OffsetAttribute;
 import org.apache.lucene.analysis.tokenattributes.PositionIncrementAttribute;
 import org.apache.lucene.analysis.tokenattributes.PositionLengthAttribute;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.util.TestUtil;
 import org.apache.lucene.util.ArrayUtil;
-import org.apache.lucene.util.TestUtil;
 
 /** Tests {@link NGramTokenizer} for correctness. */
 public class TestNGramTokenizer extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/nl/TestDutchAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/nl/TestDutchAnalyzer.java
index 1fcd213..3c5db96 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/nl/TestDutchAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/nl/TestDutchAnalyzer.java
@@ -18,9 +18,9 @@ package org.apache.lucene.analysis.nl;
 
 import java.io.IOException;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.CharArrayMap;
 import org.apache.lucene.analysis.CharArraySet;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 
 /**
  * Test the Dutch Stem Filter, which only modifies the term text.
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/no/TestNorwegianAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/no/TestNorwegianAnalyzer.java
index 08baac9..5aedfc7 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/no/TestNorwegianAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/no/TestNorwegianAnalyzer.java
@@ -18,8 +18,8 @@ package org.apache.lucene.analysis.no;
 
 import java.io.IOException;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.CharArraySet;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 
 public class TestNorwegianAnalyzer extends BaseTokenStreamTestCase {
   /** This test fails with NPE when the stopwords file is missing in classpath */
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/no/TestNorwegianLightStemFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/no/TestNorwegianLightStemFilter.java
index 3f65de2..a15121a 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/no/TestNorwegianLightStemFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/no/TestNorwegianLightStemFilter.java
@@ -16,21 +16,21 @@
  */
 package org.apache.lucene.analysis.no;
 
-import static org.apache.lucene.analysis.VocabularyAssert.*;
 import static org.apache.lucene.analysis.no.NorwegianLightStemmer.BOKMAAL;
 import static org.apache.lucene.analysis.no.NorwegianLightStemmer.NYNORSK;
+import static org.apache.lucene.tests.analysis.VocabularyAssert.*;
 
 import java.io.IOException;
 import java.nio.file.Files;
 import java.util.Random;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.CharArraySet;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.core.KeywordTokenizer;
 import org.apache.lucene.analysis.miscellaneous.SetKeywordMarkerFilter;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 /** Simple tests for {@link NorwegianLightStemFilter} */
 public class TestNorwegianLightStemFilter extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/no/TestNorwegianLightStemFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/no/TestNorwegianLightStemFilterFactory.java
index a2f1eb1..41ea448 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/no/TestNorwegianLightStemFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/no/TestNorwegianLightStemFilterFactory.java
@@ -18,8 +18,8 @@ package org.apache.lucene.analysis.no;
 
 import java.io.Reader;
 import java.io.StringReader;
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
 import org.apache.lucene.analysis.TokenStream;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
 
 /** Simple tests to ensure the Norwegian Light stem factory is working. */
 public class TestNorwegianLightStemFilterFactory extends BaseTokenStreamFactoryTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/no/TestNorwegianMinimalStemFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/no/TestNorwegianMinimalStemFilter.java
index c43451a..c572a2e 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/no/TestNorwegianMinimalStemFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/no/TestNorwegianMinimalStemFilter.java
@@ -16,21 +16,21 @@
  */
 package org.apache.lucene.analysis.no;
 
-import static org.apache.lucene.analysis.VocabularyAssert.*;
 import static org.apache.lucene.analysis.no.NorwegianLightStemmer.BOKMAAL;
 import static org.apache.lucene.analysis.no.NorwegianLightStemmer.NYNORSK;
+import static org.apache.lucene.tests.analysis.VocabularyAssert.*;
 
 import java.io.IOException;
 import java.nio.file.Files;
 import java.util.Random;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.CharArraySet;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.core.KeywordTokenizer;
 import org.apache.lucene.analysis.miscellaneous.SetKeywordMarkerFilter;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 /** Simple tests for {@link NorwegianMinimalStemFilter} */
 public class TestNorwegianMinimalStemFilter extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/no/TestNorwegianMinimalStemFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/no/TestNorwegianMinimalStemFilterFactory.java
index eace942..6e7f282 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/no/TestNorwegianMinimalStemFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/no/TestNorwegianMinimalStemFilterFactory.java
@@ -18,10 +18,10 @@ package org.apache.lucene.analysis.no;
 
 import java.io.Reader;
 import java.io.StringReader;
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 /** Simple tests to ensure the Norwegian Minimal stem factory is working. */
 public class TestNorwegianMinimalStemFilterFactory extends BaseTokenStreamFactoryTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/no/TestNorwegianNormalizationFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/no/TestNorwegianNormalizationFilter.java
index c897fcb..0662de2 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/no/TestNorwegianNormalizationFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/no/TestNorwegianNormalizationFilter.java
@@ -19,6 +19,8 @@ package org.apache.lucene.analysis.no;
 import org.apache.lucene.analysis.*;
 import org.apache.lucene.analysis.core.KeywordTokenizer;
 import org.apache.lucene.analysis.miscellaneous.ScandinavianNormalizationFilter;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 public class TestNorwegianNormalizationFilter extends BaseTokenStreamTestCase {
   public void testDefault() throws Exception {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/no/TestNorwegianNormalizationFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/no/TestNorwegianNormalizationFilterFactory.java
index 88ed19a..04f6a36 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/no/TestNorwegianNormalizationFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/no/TestNorwegianNormalizationFilterFactory.java
@@ -16,8 +16,8 @@
  */
 package org.apache.lucene.analysis.no;
 
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
 import org.apache.lucene.analysis.TokenStream;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
 
 public class TestNorwegianNormalizationFilterFactory extends BaseTokenStreamFactoryTestCase {
 
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/path/TestPathHierarchyTokenizer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/path/TestPathHierarchyTokenizer.java
index e78d7be..238319b 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/path/TestPathHierarchyTokenizer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/path/TestPathHierarchyTokenizer.java
@@ -23,10 +23,10 @@ import java.io.Reader;
 import java.io.StringReader;
 import java.util.Random;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.charfilter.MappingCharFilter;
 import org.apache.lucene.analysis.charfilter.NormalizeCharMap;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 
 public class TestPathHierarchyTokenizer extends BaseTokenStreamTestCase {
 
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/path/TestReversePathHierarchyTokenizer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/path/TestReversePathHierarchyTokenizer.java
index df9adcd..683faf7 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/path/TestReversePathHierarchyTokenizer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/path/TestReversePathHierarchyTokenizer.java
@@ -22,8 +22,8 @@ import static org.apache.lucene.analysis.path.ReversePathHierarchyTokenizer.DEFA
 import java.io.StringReader;
 import java.util.Random;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.Tokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 
 public class TestReversePathHierarchyTokenizer extends BaseTokenStreamTestCase {
 
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestPatternCaptureGroupTokenFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestPatternCaptureGroupTokenFilter.java
index ad7339d..35cac14 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestPatternCaptureGroupTokenFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestPatternCaptureGroupTokenFilter.java
@@ -19,10 +19,10 @@ package org.apache.lucene.analysis.pattern;
 import java.io.StringReader;
 import java.util.regex.Pattern;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 public class TestPatternCaptureGroupTokenFilter extends BaseTokenStreamTestCase {
 
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestPatternReplaceCharFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestPatternReplaceCharFilter.java
index 8c9a054..119859b 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestPatternReplaceCharFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestPatternReplaceCharFilter.java
@@ -23,12 +23,12 @@ import java.util.Random;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.CharFilter;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
-import org.apache.lucene.util.TestUtil;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
+import org.apache.lucene.tests.util.TestUtil;
 import org.junit.Ignore;
 
 /** Tests {@link PatternReplaceCharFilter} */
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestPatternReplaceCharFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestPatternReplaceCharFilterFactory.java
index e6d08ec..14263bc 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestPatternReplaceCharFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestPatternReplaceCharFilterFactory.java
@@ -18,8 +18,8 @@ package org.apache.lucene.analysis.pattern;
 
 import java.io.Reader;
 import java.io.StringReader;
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
 import org.apache.lucene.analysis.TokenStream;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
 
 /** Simple tests to ensure this factory is working */
 public class TestPatternReplaceCharFilterFactory extends BaseTokenStreamFactoryTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestPatternReplaceFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestPatternReplaceFilter.java
index 8665517..c45b138 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestPatternReplaceFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestPatternReplaceFilter.java
@@ -19,11 +19,11 @@ package org.apache.lucene.analysis.pattern;
 import java.io.IOException;
 import java.util.regex.Pattern;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.core.KeywordTokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 public class TestPatternReplaceFilter extends BaseTokenStreamTestCase {
 
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestPatternReplaceFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestPatternReplaceFilterFactory.java
index 90efdbd..a63cc3c 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestPatternReplaceFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestPatternReplaceFilterFactory.java
@@ -18,8 +18,8 @@ package org.apache.lucene.analysis.pattern;
 
 import java.io.Reader;
 import java.io.StringReader;
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
 import org.apache.lucene.analysis.TokenStream;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
 
 /** Simple tests to ensure this factory is working */
 public class TestPatternReplaceFilterFactory extends BaseTokenStreamFactoryTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestPatternTokenizer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestPatternTokenizer.java
index 5f11f44..620cdd8 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestPatternTokenizer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestPatternTokenizer.java
@@ -22,13 +22,13 @@ import java.util.ArrayList;
 import java.util.List;
 import java.util.regex.Pattern;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.CharFilter;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.charfilter.MappingCharFilter;
 import org.apache.lucene.analysis.charfilter.NormalizeCharMap;
 import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 
 public class TestPatternTokenizer extends BaseTokenStreamTestCase {
   public void testSplitting() throws Exception {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestPatternTokenizerFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestPatternTokenizerFactory.java
index e870100..9302bdc 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestPatternTokenizerFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestPatternTokenizerFactory.java
@@ -18,8 +18,8 @@ package org.apache.lucene.analysis.pattern;
 
 import java.io.Reader;
 import java.io.StringReader;
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
 import org.apache.lucene.analysis.Tokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
 
 /** Simple Tests to ensure this factory is working */
 public class TestPatternTokenizerFactory extends BaseTokenStreamFactoryTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestPatternTypingFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestPatternTypingFilter.java
index 2611ff2..54835a4 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestPatternTypingFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestPatternTypingFilter.java
@@ -18,11 +18,11 @@ package org.apache.lucene.analysis.pattern;
 
 import java.io.IOException;
 import java.util.regex.Pattern;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
-import org.apache.lucene.analysis.CannedTokenStream;
-import org.apache.lucene.analysis.Token;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.pattern.PatternTypingFilter.PatternTypingRule;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.CannedTokenStream;
+import org.apache.lucene.tests.analysis.Token;
 
 /** Test that this filter sets a type for tokens matching patterns defined in a patterns.txt file */
 public class TestPatternTypingFilter extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestPatternTypingFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestPatternTypingFilterFactory.java
index dce0b59..3700658 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestPatternTypingFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestPatternTypingFilterFactory.java
@@ -17,12 +17,12 @@
 
 package org.apache.lucene.analysis.pattern;
 
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
-import org.apache.lucene.analysis.CannedTokenStream;
-import org.apache.lucene.analysis.Token;
 import org.apache.lucene.analysis.TokenFilterFactory;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.util.StringMockResourceLoader;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
+import org.apache.lucene.tests.analysis.CannedTokenStream;
+import org.apache.lucene.tests.analysis.Token;
 import org.apache.lucene.util.Version;
 
 /** This test just ensures the factory works */
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestSimplePatternSplitTokenizer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestSimplePatternSplitTokenizer.java
index 82fc2ec..3de03f4 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestSimplePatternSplitTokenizer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestSimplePatternSplitTokenizer.java
@@ -21,7 +21,6 @@ import java.io.StringReader;
 import java.util.ArrayList;
 import java.util.List;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.CharFilter;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
@@ -29,7 +28,8 @@ import org.apache.lucene.analysis.charfilter.MappingCharFilter;
 import org.apache.lucene.analysis.charfilter.NormalizeCharMap;
 import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
 import org.apache.lucene.analysis.tokenattributes.OffsetAttribute;
-import org.apache.lucene.util.TestUtil;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.util.TestUtil;
 import org.apache.lucene.util.automaton.Automaton;
 
 public class TestSimplePatternSplitTokenizer extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestSimplePatternTokenizer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestSimplePatternTokenizer.java
index e4ac20b..e66ae7a 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestSimplePatternTokenizer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/pattern/TestSimplePatternTokenizer.java
@@ -21,7 +21,6 @@ import java.io.StringReader;
 import java.util.ArrayList;
 import java.util.List;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.CharFilter;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
@@ -29,7 +28,8 @@ import org.apache.lucene.analysis.charfilter.MappingCharFilter;
 import org.apache.lucene.analysis.charfilter.NormalizeCharMap;
 import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
 import org.apache.lucene.analysis.tokenattributes.OffsetAttribute;
-import org.apache.lucene.util.TestUtil;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.util.TestUtil;
 import org.apache.lucene.util.automaton.Automaton;
 
 public class TestSimplePatternTokenizer extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/payloads/TestDelimitedPayloadTokenFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/payloads/TestDelimitedPayloadTokenFilter.java
index 6ac7219..2f804f2 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/payloads/TestDelimitedPayloadTokenFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/payloads/TestDelimitedPayloadTokenFilter.java
@@ -17,10 +17,10 @@
 package org.apache.lucene.analysis.payloads;
 
 import java.nio.charset.StandardCharsets;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
 import org.apache.lucene.analysis.tokenattributes.PayloadAttribute;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.util.BytesRef;
 
 public class TestDelimitedPayloadTokenFilter extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/payloads/TestDelimitedPayloadTokenFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/payloads/TestDelimitedPayloadTokenFilterFactory.java
index b81a4c9..a812d98 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/payloads/TestDelimitedPayloadTokenFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/payloads/TestDelimitedPayloadTokenFilterFactory.java
@@ -18,11 +18,11 @@ package org.apache.lucene.analysis.payloads;
 
 import java.io.Reader;
 import java.io.StringReader;
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.tokenattributes.PayloadAttribute;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 public class TestDelimitedPayloadTokenFilterFactory extends BaseTokenStreamFactoryTestCase {
 
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/payloads/TestNumericPayloadTokenFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/payloads/TestNumericPayloadTokenFilter.java
index 98f2f40..237bf66 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/payloads/TestNumericPayloadTokenFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/payloads/TestNumericPayloadTokenFilter.java
@@ -18,13 +18,13 @@ package org.apache.lucene.analysis.payloads;
 
 import java.io.IOException;
 import java.io.StringReader;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenFilter;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
 import org.apache.lucene.analysis.tokenattributes.PayloadAttribute;
 import org.apache.lucene.analysis.tokenattributes.TypeAttribute;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 public class TestNumericPayloadTokenFilter extends BaseTokenStreamTestCase {
 
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/payloads/TestTokenOffsetPayloadTokenFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/payloads/TestTokenOffsetPayloadTokenFilter.java
index eaef32b..3ff23cc 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/payloads/TestTokenOffsetPayloadTokenFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/payloads/TestTokenOffsetPayloadTokenFilter.java
@@ -17,9 +17,9 @@
 package org.apache.lucene.analysis.payloads;
 
 import java.io.IOException;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.tokenattributes.OffsetAttribute;
 import org.apache.lucene.analysis.tokenattributes.PayloadAttribute;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.util.BytesRef;
 
 public class TestTokenOffsetPayloadTokenFilter extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/payloads/TestTypeAsPayloadTokenFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/payloads/TestTypeAsPayloadTokenFilter.java
index 2a07c0e..e3ded64 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/payloads/TestTypeAsPayloadTokenFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/payloads/TestTypeAsPayloadTokenFilter.java
@@ -17,12 +17,12 @@
 package org.apache.lucene.analysis.payloads;
 
 import java.io.IOException;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.TokenFilter;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
 import org.apache.lucene.analysis.tokenattributes.PayloadAttribute;
 import org.apache.lucene.analysis.tokenattributes.TypeAttribute;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 
 public class TestTypeAsPayloadTokenFilter extends BaseTokenStreamTestCase {
 
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/pt/TestPortugueseAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/pt/TestPortugueseAnalyzer.java
index e8a1d59..1655761 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/pt/TestPortugueseAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/pt/TestPortugueseAnalyzer.java
@@ -18,8 +18,8 @@ package org.apache.lucene.analysis.pt;
 
 import java.io.IOException;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.CharArraySet;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 
 public class TestPortugueseAnalyzer extends BaseTokenStreamTestCase {
   /** This test fails with NPE when the stopwords file is missing in classpath */
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/pt/TestPortugueseLightStemFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/pt/TestPortugueseLightStemFilter.java
index 56ed6b6..1f6034b 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/pt/TestPortugueseLightStemFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/pt/TestPortugueseLightStemFilter.java
@@ -16,17 +16,17 @@
  */
 package org.apache.lucene.analysis.pt;
 
-import static org.apache.lucene.analysis.VocabularyAssert.*;
+import static org.apache.lucene.tests.analysis.VocabularyAssert.*;
 
 import java.io.IOException;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.CharArraySet;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.core.KeywordTokenizer;
 import org.apache.lucene.analysis.miscellaneous.SetKeywordMarkerFilter;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 /** Simple tests for {@link PortugueseLightStemFilter} */
 public class TestPortugueseLightStemFilter extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/pt/TestPortugueseLightStemFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/pt/TestPortugueseLightStemFilterFactory.java
index 4ee09ea..5aff1b1 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/pt/TestPortugueseLightStemFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/pt/TestPortugueseLightStemFilterFactory.java
@@ -18,10 +18,10 @@ package org.apache.lucene.analysis.pt;
 
 import java.io.Reader;
 import java.io.StringReader;
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 /** Simple tests to ensure the Portuguese Light stem factory is working. */
 public class TestPortugueseLightStemFilterFactory extends BaseTokenStreamFactoryTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/pt/TestPortugueseMinimalStemFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/pt/TestPortugueseMinimalStemFilter.java
index 370f07e..81a1497 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/pt/TestPortugueseMinimalStemFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/pt/TestPortugueseMinimalStemFilter.java
@@ -16,17 +16,17 @@
  */
 package org.apache.lucene.analysis.pt;
 
-import static org.apache.lucene.analysis.VocabularyAssert.*;
+import static org.apache.lucene.tests.analysis.VocabularyAssert.*;
 
 import java.io.IOException;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.CharArraySet;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.core.KeywordTokenizer;
 import org.apache.lucene.analysis.miscellaneous.SetKeywordMarkerFilter;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 /** Simple tests for {@link PortugueseMinimalStemFilter} */
 public class TestPortugueseMinimalStemFilter extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/pt/TestPortugueseMinimalStemFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/pt/TestPortugueseMinimalStemFilterFactory.java
index f028c83..b28bd34 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/pt/TestPortugueseMinimalStemFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/pt/TestPortugueseMinimalStemFilterFactory.java
@@ -18,10 +18,10 @@ package org.apache.lucene.analysis.pt;
 
 import java.io.Reader;
 import java.io.StringReader;
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 /** Simple tests to ensure the Portuguese Minimal stem factory is working. */
 public class TestPortugueseMinimalStemFilterFactory extends BaseTokenStreamFactoryTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/pt/TestPortugueseStemFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/pt/TestPortugueseStemFilter.java
index fd1d238..662e63f 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/pt/TestPortugueseStemFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/pt/TestPortugueseStemFilter.java
@@ -16,17 +16,17 @@
  */
 package org.apache.lucene.analysis.pt;
 
-import static org.apache.lucene.analysis.VocabularyAssert.assertVocabulary;
+import static org.apache.lucene.tests.analysis.VocabularyAssert.assertVocabulary;
 
 import java.io.IOException;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.CharArraySet;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.core.KeywordTokenizer;
 import org.apache.lucene.analysis.miscellaneous.SetKeywordMarkerFilter;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 /** Simple tests for {@link PortugueseStemFilter} */
 public class TestPortugueseStemFilter extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/pt/TestPortugueseStemFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/pt/TestPortugueseStemFilterFactory.java
index 2352bcf..a4e8dbb 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/pt/TestPortugueseStemFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/pt/TestPortugueseStemFilterFactory.java
@@ -18,8 +18,8 @@ package org.apache.lucene.analysis.pt;
 
 import java.io.Reader;
 import java.io.StringReader;
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
 import org.apache.lucene.analysis.TokenStream;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
 
 /** Simple tests to ensure the Portuguese stem factory is working. */
 public class TestPortugueseStemFilterFactory extends BaseTokenStreamFactoryTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/query/TestQueryAutoStopWordAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/query/TestQueryAutoStopWordAnalyzer.java
index 3a41880..09e2b36 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/query/TestQueryAutoStopWordAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/query/TestQueryAutoStopWordAnalyzer.java
@@ -28,6 +28,9 @@ import org.apache.lucene.index.IndexWriter;
 import org.apache.lucene.index.IndexWriterConfig;
 import org.apache.lucene.store.ByteBuffersDirectory;
 import org.apache.lucene.store.Directory;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockAnalyzer;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 public class TestQueryAutoStopWordAnalyzer extends BaseTokenStreamTestCase {
   String[] variedFieldValues = {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/reverse/TestReverseStringFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/reverse/TestReverseStringFilter.java
index 3db436b..c48dedc 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/reverse/TestReverseStringFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/reverse/TestReverseStringFilter.java
@@ -19,11 +19,11 @@ package org.apache.lucene.analysis.reverse;
 import java.io.IOException;
 import java.io.StringReader;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.core.KeywordTokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 public class TestReverseStringFilter extends BaseTokenStreamTestCase {
   public void testFilter() throws Exception {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/reverse/TestReverseStringFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/reverse/TestReverseStringFilterFactory.java
index d9fdb9f..044e692 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/reverse/TestReverseStringFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/reverse/TestReverseStringFilterFactory.java
@@ -18,8 +18,8 @@ package org.apache.lucene.analysis.reverse;
 
 import java.io.Reader;
 import java.io.StringReader;
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
 import org.apache.lucene.analysis.TokenStream;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
 
 /** Simple tests to ensure the Reverse string filter factory is working. */
 public class TestReverseStringFilterFactory extends BaseTokenStreamFactoryTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ro/TestRomanianAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ro/TestRomanianAnalyzer.java
index 726f892..d41b76b 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ro/TestRomanianAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ro/TestRomanianAnalyzer.java
@@ -18,8 +18,8 @@ package org.apache.lucene.analysis.ro;
 
 import java.io.IOException;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.CharArraySet;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 
 public class TestRomanianAnalyzer extends BaseTokenStreamTestCase {
   /** This test fails with NPE when the stopwords file is missing in classpath */
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ru/TestRussianAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ru/TestRussianAnalyzer.java
index 105797e..145fa23 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ru/TestRussianAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ru/TestRussianAnalyzer.java
@@ -18,8 +18,8 @@ package org.apache.lucene.analysis.ru;
 
 import java.io.IOException;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.CharArraySet;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 
 /** Test case for RussianAnalyzer. */
 public class TestRussianAnalyzer extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ru/TestRussianLightStemFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ru/TestRussianLightStemFilter.java
index f5a6cbd..af98205 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ru/TestRussianLightStemFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ru/TestRussianLightStemFilter.java
@@ -16,17 +16,17 @@
  */
 package org.apache.lucene.analysis.ru;
 
-import static org.apache.lucene.analysis.VocabularyAssert.*;
+import static org.apache.lucene.tests.analysis.VocabularyAssert.*;
 
 import java.io.IOException;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.CharArraySet;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.core.KeywordTokenizer;
 import org.apache.lucene.analysis.miscellaneous.SetKeywordMarkerFilter;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 /** Simple tests for {@link RussianLightStemFilter} */
 public class TestRussianLightStemFilter extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ru/TestRussianLightStemFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ru/TestRussianLightStemFilterFactory.java
index 1fec812..53b1a1f 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ru/TestRussianLightStemFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ru/TestRussianLightStemFilterFactory.java
@@ -18,8 +18,8 @@ package org.apache.lucene.analysis.ru;
 
 import java.io.Reader;
 import java.io.StringReader;
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
 import org.apache.lucene.analysis.TokenStream;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
 
 /** Simple tests to ensure the Russian light stem factory is working. */
 public class TestRussianLightStemFilterFactory extends BaseTokenStreamFactoryTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/shingle/TestFixedShingleFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/shingle/TestFixedShingleFilter.java
index db085f2..9c849e2 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/shingle/TestFixedShingleFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/shingle/TestFixedShingleFilter.java
@@ -19,10 +19,10 @@ package org.apache.lucene.analysis.shingle;
 
 import java.io.IOException;
 import java.util.Iterator;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
-import org.apache.lucene.analysis.CannedTokenStream;
-import org.apache.lucene.analysis.Token;
 import org.apache.lucene.analysis.TokenStream;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.CannedTokenStream;
+import org.apache.lucene.tests.analysis.Token;
 import org.apache.lucene.util.graph.GraphTokenStreamFiniteStrings;
 
 public class TestFixedShingleFilter extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/shingle/TestShingleAnalyzerWrapper.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/shingle/TestShingleAnalyzerWrapper.java
index 269d48dc..ad76023 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/shingle/TestShingleAnalyzerWrapper.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/shingle/TestShingleAnalyzerWrapper.java
@@ -17,10 +17,7 @@
 package org.apache.lucene.analysis.shingle;
 
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.CharArraySet;
-import org.apache.lucene.analysis.MockAnalyzer;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.StopFilter;
 import org.apache.lucene.analysis.TokenFilter;
 import org.apache.lucene.analysis.TokenStream;
@@ -42,6 +39,9 @@ import org.apache.lucene.search.PhraseQuery;
 import org.apache.lucene.search.ScoreDoc;
 import org.apache.lucene.search.TermQuery;
 import org.apache.lucene.store.Directory;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockAnalyzer;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 /** A test class for ShingleAnalyzerWrapper as regards queries and scoring. */
 public class TestShingleAnalyzerWrapper extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/shingle/TestShingleFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/shingle/TestShingleFilter.java
index 5f3a44c..3407667 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/shingle/TestShingleFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/shingle/TestShingleFilter.java
@@ -20,15 +20,15 @@ import java.io.IOException;
 import java.io.StringReader;
 import java.util.Random;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
-import org.apache.lucene.analysis.CannedTokenStream;
-import org.apache.lucene.analysis.MockTokenizer;
-import org.apache.lucene.analysis.Token;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.core.KeywordTokenizer;
 import org.apache.lucene.analysis.core.WhitespaceTokenizer;
 import org.apache.lucene.analysis.tokenattributes.TypeAttribute;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.CannedTokenStream;
+import org.apache.lucene.tests.analysis.MockTokenizer;
+import org.apache.lucene.tests.analysis.Token;
 
 public class TestShingleFilter extends BaseTokenStreamTestCase {
 
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/shingle/TestShingleFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/shingle/TestShingleFilterFactory.java
index beb2319..b0bf2eb 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/shingle/TestShingleFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/shingle/TestShingleFilterFactory.java
@@ -18,8 +18,8 @@ package org.apache.lucene.analysis.shingle;
 
 import java.io.Reader;
 import java.io.StringReader;
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
 import org.apache.lucene.analysis.TokenStream;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
 
 /** Simple tests to ensure the Shingle filter factory works. */
 public class TestShingleFilterFactory extends BaseTokenStreamFactoryTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/sinks/TestTeeSinkTokenFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/sinks/TestTeeSinkTokenFilter.java
index 9ed0350..74863fd 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/sinks/TestTeeSinkTokenFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/sinks/TestTeeSinkTokenFilter.java
@@ -20,12 +20,9 @@ import java.io.IOException;
 import java.io.StringReader;
 import java.util.Locale;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.CachingTokenFilter;
 import org.apache.lucene.analysis.FilteringTokenFilter;
 import org.apache.lucene.analysis.LowerCaseFilter;
-import org.apache.lucene.analysis.MockAnalyzer;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenFilter;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.standard.StandardTokenizer;
@@ -43,7 +40,10 @@ import org.apache.lucene.index.Terms;
 import org.apache.lucene.index.TermsEnum;
 import org.apache.lucene.search.DocIdSetIterator;
 import org.apache.lucene.store.Directory;
-import org.apache.lucene.util.English;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockAnalyzer;
+import org.apache.lucene.tests.analysis.MockTokenizer;
+import org.apache.lucene.tests.util.English;
 
 /** tests for the TestTeeSinkTokenFilter */
 public class TestTeeSinkTokenFilter extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/snowball/TestSnowball.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/snowball/TestSnowball.java
index a30274a..dfbdfe1 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/snowball/TestSnowball.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/snowball/TestSnowball.java
@@ -22,8 +22,6 @@ import java.io.UncheckedIOException;
 import java.nio.charset.StandardCharsets;
 import java.util.List;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.WordlistLoader;
@@ -34,6 +32,8 @@ import org.apache.lucene.analysis.tokenattributes.OffsetAttribute;
 import org.apache.lucene.analysis.tokenattributes.PayloadAttribute;
 import org.apache.lucene.analysis.tokenattributes.PositionIncrementAttribute;
 import org.apache.lucene.analysis.tokenattributes.TypeAttribute;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 import org.apache.lucene.util.BytesRef;
 
 public class TestSnowball extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/snowball/TestSnowballPorterFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/snowball/TestSnowballPorterFilterFactory.java
index f1f5b1f..b55542a 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/snowball/TestSnowballPorterFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/snowball/TestSnowballPorterFilterFactory.java
@@ -18,9 +18,9 @@ package org.apache.lucene.analysis.snowball;
 
 import java.io.Reader;
 import java.io.StringReader;
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.util.StringMockResourceLoader;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
 import org.apache.lucene.util.Version;
 import org.tartarus.snowball.ext.EnglishStemmer;
 
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/snowball/TestSnowballVocab.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/snowball/TestSnowballVocab.java
index 17204aa..9f0ea35 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/snowball/TestSnowballVocab.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/snowball/TestSnowballVocab.java
@@ -16,7 +16,7 @@
  */
 package org.apache.lucene.analysis.snowball;
 
-import static org.apache.lucene.analysis.VocabularyAssert.*;
+import static org.apache.lucene.tests.analysis.VocabularyAssert.*;
 
 import java.io.IOException;
 import java.io.InputStream;
@@ -25,7 +25,7 @@ import org.apache.lucene.analysis.Analyzer;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.WordlistLoader;
 import org.apache.lucene.analysis.core.KeywordTokenizer;
-import org.apache.lucene.util.LuceneTestCase;
+import org.apache.lucene.tests.util.LuceneTestCase;
 
 /** Test the snowball filters against the snowball data tests */
 public class TestSnowballVocab extends LuceneTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/sr/TestSerbianAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/sr/TestSerbianAnalyzer.java
index 1e29c6f..0898083 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/sr/TestSerbianAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/sr/TestSerbianAnalyzer.java
@@ -18,8 +18,8 @@ package org.apache.lucene.analysis.sr;
 
 import java.io.IOException;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.CharArraySet;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 
 /** Test the SerbianAnalyzer */
 public class TestSerbianAnalyzer extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/sr/TestSerbianNormalizationFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/sr/TestSerbianNormalizationFilter.java
index 1ec8893..4f9d74d 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/sr/TestSerbianNormalizationFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/sr/TestSerbianNormalizationFilter.java
@@ -18,11 +18,11 @@ package org.apache.lucene.analysis.sr;
 
 import java.io.IOException;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.core.KeywordTokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 /** Tests {@link SerbianNormalizationFilter} */
 public class TestSerbianNormalizationFilter extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/sr/TestSerbianNormalizationFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/sr/TestSerbianNormalizationFilterFactory.java
index 971a83c..106ed24 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/sr/TestSerbianNormalizationFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/sr/TestSerbianNormalizationFilterFactory.java
@@ -18,10 +18,10 @@ package org.apache.lucene.analysis.sr;
 
 import java.io.Reader;
 import java.io.StringReader;
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 /** Simple tests to ensure the Serbian normalization factory is working. */
 public class TestSerbianNormalizationFilterFactory extends BaseTokenStreamFactoryTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/sr/TestSerbianNormalizationRegularFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/sr/TestSerbianNormalizationRegularFilter.java
index a1d9d46..8d4deee 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/sr/TestSerbianNormalizationRegularFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/sr/TestSerbianNormalizationRegularFilter.java
@@ -18,11 +18,11 @@ package org.apache.lucene.analysis.sr;
 
 import java.io.IOException;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.core.KeywordTokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 /** Tests {@link SerbianNormalizationFilter} */
 public class TestSerbianNormalizationRegularFilter extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/sv/TestSwedishAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/sv/TestSwedishAnalyzer.java
index d56d6cf..ce14ea4 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/sv/TestSwedishAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/sv/TestSwedishAnalyzer.java
@@ -18,8 +18,8 @@ package org.apache.lucene.analysis.sv;
 
 import java.io.IOException;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.CharArraySet;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 
 public class TestSwedishAnalyzer extends BaseTokenStreamTestCase {
   /** This test fails with NPE when the stopwords file is missing in classpath */
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/sv/TestSwedishLightStemFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/sv/TestSwedishLightStemFilter.java
index 6565a53..2aece6b 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/sv/TestSwedishLightStemFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/sv/TestSwedishLightStemFilter.java
@@ -16,17 +16,17 @@
  */
 package org.apache.lucene.analysis.sv;
 
-import static org.apache.lucene.analysis.VocabularyAssert.*;
+import static org.apache.lucene.tests.analysis.VocabularyAssert.*;
 
 import java.io.IOException;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.CharArraySet;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.core.KeywordTokenizer;
 import org.apache.lucene.analysis.miscellaneous.SetKeywordMarkerFilter;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 /** Simple tests for {@link SwedishLightStemFilter} */
 public class TestSwedishLightStemFilter extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/sv/TestSwedishLightStemFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/sv/TestSwedishLightStemFilterFactory.java
index a37ab4e..02b8d91 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/sv/TestSwedishLightStemFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/sv/TestSwedishLightStemFilterFactory.java
@@ -18,8 +18,8 @@ package org.apache.lucene.analysis.sv;
 
 import java.io.Reader;
 import java.io.StringReader;
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
 import org.apache.lucene.analysis.TokenStream;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
 
 /** Simple tests to ensure the Swedish Light stem factory is working. */
 public class TestSwedishLightStemFilterFactory extends BaseTokenStreamFactoryTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/sv/TestSwedishMinimalStemFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/sv/TestSwedishMinimalStemFilter.java
index ca337fe..701f0c8 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/sv/TestSwedishMinimalStemFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/sv/TestSwedishMinimalStemFilter.java
@@ -16,13 +16,15 @@
  */
 package org.apache.lucene.analysis.sv;
 
-import static org.apache.lucene.analysis.VocabularyAssert.assertVocabulary;
+import static org.apache.lucene.tests.analysis.VocabularyAssert.assertVocabulary;
 
 import java.io.IOException;
 import java.nio.file.Files;
 import org.apache.lucene.analysis.*;
 import org.apache.lucene.analysis.core.KeywordTokenizer;
 import org.apache.lucene.analysis.miscellaneous.SetKeywordMarkerFilter;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 /** Simple tests for {@link SwedishMinimalStemFilter} */
 public class TestSwedishMinimalStemFilter extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/synonym/BaseSynonymParserTestCase.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/synonym/BaseSynonymParserTestCase.java
index 4a3fd72..9cbd49d 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/synonym/BaseSynonymParserTestCase.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/synonym/BaseSynonymParserTestCase.java
@@ -21,8 +21,8 @@ import java.util.Arrays;
 import java.util.HashSet;
 import java.util.Set;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.store.ByteArrayDataInput;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.util.BytesRef;
 import org.apache.lucene.util.CharsRef;
 import org.apache.lucene.util.IntsRefBuilder;
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/synonym/TestMultiWordSynonyms.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/synonym/TestMultiWordSynonyms.java
index c71e94e..7cd538c 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/synonym/TestMultiWordSynonyms.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/synonym/TestMultiWordSynonyms.java
@@ -18,9 +18,9 @@ package org.apache.lucene.analysis.synonym;
 
 import java.io.Reader;
 import java.io.StringReader;
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.util.StringMockResourceLoader;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
 import org.apache.lucene.util.Version;
 
 /** @since solr 1.4 */
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/synonym/TestSolrSynonymParser.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/synonym/TestSolrSynonymParser.java
index 4fd1022..4a983ab 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/synonym/TestSolrSynonymParser.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/synonym/TestSolrSynonymParser.java
@@ -19,10 +19,10 @@ package org.apache.lucene.analysis.synonym;
 import java.io.StringReader;
 import java.text.ParseException;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.MockAnalyzer;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.en.EnglishAnalyzer;
+import org.apache.lucene.tests.analysis.MockAnalyzer;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 /**
  * Tests parser for the Solr synonyms format
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/synonym/TestSynonymFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/synonym/TestSynonymFilterFactory.java
index f2cfdd2..8df8e4b 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/synonym/TestSynonymFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/synonym/TestSynonymFilterFactory.java
@@ -18,12 +18,12 @@ package org.apache.lucene.analysis.synonym;
 
 import java.io.Reader;
 import java.io.StringReader;
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
 import org.apache.lucene.analysis.TokenFilterFactory;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.cjk.CJKAnalyzer;
 import org.apache.lucene.analysis.pattern.PatternTokenizerFactory;
 import org.apache.lucene.analysis.util.StringMockResourceLoader;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
 import org.apache.lucene.util.Version;
 
 @Deprecated
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/synonym/TestSynonymGraphFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/synonym/TestSynonymGraphFilter.java
index 3bfe306..fca26b5 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/synonym/TestSynonymGraphFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/synonym/TestSynonymGraphFilter.java
@@ -26,10 +26,6 @@ import java.util.List;
 import java.util.Locale;
 import java.util.Set;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
-import org.apache.lucene.analysis.MockAnalyzer;
-import org.apache.lucene.analysis.MockGraphTokenFilter;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.core.FlattenGraphFilter;
@@ -37,20 +33,24 @@ import org.apache.lucene.analysis.tokenattributes.*;
 import org.apache.lucene.document.Document;
 import org.apache.lucene.document.Field;
 import org.apache.lucene.index.IndexReader;
-import org.apache.lucene.index.RandomIndexWriter;
 import org.apache.lucene.search.IndexSearcher;
 import org.apache.lucene.search.PhraseQuery;
 import org.apache.lucene.store.ByteArrayDataInput;
 import org.apache.lucene.store.Directory;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockAnalyzer;
+import org.apache.lucene.tests.analysis.MockGraphTokenFilter;
+import org.apache.lucene.tests.analysis.MockTokenizer;
+import org.apache.lucene.tests.index.RandomIndexWriter;
+import org.apache.lucene.tests.util.TestUtil;
+import org.apache.lucene.tests.util.automaton.AutomatonTestUtil;
 import org.apache.lucene.util.BytesRef;
 import org.apache.lucene.util.CharsRef;
 import org.apache.lucene.util.CharsRefBuilder;
 import org.apache.lucene.util.IOUtils;
 import org.apache.lucene.util.IntsRef;
 import org.apache.lucene.util.IntsRefBuilder;
-import org.apache.lucene.util.TestUtil;
 import org.apache.lucene.util.automaton.Automaton;
-import org.apache.lucene.util.automaton.AutomatonTestUtil;
 import org.apache.lucene.util.automaton.Operations;
 import org.apache.lucene.util.automaton.TooComplexToDeterminizeException;
 import org.apache.lucene.util.automaton.Transition;
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/synonym/TestSynonymMapFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/synonym/TestSynonymMapFilter.java
index 83e7f51..0415fae 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/synonym/TestSynonymMapFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/synonym/TestSynonymMapFilter.java
@@ -27,16 +27,16 @@ import java.util.Map;
 import java.util.Random;
 import java.util.Set;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
-import org.apache.lucene.analysis.MockAnalyzer;
-import org.apache.lucene.analysis.MockGraphTokenFilter;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.core.KeywordTokenizer;
 import org.apache.lucene.analysis.tokenattributes.*;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockAnalyzer;
+import org.apache.lucene.tests.analysis.MockGraphTokenFilter;
+import org.apache.lucene.tests.analysis.MockTokenizer;
+import org.apache.lucene.tests.util.TestUtil;
 import org.apache.lucene.util.CharsRefBuilder;
-import org.apache.lucene.util.TestUtil;
 
 @Deprecated
 public class TestSynonymMapFilter extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/synonym/TestWordnetSynonymParser.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/synonym/TestWordnetSynonymParser.java
index 5d26829..c9da33b 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/synonym/TestWordnetSynonymParser.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/synonym/TestWordnetSynonymParser.java
@@ -18,10 +18,10 @@ package org.apache.lucene.analysis.synonym;
 
 import java.io.StringReader;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
-import org.apache.lucene.analysis.MockAnalyzer;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.Tokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockAnalyzer;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 public class TestWordnetSynonymParser extends BaseTokenStreamTestCase {
 
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ta/TestTamilAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ta/TestTamilAnalyzer.java
index 44d77120..f97b5f7 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/ta/TestTamilAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/ta/TestTamilAnalyzer.java
@@ -17,8 +17,8 @@
 package org.apache.lucene.analysis.ta;
 
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.CharArraySet;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 
 /** Tests the TamilAnalyzer */
 public class TestTamilAnalyzer extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/te/TestTeluguAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/te/TestTeluguAnalyzer.java
index 1eb47ef..5c3145a 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/te/TestTeluguAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/te/TestTeluguAnalyzer.java
@@ -17,8 +17,8 @@
 package org.apache.lucene.analysis.te;
 
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.CharArraySet;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 
 public class TestTeluguAnalyzer extends BaseTokenStreamTestCase {
 
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/te/TestTeluguFilters.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/te/TestTeluguFilters.java
index bf08a41..d0b6087 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/te/TestTeluguFilters.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/te/TestTeluguFilters.java
@@ -18,8 +18,8 @@ package org.apache.lucene.analysis.te;
 
 import java.io.Reader;
 import java.io.StringReader;
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
 import org.apache.lucene.analysis.TokenStream;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
 
 /** Simple tests to ensure the Telugu filter Factories are working. */
 public class TestTeluguFilters extends BaseTokenStreamFactoryTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/te/TestTeluguNormalizer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/te/TestTeluguNormalizer.java
index 0571b6f..1a9aa10 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/te/TestTeluguNormalizer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/te/TestTeluguNormalizer.java
@@ -18,10 +18,10 @@ package org.apache.lucene.analysis.te;
 
 import java.io.IOException;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.TokenFilter;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.core.KeywordTokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 
 /** Test TeluguNormalizer */
 public class TestTeluguNormalizer extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/te/TestTeluguStemmer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/te/TestTeluguStemmer.java
index bd1b271..cd1dc10 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/te/TestTeluguStemmer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/te/TestTeluguStemmer.java
@@ -18,10 +18,10 @@ package org.apache.lucene.analysis.te;
 
 import java.io.IOException;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.TokenFilter;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.core.KeywordTokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 
 /** Test TeluguStemmer */
 public class TestTeluguStemmer extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/th/TestThaiAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/th/TestThaiAnalyzer.java
index 6cb3d21..ff4591a 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/th/TestThaiAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/th/TestThaiAnalyzer.java
@@ -17,11 +17,11 @@
 package org.apache.lucene.analysis.th;
 
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.CharArraySet;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.en.EnglishAnalyzer;
 import org.apache.lucene.analysis.tokenattributes.FlagsAttribute;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 
 /** Test case for ThaiAnalyzer, modified from TestFrenchAnalyzer */
 public class TestThaiAnalyzer extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/th/TestThaiTokenizerFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/th/TestThaiTokenizerFactory.java
index 21da9f7..e77a749 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/th/TestThaiTokenizerFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/th/TestThaiTokenizerFactory.java
@@ -17,8 +17,8 @@
 package org.apache.lucene.analysis.th;
 
 import java.io.StringReader;
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
 import org.apache.lucene.analysis.Tokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
 
 /** Simple tests to ensure the Thai word filter factory is working. */
 public class TestThaiTokenizerFactory extends BaseTokenStreamFactoryTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/tr/TestApostropheFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/tr/TestApostropheFilter.java
index 900a7ad..4312709 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/tr/TestApostropheFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/tr/TestApostropheFilter.java
@@ -16,8 +16,8 @@
  */
 package org.apache.lucene.analysis.tr;
 
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.TokenStream;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 
 public class TestApostropheFilter extends BaseTokenStreamTestCase {
 
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/tr/TestApostropheFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/tr/TestApostropheFilterFactory.java
index 4eb6af1..0956163 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/tr/TestApostropheFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/tr/TestApostropheFilterFactory.java
@@ -18,10 +18,10 @@ package org.apache.lucene.analysis.tr;
 
 import java.io.Reader;
 import java.io.StringReader;
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 /** Simple tests to ensure the apostrophe filter factory is working. */
 public class TestApostropheFilterFactory extends BaseTokenStreamFactoryTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/tr/TestTurkishAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/tr/TestTurkishAnalyzer.java
index 1d3744e..59dffc2 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/tr/TestTurkishAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/tr/TestTurkishAnalyzer.java
@@ -18,8 +18,8 @@ package org.apache.lucene.analysis.tr;
 
 import java.io.IOException;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.CharArraySet;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 
 public class TestTurkishAnalyzer extends BaseTokenStreamTestCase {
   /** This test fails with NPE when the stopwords file is missing in classpath */
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/tr/TestTurkishLowerCaseFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/tr/TestTurkishLowerCaseFilter.java
index 6bf290b..6285925 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/tr/TestTurkishLowerCaseFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/tr/TestTurkishLowerCaseFilter.java
@@ -18,10 +18,10 @@ package org.apache.lucene.analysis.tr;
 
 import java.io.IOException;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.core.KeywordTokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 
 /** Test the Turkish lowercase filter. */
 public class TestTurkishLowerCaseFilter extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/tr/TestTurkishLowerCaseFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/tr/TestTurkishLowerCaseFilterFactory.java
index 8ecb1b8..3792963 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/tr/TestTurkishLowerCaseFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/tr/TestTurkishLowerCaseFilterFactory.java
@@ -18,10 +18,10 @@ package org.apache.lucene.analysis.tr;
 
 import java.io.Reader;
 import java.io.StringReader;
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 /** Simple tests to ensure the Turkish lowercase filter factory is working. */
 public class TestTurkishLowerCaseFilterFactory extends BaseTokenStreamFactoryTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/TestCharArrayIterator.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/TestCharArrayIterator.java
index e448a8c..13a02f0 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/TestCharArrayIterator.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/TestCharArrayIterator.java
@@ -19,8 +19,8 @@ package org.apache.lucene.analysis.util;
 import java.text.BreakIterator;
 import java.text.CharacterIterator;
 import java.util.Locale;
-import org.apache.lucene.util.LuceneTestCase;
-import org.apache.lucene.util.TestUtil;
+import org.apache.lucene.tests.util.LuceneTestCase;
+import org.apache.lucene.tests.util.TestUtil;
 
 public class TestCharArrayIterator extends LuceneTestCase {
 
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/TestCharTokenizers.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/TestCharTokenizers.java
index 82494ca..48afa0d 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/TestCharTokenizers.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/TestCharTokenizers.java
@@ -19,12 +19,12 @@ package org.apache.lucene.analysis.util;
 import java.io.IOException;
 import java.io.StringReader;
 import java.util.Locale;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.LowerCaseFilter;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.core.KeywordTokenizer;
 import org.apache.lucene.analysis.core.LetterTokenizer;
 import org.apache.lucene.analysis.core.WhitespaceTokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 
 /** Testcase for {@link CharTokenizer} subclasses */
 public class TestCharTokenizers extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/TestElision.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/TestElision.java
index 5d70773..c16e0f7 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/TestElision.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/TestElision.java
@@ -21,7 +21,6 @@ import java.io.StringReader;
 import java.util.ArrayList;
 import java.util.List;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.CharArraySet;
 import org.apache.lucene.analysis.TokenFilter;
 import org.apache.lucene.analysis.Tokenizer;
@@ -29,6 +28,7 @@ import org.apache.lucene.analysis.core.KeywordTokenizer;
 import org.apache.lucene.analysis.fr.FrenchAnalyzer;
 import org.apache.lucene.analysis.standard.StandardTokenizer;
 import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 
 /** */
 public class TestElision extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/TestElisionFilterFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/TestElisionFilterFactory.java
index 60cec0e..942a5fd 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/TestElisionFilterFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/TestElisionFilterFactory.java
@@ -18,10 +18,10 @@ package org.apache.lucene.analysis.util;
 
 import java.io.Reader;
 import java.io.StringReader;
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 /** Simple tests to ensure the French elision filter factory is working. */
 public class TestElisionFilterFactory extends BaseTokenStreamFactoryTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/TestFilesystemResourceLoader.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/TestFilesystemResourceLoader.java
index 861b636..b82bde5 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/TestFilesystemResourceLoader.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/TestFilesystemResourceLoader.java
@@ -25,8 +25,8 @@ import java.nio.file.Path;
 import org.apache.lucene.analysis.CharArraySet;
 import org.apache.lucene.analysis.TokenFilterFactory;
 import org.apache.lucene.analysis.WordlistLoader;
+import org.apache.lucene.tests.util.LuceneTestCase;
 import org.apache.lucene.util.IOUtils;
-import org.apache.lucene.util.LuceneTestCase;
 import org.apache.lucene.util.ResourceLoader;
 
 public class TestFilesystemResourceLoader extends LuceneTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/TestRollingCharBuffer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/TestRollingCharBuffer.java
index 8c3f652..9a9e74c 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/TestRollingCharBuffer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/TestRollingCharBuffer.java
@@ -18,8 +18,8 @@ package org.apache.lucene.analysis.util;
 
 import java.io.StringReader;
 import java.util.Random;
-import org.apache.lucene.util.LuceneTestCase;
-import org.apache.lucene.util.TestUtil;
+import org.apache.lucene.tests.util.LuceneTestCase;
+import org.apache.lucene.tests.util.TestUtil;
 
 public class TestRollingCharBuffer extends LuceneTestCase {
 
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/TestSegmentingTokenizerBase.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/TestSegmentingTokenizerBase.java
index ffe8863..20af3bd0 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/TestSegmentingTokenizerBase.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/util/TestSegmentingTokenizerBase.java
@@ -21,10 +21,10 @@ import java.text.BreakIterator;
 import java.util.Arrays;
 import java.util.Locale;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
 import org.apache.lucene.analysis.tokenattributes.OffsetAttribute;
 import org.apache.lucene.analysis.tokenattributes.PositionIncrementAttribute;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.util.IOUtils;
 
 /** Basic tests for {@link SegmentingTokenizerBase} */
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/wikipedia/TestWikipediaTokenizer.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/wikipedia/TestWikipediaTokenizer.java
index 98055cd..639d408 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/wikipedia/TestWikipediaTokenizer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/wikipedia/TestWikipediaTokenizer.java
@@ -26,9 +26,9 @@ import java.util.HashSet;
 import java.util.Random;
 import java.util.Set;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.tokenattributes.FlagsAttribute;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 
 /** Basic Tests for {@link WikipediaTokenizer} */
 public class TestWikipediaTokenizer extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/wikipedia/TestWikipediaTokenizerFactory.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/wikipedia/TestWikipediaTokenizerFactory.java
index ae2491f..d6c2a53 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/wikipedia/TestWikipediaTokenizerFactory.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/wikipedia/TestWikipediaTokenizerFactory.java
@@ -19,8 +19,8 @@ package org.apache.lucene.analysis.wikipedia;
 import java.io.StringReader;
 import java.util.HashSet;
 import java.util.Set;
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
 import org.apache.lucene.analysis.Tokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
 
 /** Simple tests to ensure the wikipedia tokenizer is working. */
 public class TestWikipediaTokenizerFactory extends BaseTokenStreamFactoryTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/collation/TestCollationDocValuesField.java b/lucene/analysis/common/src/test/org/apache/lucene/collation/TestCollationDocValuesField.java
index 69ab63c..3536224 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/collation/TestCollationDocValuesField.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/collation/TestCollationDocValuesField.java
@@ -23,7 +23,6 @@ import org.apache.lucene.document.Field;
 import org.apache.lucene.document.StringField;
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.index.MultiDocValues;
-import org.apache.lucene.index.RandomIndexWriter;
 import org.apache.lucene.index.SortedDocValues;
 import org.apache.lucene.search.IndexSearcher;
 import org.apache.lucene.search.MatchAllDocsQuery;
@@ -31,9 +30,10 @@ import org.apache.lucene.search.Sort;
 import org.apache.lucene.search.SortField;
 import org.apache.lucene.search.TopDocs;
 import org.apache.lucene.store.Directory;
+import org.apache.lucene.tests.index.RandomIndexWriter;
+import org.apache.lucene.tests.util.LuceneTestCase;
+import org.apache.lucene.tests.util.TestUtil;
 import org.apache.lucene.util.BytesRef;
-import org.apache.lucene.util.LuceneTestCase;
-import org.apache.lucene.util.TestUtil;
 
 /** trivial test of CollationDocValuesField */
 public class TestCollationDocValuesField extends LuceneTestCase {
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/collation/TestCollationKeyAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/collation/TestCollationKeyAnalyzer.java
index efc3c2d..7ecfb7b 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/collation/TestCollationKeyAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/collation/TestCollationKeyAnalyzer.java
@@ -19,7 +19,7 @@ package org.apache.lucene.collation;
 import java.text.Collator;
 import java.util.Locale;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.CollationTestBase;
+import org.apache.lucene.tests.analysis.CollationTestBase;
 import org.apache.lucene.util.BytesRef;
 
 public class TestCollationKeyAnalyzer extends CollationTestBase {
diff --git a/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUCollationDocValuesField.java b/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUCollationDocValuesField.java
index dd6fb5a..e441c96 100644
--- a/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUCollationDocValuesField.java
+++ b/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUCollationDocValuesField.java
@@ -23,7 +23,6 @@ import org.apache.lucene.document.Field;
 import org.apache.lucene.document.StringField;
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.index.MultiDocValues;
-import org.apache.lucene.index.RandomIndexWriter;
 import org.apache.lucene.index.SortedDocValues;
 import org.apache.lucene.search.IndexSearcher;
 import org.apache.lucene.search.MatchAllDocsQuery;
@@ -31,9 +30,10 @@ import org.apache.lucene.search.Sort;
 import org.apache.lucene.search.SortField;
 import org.apache.lucene.search.TopDocs;
 import org.apache.lucene.store.Directory;
+import org.apache.lucene.tests.index.RandomIndexWriter;
+import org.apache.lucene.tests.util.LuceneTestCase;
+import org.apache.lucene.tests.util.TestUtil;
 import org.apache.lucene.util.BytesRef;
-import org.apache.lucene.util.LuceneTestCase;
-import org.apache.lucene.util.TestUtil;
 
 /** trivial test of ICUCollationDocValuesField */
 public class TestICUCollationDocValuesField extends LuceneTestCase {
diff --git a/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUCollationKeyAnalyzer.java b/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUCollationKeyAnalyzer.java
index 877d34a..e9141c2 100644
--- a/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUCollationKeyAnalyzer.java
+++ b/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUCollationKeyAnalyzer.java
@@ -19,7 +19,7 @@ package org.apache.lucene.analysis.icu;
 import com.ibm.icu.text.Collator;
 import java.util.Locale;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.CollationTestBase;
+import org.apache.lucene.tests.analysis.CollationTestBase;
 import org.apache.lucene.util.BytesRef;
 
 public class TestICUCollationKeyAnalyzer extends CollationTestBase {
diff --git a/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUFoldingFilter.java b/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUFoldingFilter.java
index 67d065c..30a402d 100644
--- a/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUFoldingFilter.java
+++ b/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUFoldingFilter.java
@@ -18,10 +18,10 @@ package org.apache.lucene.analysis.icu;
 
 import java.io.IOException;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.core.KeywordTokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 /** Tests ICUFoldingFilter */
 public class TestICUFoldingFilter extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUFoldingFilterFactory.java b/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUFoldingFilterFactory.java
index bf19a4d..d572352 100644
--- a/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUFoldingFilterFactory.java
+++ b/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUFoldingFilterFactory.java
@@ -19,8 +19,8 @@ package org.apache.lucene.analysis.icu;
 import java.io.Reader;
 import java.io.StringReader;
 import java.util.HashMap;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.TokenStream;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 
 /** basic tests for {@link ICUFoldingFilterFactory} */
 public class TestICUFoldingFilterFactory extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUNormalizer2CharFilter.java b/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUNormalizer2CharFilter.java
index 9026701..42891c2 100644
--- a/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUNormalizer2CharFilter.java
+++ b/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUNormalizer2CharFilter.java
@@ -22,13 +22,13 @@ import java.io.Reader;
 import java.io.StringReader;
 import java.util.Arrays;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.CharFilter;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.core.KeywordTokenizer;
 import org.apache.lucene.analysis.ngram.NGramTokenizer;
-import org.apache.lucene.util.TestUtil;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
+import org.apache.lucene.tests.util.TestUtil;
 
 public class TestICUNormalizer2CharFilter extends BaseTokenStreamTestCase {
 
diff --git a/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUNormalizer2CharFilterFactory.java b/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUNormalizer2CharFilterFactory.java
index 217a6c9..5842809 100644
--- a/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUNormalizer2CharFilterFactory.java
+++ b/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUNormalizer2CharFilterFactory.java
@@ -20,8 +20,8 @@ import java.io.Reader;
 import java.io.StringReader;
 import java.util.HashMap;
 import java.util.Map;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.TokenStream;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 
 /** basic tests for {@link ICUNormalizer2CharFilterFactory} */
 public class TestICUNormalizer2CharFilterFactory extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUNormalizer2Filter.java b/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUNormalizer2Filter.java
index e26db30..feed9d2 100644
--- a/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUNormalizer2Filter.java
+++ b/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUNormalizer2Filter.java
@@ -19,10 +19,10 @@ package org.apache.lucene.analysis.icu;
 import com.ibm.icu.text.Normalizer2;
 import java.io.IOException;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.core.KeywordTokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 /** Tests the ICUNormalizer2Filter */
 public class TestICUNormalizer2Filter extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUNormalizer2FilterFactory.java b/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUNormalizer2FilterFactory.java
index ea80a5b..821d92d 100644
--- a/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUNormalizer2FilterFactory.java
+++ b/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUNormalizer2FilterFactory.java
@@ -20,8 +20,8 @@ import java.io.Reader;
 import java.io.StringReader;
 import java.util.HashMap;
 import java.util.Map;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.TokenStream;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 
 /** basic tests for {@link ICUNormalizer2FilterFactory} */
 public class TestICUNormalizer2FilterFactory extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUTransformFilter.java b/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUTransformFilter.java
index 61f51b1..e332036 100644
--- a/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUTransformFilter.java
+++ b/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUTransformFilter.java
@@ -21,11 +21,11 @@ import com.ibm.icu.text.UnicodeSet;
 import java.io.IOException;
 import java.io.StringReader;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.core.KeywordTokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 /** Test the ICUTransformFilter with some basic examples. */
 public class TestICUTransformFilter extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUTransformFilterFactory.java b/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUTransformFilterFactory.java
index 982c971..11d0b59 100644
--- a/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUTransformFilterFactory.java
+++ b/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUTransformFilterFactory.java
@@ -20,8 +20,8 @@ import java.io.Reader;
 import java.io.StringReader;
 import java.util.HashMap;
 import java.util.Map;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.TokenStream;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 
 /** basic tests for {@link ICUTransformFilterFactory} */
 public class TestICUTransformFilterFactory extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/segmentation/TestCharArrayIterator.java b/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/segmentation/TestCharArrayIterator.java
index 4a0057f..9d9c20f 100644
--- a/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/segmentation/TestCharArrayIterator.java
+++ b/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/segmentation/TestCharArrayIterator.java
@@ -17,7 +17,7 @@
 package org.apache.lucene.analysis.icu.segmentation;
 
 import java.text.CharacterIterator;
-import org.apache.lucene.util.LuceneTestCase;
+import org.apache.lucene.tests.util.LuceneTestCase;
 
 public class TestCharArrayIterator extends LuceneTestCase {
   public void testBasicUsage() {
diff --git a/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/segmentation/TestICUTokenizer.java b/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/segmentation/TestICUTokenizer.java
index bd9403a..822d174 100644
--- a/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/segmentation/TestICUTokenizer.java
+++ b/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/segmentation/TestICUTokenizer.java
@@ -24,10 +24,10 @@ import java.util.Arrays;
 import java.util.Random;
 import java.util.concurrent.CountDownLatch;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.icu.tokenattributes.ScriptAttribute;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 
 public class TestICUTokenizer extends BaseTokenStreamTestCase {
 
diff --git a/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/segmentation/TestICUTokenizerCJK.java b/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/segmentation/TestICUTokenizerCJK.java
index 6d989b3..7b7d57b 100644
--- a/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/segmentation/TestICUTokenizerCJK.java
+++ b/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/segmentation/TestICUTokenizerCJK.java
@@ -18,8 +18,8 @@ package org.apache.lucene.analysis.icu.segmentation;
 
 import java.util.Random;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
-import org.apache.lucene.util.LuceneTestCase.AwaitsFix;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.util.LuceneTestCase.AwaitsFix;
 
 /** test ICUTokenizer with dictionary-based CJ segmentation */
 @AwaitsFix(bugUrl = "https://issues.apache.org/jira/browse/LUCENE-8222")
diff --git a/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/segmentation/TestICUTokenizerFactory.java b/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/segmentation/TestICUTokenizerFactory.java
index 4ea9542..d1511c0 100644
--- a/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/segmentation/TestICUTokenizerFactory.java
+++ b/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/segmentation/TestICUTokenizerFactory.java
@@ -20,8 +20,8 @@ import java.io.Reader;
 import java.io.StringReader;
 import java.util.HashMap;
 import java.util.Map;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.Tokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.util.ClasspathResourceLoader;
 
 /** basic tests for {@link ICUTokenizerFactory} * */
diff --git a/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/segmentation/TestMyanmarSyllable.java b/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/segmentation/TestMyanmarSyllable.java
index 33bfa01..a8cb0b7 100644
--- a/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/segmentation/TestMyanmarSyllable.java
+++ b/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/segmentation/TestMyanmarSyllable.java
@@ -17,8 +17,8 @@
 package org.apache.lucene.analysis.icu.segmentation;
 
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.Tokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 
 /** Test tokenizing Myanmar text into syllables */
 public class TestMyanmarSyllable extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/segmentation/TestWithCJKBigramFilter.java b/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/segmentation/TestWithCJKBigramFilter.java
index 7e053ae..8fe60a4 100644
--- a/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/segmentation/TestWithCJKBigramFilter.java
+++ b/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/segmentation/TestWithCJKBigramFilter.java
@@ -18,13 +18,13 @@ package org.apache.lucene.analysis.icu.segmentation;
 
 import java.io.IOException;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.CharArraySet;
 import org.apache.lucene.analysis.StopFilter;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.cjk.CJKBigramFilter;
 import org.apache.lucene.analysis.icu.ICUNormalizer2Filter;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.util.IOUtils;
 
 /**
diff --git a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestCSVUtil.java b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestCSVUtil.java
index 380b387..072a937 100644
--- a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestCSVUtil.java
+++ b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestCSVUtil.java
@@ -18,7 +18,7 @@ package org.apache.lucene.analysis.ja;
 
 import java.io.IOException;
 import org.apache.lucene.analysis.ja.util.CSVUtil;
-import org.apache.lucene.util.LuceneTestCase;
+import org.apache.lucene.tests.util.LuceneTestCase;
 
 /*
  * Tests for the CSVUtil class.
diff --git a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestExtendedMode.java b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestExtendedMode.java
index 37db334..605cdcf 100644
--- a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestExtendedMode.java
+++ b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestExtendedMode.java
@@ -19,12 +19,12 @@ package org.apache.lucene.analysis.ja;
 import java.io.IOException;
 import java.util.Random;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.ja.JapaneseTokenizer.Mode;
 import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
-import org.apache.lucene.util.TestUtil;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.util.TestUtil;
 import org.apache.lucene.util.UnicodeUtil;
 
 public class TestExtendedMode extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestFactories.java b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestFactories.java
index 1924b6a..ee6232f 100644
--- a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestFactories.java
+++ b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestFactories.java
@@ -27,16 +27,16 @@ import java.util.Map;
 import java.util.Set;
 import org.apache.lucene.analysis.AbstractAnalysisFactory;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.CharFilterFactory;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenFilterFactory;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.TokenizerFactory;
 import org.apache.lucene.analysis.boost.DelimitedBoostTokenFilterFactory;
 import org.apache.lucene.analysis.miscellaneous.DelimitedTermFrequencyTokenFilterFactory;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
+import org.apache.lucene.tests.util.LuceneTestCase.Nightly;
 import org.apache.lucene.util.AttributeFactory;
-import org.apache.lucene.util.LuceneTestCase.Nightly;
 import org.apache.lucene.util.ResourceLoaderAware;
 import org.apache.lucene.util.Version;
 
diff --git a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseAnalyzer.java b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseAnalyzer.java
index e5536fc..5807433 100644
--- a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseAnalyzer.java
+++ b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseAnalyzer.java
@@ -19,8 +19,8 @@ package org.apache.lucene.analysis.ja;
 import java.io.IOException;
 import java.util.Random;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.ja.JapaneseTokenizer.Mode;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 
 /** Test Kuromoji Japanese morphological analyzer */
 public class TestJapaneseAnalyzer extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseBaseFormFilter.java b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseBaseFormFilter.java
index 99b2c85..5da671a 100644
--- a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseBaseFormFilter.java
+++ b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseBaseFormFilter.java
@@ -18,12 +18,12 @@ package org.apache.lucene.analysis.ja;
 
 import java.io.IOException;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.CharArraySet;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.core.KeywordTokenizer;
 import org.apache.lucene.analysis.miscellaneous.SetKeywordMarkerFilter;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 
 public class TestJapaneseBaseFormFilter extends BaseTokenStreamTestCase {
   private Analyzer analyzer;
diff --git a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseBaseFormFilterFactory.java b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseBaseFormFilterFactory.java
index d58943b..470ce0c 100644
--- a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseBaseFormFilterFactory.java
+++ b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseBaseFormFilterFactory.java
@@ -19,9 +19,9 @@ package org.apache.lucene.analysis.ja;
 import java.io.IOException;
 import java.io.StringReader;
 import java.util.HashMap;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 
 /** Simple tests for {@link JapaneseBaseFormFilterFactory} */
 public class TestJapaneseBaseFormFilterFactory extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseCompletionAnalyzer.java b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseCompletionAnalyzer.java
index bae627a..8077ed0 100644
--- a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseCompletionAnalyzer.java
+++ b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseCompletionAnalyzer.java
@@ -19,7 +19,7 @@ package org.apache.lucene.analysis.ja;
 import java.io.IOException;
 import java.util.Random;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 import org.junit.Test;
 
 public class TestJapaneseCompletionAnalyzer extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseCompletionFilter.java b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseCompletionFilter.java
index 302ae3e..20f55f7 100644
--- a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseCompletionFilter.java
+++ b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseCompletionFilter.java
@@ -19,10 +19,10 @@ package org.apache.lucene.analysis.ja;
 import java.io.IOException;
 import java.io.Reader;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.cjk.CJKWidthCharFilter;
 import org.apache.lucene.analysis.core.KeywordTokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.util.IOUtils;
 import org.junit.Test;
 
diff --git a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseCompletionFilterFactory.java b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseCompletionFilterFactory.java
index 6295dbf..5f30d8f 100644
--- a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseCompletionFilterFactory.java
+++ b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseCompletionFilterFactory.java
@@ -20,10 +20,10 @@ import java.io.IOException;
 import java.io.StringReader;
 import java.util.HashMap;
 import java.util.Map;
-import org.apache.lucene.analysis.BaseTokenStreamFactoryTestCase;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.cjk.CJKWidthFilterFactory;
+import org.apache.lucene.tests.analysis.BaseTokenStreamFactoryTestCase;
 import org.junit.Test;
 
 public class TestJapaneseCompletionFilterFactory extends BaseTokenStreamFactoryTestCase {
diff --git a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseIterationMarkCharFilter.java b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseIterationMarkCharFilter.java
index e8e76ff..a07e561 100644
--- a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseIterationMarkCharFilter.java
+++ b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseIterationMarkCharFilter.java
@@ -20,10 +20,10 @@ import java.io.IOException;
 import java.io.Reader;
 import java.io.StringReader;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.CharFilter;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.Tokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 import org.apache.lucene.util.IOUtils;
 
 // See: https://issues.apache.org/jira/browse/SOLR-12028 Tests cannot remove files on Windows
diff --git a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseIterationMarkCharFilterFactory.java b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseIterationMarkCharFilterFactory.java
index ab3e93a..6ac6dcc 100644
--- a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseIterationMarkCharFilterFactory.java
+++ b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseIterationMarkCharFilterFactory.java
@@ -21,10 +21,10 @@ import java.io.Reader;
 import java.io.StringReader;
 import java.util.HashMap;
 import java.util.Map;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 /** Simple tests for {@link JapaneseIterationMarkCharFilterFactory} */
 public class TestJapaneseIterationMarkCharFilterFactory extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseKatakanaStemFilter.java b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseKatakanaStemFilter.java
index 15c526f..d082f3b 100644
--- a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseKatakanaStemFilter.java
+++ b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseKatakanaStemFilter.java
@@ -18,13 +18,13 @@ package org.apache.lucene.analysis.ja;
 
 import java.io.IOException;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.CharArraySet;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.core.KeywordTokenizer;
 import org.apache.lucene.analysis.miscellaneous.SetKeywordMarkerFilter;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 /** Tests for {@link JapaneseKatakanaStemFilter} */
 public class TestJapaneseKatakanaStemFilter extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseKatakanaStemFilterFactory.java b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseKatakanaStemFilterFactory.java
index a24aa74..53d8e9c 100644
--- a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseKatakanaStemFilterFactory.java
+++ b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseKatakanaStemFilterFactory.java
@@ -19,9 +19,9 @@ package org.apache.lucene.analysis.ja;
 import java.io.IOException;
 import java.io.StringReader;
 import java.util.HashMap;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 
 /** Simple tests for {@link JapaneseKatakanaStemFilterFactory} */
 public class TestJapaneseKatakanaStemFilterFactory extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseNumberFilter.java b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseNumberFilter.java
index 0b6459c..ced49e2 100644
--- a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseNumberFilter.java
+++ b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseNumberFilter.java
@@ -24,12 +24,12 @@ import java.nio.file.Files;
 import java.nio.file.Path;
 import java.nio.file.Paths;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.CharArraySet;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.miscellaneous.SetKeywordMarkerFilter;
 import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 import org.junit.Ignore;
 import org.junit.Test;
 
diff --git a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseNumberFilterFactory.java b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseNumberFilterFactory.java
index a215097..5b260d8 100644
--- a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseNumberFilterFactory.java
+++ b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseNumberFilterFactory.java
@@ -20,9 +20,9 @@ import java.io.IOException;
 import java.io.StringReader;
 import java.util.HashMap;
 import java.util.Map;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 
 /** Simple tests for {@link org.apache.lucene.analysis.ja.JapaneseNumberFilterFactory} */
 public class TestJapaneseNumberFilterFactory extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapanesePartOfSpeechStopFilterFactory.java b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapanesePartOfSpeechStopFilterFactory.java
index be1dc1e..c3d4038 100644
--- a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapanesePartOfSpeechStopFilterFactory.java
+++ b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapanesePartOfSpeechStopFilterFactory.java
@@ -20,9 +20,9 @@ import java.io.IOException;
 import java.io.StringReader;
 import java.util.HashMap;
 import java.util.Map;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.util.ClasspathResourceLoader;
 import org.apache.lucene.util.Version;
 
diff --git a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseReadingFormFilter.java b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseReadingFormFilter.java
index 3bcab44..70996b5 100644
--- a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseReadingFormFilter.java
+++ b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseReadingFormFilter.java
@@ -19,11 +19,11 @@ package org.apache.lucene.analysis.ja;
 import java.io.IOException;
 import java.util.Random;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.cjk.CJKWidthFilter;
 import org.apache.lucene.analysis.core.KeywordTokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.util.IOUtils;
 
 /** Tests for {@link TestJapaneseReadingFormFilter} */
diff --git a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseReadingFormFilterFactory.java b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseReadingFormFilterFactory.java
index eb6dea5..e5ed23c 100644
--- a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseReadingFormFilterFactory.java
+++ b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseReadingFormFilterFactory.java
@@ -19,9 +19,9 @@ package org.apache.lucene.analysis.ja;
 import java.io.IOException;
 import java.io.StringReader;
 import java.util.HashMap;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 
 /** Simple tests for {@link JapaneseReadingFormFilterFactory} */
 public class TestJapaneseReadingFormFilterFactory extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseTokenizer.java b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseTokenizer.java
index efc64dc..e3f11ed 100644
--- a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseTokenizer.java
+++ b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseTokenizer.java
@@ -27,8 +27,6 @@ import java.util.ArrayList;
 import java.util.List;
 import java.util.Random;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
-import org.apache.lucene.analysis.MockGraphTokenFilter;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.ja.JapaneseTokenizer.Mode;
@@ -39,8 +37,10 @@ import org.apache.lucene.analysis.ja.dict.UnknownDictionary;
 import org.apache.lucene.analysis.ja.dict.UserDictionary;
 import org.apache.lucene.analysis.ja.tokenattributes.*;
 import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockGraphTokenFilter;
+import org.apache.lucene.tests.util.TestUtil;
 import org.apache.lucene.util.IOUtils;
-import org.apache.lucene.util.TestUtil;
 import org.apache.lucene.util.UnicodeUtil;
 
 public class TestJapaneseTokenizer extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseTokenizerFactory.java b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseTokenizerFactory.java
index 8a2a938..3c11270 100644
--- a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseTokenizerFactory.java
+++ b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestJapaneseTokenizerFactory.java
@@ -20,9 +20,9 @@ import java.io.IOException;
 import java.io.StringReader;
 import java.util.HashMap;
 import java.util.Map;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 
 /** Simple tests for {@link JapaneseTokenizerFactory} */
 public class TestJapaneseTokenizerFactory extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestSearchMode.java b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestSearchMode.java
index 6f3c3aa..afe7dca 100644
--- a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestSearchMode.java
+++ b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/TestSearchMode.java
@@ -25,9 +25,9 @@ import java.nio.charset.StandardCharsets;
 import java.util.ArrayList;
 import java.util.List;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.ja.JapaneseTokenizer.Mode;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 
 public class TestSearchMode extends BaseTokenStreamTestCase {
   private static final String SEGMENTATION_FILENAME = "search-segmentation-tests.txt";
diff --git a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/completion/TestKatakanaRomanizer.java b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/completion/TestKatakanaRomanizer.java
index d1f739e..d661120 100644
--- a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/completion/TestKatakanaRomanizer.java
+++ b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/completion/TestKatakanaRomanizer.java
@@ -17,8 +17,8 @@
 package org.apache.lucene.analysis.ja.completion;
 
 import java.util.List;
+import org.apache.lucene.tests.util.LuceneTestCase;
 import org.apache.lucene.util.CharsRef;
-import org.apache.lucene.util.LuceneTestCase;
 import org.junit.Test;
 
 public class TestKatakanaRomanizer extends LuceneTestCase {
diff --git a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/dict/TestTokenInfoDictionary.java b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/dict/TestTokenInfoDictionary.java
index 9555ba0..5399314 100644
--- a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/dict/TestTokenInfoDictionary.java
+++ b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/dict/TestTokenInfoDictionary.java
@@ -27,9 +27,9 @@ import java.nio.file.Path;
 import org.apache.lucene.analysis.ja.util.DictionaryBuilder;
 import org.apache.lucene.analysis.ja.util.DictionaryBuilder.DictionaryFormat;
 import org.apache.lucene.analysis.ja.util.ToStringUtil;
+import org.apache.lucene.tests.util.LuceneTestCase;
 import org.apache.lucene.util.IntsRef;
 import org.apache.lucene.util.IntsRefBuilder;
-import org.apache.lucene.util.LuceneTestCase;
 import org.apache.lucene.util.UnicodeUtil;
 import org.apache.lucene.util.fst.FST;
 import org.apache.lucene.util.fst.IntsRefFSTEnum;
diff --git a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/dict/TestUserDictionary.java b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/dict/TestUserDictionary.java
index 3cc5ea6..b08d753 100644
--- a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/dict/TestUserDictionary.java
+++ b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/dict/TestUserDictionary.java
@@ -19,7 +19,7 @@ package org.apache.lucene.analysis.ja.dict;
 import java.io.IOException;
 import java.io.StringReader;
 import org.apache.lucene.analysis.ja.TestJapaneseTokenizer;
-import org.apache.lucene.util.LuceneTestCase;
+import org.apache.lucene.tests.util.LuceneTestCase;
 import org.junit.Test;
 
 public class TestUserDictionary extends LuceneTestCase {
diff --git a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/util/TestToStringUtil.java b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/util/TestToStringUtil.java
index 22b1a32..cbe0554 100644
--- a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/util/TestToStringUtil.java
+++ b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/util/TestToStringUtil.java
@@ -18,7 +18,7 @@ package org.apache.lucene.analysis.ja.util;
 
 import java.util.HashMap;
 import java.util.Map;
-import org.apache.lucene.util.LuceneTestCase;
+import org.apache.lucene.tests.util.LuceneTestCase;
 
 public class TestToStringUtil extends LuceneTestCase {
   public void testPOS() {
diff --git a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/util/TestUnknownDictionary.java b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/util/TestUnknownDictionary.java
index 110cdc2..a2e74c7 100644
--- a/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/util/TestUnknownDictionary.java
+++ b/lucene/analysis/kuromoji/src/test/org/apache/lucene/analysis/ja/util/TestUnknownDictionary.java
@@ -16,7 +16,7 @@
  */
 package org.apache.lucene.analysis.ja.util;
 
-import org.apache.lucene.util.LuceneTestCase;
+import org.apache.lucene.tests.util.LuceneTestCase;
 import org.junit.Test;
 
 public class TestUnknownDictionary extends LuceneTestCase {
diff --git a/lucene/analysis/morfologik/src/test/org/apache/lucene/analysis/morfologik/TestMorfologikAnalyzer.java b/lucene/analysis/morfologik/src/test/org/apache/lucene/analysis/morfologik/TestMorfologikAnalyzer.java
index dbb718a..6e66771 100644
--- a/lucene/analysis/morfologik/src/test/org/apache/lucene/analysis/morfologik/TestMorfologikAnalyzer.java
+++ b/lucene/analysis/morfologik/src/test/org/apache/lucene/analysis/morfologik/TestMorfologikAnalyzer.java
@@ -19,13 +19,13 @@ package org.apache.lucene.analysis.morfologik;
 import java.io.IOException;
 import java.util.TreeSet;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.CharArraySet;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.miscellaneous.SetKeywordMarkerFilter;
 import org.apache.lucene.analysis.standard.StandardTokenizer;
 import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 
 /** TODO: The tests below rely on the order of returned lemmas, which is probably not good. */
 public class TestMorfologikAnalyzer extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/morfologik/src/test/org/apache/lucene/analysis/morfologik/TestMorfologikFilterFactory.java b/lucene/analysis/morfologik/src/test/org/apache/lucene/analysis/morfologik/TestMorfologikFilterFactory.java
index b305145..19ad5a4 100644
--- a/lucene/analysis/morfologik/src/test/org/apache/lucene/analysis/morfologik/TestMorfologikFilterFactory.java
+++ b/lucene/analysis/morfologik/src/test/org/apache/lucene/analysis/morfologik/TestMorfologikFilterFactory.java
@@ -22,8 +22,8 @@ import java.io.StringReader;
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.Map;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.TokenStream;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.util.ClasspathResourceLoader;
 import org.apache.lucene.util.ResourceLoader;
 
diff --git a/lucene/analysis/morfologik/src/test/org/apache/lucene/analysis/uk/TestUkrainianAnalyzer.java b/lucene/analysis/morfologik/src/test/org/apache/lucene/analysis/uk/TestUkrainianAnalyzer.java
index 880d1ec..e04f626 100644
--- a/lucene/analysis/morfologik/src/test/org/apache/lucene/analysis/uk/TestUkrainianAnalyzer.java
+++ b/lucene/analysis/morfologik/src/test/org/apache/lucene/analysis/uk/TestUkrainianAnalyzer.java
@@ -18,7 +18,7 @@ package org.apache.lucene.analysis.uk;
 
 import java.io.IOException;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 
 /** Test case for UkrainianAnalyzer. */
 public class TestUkrainianAnalyzer extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/nori/src/test/org/apache/lucene/analysis/ko/TestKoreanAnalyzer.java b/lucene/analysis/nori/src/test/org/apache/lucene/analysis/ko/TestKoreanAnalyzer.java
index 2338c92..cb71a76 100644
--- a/lucene/analysis/nori/src/test/org/apache/lucene/analysis/ko/TestKoreanAnalyzer.java
+++ b/lucene/analysis/nori/src/test/org/apache/lucene/analysis/ko/TestKoreanAnalyzer.java
@@ -22,7 +22,7 @@ import java.util.HashSet;
 import java.util.Random;
 import java.util.Set;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 
 /** Test Korean morphological analyzer */
 public class TestKoreanAnalyzer extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/nori/src/test/org/apache/lucene/analysis/ko/TestKoreanNumberFilter.java b/lucene/analysis/nori/src/test/org/apache/lucene/analysis/ko/TestKoreanNumberFilter.java
index f10d209..7da469d 100644
--- a/lucene/analysis/nori/src/test/org/apache/lucene/analysis/ko/TestKoreanNumberFilter.java
+++ b/lucene/analysis/nori/src/test/org/apache/lucene/analysis/ko/TestKoreanNumberFilter.java
@@ -28,13 +28,13 @@ import java.nio.file.Paths;
 import java.util.HashSet;
 import java.util.Set;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.CharArraySet;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.ko.dict.UserDictionary;
 import org.apache.lucene.analysis.miscellaneous.SetKeywordMarkerFilter;
 import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 import org.junit.Ignore;
 import org.junit.Test;
 
diff --git a/lucene/analysis/nori/src/test/org/apache/lucene/analysis/ko/TestKoreanNumberFilterFactory.java b/lucene/analysis/nori/src/test/org/apache/lucene/analysis/ko/TestKoreanNumberFilterFactory.java
index 85a759a..2a519e8 100644
--- a/lucene/analysis/nori/src/test/org/apache/lucene/analysis/ko/TestKoreanNumberFilterFactory.java
+++ b/lucene/analysis/nori/src/test/org/apache/lucene/analysis/ko/TestKoreanNumberFilterFactory.java
@@ -20,9 +20,9 @@ import java.io.IOException;
 import java.io.StringReader;
 import java.util.HashMap;
 import java.util.Map;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 
 /** Simple tests for {@link org.apache.lucene.analysis.ko.KoreanNumberFilterFactory} */
 public class TestKoreanNumberFilterFactory extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/nori/src/test/org/apache/lucene/analysis/ko/TestKoreanPartOfSpeechStopFilterFactory.java b/lucene/analysis/nori/src/test/org/apache/lucene/analysis/ko/TestKoreanPartOfSpeechStopFilterFactory.java
index 2c73f31..68fd7fa 100644
--- a/lucene/analysis/nori/src/test/org/apache/lucene/analysis/ko/TestKoreanPartOfSpeechStopFilterFactory.java
+++ b/lucene/analysis/nori/src/test/org/apache/lucene/analysis/ko/TestKoreanPartOfSpeechStopFilterFactory.java
@@ -20,9 +20,9 @@ import java.io.IOException;
 import java.io.StringReader;
 import java.util.HashMap;
 import java.util.Map;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.util.Version;
 
 /** Simple tests for {@link KoreanPartOfSpeechStopFilterFactory} */
diff --git a/lucene/analysis/nori/src/test/org/apache/lucene/analysis/ko/TestKoreanReadingFormFilter.java b/lucene/analysis/nori/src/test/org/apache/lucene/analysis/ko/TestKoreanReadingFormFilter.java
index 0695e49..27e45cb 100644
--- a/lucene/analysis/nori/src/test/org/apache/lucene/analysis/ko/TestKoreanReadingFormFilter.java
+++ b/lucene/analysis/nori/src/test/org/apache/lucene/analysis/ko/TestKoreanReadingFormFilter.java
@@ -19,9 +19,9 @@ package org.apache.lucene.analysis.ko;
 import java.io.IOException;
 import java.util.Random;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.core.KeywordTokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.util.IOUtils;
 
 /** Tests for {@link TestKoreanReadingFormFilter} */
diff --git a/lucene/analysis/nori/src/test/org/apache/lucene/analysis/ko/TestKoreanReadingFormFilterFactory.java b/lucene/analysis/nori/src/test/org/apache/lucene/analysis/ko/TestKoreanReadingFormFilterFactory.java
index 88eab97..46b910c 100644
--- a/lucene/analysis/nori/src/test/org/apache/lucene/analysis/ko/TestKoreanReadingFormFilterFactory.java
+++ b/lucene/analysis/nori/src/test/org/apache/lucene/analysis/ko/TestKoreanReadingFormFilterFactory.java
@@ -19,8 +19,8 @@ package org.apache.lucene.analysis.ko;
 import java.io.IOException;
 import java.io.StringReader;
 import java.util.HashMap;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.Tokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 
 /** Simple tests for {@link KoreanReadingFormFilterFactory} */
 public class TestKoreanReadingFormFilterFactory extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/nori/src/test/org/apache/lucene/analysis/ko/TestKoreanTokenizer.java b/lucene/analysis/nori/src/test/org/apache/lucene/analysis/ko/TestKoreanTokenizer.java
index f1e0d3f..ec72e8a 100644
--- a/lucene/analysis/nori/src/test/org/apache/lucene/analysis/ko/TestKoreanTokenizer.java
+++ b/lucene/analysis/nori/src/test/org/apache/lucene/analysis/ko/TestKoreanTokenizer.java
@@ -23,8 +23,6 @@ import java.io.Reader;
 import java.nio.charset.StandardCharsets;
 import java.util.Random;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
-import org.apache.lucene.analysis.MockGraphTokenFilter;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.ko.KoreanTokenizer.DecompoundMode;
@@ -35,6 +33,8 @@ import org.apache.lucene.analysis.ko.dict.UnknownDictionary;
 import org.apache.lucene.analysis.ko.dict.UserDictionary;
 import org.apache.lucene.analysis.ko.tokenattributes.PartOfSpeechAttribute;
 import org.apache.lucene.analysis.ko.tokenattributes.ReadingAttribute;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockGraphTokenFilter;
 
 public class TestKoreanTokenizer extends BaseTokenStreamTestCase {
   private Analyzer analyzer,
diff --git a/lucene/analysis/nori/src/test/org/apache/lucene/analysis/ko/TestKoreanTokenizerFactory.java b/lucene/analysis/nori/src/test/org/apache/lucene/analysis/ko/TestKoreanTokenizerFactory.java
index d8fa2b6..93bd20d 100644
--- a/lucene/analysis/nori/src/test/org/apache/lucene/analysis/ko/TestKoreanTokenizerFactory.java
+++ b/lucene/analysis/nori/src/test/org/apache/lucene/analysis/ko/TestKoreanTokenizerFactory.java
@@ -21,8 +21,8 @@ import java.io.StringReader;
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.Map;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.Tokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 
 /** Simple tests for {@link KoreanTokenizerFactory} */
 public class TestKoreanTokenizerFactory extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/nori/src/test/org/apache/lucene/analysis/ko/dict/TestTokenInfoDictionary.java b/lucene/analysis/nori/src/test/org/apache/lucene/analysis/ko/dict/TestTokenInfoDictionary.java
index 10042c9..406ce6c 100644
--- a/lucene/analysis/nori/src/test/org/apache/lucene/analysis/ko/dict/TestTokenInfoDictionary.java
+++ b/lucene/analysis/nori/src/test/org/apache/lucene/analysis/ko/dict/TestTokenInfoDictionary.java
@@ -26,9 +26,9 @@ import java.nio.file.Files;
 import java.nio.file.Path;
 import org.apache.lucene.analysis.ko.POS;
 import org.apache.lucene.analysis.ko.util.DictionaryBuilder;
+import org.apache.lucene.tests.util.LuceneTestCase;
 import org.apache.lucene.util.IntsRef;
 import org.apache.lucene.util.IntsRefBuilder;
-import org.apache.lucene.util.LuceneTestCase;
 import org.apache.lucene.util.UnicodeUtil;
 import org.apache.lucene.util.fst.FST;
 import org.apache.lucene.util.fst.IntsRefFSTEnum;
diff --git a/lucene/analysis/nori/src/test/org/apache/lucene/analysis/ko/dict/TestUserDictionary.java b/lucene/analysis/nori/src/test/org/apache/lucene/analysis/ko/dict/TestUserDictionary.java
index 864d8e8..7f97d05 100644
--- a/lucene/analysis/nori/src/test/org/apache/lucene/analysis/ko/dict/TestUserDictionary.java
+++ b/lucene/analysis/nori/src/test/org/apache/lucene/analysis/ko/dict/TestUserDictionary.java
@@ -20,7 +20,7 @@ import java.io.IOException;
 import java.util.List;
 import org.apache.lucene.analysis.ko.POS;
 import org.apache.lucene.analysis.ko.TestKoreanTokenizer;
-import org.apache.lucene.util.LuceneTestCase;
+import org.apache.lucene.tests.util.LuceneTestCase;
 import org.junit.Test;
 
 public class TestUserDictionary extends LuceneTestCase {
diff --git a/lucene/analysis/nori/src/test/org/apache/lucene/analysis/ko/util/TestUnknownDictionary.java b/lucene/analysis/nori/src/test/org/apache/lucene/analysis/ko/util/TestUnknownDictionary.java
index 10b7dee..c619ad3 100644
--- a/lucene/analysis/nori/src/test/org/apache/lucene/analysis/ko/util/TestUnknownDictionary.java
+++ b/lucene/analysis/nori/src/test/org/apache/lucene/analysis/ko/util/TestUnknownDictionary.java
@@ -16,7 +16,7 @@
  */
 package org.apache.lucene.analysis.ko.util;
 
-import org.apache.lucene.util.LuceneTestCase;
+import org.apache.lucene.tests.util.LuceneTestCase;
 import org.junit.Test;
 
 public class TestUnknownDictionary extends LuceneTestCase {
diff --git a/lucene/analysis/opennlp/src/test/org/apache/lucene/analysis/opennlp/TestOpenNLPChunkerFilterFactory.java b/lucene/analysis/opennlp/src/test/org/apache/lucene/analysis/opennlp/TestOpenNLPChunkerFilterFactory.java
index 27e1041..1132be3 100644
--- a/lucene/analysis/opennlp/src/test/org/apache/lucene/analysis/opennlp/TestOpenNLPChunkerFilterFactory.java
+++ b/lucene/analysis/opennlp/src/test/org/apache/lucene/analysis/opennlp/TestOpenNLPChunkerFilterFactory.java
@@ -19,9 +19,9 @@ package org.apache.lucene.analysis.opennlp;
 
 import java.nio.charset.StandardCharsets;
 import java.util.Arrays;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.custom.CustomAnalyzer;
 import org.apache.lucene.analysis.payloads.TypeAsPayloadTokenFilterFactory;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.util.ClasspathResourceLoader;
 
 /**
diff --git a/lucene/analysis/opennlp/src/test/org/apache/lucene/analysis/opennlp/TestOpenNLPLemmatizerFilterFactory.java b/lucene/analysis/opennlp/src/test/org/apache/lucene/analysis/opennlp/TestOpenNLPLemmatizerFilterFactory.java
index 42c1d93..d74bc45 100644
--- a/lucene/analysis/opennlp/src/test/org/apache/lucene/analysis/opennlp/TestOpenNLPLemmatizerFilterFactory.java
+++ b/lucene/analysis/opennlp/src/test/org/apache/lucene/analysis/opennlp/TestOpenNLPLemmatizerFilterFactory.java
@@ -17,10 +17,10 @@
 
 package org.apache.lucene.analysis.opennlp;
 
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.custom.CustomAnalyzer;
 import org.apache.lucene.analysis.miscellaneous.KeywordRepeatFilterFactory;
 import org.apache.lucene.analysis.miscellaneous.RemoveDuplicatesTokenFilterFactory;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.util.ClasspathResourceLoader;
 
 public class TestOpenNLPLemmatizerFilterFactory extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/opennlp/src/test/org/apache/lucene/analysis/opennlp/TestOpenNLPPOSFilterFactory.java b/lucene/analysis/opennlp/src/test/org/apache/lucene/analysis/opennlp/TestOpenNLPPOSFilterFactory.java
index bf188b0..e9ac0f7 100644
--- a/lucene/analysis/opennlp/src/test/org/apache/lucene/analysis/opennlp/TestOpenNLPPOSFilterFactory.java
+++ b/lucene/analysis/opennlp/src/test/org/apache/lucene/analysis/opennlp/TestOpenNLPPOSFilterFactory.java
@@ -20,9 +20,9 @@ package org.apache.lucene.analysis.opennlp;
 import java.io.IOException;
 import java.nio.charset.StandardCharsets;
 import java.util.Arrays;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.custom.CustomAnalyzer;
 import org.apache.lucene.analysis.payloads.TypeAsPayloadTokenFilterFactory;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.util.ClasspathResourceLoader;
 
 /**
diff --git a/lucene/analysis/opennlp/src/test/org/apache/lucene/analysis/opennlp/TestOpenNLPSentenceBreakIterator.java b/lucene/analysis/opennlp/src/test/org/apache/lucene/analysis/opennlp/TestOpenNLPSentenceBreakIterator.java
index 7c778d1..acd13da 100644
--- a/lucene/analysis/opennlp/src/test/org/apache/lucene/analysis/opennlp/TestOpenNLPSentenceBreakIterator.java
+++ b/lucene/analysis/opennlp/src/test/org/apache/lucene/analysis/opennlp/TestOpenNLPSentenceBreakIterator.java
@@ -23,8 +23,8 @@ import java.text.CharacterIterator;
 import org.apache.lucene.analysis.opennlp.tools.NLPSentenceDetectorOp;
 import org.apache.lucene.analysis.opennlp.tools.OpenNLPOpsFactory;
 import org.apache.lucene.analysis.util.CharArrayIterator;
+import org.apache.lucene.tests.util.LuceneTestCase;
 import org.apache.lucene.util.ClasspathResourceLoader;
-import org.apache.lucene.util.LuceneTestCase;
 import org.junit.BeforeClass;
 
 public class TestOpenNLPSentenceBreakIterator extends LuceneTestCase {
diff --git a/lucene/analysis/opennlp/src/test/org/apache/lucene/analysis/opennlp/TestOpenNLPTokenizerFactory.java b/lucene/analysis/opennlp/src/test/org/apache/lucene/analysis/opennlp/TestOpenNLPTokenizerFactory.java
index 315af01..b8ea21a 100644
--- a/lucene/analysis/opennlp/src/test/org/apache/lucene/analysis/opennlp/TestOpenNLPTokenizerFactory.java
+++ b/lucene/analysis/opennlp/src/test/org/apache/lucene/analysis/opennlp/TestOpenNLPTokenizerFactory.java
@@ -21,9 +21,9 @@ import java.io.IOException;
 import java.io.StringReader;
 import java.util.HashMap;
 import java.util.Map;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.custom.CustomAnalyzer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.util.ClasspathResourceLoader;
 import org.junit.Test;
 
diff --git a/lucene/analysis/phonetic/src/test/org/apache/lucene/analysis/phonetic/TestBeiderMorseFilter.java b/lucene/analysis/phonetic/src/test/org/apache/lucene/analysis/phonetic/TestBeiderMorseFilter.java
index 8f77840..9352a60 100644
--- a/lucene/analysis/phonetic/src/test/org/apache/lucene/analysis/phonetic/TestBeiderMorseFilter.java
+++ b/lucene/analysis/phonetic/src/test/org/apache/lucene/analysis/phonetic/TestBeiderMorseFilter.java
@@ -25,13 +25,13 @@ import org.apache.commons.codec.language.bm.NameType;
 import org.apache.commons.codec.language.bm.PhoneticEngine;
 import org.apache.commons.codec.language.bm.RuleType;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.core.KeywordTokenizer;
 import org.apache.lucene.analysis.miscellaneous.PatternKeywordMarkerFilter;
 import org.apache.lucene.analysis.tokenattributes.KeywordAttribute;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 /** Tests {@link BeiderMorseFilter} */
 public class TestBeiderMorseFilter extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/phonetic/src/test/org/apache/lucene/analysis/phonetic/TestBeiderMorseFilterFactory.java b/lucene/analysis/phonetic/src/test/org/apache/lucene/analysis/phonetic/TestBeiderMorseFilterFactory.java
index c4463a4..505af48 100644
--- a/lucene/analysis/phonetic/src/test/org/apache/lucene/analysis/phonetic/TestBeiderMorseFilterFactory.java
+++ b/lucene/analysis/phonetic/src/test/org/apache/lucene/analysis/phonetic/TestBeiderMorseFilterFactory.java
@@ -18,8 +18,8 @@ package org.apache.lucene.analysis.phonetic;
 
 import java.util.HashMap;
 import java.util.Map;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.TokenStream;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 
 /** Simple tests for {@link BeiderMorseFilterFactory} */
 public class TestBeiderMorseFilterFactory extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/phonetic/src/test/org/apache/lucene/analysis/phonetic/TestDaitchMokotoffSoundexFilter.java b/lucene/analysis/phonetic/src/test/org/apache/lucene/analysis/phonetic/TestDaitchMokotoffSoundexFilter.java
index e7dd16b..b728ef3 100644
--- a/lucene/analysis/phonetic/src/test/org/apache/lucene/analysis/phonetic/TestDaitchMokotoffSoundexFilter.java
+++ b/lucene/analysis/phonetic/src/test/org/apache/lucene/analysis/phonetic/TestDaitchMokotoffSoundexFilter.java
@@ -19,11 +19,11 @@ package org.apache.lucene.analysis.phonetic;
 import java.io.IOException;
 import java.io.StringReader;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.core.KeywordTokenizer;
 import org.apache.lucene.analysis.core.WhitespaceTokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 /** Tests {@link DaitchMokotoffSoundexFilter} */
 public class TestDaitchMokotoffSoundexFilter extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/phonetic/src/test/org/apache/lucene/analysis/phonetic/TestDaitchMokotoffSoundexFilterFactory.java b/lucene/analysis/phonetic/src/test/org/apache/lucene/analysis/phonetic/TestDaitchMokotoffSoundexFilterFactory.java
index ca50c7a..390136c 100644
--- a/lucene/analysis/phonetic/src/test/org/apache/lucene/analysis/phonetic/TestDaitchMokotoffSoundexFilterFactory.java
+++ b/lucene/analysis/phonetic/src/test/org/apache/lucene/analysis/phonetic/TestDaitchMokotoffSoundexFilterFactory.java
@@ -19,10 +19,10 @@ package org.apache.lucene.analysis.phonetic;
 import java.io.StringReader;
 import java.util.HashMap;
 import java.util.Map;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 public class TestDaitchMokotoffSoundexFilterFactory extends BaseTokenStreamTestCase {
 
diff --git a/lucene/analysis/phonetic/src/test/org/apache/lucene/analysis/phonetic/TestDoubleMetaphoneFilter.java b/lucene/analysis/phonetic/src/test/org/apache/lucene/analysis/phonetic/TestDoubleMetaphoneFilter.java
index 798c700..fde7769 100644
--- a/lucene/analysis/phonetic/src/test/org/apache/lucene/analysis/phonetic/TestDoubleMetaphoneFilter.java
+++ b/lucene/analysis/phonetic/src/test/org/apache/lucene/analysis/phonetic/TestDoubleMetaphoneFilter.java
@@ -18,12 +18,12 @@ package org.apache.lucene.analysis.phonetic;
 
 import java.io.IOException;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.core.KeywordTokenizer;
-import org.apache.lucene.util.TestUtil;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
+import org.apache.lucene.tests.util.TestUtil;
 
 public class TestDoubleMetaphoneFilter extends BaseTokenStreamTestCase {
 
diff --git a/lucene/analysis/phonetic/src/test/org/apache/lucene/analysis/phonetic/TestDoubleMetaphoneFilterFactory.java b/lucene/analysis/phonetic/src/test/org/apache/lucene/analysis/phonetic/TestDoubleMetaphoneFilterFactory.java
index 5ae1424..4d8fae9 100644
--- a/lucene/analysis/phonetic/src/test/org/apache/lucene/analysis/phonetic/TestDoubleMetaphoneFilterFactory.java
+++ b/lucene/analysis/phonetic/src/test/org/apache/lucene/analysis/phonetic/TestDoubleMetaphoneFilterFactory.java
@@ -18,8 +18,8 @@ package org.apache.lucene.analysis.phonetic;
 
 import java.util.HashMap;
 import java.util.Map;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.TokenStream;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 
 public class TestDoubleMetaphoneFilterFactory extends BaseTokenStreamTestCase {
 
diff --git a/lucene/analysis/phonetic/src/test/org/apache/lucene/analysis/phonetic/TestPhoneticFilter.java b/lucene/analysis/phonetic/src/test/org/apache/lucene/analysis/phonetic/TestPhoneticFilter.java
index e740cc3..5a29785 100644
--- a/lucene/analysis/phonetic/src/test/org/apache/lucene/analysis/phonetic/TestPhoneticFilter.java
+++ b/lucene/analysis/phonetic/src/test/org/apache/lucene/analysis/phonetic/TestPhoneticFilter.java
@@ -26,10 +26,10 @@ import org.apache.commons.codec.language.Nysiis;
 import org.apache.commons.codec.language.RefinedSoundex;
 import org.apache.commons.codec.language.Soundex;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
-import org.apache.lucene.analysis.MockTokenizer;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.core.KeywordTokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockTokenizer;
 
 /** Tests {@link PhoneticFilter} */
 public class TestPhoneticFilter extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/phonetic/src/test/org/apache/lucene/analysis/phonetic/TestPhoneticFilterFactory.java b/lucene/analysis/phonetic/src/test/org/apache/lucene/analysis/phonetic/TestPhoneticFilterFactory.java
index e5afb17..65aebd8 100644
--- a/lucene/analysis/phonetic/src/test/org/apache/lucene/analysis/phonetic/TestPhoneticFilterFactory.java
+++ b/lucene/analysis/phonetic/src/test/org/apache/lucene/analysis/phonetic/TestPhoneticFilterFactory.java
@@ -21,9 +21,9 @@ import java.util.HashMap;
 import java.util.Map;
 import org.apache.commons.codec.language.Caverphone2;
 import org.apache.commons.codec.language.Metaphone;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.Tokenizer;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.util.ClasspathResourceLoader;
 
 public class TestPhoneticFilterFactory extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/smartcn/src/test/org/apache/lucene/analysis/cn/smart/TestHMMChineseTokenizerFactory.java b/lucene/analysis/smartcn/src/test/org/apache/lucene/analysis/cn/smart/TestHMMChineseTokenizerFactory.java
index a191302..888e60a 100644
--- a/lucene/analysis/smartcn/src/test/org/apache/lucene/analysis/cn/smart/TestHMMChineseTokenizerFactory.java
+++ b/lucene/analysis/smartcn/src/test/org/apache/lucene/analysis/cn/smart/TestHMMChineseTokenizerFactory.java
@@ -19,9 +19,9 @@ package org.apache.lucene.analysis.cn.smart;
 import java.io.Reader;
 import java.io.StringReader;
 import java.util.HashMap;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.TokenizerFactory;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 
 /** Tests for {@link HMMChineseTokenizerFactory} */
 public class TestHMMChineseTokenizerFactory extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/smartcn/src/test/org/apache/lucene/analysis/cn/smart/TestSmartChineseAnalyzer.java b/lucene/analysis/smartcn/src/test/org/apache/lucene/analysis/cn/smart/TestSmartChineseAnalyzer.java
index 79a89b0..e3492c3 100644
--- a/lucene/analysis/smartcn/src/test/org/apache/lucene/analysis/cn/smart/TestSmartChineseAnalyzer.java
+++ b/lucene/analysis/smartcn/src/test/org/apache/lucene/analysis/cn/smart/TestSmartChineseAnalyzer.java
@@ -19,8 +19,8 @@ package org.apache.lucene.analysis.cn.smart;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.TokenStream;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.util.IOUtils;
 
 public class TestSmartChineseAnalyzer extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/stempel/src/test/org/apache/lucene/analysis/pl/TestPolishAnalyzer.java b/lucene/analysis/stempel/src/test/org/apache/lucene/analysis/pl/TestPolishAnalyzer.java
index d688db7..c1687cc 100644
--- a/lucene/analysis/stempel/src/test/org/apache/lucene/analysis/pl/TestPolishAnalyzer.java
+++ b/lucene/analysis/stempel/src/test/org/apache/lucene/analysis/pl/TestPolishAnalyzer.java
@@ -18,8 +18,8 @@ package org.apache.lucene.analysis.pl;
 
 import java.io.IOException;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.CharArraySet;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 
 public class TestPolishAnalyzer extends BaseTokenStreamTestCase {
   /** This test fails with NPE when the stopwords file is missing in classpath */
diff --git a/lucene/analysis/stempel/src/test/org/apache/lucene/analysis/stempel/TestStempelPolishStemFilterFactory.java b/lucene/analysis/stempel/src/test/org/apache/lucene/analysis/stempel/TestStempelPolishStemFilterFactory.java
index ff14bc5..0f9bb4d 100644
--- a/lucene/analysis/stempel/src/test/org/apache/lucene/analysis/stempel/TestStempelPolishStemFilterFactory.java
+++ b/lucene/analysis/stempel/src/test/org/apache/lucene/analysis/stempel/TestStempelPolishStemFilterFactory.java
@@ -19,8 +19,8 @@ package org.apache.lucene.analysis.stempel;
 import java.io.Reader;
 import java.io.StringReader;
 import java.util.HashMap;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
 import org.apache.lucene.analysis.TokenStream;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
 
 /** Tests for {@link StempelPolishStemFilterFactory} */
 public class TestStempelPolishStemFilterFactory extends BaseTokenStreamTestCase {
diff --git a/lucene/analysis/stempel/src/test/org/egothor/stemmer/TestCompile.java b/lucene/analysis/stempel/src/test/org/egothor/stemmer/TestCompile.java
index 8c27af0..aa196fd 100644
--- a/lucene/analysis/stempel/src/test/org/egothor/stemmer/TestCompile.java
+++ b/lucene/analysis/stempel/src/test/org/egothor/stemmer/TestCompile.java
@@ -65,7 +65,7 @@ import java.nio.file.Files;
 import java.nio.file.Path;
 import java.util.Locale;
 import java.util.StringTokenizer;
-import org.apache.lucene.util.LuceneTestCase;
+import org.apache.lucene.tests.util.LuceneTestCase;
 
 public class TestCompile extends LuceneTestCase {
 
diff --git a/lucene/analysis/stempel/src/test/org/egothor/stemmer/TestStemmer.java b/lucene/analysis/stempel/src/test/org/egothor/stemmer/TestStemmer.java
index b0d06c4..02e27b2 100644
--- a/lucene/analysis/stempel/src/test/org/egothor/stemmer/TestStemmer.java
+++ b/lucene/analysis/stempel/src/test/org/egothor/stemmer/TestStemmer.java
@@ -55,7 +55,7 @@ individuals  on  behalf  of  the  Egothor  Project  and was originally
 created by Leo Galambos (Leo.G@seznam.cz).
 */
 
-import org.apache.lucene.util.LuceneTestCase;
+import org.apache.lucene.tests.util.LuceneTestCase;
 
 public class TestStemmer extends LuceneTestCase {
 
diff --git a/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene50/TestBlockPostingsFormat.java b/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene50/TestBlockPostingsFormat.java
index dfc4806..eeb9c11 100644
--- a/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene50/TestBlockPostingsFormat.java
+++ b/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene50/TestBlockPostingsFormat.java
@@ -20,7 +20,6 @@ import java.io.IOException;
 import java.util.Arrays;
 import java.util.Collections;
 import java.util.List;
-import org.apache.lucene.analysis.MockAnalyzer;
 import org.apache.lucene.backward_codecs.lucene40.blocktree.FieldReader;
 import org.apache.lucene.backward_codecs.lucene40.blocktree.Stats;
 import org.apache.lucene.backward_codecs.lucene50.Lucene50ScoreSkipReader.MutableImpactList;
@@ -29,7 +28,6 @@ import org.apache.lucene.codecs.Codec;
 import org.apache.lucene.codecs.CompetitiveImpactAccumulator;
 import org.apache.lucene.document.Document;
 import org.apache.lucene.document.Field;
-import org.apache.lucene.index.BasePostingsFormatTestCase;
 import org.apache.lucene.index.DirectoryReader;
 import org.apache.lucene.index.Impact;
 import org.apache.lucene.index.IndexWriter;
@@ -39,7 +37,9 @@ import org.apache.lucene.store.Directory;
 import org.apache.lucene.store.IOContext;
 import org.apache.lucene.store.IndexInput;
 import org.apache.lucene.store.IndexOutput;
-import org.apache.lucene.util.TestUtil;
+import org.apache.lucene.tests.analysis.MockAnalyzer;
+import org.apache.lucene.tests.index.BasePostingsFormatTestCase;
+import org.apache.lucene.tests.util.TestUtil;
 
 /** Tests BlockPostingsFormat */
 public class TestBlockPostingsFormat extends BasePostingsFormatTestCase {
diff --git a/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene50/TestBlockPostingsFormat2.java b/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene50/TestBlockPostingsFormat2.java
index f84de51..f202c21 100644
--- a/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene50/TestBlockPostingsFormat2.java
+++ b/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene50/TestBlockPostingsFormat2.java
@@ -16,7 +16,6 @@
  */
 package org.apache.lucene.backward_codecs.lucene50;
 
-import org.apache.lucene.analysis.MockAnalyzer;
 import org.apache.lucene.document.Document;
 import org.apache.lucene.document.Field;
 import org.apache.lucene.document.FieldType;
@@ -26,10 +25,11 @@ import org.apache.lucene.index.IndexWriter;
 import org.apache.lucene.index.IndexWriterConfig;
 import org.apache.lucene.index.IndexWriterConfig.OpenMode;
 import org.apache.lucene.index.IndexableField;
-import org.apache.lucene.index.RandomIndexWriter;
 import org.apache.lucene.store.Directory;
-import org.apache.lucene.util.LuceneTestCase;
-import org.apache.lucene.util.TestUtil;
+import org.apache.lucene.tests.analysis.MockAnalyzer;
+import org.apache.lucene.tests.index.RandomIndexWriter;
+import org.apache.lucene.tests.util.LuceneTestCase;
+import org.apache.lucene.tests.util.TestUtil;
 
 /** Tests special cases of BlockPostingsFormat */
 public class TestBlockPostingsFormat2 extends LuceneTestCase {
diff --git a/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene50/TestBlockPostingsFormat3.java b/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene50/TestBlockPostingsFormat3.java
index 71b3c82..d47e61b 100644
--- a/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene50/TestBlockPostingsFormat3.java
+++ b/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene50/TestBlockPostingsFormat3.java
@@ -21,9 +21,6 @@ import java.util.Collections;
 import java.util.HashSet;
 import java.util.Random;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.MockFixedLengthPayloadFilter;
-import org.apache.lucene.analysis.MockTokenizer;
-import org.apache.lucene.analysis.MockVariableLengthPayloadFilter;
 import org.apache.lucene.analysis.TokenFilter;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.document.Document;
@@ -38,17 +35,20 @@ import org.apache.lucene.index.IndexWriterConfig.OpenMode;
 import org.apache.lucene.index.LeafReader;
 import org.apache.lucene.index.LeafReaderContext;
 import org.apache.lucene.index.PostingsEnum;
-import org.apache.lucene.index.RandomIndexWriter;
 import org.apache.lucene.index.Terms;
 import org.apache.lucene.index.TermsEnum;
 import org.apache.lucene.index.TermsEnum.SeekStatus;
 import org.apache.lucene.search.DocIdSetIterator;
 import org.apache.lucene.store.Directory;
+import org.apache.lucene.tests.analysis.MockFixedLengthPayloadFilter;
+import org.apache.lucene.tests.analysis.MockTokenizer;
+import org.apache.lucene.tests.analysis.MockVariableLengthPayloadFilter;
+import org.apache.lucene.tests.index.RandomIndexWriter;
+import org.apache.lucene.tests.util.English;
+import org.apache.lucene.tests.util.LuceneTestCase;
+import org.apache.lucene.tests.util.TestUtil;
+import org.apache.lucene.tests.util.automaton.AutomatonTestUtil;
 import org.apache.lucene.util.BytesRef;
-import org.apache.lucene.util.English;
-import org.apache.lucene.util.LuceneTestCase;
-import org.apache.lucene.util.TestUtil;
-import org.apache.lucene.util.automaton.AutomatonTestUtil;
 import org.apache.lucene.util.automaton.CompiledAutomaton;
 import org.apache.lucene.util.automaton.RegExp;
 
diff --git a/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene50/TestForUtil.java b/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene50/TestForUtil.java
index 4293586..4f84669 100644
--- a/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene50/TestForUtil.java
+++ b/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene50/TestForUtil.java
@@ -28,8 +28,8 @@ import org.apache.lucene.store.Directory;
 import org.apache.lucene.store.IOContext;
 import org.apache.lucene.store.IndexInput;
 import org.apache.lucene.store.IndexOutput;
+import org.apache.lucene.tests.util.LuceneTestCase;
 import org.apache.lucene.util.ArrayUtil;
-import org.apache.lucene.util.LuceneTestCase;
 import org.apache.lucene.util.packed.PackedInts;
 
 public class TestForUtil extends LuceneTestCase {
diff --git a/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene50/TestLucene50CompoundFormat.java b/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene50/TestLucene50CompoundFormat.java
index de9f72c..cb73b4a 100644
--- a/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene50/TestLucene50CompoundFormat.java
+++ b/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene50/TestLucene50CompoundFormat.java
@@ -18,11 +18,9 @@ package org.apache.lucene.backward_codecs.lucene50;
 
 import org.apache.lucene.backward_codecs.lucene87.Lucene87RWCodec;
 import org.apache.lucene.codecs.Codec;
-import org.apache.lucene.index.BaseCompoundFormatTestCase;
+import org.apache.lucene.tests.index.BaseCompoundFormatTestCase;
 
 public class TestLucene50CompoundFormat extends BaseCompoundFormatTestCase {
-  ;
-
   @Override
   protected Codec getCodec() {
     return new Lucene87RWCodec();
diff --git a/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene50/TestLucene50LiveDocsFormat.java b/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene50/TestLucene50LiveDocsFormat.java
index 5cd1bc0..b6fa3af 100644
--- a/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene50/TestLucene50LiveDocsFormat.java
+++ b/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene50/TestLucene50LiveDocsFormat.java
@@ -18,7 +18,7 @@ package org.apache.lucene.backward_codecs.lucene50;
 
 import org.apache.lucene.backward_codecs.lucene86.Lucene86RWCodec;
 import org.apache.lucene.codecs.Codec;
-import org.apache.lucene.index.BaseLiveDocsFormatTestCase;
+import org.apache.lucene.tests.index.BaseLiveDocsFormatTestCase;
 
 public class TestLucene50LiveDocsFormat extends BaseLiveDocsFormatTestCase {
 
diff --git a/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene50/TestLucene50StoredFieldsFormat.java b/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene50/TestLucene50StoredFieldsFormat.java
index c6286b1..efc63a0 100644
--- a/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene50/TestLucene50StoredFieldsFormat.java
+++ b/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene50/TestLucene50StoredFieldsFormat.java
@@ -18,7 +18,7 @@ package org.apache.lucene.backward_codecs.lucene50;
 
 import org.apache.lucene.backward_codecs.lucene86.Lucene86RWCodec;
 import org.apache.lucene.codecs.Codec;
-import org.apache.lucene.index.BaseStoredFieldsFormatTestCase;
+import org.apache.lucene.tests.index.BaseStoredFieldsFormatTestCase;
 
 public class TestLucene50StoredFieldsFormat extends BaseStoredFieldsFormatTestCase {
   @Override
diff --git a/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene50/TestLucene50StoredFieldsFormatHighCompression.java b/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene50/TestLucene50StoredFieldsFormatHighCompression.java
index cd51b0f..61b3fdf 100644
--- a/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene50/TestLucene50StoredFieldsFormatHighCompression.java
+++ b/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene50/TestLucene50StoredFieldsFormatHighCompression.java
@@ -22,11 +22,11 @@ import org.apache.lucene.backward_codecs.lucene86.Lucene86RWCodec;
 import org.apache.lucene.codecs.Codec;
 import org.apache.lucene.document.Document;
 import org.apache.lucene.document.StoredField;
-import org.apache.lucene.index.BaseStoredFieldsFormatTestCase;
 import org.apache.lucene.index.DirectoryReader;
 import org.apache.lucene.index.IndexWriter;
 import org.apache.lucene.index.IndexWriterConfig;
 import org.apache.lucene.store.Directory;
+import org.apache.lucene.tests.index.BaseStoredFieldsFormatTestCase;
 
 public class TestLucene50StoredFieldsFormatHighCompression extends BaseStoredFieldsFormatTestCase {
   @Override
diff --git a/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene50/TestLucene50TermVectorsFormat.java b/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene50/TestLucene50TermVectorsFormat.java
index 4c0f868..3ca6a2d 100644
--- a/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene50/TestLucene50TermVectorsFormat.java
+++ b/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene50/TestLucene50TermVectorsFormat.java
@@ -18,7 +18,7 @@ package org.apache.lucene.backward_codecs.lucene50;
 
 import org.apache.lucene.backward_codecs.lucene87.Lucene87RWCodec;
 import org.apache.lucene.codecs.Codec;
-import org.apache.lucene.index.BaseTermVectorsFormatTestCase;
+import org.apache.lucene.tests.index.BaseTermVectorsFormatTestCase;
 
 public class TestLucene50TermVectorsFormat extends BaseTermVectorsFormatTestCase {
 
diff --git a/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene60/TestLucene60FieldInfosFormat.java b/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene60/TestLucene60FieldInfosFormat.java
index 0db5b32..9f0449c 100644
--- a/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene60/TestLucene60FieldInfosFormat.java
+++ b/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene60/TestLucene60FieldInfosFormat.java
@@ -18,7 +18,7 @@ package org.apache.lucene.backward_codecs.lucene60;
 
 import org.apache.lucene.backward_codecs.lucene84.Lucene84RWCodec;
 import org.apache.lucene.codecs.Codec;
-import org.apache.lucene.index.BaseFieldInfoFormatTestCase;
+import org.apache.lucene.tests.index.BaseFieldInfoFormatTestCase;
 
 public class TestLucene60FieldInfosFormat extends BaseFieldInfoFormatTestCase {
   @Override
diff --git a/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene60/TestLucene60PointsFormat.java b/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene60/TestLucene60PointsFormat.java
index 8adc819..e848fb9 100644
--- a/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene60/TestLucene60PointsFormat.java
+++ b/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene60/TestLucene60PointsFormat.java
@@ -23,18 +23,18 @@ import org.apache.lucene.backward_codecs.lucene84.Lucene84RWCodec;
 import org.apache.lucene.codecs.Codec;
 import org.apache.lucene.document.BinaryPoint;
 import org.apache.lucene.document.Document;
-import org.apache.lucene.index.BasePointsFormatTestCase;
 import org.apache.lucene.index.DirectoryReader;
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.index.IndexWriter;
 import org.apache.lucene.index.IndexWriterConfig;
 import org.apache.lucene.index.LeafReader;
-import org.apache.lucene.index.MockRandomMergePolicy;
 import org.apache.lucene.index.PointValues;
 import org.apache.lucene.index.PointValues.IntersectVisitor;
 import org.apache.lucene.index.PointValues.Relation;
 import org.apache.lucene.store.Directory;
-import org.apache.lucene.util.TestUtil;
+import org.apache.lucene.tests.index.BasePointsFormatTestCase;
+import org.apache.lucene.tests.index.MockRandomMergePolicy;
+import org.apache.lucene.tests.util.TestUtil;
 
 /** Tests Lucene60PointsFormat */
 public class TestLucene60PointsFormat extends BasePointsFormatTestCase {
diff --git a/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene70/TestIndexedDISI.java b/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene70/TestIndexedDISI.java
index cd7d5b1..ec4b513 100644
--- a/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene70/TestIndexedDISI.java
+++ b/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene70/TestIndexedDISI.java
@@ -25,10 +25,10 @@ import org.apache.lucene.store.Directory;
 import org.apache.lucene.store.IOContext;
 import org.apache.lucene.store.IndexInput;
 import org.apache.lucene.store.IndexOutput;
+import org.apache.lucene.tests.util.LuceneTestCase;
+import org.apache.lucene.tests.util.TestUtil;
 import org.apache.lucene.util.BitSetIterator;
 import org.apache.lucene.util.FixedBitSet;
-import org.apache.lucene.util.LuceneTestCase;
-import org.apache.lucene.util.TestUtil;
 
 public class TestIndexedDISI extends LuceneTestCase {
 
diff --git a/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene70/TestLucene70DocValuesFormat.java b/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene70/TestLucene70DocValuesFormat.java
index d56ded6..2648c99 100644
--- a/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene70/TestLucene70DocValuesFormat.java
+++ b/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene70/TestLucene70DocValuesFormat.java
@@ -26,11 +26,9 @@ import java.util.Set;
 import java.util.TreeSet;
 import java.util.function.LongSupplier;
 import java.util.function.Supplier;
-import org.apache.lucene.analysis.MockAnalyzer;
 import org.apache.lucene.codecs.Codec;
 import org.apache.lucene.codecs.DocValuesFormat;
 import org.apache.lucene.codecs.PostingsFormat;
-import org.apache.lucene.codecs.asserting.AssertingCodec;
 import org.apache.lucene.document.BinaryDocValuesField;
 import org.apache.lucene.document.Document;
 import org.apache.lucene.document.Field;
@@ -40,7 +38,6 @@ import org.apache.lucene.document.SortedNumericDocValuesField;
 import org.apache.lucene.document.SortedSetDocValuesField;
 import org.apache.lucene.document.StoredField;
 import org.apache.lucene.document.StringField;
-import org.apache.lucene.index.BaseCompressingDocValuesFormatTestCase;
 import org.apache.lucene.index.BinaryDocValues;
 import org.apache.lucene.index.DirectoryReader;
 import org.apache.lucene.index.DocValues;
@@ -51,7 +48,6 @@ import org.apache.lucene.index.IndexableField;
 import org.apache.lucene.index.LeafReader;
 import org.apache.lucene.index.LeafReaderContext;
 import org.apache.lucene.index.NumericDocValues;
-import org.apache.lucene.index.RandomIndexWriter;
 import org.apache.lucene.index.SerialMergeScheduler;
 import org.apache.lucene.index.SortedDocValues;
 import org.apache.lucene.index.SortedNumericDocValues;
@@ -64,10 +60,14 @@ import org.apache.lucene.search.DocIdSetIterator;
 import org.apache.lucene.store.ByteBuffersDataInput;
 import org.apache.lucene.store.ByteBuffersDataOutput;
 import org.apache.lucene.store.Directory;
+import org.apache.lucene.tests.analysis.MockAnalyzer;
+import org.apache.lucene.tests.codecs.asserting.AssertingCodec;
+import org.apache.lucene.tests.index.BaseCompressingDocValuesFormatTestCase;
+import org.apache.lucene.tests.index.RandomIndexWriter;
+import org.apache.lucene.tests.util.LuceneTestCase.Nightly;
+import org.apache.lucene.tests.util.TestUtil;
 import org.apache.lucene.util.BytesRef;
 import org.apache.lucene.util.BytesRefBuilder;
-import org.apache.lucene.util.LuceneTestCase.Nightly;
-import org.apache.lucene.util.TestUtil;
 
 /** Tests Lucene70DocValuesFormat */
 @Nightly // N-2 formats are only tested on nightly runs
diff --git a/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene70/TestLucene70NormsFormat.java b/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene70/TestLucene70NormsFormat.java
index 2c503a4..b8b82a0 100644
--- a/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene70/TestLucene70NormsFormat.java
+++ b/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene70/TestLucene70NormsFormat.java
@@ -17,8 +17,8 @@
 package org.apache.lucene.backward_codecs.lucene70;
 
 import org.apache.lucene.codecs.Codec;
-import org.apache.lucene.index.BaseNormsFormatTestCase;
-import org.apache.lucene.util.LuceneTestCase.Nightly;
+import org.apache.lucene.tests.index.BaseNormsFormatTestCase;
+import org.apache.lucene.tests.util.LuceneTestCase.Nightly;
 
 /** Tests Lucene70NormsFormat */
 @Nightly // N-2 formats are only tested on nightly runs
diff --git a/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene70/TestLucene70SegmentInfoFormat.java b/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene70/TestLucene70SegmentInfoFormat.java
index ecc5d34..27222de 100644
--- a/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene70/TestLucene70SegmentInfoFormat.java
+++ b/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene70/TestLucene70SegmentInfoFormat.java
@@ -19,7 +19,7 @@ package org.apache.lucene.backward_codecs.lucene70;
 
 import org.apache.lucene.backward_codecs.lucene84.Lucene84RWCodec;
 import org.apache.lucene.codecs.Codec;
-import org.apache.lucene.index.BaseSegmentInfoFormatTestCase;
+import org.apache.lucene.tests.index.BaseSegmentInfoFormatTestCase;
 import org.apache.lucene.util.Version;
 
 @SuppressWarnings("deprecation")
diff --git a/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene80/BaseLucene80DocValuesFormatTestCase.java b/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene80/BaseLucene80DocValuesFormatTestCase.java
index 5ae55493..390ddc3 100644
--- a/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene80/BaseLucene80DocValuesFormatTestCase.java
+++ b/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene80/BaseLucene80DocValuesFormatTestCase.java
@@ -26,10 +26,8 @@ import java.util.Set;
 import java.util.TreeSet;
 import java.util.function.LongSupplier;
 import java.util.function.Supplier;
-import org.apache.lucene.analysis.MockAnalyzer;
 import org.apache.lucene.codecs.DocValuesFormat;
 import org.apache.lucene.codecs.PostingsFormat;
-import org.apache.lucene.codecs.asserting.AssertingCodec;
 import org.apache.lucene.codecs.perfield.PerFieldDocValuesFormat;
 import org.apache.lucene.document.BinaryDocValuesField;
 import org.apache.lucene.document.Document;
@@ -40,7 +38,6 @@ import org.apache.lucene.document.SortedNumericDocValuesField;
 import org.apache.lucene.document.SortedSetDocValuesField;
 import org.apache.lucene.document.StoredField;
 import org.apache.lucene.document.StringField;
-import org.apache.lucene.index.BaseCompressingDocValuesFormatTestCase;
 import org.apache.lucene.index.BinaryDocValues;
 import org.apache.lucene.index.DirectoryReader;
 import org.apache.lucene.index.DocValues;
@@ -51,7 +48,6 @@ import org.apache.lucene.index.IndexableField;
 import org.apache.lucene.index.LeafReader;
 import org.apache.lucene.index.LeafReaderContext;
 import org.apache.lucene.index.NumericDocValues;
-import org.apache.lucene.index.RandomIndexWriter;
 import org.apache.lucene.index.SerialMergeScheduler;
 import org.apache.lucene.index.SortedDocValues;
 import org.apache.lucene.index.SortedNumericDocValues;
@@ -63,9 +59,13 @@ import org.apache.lucene.index.TermsEnum.SeekStatus;
 import org.apache.lucene.store.ByteBuffersDataInput;
 import org.apache.lucene.store.ByteBuffersDataOutput;
 import org.apache.lucene.store.Directory;
+import org.apache.lucene.tests.analysis.MockAnalyzer;
+import org.apache.lucene.tests.codecs.asserting.AssertingCodec;
+import org.apache.lucene.tests.index.BaseCompressingDocValuesFormatTestCase;
+import org.apache.lucene.tests.index.RandomIndexWriter;
+import org.apache.lucene.tests.util.TestUtil;
 import org.apache.lucene.util.BytesRef;
 import org.apache.lucene.util.BytesRefBuilder;
-import org.apache.lucene.util.TestUtil;
 
 /** Tests Lucene80DocValuesFormat */
 public abstract class BaseLucene80DocValuesFormatTestCase
diff --git a/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene80/TestBestCompressionLucene80DocValuesFormat.java b/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene80/TestBestCompressionLucene80DocValuesFormat.java
index 78bb848..9995380 100644
--- a/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene80/TestBestCompressionLucene80DocValuesFormat.java
+++ b/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene80/TestBestCompressionLucene80DocValuesFormat.java
@@ -17,7 +17,7 @@
 package org.apache.lucene.backward_codecs.lucene80;
 
 import org.apache.lucene.codecs.Codec;
-import org.apache.lucene.util.TestUtil;
+import org.apache.lucene.tests.util.TestUtil;
 
 /** Tests Lucene80DocValuesFormat */
 public class TestBestCompressionLucene80DocValuesFormat
diff --git a/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene80/TestBestSpeedLucene80DocValuesFormat.java b/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene80/TestBestSpeedLucene80DocValuesFormat.java
index 283c42f..8fdc7db 100644
--- a/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene80/TestBestSpeedLucene80DocValuesFormat.java
+++ b/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene80/TestBestSpeedLucene80DocValuesFormat.java
@@ -17,7 +17,7 @@
 package org.apache.lucene.backward_codecs.lucene80;
 
 import org.apache.lucene.codecs.Codec;
-import org.apache.lucene.util.TestUtil;
+import org.apache.lucene.tests.util.TestUtil;
 
 /** Tests Lucene80DocValuesFormat */
 public class TestBestSpeedLucene80DocValuesFormat extends BaseLucene80DocValuesFormatTestCase {
diff --git a/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene80/TestDocValuesCompression.java b/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene80/TestDocValuesCompression.java
index 1d60164..676f148 100644
--- a/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene80/TestDocValuesCompression.java
+++ b/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene80/TestDocValuesCompression.java
@@ -37,9 +37,9 @@ import org.apache.lucene.index.LeafReader;
 import org.apache.lucene.index.SortedDocValues;
 import org.apache.lucene.index.SortedSetDocValues;
 import org.apache.lucene.store.Directory;
+import org.apache.lucene.tests.util.LuceneTestCase;
+import org.apache.lucene.tests.util.TestUtil;
 import org.apache.lucene.util.BytesRef;
-import org.apache.lucene.util.LuceneTestCase;
-import org.apache.lucene.util.TestUtil;
 
 public class TestDocValuesCompression extends LuceneTestCase {
   private final Codec bestSpeed =
diff --git a/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene80/TestIndexedDISI.java b/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene80/TestIndexedDISI.java
index d5f0bc0..5d44d76 100644
--- a/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene80/TestIndexedDISI.java
+++ b/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene80/TestIndexedDISI.java
@@ -25,12 +25,12 @@ import org.apache.lucene.store.IOContext;
 import org.apache.lucene.store.IndexInput;
 import org.apache.lucene.store.IndexOutput;
 import org.apache.lucene.store.RandomAccessInput;
+import org.apache.lucene.tests.util.LuceneTestCase;
+import org.apache.lucene.tests.util.TestUtil;
 import org.apache.lucene.util.BitSet;
 import org.apache.lucene.util.BitSetIterator;
 import org.apache.lucene.util.FixedBitSet;
-import org.apache.lucene.util.LuceneTestCase;
 import org.apache.lucene.util.SparseFixedBitSet;
-import org.apache.lucene.util.TestUtil;
 
 public class TestIndexedDISI extends LuceneTestCase {
 
diff --git a/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene80/TestLucene80NormsFormat.java b/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene80/TestLucene80NormsFormat.java
index f46037f..f3c2534 100644
--- a/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene80/TestLucene80NormsFormat.java
+++ b/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene80/TestLucene80NormsFormat.java
@@ -18,7 +18,7 @@ package org.apache.lucene.backward_codecs.lucene80;
 
 import org.apache.lucene.backward_codecs.lucene87.Lucene87RWCodec;
 import org.apache.lucene.codecs.Codec;
-import org.apache.lucene.index.BaseNormsFormatTestCase;
+import org.apache.lucene.tests.index.BaseNormsFormatTestCase;
 
 /** Tests Lucene80NormsFormat */
 public class TestLucene80NormsFormat extends BaseNormsFormatTestCase {
diff --git a/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene84/TestForDeltaUtil.java b/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene84/TestForDeltaUtil.java
index 2a36971..29eac51 100644
--- a/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene84/TestForDeltaUtil.java
+++ b/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene84/TestForDeltaUtil.java
@@ -25,8 +25,8 @@ import org.apache.lucene.store.Directory;
 import org.apache.lucene.store.IOContext;
 import org.apache.lucene.store.IndexInput;
 import org.apache.lucene.store.IndexOutput;
-import org.apache.lucene.util.LuceneTestCase;
-import org.apache.lucene.util.TestUtil;
+import org.apache.lucene.tests.util.LuceneTestCase;
+import org.apache.lucene.tests.util.TestUtil;
 import org.apache.lucene.util.packed.PackedInts;
 
 public class TestForDeltaUtil extends LuceneTestCase {
diff --git a/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene84/TestForUtil.java b/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene84/TestForUtil.java
index 9ec7d00..ee7d50c 100644
--- a/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene84/TestForUtil.java
+++ b/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene84/TestForUtil.java
@@ -25,9 +25,9 @@ import org.apache.lucene.store.Directory;
 import org.apache.lucene.store.IOContext;
 import org.apache.lucene.store.IndexInput;
 import org.apache.lucene.store.IndexOutput;
+import org.apache.lucene.tests.util.LuceneTestCase;
+import org.apache.lucene.tests.util.TestUtil;
 import org.apache.lucene.util.ArrayUtil;
-import org.apache.lucene.util.LuceneTestCase;
-import org.apache.lucene.util.TestUtil;
 import org.apache.lucene.util.packed.PackedInts;
 
 public class TestForUtil extends LuceneTestCase {
diff --git a/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene84/TestLucene84PostingsFormat.java b/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene84/TestLucene84PostingsFormat.java
index 821ad32..44db77c 100644
--- a/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene84/TestLucene84PostingsFormat.java
+++ b/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene84/TestLucene84PostingsFormat.java
@@ -20,7 +20,6 @@ import java.io.IOException;
 import java.util.Arrays;
 import java.util.Collections;
 import java.util.List;
-import org.apache.lucene.analysis.MockAnalyzer;
 import org.apache.lucene.backward_codecs.lucene40.blocktree.FieldReader;
 import org.apache.lucene.backward_codecs.lucene40.blocktree.Stats;
 import org.apache.lucene.backward_codecs.lucene84.Lucene84ScoreSkipReader.MutableImpactList;
@@ -29,7 +28,6 @@ import org.apache.lucene.codecs.Codec;
 import org.apache.lucene.codecs.CompetitiveImpactAccumulator;
 import org.apache.lucene.document.Document;
 import org.apache.lucene.document.Field;
-import org.apache.lucene.index.BasePostingsFormatTestCase;
 import org.apache.lucene.index.DirectoryReader;
 import org.apache.lucene.index.Impact;
 import org.apache.lucene.index.IndexWriter;
@@ -39,7 +37,9 @@ import org.apache.lucene.store.Directory;
 import org.apache.lucene.store.IOContext;
 import org.apache.lucene.store.IndexInput;
 import org.apache.lucene.store.IndexOutput;
-import org.apache.lucene.util.TestUtil;
+import org.apache.lucene.tests.analysis.MockAnalyzer;
+import org.apache.lucene.tests.index.BasePostingsFormatTestCase;
+import org.apache.lucene.tests.util.TestUtil;
 
 public class TestLucene84PostingsFormat extends BasePostingsFormatTestCase {
   private final Codec codec = TestUtil.alwaysPostingsFormat(new Lucene84RWPostingsFormat());
diff --git a/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene84/TestPForUtil.java b/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene84/TestPForUtil.java
index 1bfad8b..d0093f0 100644
--- a/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene84/TestPForUtil.java
+++ b/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene84/TestPForUtil.java
@@ -25,9 +25,9 @@ import org.apache.lucene.store.Directory;
 import org.apache.lucene.store.IOContext;
 import org.apache.lucene.store.IndexInput;
 import org.apache.lucene.store.IndexOutput;
+import org.apache.lucene.tests.util.LuceneTestCase;
+import org.apache.lucene.tests.util.TestUtil;
 import org.apache.lucene.util.ArrayUtil;
-import org.apache.lucene.util.LuceneTestCase;
-import org.apache.lucene.util.TestUtil;
 import org.apache.lucene.util.packed.PackedInts;
 
 public class TestPForUtil extends LuceneTestCase {
diff --git a/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene86/TestLucene86PointsFormat.java b/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene86/TestLucene86PointsFormat.java
index 20a0de3..bdc6801 100644
--- a/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene86/TestLucene86PointsFormat.java
+++ b/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene86/TestLucene86PointsFormat.java
@@ -26,20 +26,20 @@ import org.apache.lucene.codecs.PointsReader;
 import org.apache.lucene.codecs.PointsWriter;
 import org.apache.lucene.document.BinaryPoint;
 import org.apache.lucene.document.Document;
-import org.apache.lucene.index.BasePointsFormatTestCase;
 import org.apache.lucene.index.DirectoryReader;
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.index.IndexWriter;
 import org.apache.lucene.index.IndexWriterConfig;
 import org.apache.lucene.index.LeafReader;
-import org.apache.lucene.index.MockRandomMergePolicy;
 import org.apache.lucene.index.PointValues;
 import org.apache.lucene.index.PointValues.IntersectVisitor;
 import org.apache.lucene.index.PointValues.Relation;
 import org.apache.lucene.index.SegmentReadState;
 import org.apache.lucene.index.SegmentWriteState;
 import org.apache.lucene.store.Directory;
-import org.apache.lucene.util.TestUtil;
+import org.apache.lucene.tests.index.BasePointsFormatTestCase;
+import org.apache.lucene.tests.index.MockRandomMergePolicy;
+import org.apache.lucene.tests.util.TestUtil;
 import org.apache.lucene.util.bkd.BKDConfig;
 
 public class TestLucene86PointsFormat extends BasePointsFormatTestCase {
diff --git a/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene86/TestLucene86SegmentInfoFormat.java b/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene86/TestLucene86SegmentInfoFormat.java
index a88bb57..c5760dc 100644
--- a/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene86/TestLucene86SegmentInfoFormat.java
+++ b/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene86/TestLucene86SegmentInfoFormat.java
@@ -19,7 +19,7 @@ package org.apache.lucene.backward_codecs.lucene86;
 
 import org.apache.lucene.backward_codecs.lucene87.Lucene87RWCodec;
 import org.apache.lucene.codecs.Codec;
-import org.apache.lucene.index.BaseSegmentInfoFormatTestCase;
+import org.apache.lucene.tests.index.BaseSegmentInfoFormatTestCase;
 import org.apache.lucene.util.Version;
 
 @SuppressWarnings("deprecation")
diff --git a/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene87/TestLucene87StoredFieldsFormat.java b/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene87/TestLucene87StoredFieldsFormat.java
index 469d154..d5ae0fa 100644
--- a/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene87/TestLucene87StoredFieldsFormat.java
+++ b/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene87/TestLucene87StoredFieldsFormat.java
@@ -17,7 +17,7 @@
 package org.apache.lucene.backward_codecs.lucene87;
 
 import org.apache.lucene.codecs.Codec;
-import org.apache.lucene.index.BaseStoredFieldsFormatTestCase;
+import org.apache.lucene.tests.index.BaseStoredFieldsFormatTestCase;
 
 public class TestLucene87StoredFieldsFormat extends BaseStoredFieldsFormatTestCase {
   @Override
diff --git a/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene87/TestLucene87StoredFieldsFormatHighCompression.java b/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene87/TestLucene87StoredFieldsFormatHighCompression.java
index 6802313..fc26148 100644
--- a/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene87/TestLucene87StoredFieldsFormatHighCompression.java
+++ b/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene87/TestLucene87StoredFieldsFormatHighCompression.java
@@ -20,11 +20,11 @@ import com.carrotsearch.randomizedtesting.generators.RandomPicks;
 import org.apache.lucene.codecs.Codec;
 import org.apache.lucene.document.Document;
 import org.apache.lucene.document.StoredField;
-import org.apache.lucene.index.BaseStoredFieldsFormatTestCase;
 import org.apache.lucene.index.DirectoryReader;
 import org.apache.lucene.index.IndexWriter;
 import org.apache.lucene.index.IndexWriterConfig;
 import org.apache.lucene.store.Directory;
+import org.apache.lucene.tests.index.BaseStoredFieldsFormatTestCase;
 
 public class TestLucene87StoredFieldsFormatHighCompression extends BaseStoredFieldsFormatTestCase {
   @Override
diff --git a/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/packed/TestLegacyDirectMonotonic.java b/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/packed/TestLegacyDirectMonotonic.java
index 1f55d25..af7b720 100644
--- a/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/packed/TestLegacyDirectMonotonic.java
+++ b/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/packed/TestLegacyDirectMonotonic.java
@@ -26,10 +26,10 @@ import org.apache.lucene.store.Directory;
 import org.apache.lucene.store.IOContext;
 import org.apache.lucene.store.IndexInput;
 import org.apache.lucene.store.IndexOutput;
+import org.apache.lucene.tests.util.LuceneTestCase;
+import org.apache.lucene.tests.util.TestUtil;
 import org.apache.lucene.util.ArrayUtil;
 import org.apache.lucene.util.LongValues;
-import org.apache.lucene.util.LuceneTestCase;
-import org.apache.lucene.util.TestUtil;
 
 public class TestLegacyDirectMonotonic extends LuceneTestCase {
 
diff --git a/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/packed/TestLegacyDirectPacked.java b/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/packed/TestLegacyDirectPacked.java
index dca7293..63c6952 100644
--- a/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/packed/TestLegacyDirectPacked.java
+++ b/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/packed/TestLegacyDirectPacked.java
@@ -23,9 +23,9 @@ import org.apache.lucene.store.Directory;
 import org.apache.lucene.store.IOContext;
 import org.apache.lucene.store.IndexInput;
 import org.apache.lucene.store.IndexOutput;
+import org.apache.lucene.tests.util.LuceneTestCase;
+import org.apache.lucene.tests.util.TestUtil;
 import org.apache.lucene.util.LongValues;
-import org.apache.lucene.util.LuceneTestCase;
-import org.apache.lucene.util.TestUtil;
 
 public class TestLegacyDirectPacked extends LuceneTestCase {
 
diff --git a/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/packed/TestLegacyPackedInts.java b/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/packed/TestLegacyPackedInts.java
index ed406e4..eb342e0 100644
--- a/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/packed/TestLegacyPackedInts.java
+++ b/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/packed/TestLegacyPackedInts.java
@@ -22,9 +22,9 @@ import org.apache.lucene.backward_codecs.store.EndiannessReverserUtil;
 import org.apache.lucene.store.Directory;
 import org.apache.lucene.store.IndexInput;
 import org.apache.lucene.store.IndexOutput;
-import org.apache.lucene.util.LuceneTestCase;
-import org.apache.lucene.util.RamUsageTester;
-import org.apache.lucene.util.TestUtil;
+import org.apache.lucene.tests.util.LuceneTestCase;
+import org.apache.lucene.tests.util.RamUsageTester;
+import org.apache.lucene.tests.util.TestUtil;
 import org.apache.lucene.util.packed.PackedInts;
 import org.apache.lucene.util.packed.PackedInts.Reader;
 
diff --git a/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/store/EndiannessReverserTestCase.java b/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/store/EndiannessReverserTestCase.java
index 93c2063..bf4b11f 100644
--- a/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/store/EndiannessReverserTestCase.java
+++ b/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/store/EndiannessReverserTestCase.java
@@ -22,7 +22,7 @@ import org.apache.lucene.store.IOContext;
 import org.apache.lucene.store.IndexInput;
 import org.apache.lucene.store.IndexOutput;
 import org.apache.lucene.store.RandomAccessInput;
-import org.apache.lucene.util.LuceneTestCase;
+import org.apache.lucene.tests.util.LuceneTestCase;
 
 public abstract class EndiannessReverserTestCase extends LuceneTestCase {
 
diff --git a/lucene/backward-codecs/src/test/org/apache/lucene/backward_index/TestBackwardsCompatibility.java b/lucene/backward-codecs/src/test/org/apache/lucene/backward_index/TestBackwardsCompatibility.java
index 7e448ab..7c177a9 100644
--- a/lucene/backward-codecs/src/test/org/apache/lucene/backward_index/TestBackwardsCompatibility.java
+++ b/lucene/backward-codecs/src/test/org/apache/lucene/backward_index/TestBackwardsCompatibility.java
@@ -39,7 +39,6 @@ import java.util.Set;
 import java.util.TimeZone;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
-import org.apache.lucene.analysis.MockAnalyzer;
 import org.apache.lucene.codecs.Codec;
 import org.apache.lucene.document.BinaryDocValuesField;
 import org.apache.lucene.document.BinaryPoint;
@@ -81,7 +80,6 @@ import org.apache.lucene.index.MultiTerms;
 import org.apache.lucene.index.NoMergePolicy;
 import org.apache.lucene.index.NumericDocValues;
 import org.apache.lucene.index.PostingsEnum;
-import org.apache.lucene.index.RandomIndexWriter;
 import org.apache.lucene.index.SegmentCommitInfo;
 import org.apache.lucene.index.SegmentInfos;
 import org.apache.lucene.index.SegmentReader;
@@ -103,19 +101,21 @@ import org.apache.lucene.search.Sort;
 import org.apache.lucene.search.SortField;
 import org.apache.lucene.search.TermQuery;
 import org.apache.lucene.search.TopDocs;
-import org.apache.lucene.store.BaseDirectoryWrapper;
 import org.apache.lucene.store.ByteBuffersDirectory;
 import org.apache.lucene.store.Directory;
 import org.apache.lucene.store.FSDirectory;
 import org.apache.lucene.store.IOContext;
 import org.apache.lucene.store.NIOFSDirectory;
+import org.apache.lucene.tests.analysis.MockAnalyzer;
+import org.apache.lucene.tests.index.RandomIndexWriter;
+import org.apache.lucene.tests.store.BaseDirectoryWrapper;
+import org.apache.lucene.tests.util.LineFileDocs;
+import org.apache.lucene.tests.util.LuceneTestCase;
+import org.apache.lucene.tests.util.TestUtil;
 import org.apache.lucene.util.Bits;
 import org.apache.lucene.util.BytesRef;
 import org.apache.lucene.util.IOUtils;
 import org.apache.lucene.util.InfoStream;
-import org.apache.lucene.util.LineFileDocs;
-import org.apache.lucene.util.LuceneTestCase;
-import org.apache.lucene.util.TestUtil;
 import org.apache.lucene.util.Version;
 import org.junit.AfterClass;
 import org.junit.BeforeClass;
diff --git a/lucene/backward-codecs/src/test/org/apache/lucene/backward_index/TestIndexWriterOnOldIndex.java b/lucene/backward-codecs/src/test/org/apache/lucene/backward_index/TestIndexWriterOnOldIndex.java
index a3f00b9..66fc4fd 100644
--- a/lucene/backward-codecs/src/test/org/apache/lucene/backward_index/TestIndexWriterOnOldIndex.java
+++ b/lucene/backward-codecs/src/test/org/apache/lucene/backward_index/TestIndexWriterOnOldIndex.java
@@ -23,8 +23,8 @@ import org.apache.lucene.index.IndexWriter;
 import org.apache.lucene.index.IndexWriterConfig.OpenMode;
 import org.apache.lucene.index.SegmentInfos;
 import org.apache.lucene.store.Directory;
-import org.apache.lucene.util.LuceneTestCase;
-import org.apache.lucene.util.TestUtil;
+import org.apache.lucene.tests.util.LuceneTestCase;
+import org.apache.lucene.tests.util.TestUtil;
 import org.apache.lucene.util.Version;
 
 public class TestIndexWriterOnOldIndex extends LuceneTestCase {
diff --git a/lucene/backward-codecs/src/test/org/apache/lucene/backward_index/TestManyPointsInOldIndex.java b/lucene/backward-codecs/src/test/org/apache/lucene/backward_index/TestManyPointsInOldIndex.java
index cae0742..0a7571b 100644
--- a/lucene/backward-codecs/src/test/org/apache/lucene/backward_index/TestManyPointsInOldIndex.java
+++ b/lucene/backward-codecs/src/test/org/apache/lucene/backward_index/TestManyPointsInOldIndex.java
@@ -24,11 +24,11 @@ import org.apache.lucene.document.Document;
 import org.apache.lucene.document.IntPoint;
 import org.apache.lucene.index.IndexWriter;
 import org.apache.lucene.index.IndexWriterConfig;
-import org.apache.lucene.store.BaseDirectoryWrapper;
 import org.apache.lucene.store.Directory;
 import org.apache.lucene.store.FSDirectory;
-import org.apache.lucene.util.LuceneTestCase;
-import org.apache.lucene.util.TestUtil;
+import org.apache.lucene.tests.store.BaseDirectoryWrapper;
+import org.apache.lucene.tests.util.LuceneTestCase;
+import org.apache.lucene.tests.util.TestUtil;
 
 // LUCENE-7501
 public class TestManyPointsInOldIndex extends LuceneTestCase {
diff --git a/lucene/benchmark/src/test/org/apache/lucene/benchmark/BenchmarkTestCase.java b/lucene/benchmark/src/test/org/apache/lucene/benchmark/BenchmarkTestCase.java
index f8287fb..a37c740 100644
--- a/lucene/benchmark/src/test/org/apache/lucene/benchmark/BenchmarkTestCase.java
+++ b/lucene/benchmark/src/test/org/apache/lucene/benchmark/BenchmarkTestCase.java
@@ -22,8 +22,8 @@ import java.io.StringReader;
 import java.nio.file.Files;
 import java.nio.file.Path;
 import org.apache.lucene.benchmark.byTask.Benchmark;
-import org.apache.lucene.util.LuceneTestCase;
-import org.apache.lucene.util.LuceneTestCase.SuppressSysoutChecks;
+import org.apache.lucene.tests.util.LuceneTestCase;
+import org.apache.lucene.tests.util.LuceneTestCase.SuppressSysoutChecks;
 import org.junit.AfterClass;
 import org.junit.BeforeClass;
 
diff --git a/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/TestPerfTasksLogic.java b/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/TestPerfTasksLogic.java
index eae50b7..4b8b390 100644
--- a/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/TestPerfTasksLogic.java
+++ b/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/TestPerfTasksLogic.java
@@ -25,8 +25,6 @@ import java.util.Collection;
 import java.util.List;
 import java.util.Locale;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.BaseTokenStreamTestCase;
-import org.apache.lucene.analysis.MockAnalyzer;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.tokenattributes.TermToBytesRefAttribute;
 import org.apache.lucene.benchmark.BenchmarkTestCase;
@@ -53,9 +51,11 @@ import org.apache.lucene.index.Terms;
 import org.apache.lucene.index.TermsEnum;
 import org.apache.lucene.search.DocIdSetIterator;
 import org.apache.lucene.store.Directory;
+import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
+import org.apache.lucene.tests.analysis.MockAnalyzer;
+import org.apache.lucene.tests.util.LuceneTestCase;
+import org.apache.lucene.tests.util.TestUtil;
 import org.apache.lucene.util.BytesRef;
-import org.apache.lucene.util.LuceneTestCase;
-import org.apache.lucene.util.TestUtil;
 
 /** Test very simply that perf tasks - simple algorithms - are doing what they should. */
 @LuceneTestCase.SuppressCodecs({"SimpleText", "Direct"})
diff --git a/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/TestPerfTasksParse.java b/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/TestPerfTasksParse.java
index b3ccee7..010f70f 100644
--- a/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/TestPerfTasksParse.java
+++ b/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/TestPerfTasksParse.java
@@ -34,8 +34,8 @@ import org.apache.lucene.benchmark.byTask.tasks.TaskSequence;
 import org.apache.lucene.benchmark.byTask.utils.Algorithm;
 import org.apache.lucene.benchmark.byTask.utils.Config;
 import org.apache.lucene.search.Query;
-import org.apache.lucene.util.LuceneTestCase;
-import org.apache.lucene.util.LuceneTestCase.SuppressSysoutChecks;
+import org.apache.lucene.tests.util.LuceneTestCase;
+import org.apache.lucene.tests.util.LuceneTestCase.SuppressSysoutChecks;
 import org.junit.Assert;
 
 /** Test very simply that perf tasks are parsed as expected. */
diff --git a/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/feeds/TestEnwikiContentSource.java b/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/feeds/TestEnwikiContentSource.java
index c2464b5..a2a58bd 100644
--- a/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/feeds/TestEnwikiContentSource.java
+++ b/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/feeds/TestEnwikiContentSource.java
@@ -23,7 +23,7 @@ import java.nio.charset.StandardCharsets;
 import java.text.ParseException;
 import java.util.Properties;
 import org.apache.lucene.benchmark.byTask.utils.Config;
-import org.apache.lucene.util.LuceneTestCase;
+import org.apache.lucene.tests.util.LuceneTestCase;
 import org.junit.Test;
 
 public class TestEnwikiContentSource extends LuceneTestCase {
diff --git a/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/feeds/TestHtmlParser.java b/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/feeds/TestHtmlParser.java
index 7353d64..9d14783 100644
--- a/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/feeds/TestHtmlParser.java
+++ b/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/feeds/TestHtmlParser.java
@@ -20,7 +20,7 @@ import java.io.StringReader;
 import java.util.Locale;
 import java.util.Properties;
 import org.apache.lucene.benchmark.byTask.feeds.DemoHTMLParser.Parser;
-import org.apache.lucene.util.LuceneTestCase;
+import org.apache.lucene.tests.util.LuceneTestCase;
 
 public class TestHtmlParser extends LuceneTestCase {
 
diff --git a/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/feeds/TestTrecContentSource.java b/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/feeds/TestTrecContentSource.java
index b5b2f67..9a038b2 100644
--- a/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/feeds/TestTrecContentSource.java
+++ b/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/feeds/TestTrecContentSource.java
@@ -28,8 +28,8 @@ import java.util.Properties;
 import org.apache.lucene.benchmark.byTask.feeds.TrecDocParser.ParsePathType;
 import org.apache.lucene.benchmark.byTask.utils.Config;
 import org.apache.lucene.document.DateTools;
-import org.apache.lucene.util.LuceneTestCase;
-import org.apache.lucene.util.TestUtil;
+import org.apache.lucene.tests.util.LuceneTestCase;
+import org.apache.lucene.tests.util.TestUtil;
 
 public class TestTrecContentSource extends LuceneTestCase {
 
diff --git a/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/utils/TestConfig.java b/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/utils/TestConfig.java
index 1fd668a..57c4f5a 100644
--- a/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/utils/TestConfig.java
+++ b/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/utils/TestConfig.java
@@ -17,7 +17,7 @@
 package org.apache.lucene.benchmark.byTask.utils;
 
 import java.util.Properties;
-import org.apache.lucene.util.LuceneTestCase;
+import org.apache.lucene.tests.util.LuceneTestCase;
 import org.junit.Test;
 
 public class TestConfig extends LuceneTestCase {
diff --git a/lucene/classification/src/test/org/apache/lucene/classification/ClassificationTestBase.java b/lucene/classification/src/test/org/apache/lucene/classification/ClassificationTestBase.java
index 28b6e48..edc880f 100644
--- a/lucene/classification/src/test/org/apache/lucene/classification/ClassificationTestBase.java
+++ b/lucene/classification/src/test/org/apache/lucene/classification/ClassificationTestBase.java
@@ -25,12 +25,12 @@ import org.apache.lucene.document.FieldType;
 import org.apache.lucene.document.TextField;
 import org.apache.lucene.index.IndexWriterConfig;
 import org.apache.lucene.index.LeafReader;
-import org.apache.lucene.index.RandomIndexWriter;
 import org.apache.lucene.search.Query;
 import org.apache.lucene.store.Directory;
+import org.apache.lucene.tests.index.RandomIndexWriter;
+import org.apache.lucene.tests.util.LuceneTestCase;
+import org.apache.lucene.tests.util.TestUtil;
 import org.apache.lucene.util.BytesRef;
-import org.apache.lucene.util.LuceneTestCase;
-import org.apache.lucene.util.TestUtil;
 import org.junit.After;
 import org.junit.Before;
 
diff --git a/lucene/classification/src/test/org/apache/lucene/classification/Test20NewsgroupsClassification.java b/lucene/classification/src/test/org/apache/lucene/classification/Test20NewsgroupsClassification.java
index 61afc53..1cb03f6 100644
--- a/lucene/classification/src/test/org/apache/lucene/classification/Test20NewsgroupsClassification.java
+++ b/lucene/classification/src/test/org/apache/lucene/classification/Test20NewsgroupsClassification.java
@@ -60,10 +60,10 @@ import org.apache.lucene.search.similarities.LambdaTTF;
 import org.apache.lucene.search.similarities.Normalization;
 import org.apache.lucene.search.similarities.NormalizationH1;
 import org.apache.lucene.store.Directory;
+import org.apache.lucene.tests.util.LuceneTestCase;
+import org.apache.lucene.tests.util.TestUtil;
 import org.apache.lucene.util.BytesRef;
-import org.apache.lucene.util.LuceneTestCase;
 import org.apache.lucene.util.NamedThreadFactory;
-import org.apache.lucene.util.TestUtil;
 import org.junit.Test;
 
 @LuceneTestCase.SuppressSysoutChecks(bugUrl = "none")
diff --git a/lucene/classification/src/test/org/apache/lucene/classification/TestBM25NBClassifier.java b/lucene/classification/src/test/org/apache/lucene/classification/TestBM25NBClassifier.java
index f1220d2..b392b6a 100644
--- a/lucene/classification/src/test/org/apache/lucene/classification/TestBM25NBClassifier.java
+++ b/lucene/classification/src/test/org/apache/lucene/classification/TestBM25NBClassifier.java
@@ -17,7 +17,6 @@
 package org.apache.lucene.classification;
 
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.MockAnalyzer;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.core.KeywordTokenizer;
 import org.apache.lucene.analysis.ngram.EdgeNGramTokenFilter;
@@ -29,6 +28,7 @@ import org.apache.lucene.index.Term;
 import org.apache.lucene.index.Terms;
 import org.apache.lucene.index.TermsEnum;
 import org.apache.lucene.search.TermQuery;
+import org.apache.lucene.tests.analysis.MockAnalyzer;
 import org.apache.lucene.util.BytesRef;
 import org.junit.Test;
 
diff --git a/lucene/classification/src/test/org/apache/lucene/classification/TestBooleanPerceptronClassifier.java b/lucene/classification/src/test/org/apache/lucene/classification/TestBooleanPerceptronClassifier.java
index ba6a485..a6abd57 100644
--- a/lucene/classification/src/test/org/apache/lucene/classification/TestBooleanPerceptronClassifier.java
+++ b/lucene/classification/src/test/org/apache/lucene/classification/TestBooleanPerceptronClassifier.java
@@ -16,7 +16,6 @@
  */
 package org.apache.lucene.classification;
 
-import org.apache.lucene.analysis.MockAnalyzer;
 import org.apache.lucene.classification.utils.ConfusionMatrixGenerator;
 import org.apache.lucene.index.LeafReader;
 import org.apache.lucene.index.MultiTerms;
@@ -24,6 +23,7 @@ import org.apache.lucene.index.Term;
 import org.apache.lucene.index.Terms;
 import org.apache.lucene.index.TermsEnum;
 import org.apache.lucene.search.TermQuery;
+import org.apache.lucene.tests.analysis.MockAnalyzer;
 import org.apache.lucene.util.BytesRef;
 import org.junit.Test;
 
diff --git a/lucene/classification/src/test/org/apache/lucene/classification/TestCachingNaiveBayesClassifier.java b/lucene/classification/src/test/org/apache/lucene/classification/TestCachingNaiveBayesClassifier.java
index e69e10f..c4868c0 100644
--- a/lucene/classification/src/test/org/apache/lucene/classification/TestCachingNaiveBayesClassifier.java
+++ b/lucene/classification/src/test/org/apache/lucene/classification/TestCachingNaiveBayesClassifier.java
@@ -17,7 +17,6 @@
 package org.apache.lucene.classification;
 
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.MockAnalyzer;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.core.KeywordTokenizer;
 import org.apache.lucene.analysis.ngram.EdgeNGramTokenFilter;
@@ -29,6 +28,7 @@ import org.apache.lucene.index.Term;
 import org.apache.lucene.index.Terms;
 import org.apache.lucene.index.TermsEnum;
 import org.apache.lucene.search.TermQuery;
+import org.apache.lucene.tests.analysis.MockAnalyzer;
 import org.apache.lucene.util.BytesRef;
 import org.junit.Test;
 
diff --git a/lucene/classification/src/test/org/apache/lucene/classification/TestKNearestFuzzyClassifier.java b/lucene/classification/src/test/org/apache/lucene/classification/TestKNearestFuzzyClassifier.java
index 2ba1c08..e4428ad 100644
--- a/lucene/classification/src/test/org/apache/lucene/classification/TestKNearestFuzzyClassifier.java
+++ b/lucene/classification/src/test/org/apache/lucene/classification/TestKNearestFuzzyClassifier.java
@@ -16,7 +16,6 @@
  */
 package org.apache.lucene.classification;
 
-import org.apache.lucene.analysis.MockAnalyzer;
 import org.apache.lucene.classification.utils.ConfusionMatrixGenerator;
 import org.apache.lucene.index.LeafReader;
 import org.apache.lucene.index.MultiTerms;
@@ -24,6 +23,7 @@ import org.apache.lucene.index.Term;
 import org.apache.lucene.index.Terms;
 import org.apache.lucene.index.TermsEnum;
 import org.apache.lucene.search.TermQuery;
+import org.apache.lucene.tests.analysis.MockAnalyzer;
 import org.apache.lucene.util.BytesRef;
 import org.junit.Test;
 
diff --git a/lucene/classification/src/test/org/apache/lucene/classification/TestKNearestNeighborClassifier.java b/lucene/classification/src/test/org/apache/lucene/classification/TestKNearestNeighborClassifier.java
index 95e4f50..364758d 100644
--- a/lucene/classification/src/test/org/apache/lucene/classification/TestKNearestNeighborClassifier.java
+++ b/lucene/classification/src/test/org/apache/lucene/classification/TestKNearestNeighborClassifier.java
@@ -18,7 +18,6 @@ package org.apache.lucene.classification;
 
 import java.util.List;
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.MockAnalyzer;
 import org.apache.lucene.analysis.en.EnglishAnalyzer;
 import org.apache.lucene.classification.utils.ConfusionMatrixGenerator;
 import org.apache.lucene.index.LeafReader;
@@ -29,6 +28,7 @@ import org.apache.lucene.index.TermsEnum;
 import org.apache.lucene.search.TermQuery;
 import org.apache.lucene.search.similarities.BM25Similarity;
 import org.apache.lucene.search.similarities.LMDirichletSimilarity;
+import org.apache.lucene.tests.analysis.MockAnalyzer;
 import org.apache.lucene.util.BytesRef;
 import org.junit.Test;
 
diff --git a/lucene/classification/src/test/org/apache/lucene/classification/TestSimpleNaiveBayesClassifier.java b/lucene/classification/src/test/org/apache/lucene/classification/TestSimpleNaiveBayesClassifier.java
index 1853890..82c2b87 100644
--- a/lucene/classification/src/test/org/apache/lucene/classification/TestSimpleNaiveBayesClassifier.java
+++ b/lucene/classification/src/test/org/apache/lucene/classification/TestSimpleNaiveBayesClassifier.java
@@ -17,7 +17,6 @@
 package org.apache.lucene.classification;
 
 import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.MockAnalyzer;
 import org.apache.lucene.analysis.Tokenizer;
 import org.apache.lucene.analysis.core.KeywordTokenizer;
 import org.apache.lucene.analysis.ngram.EdgeNGramTokenFilter;
@@ -29,6 +28,7 @@ import org.apache.lucene.index.Term;
 import org.apache.lucene.index.Terms;
 import org.apache.lucene.index.TermsEnum;
 import org.apache.lucene.search.TermQuery;
+import org.apache.lucene.tests.analysis.MockAnalyzer;
 import org.apache.lucene.util.BytesRef;
 import org.junit.Test;
 
diff --git a/lucene/classification/src/test/org/apache/lucene/classification/document/DocumentClassificationTestBase.java b/lucene/classification/src/test/org/apache/lucene/classification/document/DocumentClassificationTestBase.java
index 890e363..7e9fa45 100644
--- a/lucene/classification/src/test/org/apache/lucene/classification/document/DocumentClassificationTestBase.java
+++ b/lucene/classification/src/test/org/apache/lucene/classification/document/DocumentClassificationTestBase.java
@@ -27,7 +27,7 @@ import org.apache.lucene.document.Document;
 import org.apache.lucene.document.Field;
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.index.IndexWriterConfig;
-import org.apache.lucene.index.RandomIndexWriter;
+import org.apache.lucene.tests.index.RandomIndexWriter;
 import org.apache.lucene.util.BytesRef;
 import org.junit.Before;
 
diff --git a/lucene/classification/src/test/org/apache/lucene/classification/utils/TestConfusionMatrixGenerator.java b/lucene/classification/src/test/org/apache/lucene/classification/utils/TestConfusionMatrixGenerator.java
index ba03ec3..41e6575 100644
--- a/lucene/classification/src/test/org/apache/lucene/classification/utils/TestConfusionMatrixGenerator.java
+++ b/lucene/classification/src/test/org/apache/lucene/classification/utils/TestConfusionMatrixGenerator.java
@@ -18,7 +18,6 @@ package org.apache.lucene.classification.utils;
 
 import java.io.IOException;
 import java.util.List;
-import org.apache.lucene.analysis.MockAnalyzer;
 import org.apache.lucene.classification.BM25NBClassifier;
 import org.apache.lucene.classification.BooleanPerceptronClassifier;
 import org.apache.lucene.classification.CachingNaiveBayesClassifier;
@@ -29,6 +28,7 @@ import org.apache.lucene.classification.KNearestFuzzyClassifier;
 import org.apache.lucene.classification.KNearestNeighborClassifier;
 import org.apache.lucene.classification.SimpleNaiveBayesClassifier;
 import org.apache.lucene.index.LeafReader;
+import org.apache.lucene.tests.analysis.MockAnalyzer;
 import org.apache.lucene.util.BytesRef;
 import org.junit.Test;
 
diff --git a/lucene/classification/src/test/org/apache/lucene/classification/utils/TestDataSplitter.java b/lucene/classification/src/test/org/apache/lucene/classification/utils/TestDataSplitter.java
index 7228130..c7cd6cb 100644
--- a/lucene/classification/src/test/org/apache/lucene/classification/utils/TestDataSplitter.java
+++ b/lucene/classification/src/test/org/apache/lucene/classification/utils/TestDataSplitter.java
@@ -18,7 +18,6 @@ package org.apache.lucene.classification.utils;
 
 import java.io.IOException;
 import java.util.Random;
-import org.apache.lucene.analysis.MockAnalyzer;
 import org.apache.lucene.document.Document;
 import org.apache.lucene.document.Field;
 import org.apache.lucene.document.FieldType;
@@ -27,12 +26,13 @@ import org.apache.lucene.document.TextField;
 import org.apache.lucene.index.DirectoryReader;
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.index.LeafReader;
-import org.apache.lucene.index.RandomIndexWriter;
-import org.apache.lucene.store.BaseDirectoryWrapper;
 import org.apache.lucene.store.Directory;
+import org.apache.lucene.tests.analysis.MockAnalyzer;
+import org.apache.lucene.tests.index.RandomIndexWriter;
+import org.apache.lucene.tests.store.BaseDirectoryWrapper;
+import org.apache.lucene.tests.util.LuceneTestCase;
+import org.apache.lucene.tests.util.TestUtil;
 import org.apache.lucene.util.BytesRef;
-import org.apache.lucene.util.LuceneTestCase;
-import org.apache.lucene.util.TestUtil;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
diff --git a/lucene/classification/src/test/org/apache/lucene/classification/utils/TestDocToDoubleVectorUtils.java b/lucene/classification/src/test/org/apache/lucene/classification/utils/TestDocToDoubleVectorUtils.java
index 7db2393..c150d01 100644
--- a/lucene/classification/src/test/org/apache/lucene/classification/utils/TestDocToDoubleVectorUtils.java
+++ b/lucene/classification/src/test/org/apache/lucene/classification/utils/TestDocToDoubleVectorUtils.java
@@ -22,13 +22,13 @@ import org.apache.lucene.document.FieldType;
 import org.apache.lucene.document.TextField;
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.index.MultiTerms;
-import org.apache.lucene.index.RandomIndexWriter;
 import org.apache.lucene.index.Terms;
 import org.apache.lucene.search.IndexSearcher;
 import org.apache.lucene.search.MatchAllDocsQuery;
 import org.apache.lucene.search.ScoreDoc;
 import org.apache.lucene.store.Directory;
-import org.apache.lucene.util.LuceneTestCase;
+import org.apache.lucene.tests.index.RandomIndexWriter;
+import org.apache.lucene.tests.util.LuceneTestCase;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
diff --git a/lucene/codecs/src/test/org/apache/lucene/codecs/blockterms/TestFixedGapPostingsFormat.java b/lucene/codecs/src/test/org/apache/lucene/codecs/blockterms/TestFixedGapPostingsFormat.java
index 2d80009..6157244 100644
--- a/lucene/codecs/src/test/org/apache/lucene/codecs/blockterms/TestFixedGapPostingsFormat.java
+++ b/lucene/codecs/src/test/org/apache/lucene/codecs/blockterms/TestFixedGapPostingsFormat.java
@@ -17,8 +17,9 @@
 package org.apache.lucene.codecs.blockterms;
 
 import org.apache.lucene.codecs.Codec;
-import org.apache.lucene.index.BasePostingsFormatTestCase;
-import org.apache.lucene.util.TestUtil;
+import org.apache.lucene.tests.codecs.blockterms.LuceneFixedGap;
+import org.apache.lucene.tests.index.BasePostingsFormatTestCase;
+import org.apache.lucene.tests.util.TestUtil;
 
 /** Basic tests of a PF using FixedGap terms dictionary */
 public class TestFixedGapPostingsFormat extends BasePostingsFormatTestCase {
diff --git a/lucene/codecs/src/test/org/apache/lucene/codecs/blockterms/TestVarGapDocFreqIntervalPostingsFormat.java b/lucene/codecs/src/test/org/apache/lucene/codecs/blockterms/TestVarGapDocFreqIntervalPostingsFormat.java
index 5f66a59..cbdbdc7 100644
--- a/lucene/codecs/src/test/org/apache/lucene/codecs/blockterms/TestVarGapDocFreqIntervalPostingsFormat.java
+++ b/lucene/codecs/src/test/org/apache/lucene/codecs/blockterms/TestVarGapDocFreqIntervalPostingsFormat.java
@@ -17,8 +17,9 @@
 package org.apache.lucene.codecs.blockterms;
 
 import org.apache.lucene.codecs.Codec;
-import org.apache.lucene.index.BasePostingsFormatTestCase;
-import org.apache.lucene.util.TestUtil;
+import org.apache.lucene.tests.codecs.blockterms.LuceneVarGapFixedInterval;
+import org.apache.lucene.tests.index.BasePostingsFormatTestCase;
+import org.apache.lucene.tests.util.TestUtil;
 
 /** Basic tests of a PF using VariableGap terms dictionary (fixed interval) */
 public class TestVarGapDocFreqIntervalPostingsFormat extends BasePostingsFormatTestCase {
diff --git a/lucene/codecs/src/test/org/apache/lucene/codecs/blockterms/TestVarGapFixedIntervalPostingsFormat.java b/lucene/codecs/src/test/org/apache/lucene/codecs/blockterms/TestVarGapFixedIntervalPostingsFormat.java
index 73566fa..c656461 100644
--- a/lucene/codecs/src/test/org/apache/lucene/codecs/blockterms/TestVarGapFixedIntervalPostingsFormat.java
+++ b/lucene/codecs/src/test/org/apache/lucene/codecs/blockterms/TestVarGapFixedIntervalPostingsFormat.java
@@ -17,8 +17,9 @@
 package org.apache.lucene.codecs.blockterms;
 
 import org.apache.lucene.codecs.Codec;
-import org.apache.lucene.index.BasePostingsFormatTestCase;
-import org.apache.lucene.util.TestUtil;
+import org.apache.lucene.tests.codecs.blockterms.LuceneVarGapDocFreqInterval;
+import org.apache.lucene.tests.index.BasePostingsFormatTestCase;
+import org.apache.lucene.tests.util.TestUtil;
 
 /** Basic tests of a PF using VariableGap terms dictionary (fixed interval, docFreq threshold) */
 public class TestVarGapFixedIntervalPostingsFormat extends BasePostingsFormatTestCase {
diff --git a/lucene/codecs/src/test/org/apache/lucene/codecs/blocktreeords/TestOrdsBlockTree.java b/lucene/codecs/src/test/org/apache/lucene/codecs/blocktreeords/TestOrdsBlockTree.java
index 1c6ea28..b4a7faa 100644
--- a/lucene/codecs/src/test/org/apache/lucene/codecs/blocktreeords/TestOrdsBlockTree.java
+++ b/lucene/codecs/src/test/org/apache/lucene/codecs/blocktreeords/TestOrdsBlockTree.java
@@ -20,21 +20,21 @@ import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
-import org.apache.lucene.analysis.MockAnalyzer;
 import org.apache.lucene.codecs.Codec;
 import org.apache.lucene.document.Document;
 import org.apache.lucene.document.Field;
-import org.apache.lucene.index.BasePostingsFormatTestCase;
 import org.apache.lucene.index.DirectoryReader;
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.index.IndexWriter;
 import org.apache.lucene.index.IndexWriterConfig;
 import org.apache.lucene.index.MultiTerms;
-import org.apache.lucene.index.RandomIndexWriter;
 import org.apache.lucene.index.TermsEnum;
 import org.apache.lucene.store.Directory;
+import org.apache.lucene.tests.analysis.MockAnalyzer;
+import org.apache.lucene.tests.index.BasePostingsFormatTestCase;
+import org.apache.lucene.tests.index.RandomIndexWriter;
+import org.apache.lucene.tests.util.TestUtil;
 import org.apache.lucene.util.BytesRef;
-import org.apache.lucene.util.TestUtil;
 
 public class TestOrdsBlockTree extends BasePostingsFormatTestCase {
   private final Codec codec = TestUtil.alwaysPostingsFormat(new BlockTreeOrdsPostingsFormat());
diff --git a/lucene/codecs/src/test/org/apache/lucene/codecs/bloom/TestBloomPostingsFormat.java b/lucene/codecs/src/test/org/apache/lucene/codecs/bloom/TestBloomPostingsFormat.java
index 89b58a2..38b90d7 100644
--- a/lucene/codecs/src/test/org/apache/lucene/codecs/bloom/TestBloomPostingsFormat.java
+++ b/lucene/codecs/src/test/org/apache/lucene/codecs/bloom/TestBloomPostingsFormat.java
@@ -17,8 +17,9 @@
 package org.apache.lucene.codecs.bloom;
 
 import org.apache.lucene.codecs.Codec;
-import org.apache.lucene.index.BasePostingsFormatTestCase;
-import org.apache.lucene.util.TestUtil;
+import org.apache.lucene.tests.codecs.bloom.TestBloomFilteredLucenePostings;
+import org.apache.lucene.tests.index.BasePostingsFormatTestCase;
+import org.apache.lucene.tests.util.TestUtil;
 
 /** Basic tests for BloomPostingsFormat */
 public class TestBloomPostingsFormat extends BasePostingsFormatTestCase {
diff --git a/lucene/codecs/src/test/org/apache/lucene/codecs/memory/TestDirectPostingsFormat.java b/lucene/codecs/src/test/org/apache/lucene/codecs/memory/TestDirectPostingsFormat.java
index 69e9226..493ad6b 100644
--- a/lucene/codecs/src/test/org/apache/lucene/codecs/memory/TestDirectPostingsFormat.java
+++ b/lucene/codecs/src/test/org/apache/lucene/codecs/memory/TestDirectPostingsFormat.java
@@ -17,8 +17,8 @@
 package org.apache.lucene.codecs.memory;
 
 import org.apache.lucene.codecs.Codec;
-import org.apache.lucene.index.BasePostingsFormatTestCase;
-import org.apache.lucene.util.TestUtil;
+import org.apache.lucene.tests.index.BasePostingsFormatTestCase;
+import org.apache.lucene.tests.util.TestUtil;
 
 /** Tests DirectPostingsFormat */
 public class TestDirectPostingsFormat extends BasePostingsFormatTestCase {
diff --git a/lucene/codecs/src/test/org/apache/lucene/codecs/memory/TestFSTPostingsFormat.java b/lucene/codecs/src/test/org/apache/lucene/codecs/memory/TestFSTPostingsFormat.java
index 2ffbaa8..b94ca70 100644
--- a/lucene/codecs/src/test/org/apache/lucene/codecs/memory/TestFSTPostingsFormat.java
+++ b/lucene/codecs/src/test/org/apache/lucene/codecs/memory/TestFSTPostingsFormat.java
@@ -17,8 +17,8 @@
 package org.apache.lucene.codecs.memory;
 
 import org.apache.lucene.codecs.Codec;
-import org.apache.lucene.index.BasePostingsFormatTestCase;
-import org.apache.lucene.util.TestUtil;
+import org.apache.lucene.tests.index.BasePostingsFormatTestCase;
+import org.apache.lucene.tests.util.TestUtil;
 
 /** Tests FSTPostingsFormat */
 public class TestFSTPostingsFormat extends BasePostingsFormatTestCase {
diff --git a/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextCompoundFormat.java b/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextCompoundFormat.java
index 8bdd18b..fbb0ce1 100644
--- a/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextCompoundFormat.java
+++ b/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextCompoundFormat.java
@@ -17,7 +17,7 @@
 package org.apache.lucene.codecs.simpletext;
 
 import org.apache.lucene.codecs.Codec;
-import org.apache.lucene.index.BaseCompoundFormatTestCase;
+import org.apache.lucene.tests.index.BaseCompoundFormatTestCase;
 
 public class TestSimpleTextCompoundFormat extends BaseCompoundFormatTestCase {
   private final Codec codec = new SimpleTextCodec();
diff --git a/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextDocValuesFormat.java b/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextDocValuesFormat.java
index a33697b..ed13e2b 100644
--- a/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextDocValuesFormat.java
+++ b/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextDocValuesFormat.java
@@ -17,7 +17,7 @@
 package org.apache.lucene.codecs.simpletext;
 
 import org.apache.lucene.codecs.Codec;
-import org.apache.lucene.index.BaseDocValuesFormatTestCase;
+import org.apache.lucene.tests.index.BaseDocValuesFormatTestCase;
 
 /** Tests SimpleTextDocValuesFormat */
 public class TestSimpleTextDocValuesFormat extends BaseDocValuesFormatTestCase {
diff --git a/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextFieldInfoFormat.java b/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextFieldInfoFormat.java
index e507403..842f59d 100644
--- a/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextFieldInfoFormat.java
+++ b/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextFieldInfoFormat.java
@@ -17,7 +17,7 @@
 package org.apache.lucene.codecs.simpletext;
 
 import org.apache.lucene.codecs.Codec;
-import org.apache.lucene.index.BaseFieldInfoFormatTestCase;
+import org.apache.lucene.tests.index.BaseFieldInfoFormatTestCase;
 
 /** Tests SimpleTextFieldInfoFormat */
 public class TestSimpleTextFieldInfoFormat extends BaseFieldInfoFormatTestCase {
diff --git a/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextKnnVectorsFormat.java b/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextKnnVectorsFormat.java
index 296ecd1..527112b 100644
--- a/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextKnnVectorsFormat.java
+++ b/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextKnnVectorsFormat.java
@@ -17,7 +17,7 @@
 package org.apache.lucene.codecs.simpletext;
 
 import org.apache.lucene.codecs.Codec;
-import org.apache.lucene.index.BaseKnnVectorsFormatTestCase;
+import org.apache.lucene.tests.index.BaseKnnVectorsFormatTestCase;
 
 public class TestSimpleTextKnnVectorsFormat extends BaseKnnVectorsFormatTestCase {
   @Override
diff --git a/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextLiveDocsFormat.java b/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextLiveDocsFormat.java
index bb2ff69..2c78db8 100644
--- a/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextLiveDocsFormat.java
+++ b/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextLiveDocsFormat.java
@@ -17,7 +17,7 @@
 package org.apache.lucene.codecs.simpletext;
 
 import org.apache.lucene.codecs.Codec;
-import org.apache.lucene.index.BaseLiveDocsFormatTestCase;
+import org.apache.lucene.tests.index.BaseLiveDocsFormatTestCase;
 
 public class TestSimpleTextLiveDocsFormat extends BaseLiveDocsFormatTestCase {
   private final Codec codec = new SimpleTextCodec();
diff --git a/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextNormsFormat.java b/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextNormsFormat.java
index 672a266..96b85dc 100644
--- a/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextNormsFormat.java
+++ b/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextNormsFormat.java
@@ -17,7 +17,7 @@
 package org.apache.lucene.codecs.simpletext;
 
 import org.apache.lucene.codecs.Codec;
-import org.apache.lucene.index.BaseNormsFormatTestCase;
+import org.apache.lucene.tests.index.BaseNormsFormatTestCase;
 
 /** Tests SimpleTextNormsFormat */
 public class TestSimpleTextNormsFormat extends BaseNormsFormatTestCase {
diff --git a/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextPointsFormat.java b/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextPointsFormat.java
index 8f80f9f..cca19b6 100644
--- a/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextPointsFormat.java
+++ b/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextPointsFormat.java
@@ -17,7 +17,7 @@
 package org.apache.lucene.codecs.simpletext;
 
 import org.apache.lucene.codecs.Codec;
-import org.apache.lucene.index.BasePointsFormatTestCase;
+import org.apache.lucene.tests.index.BasePointsFormatTestCase;
 
 /** Tests SimpleText's point format */
 public class TestSimpleTextPointsFormat extends BasePointsFormatTestCase {
diff --git a/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextPostingsFormat.java b/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextPostingsFormat.java
index 7d90470..8a07b2d 100644
--- a/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextPostingsFormat.java
+++ b/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextPostingsFormat.java
@@ -17,8 +17,8 @@
 package org.apache.lucene.codecs.simpletext;
 
 import org.apache.lucene.codecs.Codec;
-import org.apache.lucene.index.BasePostingsFormatTestCase;
-import org.apache.lucene.util.LuceneTestCase.Nightly;
+import org.apache.lucene.tests.index.BasePostingsFormatTestCase;
+import org.apache.lucene.tests.util.LuceneTestCase.Nightly;
 
 /** Tests SimpleText's postings */
 @Nightly // please figure out why I am so horrendously slow!
diff --git a/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextSegmentInfoFormat.java b/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextSegmentInfoFormat.java
index 156c063..610f5a2 100644
--- a/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextSegmentInfoFormat.java
+++ b/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextSegmentInfoFormat.java
@@ -17,7 +17,7 @@
 package org.apache.lucene.codecs.simpletext;
 
 import org.apache.lucene.codecs.Codec;
-import org.apache.lucene.index.BaseSegmentInfoFormatTestCase;
+import org.apache.lucene.tests.index.BaseSegmentInfoFormatTestCase;
 import org.apache.lucene.util.Version;
 
 /** Tests SimpleTextSegmentInfoFormat */
diff --git a/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextStoredFieldsFormat.java b/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextStoredFieldsFormat.java
index 3726eb6..6e30d64 100644
--- a/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextStoredFieldsFormat.java
+++ b/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextStoredFieldsFormat.java
@@ -17,7 +17,7 @@
 package org.apache.lucene.codecs.simpletext;
 
 import org.apache.lucene.codecs.Codec;
-import org.apache.lucene.index.BaseStoredFieldsFormatTestCase;
+import org.apache.lucene.tests.index.BaseStoredFieldsFormatTestCase;
 
 public class TestSimpleTextStoredFieldsFormat extends BaseStoredFieldsFormatTestCase {
 
diff --git a/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextTermVectorsFormat.java b/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextTermVectorsFormat.java
index b2ebc21..1c9e304 100644
--- a/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextTermVectorsFormat.java
+++ b/lucene/codecs/src/test/org/apache/lucene/codecs/simpletext/TestSimpleTextTermVectorsFormat.java
@@ -17,7 +17,7 @@
 package org.apache.lucene.codecs.simpletext;
 
 import org.apache.lucene.codecs.Codec;
-import org.apache.lucene.index.BaseTermVectorsFormatTestCase;
+import org.apache.lucene.tests.index.BaseTermVectorsFormatTestCase;
 
 public class TestSimpleTextTermVectorsFormat extends BaseTermVectorsFormatTestCase {
   @Override
diff --git a/lucene/codecs/src/test/org/apache/lucene/codecs/uniformsplit/TestBlockWriter.java b/lucene/codecs/src/test/org/apache/lucene/codecs/uniformsplit/TestBlockWriter.java
index 815d286..5d74e7b 100644
--- a/lucene/codecs/src/test/org/apache/lucene/codecs/uniformsplit/TestBlockWriter.java
+++ b/lucene/codecs/src/test/org/apache/lucene/codecs/uniformsplit/TestBlockWriter.java
@@ -26,8 +26,8 @@ import org.apache.lucene.index.IndexOptions;
 import org.apache.lucene.index.VectorSimilarityFunction;
 import org.apache.lucene.store.ByteBuffersDataOutput;
 import org.apache.lucene.store.ByteBuffersIndexOutput;
+import org.apache.lucene.tests.util.LuceneTestCase;
 import org.apache.lucene.util.BytesRef;
-import org.apache.lucene.util.LuceneTestCase;
 
 /** Tests {@link BlockWriter}. */
 public class TestBlockWriter extends LuceneTestCase {
diff --git a/lucene/codecs/src/test/org/apache/lucene/codecs/uniformsplit/TestFSTDictionary.java b/lucene/codecs/src/test/org/apache/lucene/codecs/uniformsplit/TestFSTDictionary.java
index d3e8004..d9ae90a 100644
--- a/lucene/codecs/src/test/org/apache/lucene/codecs/uniformsplit/TestFSTDictionary.java
+++ b/lucene/codecs/src/test/org/apache/lucene/codecs/uniformsplit/TestFSTDictionary.java
@@ -24,8 +24,9 @@ import java.util.Collections;
 import java.util.List;
 import java.util.stream.Collectors;
 import org.apache.lucene.store.ByteBuffersDataOutput;
+import org.apache.lucene.tests.codecs.uniformsplit.Rot13CypherTestUtil;
+import org.apache.lucene.tests.util.LuceneTestCase;
 import org.apache.lucene.util.BytesRef;
-import org.apache.lucene.util.LuceneTestCase;
 
 /** Tests {@link FSTDictionary}. */
 public class TestFSTDictionary extends LuceneTestCase {
diff --git a/lucene/codecs/src/test/org/apache/lucene/codecs/uniformsplit/TestTermBytes.java b/lucene/codecs/src/test/org/apache/lucene/codecs/uniformsplit/TestTermBytes.java
index 9fb5408..a5f9097 100644
--- a/lucene/codecs/src/test/org/apache/lucene/codecs/uniformsplit/TestTermBytes.java
+++ b/lucene/codecs/src/test/org/apache/lucene/codecs/uniformsplit/TestTermBytes.java
@@ -22,8 +22,8 @@ import java.util.Arrays;
 import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
+import org.apache.lucene.tests.util.LuceneTestCase;
 import org.apache.lucene.util.BytesRef;
-import org.apache.lucene.util.LuceneTestCase;
 
 /** Tests {@link TermBytes}. */
 public class TestTermBytes extends LuceneTestCase {
diff --git a/lucene/codecs/src/test/org/apache/lucene/codecs/uniformsplit/TestTermBytesComparator.java b/lucene/codecs/src/test/org/apache/lucene/codecs/uniformsplit/TestTermBytesComparator.java
index c2ba3e9..e1bec2e 100644
--- a/lucene/codecs/src/test/org/apache/lucene/codecs/uniformsplit/TestTermBytesComparator.java
+++ b/lucene/codecs/src/test/org/apache/lucene/codecs/uniformsplit/TestTermBytesComparator.java
@@ -33,8 +33,8 @@ import org.apache.lucene.store.Directory;
 import org.apache.lucene.store.IOContext;
 import org.apache.lucene.store.IndexInput;
 import org.apache.lucene.store.IndexOutput;
+import org.apache.lucene.tests.util.LuceneTestCase;
 import org.apache.lucene.util.BytesRef;
-import org.apache.lucene.util.LuceneTestCase;
 
 /** Tests the {@link TermBytes} comparator. */
 public class TestTermBytesComparator extends LuceneTestCase {
diff --git a/lucene/codecs/src/test/org/apache/lucene/codecs/uniformsplit/TestUniformSplitPostingFormat.java b/lucene/codecs/src/test/org/apache/lucene/codecs/uniformsplit/TestUniformSplitPostingFormat.java
index 95242eb..0b5a573 100644
--- a/lucene/codecs/src/test/org/apache/lucene/codecs/uniformsplit/TestUniformSplitPostingFormat.java
+++ b/lucene/codecs/src/test/org/apache/lucene/codecs/uniformsplit/TestUniformSplitPostingFormat.java
@@ -19,8 +19,9 @@ package org.apache.lucene.codecs.uniformsplit;
 
 import org.apache.lucene.codecs.Codec;
 import org.apache.lucene.codecs.PostingsFormat;
-import org.apache.lucene.index.BasePostingsFormatTestCase;
-import org.apache.lucene.util.TestUtil;
+import org.apache.lucene.tests.codecs.uniformsplit.UniformSplitRot13PostingsFormat;
+import org.apache.lucene.tests.index.BasePostingsFormatTestCase;
+import org.apache.lucene.tests.util.TestUtil;
 import org.junit.After;
 import org.junit.Before;
 
diff --git a/lucene/codecs/src/test/org/apache/lucene/codecs/uniformsplit/sharedterms/TestSTBlockReader.java b/lucene/codecs/src/test/org/apache/lucene/codecs/uniformsplit/sharedterms/TestSTBlockReader.java
index 513a0d99..2a5e912 100644
--- a/lucene/codecs/src/test/org/apache/lucene/codecs/uniformsplit/sharedterms/TestSTBlockReader.java
+++ b/lucene/codecs/src/test/org/apache/lucene/codecs/uniformsplit/sharedterms/TestSTBlockReader.java
@@ -48,8 +48,8 @@ import org.apache.lucene.store.Directory;
 import org.apache.lucene.store.IOContext;
 import org.apache.lucene.store.IndexInput;
 import org.apache.lucene.store.IndexOutput;
+import org.apache.lucene.tests.util.LuceneTestCase;
 import org.apache.lucene.util.BytesRef;
-import org.apache.lucene.util.LuceneTestCase;
 
 public class TestSTBlockReader extends LuceneTestCase {
 
diff --git a/lucene/codecs/src/test/org/apache/lucene/codecs/uniformsplit/sharedterms/TestSTUniformSplitPostingFormat.java b/lucene/codecs/src/test/org/apache/lucene/codecs/uniformsplit/sharedterms/TestSTUniformSplitPostingFormat.java
index d68660a..c3cab04 100644
--- a/lucene/codecs/src/test/org/apache/lucene/codecs/uniformsplit/sharedterms/TestSTUniformSplitPostingFormat.java
+++ b/lucene/codecs/src/test/org/apache/lucene/codecs/uniformsplit/sharedterms/TestSTUniformSplitPostingFormat.java
@@ -20,6 +20,7 @@ package org.apache.lucene.codecs.uniformsplit.sharedterms;
 import org.apache.lucene.codecs.PostingsFormat;
 import org.apache.lucene.codecs.uniformsplit.TestUniformSplitPostingFormat;
 import org.apache.lucene.codecs.uniformsplit.UniformSplitTermsWriter;
+import org.apache.lucene.tests.codecs.uniformsplit.sharedterms.STUniformSplitRot13PostingsFormat;
 
 /** Tests {@link STUniformSplitPostingsFormat} with block encoding using ROT13 cypher. */
 public class TestSTUniformSplitPostingFormat extends TestUniformSplitPostingFormat {
diff --git a/lucene/core/src/java/module-info.java b/lucene/core/src/java/module-info.java
index 931d4cb..79ca145 100644
--- a/lucene/core/src/java/module-info.java
+++ b/lucene/core/src/java/module-info.java
@@ -16,6 +16,7 @@
  */
 
 /** Lucene Core. */
+@SuppressWarnings("module") // the test framework is compiled after the core...
 module org.apache.lucene.core {
   requires jdk.unsupported; // this is needed for MMapDirectory to unmap
 
@@ -46,6 +47,10 @@ module org.apache.lucene.core {
   exports org.apache.lucene.util.mutable;
   exports org.apache.lucene.util.packed;
 
+  // Only export internal packages to the test framework.
+  exports org.apache.lucene.internal.tests to
+      org.apache.lucene.test_framework;
+
   provides org.apache.lucene.analysis.TokenizerFactory with
       org.apache.lucene.analysis.standard.StandardTokenizerFactory;
   provides org.apache.lucene.codecs.Codec with
diff --git a/lucene/core/src/java/org/apache/lucene/analysis/TokenFilter.java b/lucene/core/src/java/org/apache/lucene/analysis/TokenFilter.java
index 9e05e90..e83fcfe 100644
--- a/lucene/core/src/java/org/apache/lucene/analysis/TokenFilter.java
+++ b/lucene/core/src/java/org/apache/lucene/analysis/TokenFilter.java
@@ -17,6 +17,7 @@
 package org.apache.lucene.analysis;
 
 import java.io.IOException;
+import org.apache.lucene.util.Unwrappable;
 
 /**
  * A TokenFilter is a TokenStream whose input is another TokenStream.
@@ -25,7 +26,7 @@ import java.io.IOException;
  *
  * @see TokenStream
  */
-public abstract class TokenFilter extends TokenStream {
+public abstract class TokenFilter extends TokenStream implements Unwrappable<TokenStream> {
   /** The source of tokens for this filter. */
   protected final TokenStream input;
 
@@ -67,4 +68,9 @@ public abstract class TokenFilter extends TokenStream {
   public void reset() throws IOException {
     input.reset();
   }
+
+  @Override
+  public TokenStream unwrap() {
+    return input;
+  }
 }
diff --git a/lucene/core/src/java/org/apache/lucene/analysis/Tokenizer.java b/lucene/core/src/java/org/apache/lucene/analysis/Tokenizer.java
index 343e011..1e30737 100644
--- a/lucene/core/src/java/org/apache/lucene/analysis/Tokenizer.java
+++ b/lucene/core/src/java/org/apache/lucene/analysis/Tokenizer.java
@@ -103,8 +103,8 @@ public abstract class Tokenizer extends TokenStream {
     inputPending = ILLEGAL_STATE_READER;
   }
 
-  // only used for testing
-  void setReaderTestPoint() {}
+  /** @lucene.internal */
+  protected void setReaderTestPoint() {}
 
   private static final Reader ILLEGAL_STATE_READER =
       new Reader() {
diff --git a/lucene/core/src/java/org/apache/lucene/analysis/package-info.java b/lucene/core/src/java/org/apache/lucene/analysis/package-info.java
index 52f1876..451227a 100644
--- a/lucene/core/src/java/org/apache/lucene/analysis/package-info.java
+++ b/lucene/core/src/java/org/apache/lucene/analysis/package-info.java
@@ -553,7 +553,7 @@
  * <h3>Testing Your Analysis Component</h3>
  *
  * <p>The lucene-test-framework component defines <a
- * href="{@docRoot}/../test-framework/org/apache/lucene/analysis/BaseTokenStreamTestCase.html">BaseTokenStreamTestCase</a>.
+ * href="{@docRoot}/../test-framework/org/apache/lucene/tests/analysis/BaseTokenStreamTestCase.html">BaseTokenStreamTestCase</a>.
  * By extending this class, you can create JUnit tests that validate that your Analyzer and/or
  * analysis components correctly implement the protocol. The checkRandomData methods of that class
  * are particularly effective in flushing out errors.
diff --git a/lucene/core/src/java/org/apache/lucene/geo/XYEncodingUtils.java b/lucene/core/src/java/org/apache/lucene/geo/XYEncodingUtils.java
index b3dede3..113cbb1 100644
--- a/lucene/core/src/java/org/apache/lucene/geo/XYEncodingUtils.java
+++ b/lucene/core/src/java/org/apache/lucene/geo/XYEncodingUtils.java
@@ -74,7 +74,13 @@ public final class XYEncodingUtils {
     return decode(NumericUtils.sortableBytesToInt(src, offset));
   }
 
-  static double[] floatArrayToDoubleArray(float[] f) {
+  /**
+   * Convert an array of {@code float} numbers to {@code double} numbers.
+   *
+   * @param f The input floats
+   * @return Corresponding double array.
+   */
+  public static double[] floatArrayToDoubleArray(float[] f) {
     double[] d = new double[f.length];
     for (int i = 0; i < f.length; i++) {
       d[i] = f[i];
... 186650 lines suppressed ...