You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Set `NEXTEST_PROFILE=ci` to use the repository CI profile locally. The CI profile is defined in `.config/nextest.toml`; it disables fail-fast so all Rust test failures are reported in one run.
39
+
37
40
Equivalent repo-level helper:
38
41
39
42
```bash
@@ -51,6 +54,7 @@ To run the same coverage check locally for all managed Rust plugins:
Rust unit tests use `cargo nextest run`. Coverage uses `cargo llvm-cov nextest --no-report` for the Rust test phase, then runs pytest before generating the final report so PyO3 paths stay covered. CI uses the `ci` nextest profile, which disables fail-fast and prints failure output immediately and again at the end. Nextest does not run Rust doctests; this repo currently has no Rust doctest code blocks, so there is no separate doctest step.
85
+
86
+
Criterion benchmarks are verified in CI with `cargo nextest run --benches`, which runs benchmarks in test mode rather than collecting noisy performance measurements on shared CI runners.
87
+
88
+
## 4. Mutation Testing
89
+
90
+
Mutation testing runs in PR CI on Ubuntu for Rust code touched by the pull request diff. It is also available locally through cargo-mutants and runs Rust tests with nextest.
make plugin-mutants-list PLUGIN=retry_with_backoff
95
+
make plugin-mutants PLUGIN=retry_with_backoff
96
+
```
97
+
98
+
`.cargo/mutants.toml` sets `test_tool = "nextest"`, selects the `mutants` nextest profile, and keeps `cap_lints = false` so Rust warnings are not downgraded during mutant builds. The `mutants` profile keeps fail-fast enabled because cargo-mutants only needs one failing test to mark a mutant as caught. CI installs `cargo-mutants` with `cargo install cargo-mutants --version 27.0.0 --locked` and runs `cargo mutants -p "${CARGO_PACKAGE}" --in-diff cargo-mutants.diff`.
99
+
80
100
## CI Behavior
81
101
82
102
Repo contract tests run in their own CI workflow. The Rust plugin CI workflow uses the same plugin catalog to select affected plugin build, integration, and coverage jobs.
0 commit comments