Step 4 of 8: complete aggregation of PIT results #5

Merged
mi merged 1 commits from step-4-aggregation into main 2026-10-01 15:59:41 +02:00
Owner

Step 4 of 8 from section 8.3 of the specification.

  • MutantAggregator (core): statuses per distinct mutant (MethodId + mutator + instruction indexes); duplicates count once, contradicting final results count under none and make the method INCONCLUSIVE (contradicting-results:<n>), preliminary NOT_STARTED/STARTED give way to the final status, block order no longer matters.
  • Listener test with real PIT result objects and a real ReportOptions: merged blocks, byte-identical report for every order, duplicates, contradictions.
  • Functional test: every mutant of PIT's mutations.xml is counted exactly once; PIT's analysis ran once.
  • ADR 0003, feature 04, MC-014 to MC-018 mapped.

CI on werkator.javagil.de: green (33 s), 79 unit and 10 functional tests.

PR-doc: docs/prs/2026-10-01-PR#5-result-aggregation.md

🤖 Generated with Claude Code

Step 4 of 8 from section 8.3 of the specification. - `MutantAggregator` (core): statuses per distinct mutant (MethodId + mutator + instruction indexes); duplicates count once, contradicting final results count under none and make the method INCONCLUSIVE (`contradicting-results:<n>`), preliminary NOT_STARTED/STARTED give way to the final status, block order no longer matters. - Listener test with real PIT result objects and a real `ReportOptions`: merged blocks, byte-identical report for every order, duplicates, contradictions. - Functional test: every mutant of PIT's `mutations.xml` is counted exactly once; PIT's analysis ran once. - ADR 0003, feature 04, MC-014 to MC-018 mapped. CI on werkator.javagil.de: green (33 s), 79 unit and 10 functional tests. PR-doc: `docs/prs/2026-10-01-PR#5-result-aggregation.md` 🤖 Generated with [Claude Code](https://claude.com/claude-code)
mi added 1 commit 2026-10-01 15:58:03 +02:00
Step 4 of 8: complete aggregation of PIT results
werkator build succeeded after 00:33
1529778297
MutantAggregator keeps the statuses per distinct mutant: a repeated
result counts once, contradicting final results count under none and
make the method INCONCLUSIVE, preliminary statuses give way to the
final one, and the order of the result blocks no longer matters. The
listener test drives the listener with real PIT result objects; the
functional test checks every mutant of mutations.xml is counted once.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
mi merged commit 6453ecc24b into main 2026-10-01 15:59:41 +02:00
mi deleted branch step-4-aggregation 2026-10-01 15:59:41 +02:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: mi/werkcrappit#5