Skip to content

Commit e3d0636

Browse files
authored
Merge pull request #54 from itk-dev/ci/raise-min-covered-msi
ci: raise minimum mutation score to 90 and condense changelog entries
2 parents 9fedae3 + 1bf3161 commit e3d0636

2 files changed

Lines changed: 7 additions & 15 deletions

File tree

CHANGELOG.md

Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -15,23 +15,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1515

1616
### Changed
1717

18+
- Strengthened tests guided by mutation testing; mutation score raised to
19+
93% with a CI threshold of 90 (`minCoveredMsi` in `infection.json5`)
1820
- Test fixtures and README examples use RFC 2606 reserved domains
1921
(`provider.example.org` for IdP-side URLs, `app.example.org` for
2022
application-side URLs) instead of invented registrable domains
2123

22-
- Strengthened constructor tests guided by mutation testing: the `jwt`
23-
collaborator is asserted to become the request factory, and `0` is
24-
asserted to be an accepted boundary value for `cacheDuration` and
25-
`leeway`
26-
- Strengthened cache assertions guided by mutation testing: the discovery
27-
document and JWKS key map are asserted to be written to the cache with
28-
the configured duration under the namespaced key, and a multi-key JWKS
29-
is asserted to reach `JWT::decode` in full
30-
- Strengthened exception assertions guided by mutation testing: thrown
31-
messages are asserted in full (including dynamic parts), wrap-boundary
32-
exceptions assert code `0` and the chained `$previous` cause, and
33-
invalid JSON from the token endpoint is covered
34-
3524
## [5.0.0] - 2026-06-02
3625

3726
Reworked exception hierarchy and tightened IdP-payload validations. The runtime

infection.json5

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,11 @@
55
},
66
"threads": "max",
77
// Minimum mutation score for covered code; enforced locally and in CI.
8-
// Baseline measured at 71% — ratchet up as surviving mutants are killed.
9-
"minCoveredMsi": 68,
8+
// The suite scores 93%; the 13 surviving mutants are equivalent or
9+
// contrived (JSON depth literals, RNG default lengths, casts only
10+
// observable on corrupted cache). 90 defends the score with headroom
11+
// for run-to-run variance.
12+
"minCoveredMsi": 90,
1013
"logs": {
1114
"text": "infection.log",
1215
"html": "infection.html",

0 commit comments

Comments
 (0)