apache / apache/lucene

Add infra for "integration-test" modules. [LUCENE-3974]

Open
#5,047 0 comments 0 reactions 0 assignees View on GitHub
legacy-jira-priority:Major tool:build type:test
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.