diff --git a/.gitignore b/.gitignore index 5c53913..b86b887 100644 --- a/.gitignore +++ b/.gitignore @@ -23,6 +23,12 @@ _testmain.go *.test *.prof +# Config test fixtures use a .yml.test suffix and must be tracked even though +# the *.test rule above (for compiled Go test binaries) would otherwise ignore +# them. Without this negation a plain `git add` silently drops them and the +# cmd/go-mutesting config tests fail on a fresh checkout. +!testdata/configs/*.yml.test + # go-mutesting build output and run artifacts /go-mutesting report.json diff --git a/CHANGELOG.md b/CHANGELOG.md index bfe6e01..8df0776 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,13 @@ Format follows [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). This pr --- +## [v2.6.16] — 2026-05-29 + +### Fixed +- Hardened the `cmd/go-mutesting` config test fixtures against the `*.test` `.gitignore` rule. The fixtures (`testdata/configs/*.yml.test`) are already tracked, but their `.yml.test` suffix matches the `*.test` rule meant for compiled Go test binaries, so any future `git rm` + re-add would silently drop them and leave a clean clone with a red test suite. A `.gitignore` negation now keeps them tracked. + +--- + ## [v2.6.15] — 2026-05-26 ### Fixed @@ -326,3 +333,4 @@ Format follows [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). This pr [v2.6.13]: https://github.com/jonbaldie/go-mutesting/compare/v2.6.12...v2.6.13 [v2.6.14]: https://github.com/jonbaldie/go-mutesting/compare/v2.6.13...v2.6.14 [v2.6.15]: https://github.com/jonbaldie/go-mutesting/compare/v2.6.14...v2.6.15 +[v2.6.16]: https://github.com/jonbaldie/go-mutesting/compare/v2.6.15...v2.6.16 diff --git a/CLAUDE.md b/CLAUDE.md index b30dfff..6c8ba6a 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -16,11 +16,14 @@ All packages pass. `internal/importing` and `internal/parser` were once broken i | Package | What it does | | :--- | :--- | | `cmd/go-mutesting/` | Binary entrypoint; all flag wiring and orchestration | -| `mutator/` | Mutator implementations (arithmetic, branch, expression, loop, numbers, statement) | +| `mutator/` | Mutator implementations (arithmetic, branch, concurrency, conditional, expression, loop, numbers, select, statement) | | `internal/models/` | `Report`, `Stats`, `Mutant` types; MSI and quality gate logic | | `internal/gitdiff/` | Git diff line filter for `--git-diff-lines` | | `internal/filter/` | Annotation and skip filters | | `internal/coverage/` | Coverage profile parsing (`--coverage`) and per-test coverage map (`--per-test`) | +| `internal/parser/` | Package loading and the AST cache (`ClearPackageCache`) | +| `internal/annotation/` | Comment-directive filters (block, chain, function, line, regex) | +| `internal/reportmaker/` | JSON / HTML / agentic report generation | ## Self-mutation and quality gates