Add infra for "integration-test" modules. [LUCENE-3974]
- Dominant language
- Java
- Stars
- 3.6k
- Forks
- 1.4k
- Avg merge
- 2d 11h
- Merged PRs (30d)
- 88
Description
#5042 is the first use case that really motivated me to open this:
Here we are building random Analysis chains from all the Tokenizers, TokenFilters,
CharFilters, etc that we can possibly find, and kicking them around to find bugs.
But we only do this in the analyzers-common module. Really I want to combine
all the analysis components across common, phonetic, kuromoji, uima, icu, etc to
create more interesting chains and increase test coverage.
So I think along with having a modular architecture, we have some responsibility
to test different modules combined together, as sometimes we find bugs like
#4993 that no unit test will ever discover.
Can/Should we create some sort of test module that depends on **every lucene module** and
is a free-for-all for crazy integration tests?
---
Migrated from [LUCENE-3974](https://issues.apache.org/jira/browse/LUCENE-3974) by Robert Muir (@rmuir)
Contributor guide
Research direction
Start by reading #5042 and the existing analyzers-common setup, then inspect how the common, phonetic, kuromoji, uima, and icu modules are defined and combined. The proposed work is complete when a test module can depend on every Lucene module and provide a place for cross-module integration tests such as randomized analysis-chain testing.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- build-system, testing
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100