Harden config test fixtures against the *.test gitignore rule#20
Merged
Conversation
The cmd/go-mutesting config tests read fixtures named testdata/configs/*.yml.test. Those files are currently tracked, but their .yml.test suffix matches the *.test rule (meant for compiled Go test binaries) in .gitignore, so any future `git rm` + re-add would silently drop them and leave a fresh clone with a red test suite. Add a .gitignore negation so they stay tracked. Also correct the CLAUDE.md key-packages table: list the full set of mutator categories and add the parser, annotation, and reportmaker internal-package rows. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Mirrors the v2.6.16 fix already shipped in
quality-gates/mutago.What
.gitignore— add!testdata/configs/*.yml.testnegation. The five config-test fixtures are already tracked, but their.yml.testsuffix matches the*.testrule (intended for compiled Go test binaries). Without the negation, any futuregit rm+ re-add silently drops them and leaves a fresh clone with a red test suite. (This is exactly what happened in the downstream mutago repo's initial commit.)CLAUDE.md— correct the key-packages table: themutator/row now lists all nine categories (was missing concurrency, conditional, select), and rows are added forinternal/parser,internal/annotation, andinternal/reportmaker.CHANGELOG.md—[v2.6.16]entry + comparison link.Why preventive (not a visible bug)
Unlike mutago, upstream's fixtures are currently committed, so
go test ./...is green on a fresh checkout today. This PR removes the latent trap so it stays that way.Verification
go build ./...— cleango test ./...— all packages pass (including thecmd/go-mutestingconfig tests).gosource touched, so the mutation quality gate has nothing new to evaluate; CI runs it regardless.🤖 Generated with Claude Code