https://bz.apache.org/bugzilla/show_bug.cgi?id=69685

--- Comment #4 from Sylwester Lachiewicz <[email protected]> ---
Some evidence for the direction question, since it also decides 69683, 69687
and 69707.

I checked what JUnit's own legacy-xml exporter does, in
junit-platform-reporting 1.10.5:

- XmlReportWriter.AggregatedTestResult.Type has exactly SUCCESS, SKIPPED,
FAILURE and ERROR. There is no ABORTED.
- XmlReportData.markFinished puts an ABORTED result straight into its
skippedTests map, using the throwable's message as the skip reason.
- Type.from() maps a FAILED result to FAILURE when the throwable is an
AssertionError and to ERROR otherwise.
- XmlReportData.wasSkipped is findSkippedAncestor(id).isPresent(), so a skipped
container resolves down to each test it holds.

So Alex's reading holds on all four points: JUnit itself, when writing this
format, treats aborted as skipped, splits failed by AssertionError, and
resolves container-level skips to tests.

That makes the four open bugs against this listener one question rather than
four. 69685 is the aborted axis, 69687 and PR #221 the failure/error axis,
69683 the container axis, 69707 the throwable-rendering axis. Matching
junit-platform-reporting answers all of them the same way, and gives a
reference implementation to test against.

Three caveats on Alex's question about leveraging JUnit's Legacy XML export
directly:

- junit-platform-reporting is not currently a dependency of ant-junitlauncher,
which pulls only junit-platform-launcher. It would be additive rather than a
swap - reporting depends on launcher itself.
- LegacyXmlReportGeneratingListener has no no-arg constructor, only (Path,
PrintWriter). LauncherSupport creates listeners with
klass.getDeclaredConstructor().newInstance(), so it cannot be declared through
<listener className=...> as things stand. Delegating to it would mean wiring it
up inside the task as another built-in listener type.
- 69684 also bites here: that listener derives its filename from the top-most
descriptor, and junitlauncher sends one discovery request per class, so the
files overwrite each other.

For what it is worth I have opened https://github.com/apache/ant/pull/234 for
69683, which does the container-to-tests resolution for skips only. If the
decision here goes another way I am happy to withdraw it.

This comment was created with AI assistance.

-- 
You are receiving this mail because:
You are the assignee for the bug.

Reply via email to