[ https://issues.apache.org/jira/browse/LUCENE-10352?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Uwe Schindler resolved LUCENE-10352. ------------------------------------ Fix Version/s: 9.1 10.0 (main) Resolution: Fixed We opened several issues about broken analysis componets. If you want to run beaster to find more bugs, you can run the following command on main or branch_9x: {{$ gradlew :lucene:analysis.tests:beast -Dtests.dups=100 --tests TestRandomChains -Dtests.nightly=true}} Thanks to all who helped. > Convert TestAllAnalyzersHaveFactories and TestRandomChains to a global > integration test and discover classes to check from module system > ---------------------------------------------------------------------------------------------------------------------------------------- > > Key: LUCENE-10352 > URL: https://issues.apache.org/jira/browse/LUCENE-10352 > Project: Lucene - Core > Issue Type: New Feature > Components: modules/analysis > Reporter: Uwe Schindler > Assignee: Uwe Schindler > Priority: Major > Fix For: 9.1, 10.0 (main) > > Time Spent: 7h 10m > Remaining Estimate: 0h > > Currently TestAllAnalyzersHaveFactories and TestRandomChains only work on the > analysis-commons module, but e.g. we do not do a random chain with kuromoji > and ICU. Also both tests rely on some hacky classpath-inspection and the > tests fail if ran on a JAR file. > This issue tracks progress I am currently doing to refactor this: > - Move those 2 classes to a new gradle subproject > :lucene:analysis:integration.tests and add a module-info referring to all > other analysis packages > - Rewrite the class discovery to use ModuleReader > - Run TestAllAnalyzersHaveFactories per module (using one module reader), so > it discovers all classes and ensures that factory and stream are in same > module (there are some core vs. analysis.common discrepancies) > - RunTestRandomChains on the whole module graph. The classes are discovered > from all module readers in the graph (filtering on module name starting with > "org.apache.lucene.analysis." > - Also compare that the SPI factories returned by discovery match those we > have in the module graphs > While doing this I disovered some bad things: > - TestRandomChains depends on test-only resources. We may need to replicate > those (it is about 5 files that are fed into the ctors) > - We have 5 different StringMockResourceLoaders: Originally it was only in > analysis common, now its everywhere. I will move this class to > test-framework. This is unrelated but can be done here. The background of > this was that analysis factories and resource loaders were not part of lucene > core, so the resourceloader interface couldn't be in test-framework. -- This message was sent by Atlassian Jira (v8.20.1#820001) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org