apache / apache/maven-surefire
[SUREFIRE-2049] Upgrade Surefire Provider interface
- Dominant language
- Java
- Stars
- 461
- Forks
- 588
- Avg merge
- 1d 8h
- Merged PRs (30d)
- 19
Description
**[Tibor Digana](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=tibor17)** opened **[SUREFIRE-2049](https://issues.apache.org/jira/browse/SUREFIRE-2049?redirect=false)** and commented
The interface `SurefireProvider` has several drawbacks:
1. method `getSuites()` should be deleted and substituted by a negotiation mechanism between the plugin process and surefire forked process. TODO: analyse as-is-status in the `in-plugin` mode
2. method `invoke( Object forkTestSet )` has parameter of Java type Object. This should respect polymorphic approach.
3. analyse the impact of the method `cancel()`
---
**Issue Links:**
- [SUREFIRE-2073](https://issues.apache.org/jira/browse/SUREFIRE-2073) Test class filtering should be done in the particular fork JVM where the real test would run.
(_**"blocks"**_)
- [SUREFIRE-1560](https://issues.apache.org/jira/browse/SUREFIRE-1560) Rework SUREFIRE-1535. Use only FORKTESTSET and split SurefireProvider to two interfaces - currently has two responsibilities
(_**"is duplicated by"**_)
Contributor guide
Research direction
Start by locating the SurefireProvider interface and its implementations, then read the in-plugin mode around the getSuites(), invoke(Object forkTestSet), and cancel() methods. Analyse the existing provider responsibilities and the impact of SUREFIRE-2073 and SUREFIRE-1560; done means agreeing on and implementing the revised interface and negotiation approach.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- build-system, testing
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100