[ 
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

Reply via email to