mutants.toml 1.3 KB

1234567891011121314151617181920212223242526
  1. # cargo-mutants budget for the scheduled mutation job (task 42).
  2. #
  3. # Scoped to the pure, container-free security modules so the weekly CI leg
  4. # needs no Docker: scope parsing, redirect matching, PKCE, and the token
  5. # primitives. The time budget lives in CI (`.github/workflows/ci.yml` runs
  6. # `cargo mutants --timeout 1800 --test-tool nextest` with a 60-minute step
  7. # backstop). Task 43 scopes `--file <module>` runs over the
  8. # security-critical modules against the fast test subset.
  9. examine_globs = [
  10. "src/crypto/ct.rs",
  11. "src/crypto/pkce.rs",
  12. "src/crypto/tokens.rs",
  13. "src/protocol/scope.rs",
  14. "src/protocol/redirect_repo.rs",
  15. ]
  16. # `examine_globs` only limits which files are mutated; cargo-mutants otherwise
  17. # runs the whole package suite, whose e2e/integration binaries need the shared
  18. # Postgres/Redis. Restrict the test run to the tests that cover the examined
  19. # modules (their unit tests plus the three pure property suites), which keeps
  20. # the leg container-free and fast enough for the mutation budget. The filter
  21. # is appended to every `cargo nextest run` cargo-mutants issues.
  22. additional_cargo_test_args = [
  23. "-E",
  24. "test(crypto::ct) | test(crypto::pkce) | test(crypto::tokens) | test(protocol::scope) | test(protocol::redirect_repo) | binary(proptest_pkce) | binary(proptest_scope) | binary(proptest_redirect)",
  25. ]