apache / apache/maven-mvnd

Dedicated display of Surefire running tests

Open
#1,294 0 comments 1 reaction 0 assignees View on GitHub
enhancement
Dominant language
Java
Stars
3.5k
Forks
250
Avg merge
16h 22m
Merged PRs (30d)
36

Description

### New feature, improvement proposal

Given that #789 remains unsolved, I doubt there is any immediate prospect of extra functionality being added, but just in case:

On a large multimodule reactor with lots of expensive tests run by Surefire, using `mvnd` rather than `mvn` (or `mvnd --serial`) has a major downside: most of the time the display is uninformative about actual progress because it just shows

```
:some-module surefire:3.5.2:test (default-test)
```

for minutes on end. Whereas running a serial tool would display

```

[INFO] Running com.acme.SomeTest
[INFO] Running com.acme.SomeOtherTest
[INFO] Running com.acme.YetAnotherTest
[INFO] Tests run: 17, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 99.123 s -- in com.acme.SomeTest

```

in real time. It would be very nice if `mvnd` in parallel mode showed some compact indicator like

```
:some-module surefire:3.5.2:test (default-test) 240✅ 3❌ 11⊖ SomeOtherTest, YetAnotherTest, …3 more
```

updated live so you can see which tests are being run and the running totals (pass/fail/skip). I presume this would require Surefire to emit some sort of event which the Maven core API does not yet define.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the Surefire output and Maven core API limitation described in the issue, then determine whether a test-progress event can be exposed to mvnd. Done means parallel builds show a live compact indicator with running tests and pass, fail, and skip totals.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
build-system
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.