Skip to main content

mutation-check

Run cargo-mutants for changed coop logic and keep .cargo/mutants.toml synchronized. Use when logic-dense modules change, before refactors, or when asked to verify mutation coverage.

Informações da origem

Repositório
trailofbits/coop
Última atividade na origem
3 de setembro de 2026 às 08:40
Idioma detectado do SKILL.md
inglês
Estrelas
796
Forks
44

Opções de instalação

Por padrão, está selecionado o prompt que primeiro revisa a origem. Você pode mudar para um comando direto ou baixar uma cópia local.

Revise os arquivos de origem

Leia o SKILL.md e os arquivos complementares exibidos pelo SkillsMP antes de decidir se vai instalar.

Exibindo SKILL.md

SKILL.md
Instruções da origem · Visualização somente leitura
name
mutation-check
description
Run cargo-mutants for changed coop logic and keep .cargo/mutants.toml synchronized. Use when logic-dense modules change, before refactors, or when asked to verify mutation coverage.
# Mutation Check Read [`docs/testing.md`](../../../docs/testing.md) first. 1. Inspect the diff before running. New functions in logic modules that shell out, drive `&PlatformBackend`, read a TTY, or write stdout must be excluded in `.cargo/mutants.toml` in the same PR. Extract and test their pure decision logic. Pure helpers remain in scope. 2. Sanity-check changed exclusions with `cargo mutants --list -f <file>`. 3. Run a full-file sweep for each touched scoped module and library tests only: `cargo mutants -f src/<file>.rs -- --lib`. Redirect output to a file; do not pipe a long run through `head` or `grep`. 4. Triage `mutants.out/missed.txt`: add a discriminating test for real gaps, mark genuinely equivalent mutants with a narrow documented skip, and delete dead code. Confirm each new test by re-running the mutant or deliberately breaking the protected behavior. 5. Report files swept, missed count before/after, every survivor's disposition, and whether `.cargo/mutants.toml` changed. Do not spend a full mutation run on whole-module exclusions (`backend.rs`, `lima.rs`, `setup.rs`, `update.rs`, `ssh.rs`, `vm.rs`, `network.rs`, `port_forward.rs`, `cmd.rs`, `prompt.rs`, `main.rs`). Instead, identify the unit/integration blind spot explicitly and test extracted pure logic directly.
Ver no GitHub