Repository navigation
Commit 64beb19
committed
fix(build): give PIT the same SLF4J exclusion as Surefire, and cover FlashAttn
Two separate failures were stacked on the `Java Tests Ubuntu` job, and the
first was hiding the second.
1. PIT aborted with "5 tests did not pass without mutation ... requires a green
suite" — on a suite Surefire had just reported green (1729 tests, 0
failures). Cause: two SLF4J providers on the test classpath. slf4j-simple
arrives at runtime scope because it is the binding shipped in the fat jar,
logback-classic at test scope because LogCaptor requires logback
specifically; SLF4J's ServiceLoader picks one arbitrarily and every LogCaptor
assertion fails when it picks slf4j-simple. #411 added the binding and the
Surefire `classpathDependencyExcludes` for exactly this, but PIT builds its
OWN classpath and never reads Surefire's configuration, so the mutation run
still saw both. pitest-maven has the same parameter, modelled on Surefire's;
it is now set to match. Nothing about the artifact changes.
It went unseen because every publish run between #411 and now was cancelled;
run 897 is the first to complete since.
2. With that cleared, PIT actually ran and surfaced the survivor that run 887
had already reported before #411 ever landed: "Mutation score of 99 is below
threshold of 100". `net.ladenthin.llama.args.*` is on the PIT target list at
threshold 100, and FlashAttn — added in #408 — was the one enum in that
package with no test, so `getArgValue()`'s `return argValue` had no killer.
Adds FlashAttnTest in the shape every sibling enum already uses. The values
are a wire contract, not labels: since llama.cpp b10273 `--flash-attn` takes
a mandatory value, so a wrong or empty token makes the parser eat the next
argv entry and the load fails naming a flag the caller never set.
Verified locally, both directions: the failure reproduces on the parent commit
with the exact same five test names, and with the fix PIT reports 319/319
mutations killed (100%) and `mvn clean verify` is green at 1486 tests.
CLAUDE.md now names the PIT half of the rule explicitly, next to the existing
"spotbugs/spotless bind to verify" trap, including why srcmorph solves the same
clash by excluding at the dependency instead (there both providers arrive
transitively).
This does NOT address the macOS 15 failures in the same run; those are a
separate, bump-introduced regression and are reported alongside this change.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AnNYn8W1xuVxVJtyL34GyH1 parent df58f4a commit 64beb19
3 files changed
Lines changed: 63 additions & 5 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1667 | 1667 | | |
1668 | 1668 | | |
1669 | 1669 | | |
1670 | | - | |
1671 | | - | |
1672 | | - | |
1673 | | - | |
1674 | | - | |
| 1670 | + | |
| 1671 | + | |
| 1672 | + | |
| 1673 | + | |
| 1674 | + | |
| 1675 | + | |
| 1676 | + | |
| 1677 | + | |
| 1678 | + | |
| 1679 | + | |
| 1680 | + | |
| 1681 | + | |
| 1682 | + | |
| 1683 | + | |
| 1684 | + | |
| 1685 | + | |
| 1686 | + | |
| 1687 | + | |
1675 | 1688 | | |
1676 | 1689 | | |
1677 | 1690 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
832 | 832 | | |
833 | 833 | | |
834 | 834 | | |
| 835 | + | |
| 836 | + | |
| 837 | + | |
| 838 | + | |
| 839 | + | |
| 840 | + | |
| 841 | + | |
| 842 | + | |
| 843 | + | |
| 844 | + | |
| 845 | + | |
| 846 | + | |
| 847 | + | |
| 848 | + | |
| 849 | + | |
| 850 | + | |
| 851 | + | |
| 852 | + | |
| 853 | + | |
835 | 854 | | |
836 | 855 | | |
837 | 856 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
0 commit comments