Repository navigation
Expand file tree
/
Copy pathcosmic-ray.toml
More file actions
28 lines (26 loc) · 1.56 KB
/
Copy pathcosmic-ray.toml
File metadata and controls
28 lines (26 loc) · 1.56 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# Mutation-testing config for the safety-critical logic modules.
#
# Opt-in tooling: cosmic-ray is not a project dependency. Run it ad-hoc via uvx (ephemeral) so the
# lock stays lean. The project venv must be synced first (`uv sync`) because the test-command below
# shells back into it for pytest.
#
# Per-module by design: point module-path at one source file and run. The Mutation CI workflow
# (.github/workflows/mutation.yml) sweeps every module in a matrix by rewriting module-path. To run
# a single module locally, edit module-path below, then from the repo root:
# uvx --from cosmic-ray==8.4.6 cosmic-ray baseline cosmic-ray.toml
# uvx --from cosmic-ray==8.4.6 cosmic-ray init cosmic-ray.toml mutation.sqlite
# uvx --from cosmic-ray==8.4.6 cosmic-ray exec cosmic-ray.toml mutation.sqlite
# uv run python scripts/drop_exempt_survivors.py mutation.sqlite
# uvx --from cosmic-ray==8.4.6 cr-rate mutation.sqlite # survival rate, lower is better
#
# For a whole-package run instead, set module-path = "src/steamcleaner" and list the GUI, platform
# adapters, and entry points (mirroring the coverage omit list) under excluded-modules.
[cosmic-ray]
module-path = "src/steamcleaner/cleaner/engine.py"
timeout = 90.0
excluded-modules = []
# Wrapped in `uv run --no-sync` so uv resolves the project interpreter regardless of PATH: a bare
# `python` is spawned via subprocess and on Windows hits the Microsoft Store stub instead of the venv.
test-command = "uv run --no-sync python -m pytest tests --ignore=tests/ui -x -q -p no:cacheprovider"
[cosmic-ray.distributor]
name = "local"