chore(ci): validate the mutation-test memory cap end to end - #666
Closed
JeroenSoeters wants to merge 2 commits into
Closed
chore(ci): validate the mutation-test memory cap end to end#666JeroenSoeters wants to merge 2 commits into
JeroenSoeters wants to merge 2 commits into
Conversation
… runner A mutant that negates a loop bound turns a bounded padding loop into one that allocates without bound. The test process exhausts the runner VM's memory within seconds, well before gremlins' per-mutant timeout, and the VM is torn down mid-run: gremlins takes the shutdown signal, exits 0 and writes no report, and the check reports the package as producing no usable result. The nightly full run dies the same way every night. Running the mutation step inside a memory-capped cgroup with swap denied turns that failure into the right one: the kernel OOM killer takes out the runaway test process, gremlins records the mutant as killed, and the run completes with a report. Reproduced and verified locally: mutating internal/cli/status uncapped OOMs the machine at the padding-loop negation; capped, the same run completes with that mutant killed.
Collaborator
Author
|
Validation complete: the mutation-test check ran under the memory cap against internal/cli/status, the package whose loop-bound negation mutant kills the runner today, and completed green in 2m03s with that mutant recorded as KILLED (identical scores to the local capped run). Closing as intended; the fix itself is #665. |
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.
Summary
Draft validation PR for #665, not for merging. It carries the workflow change from that branch plus a comment-only edit to
internal/cli/status, the package whose padding-loop negation mutant reproducibly OOMs the runner today. Because the check runs against the merge ref, themutation-test-prrun here executes under the new memory cap while mutating exactly the code that kills the current setup. A green mutation check here is the end-to-end proof; the PR gets closed after.