-
Notifications
You must be signed in to change notification settings - Fork 0
Adopt cargo-nextest as the default test runner (#463) #473
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
leynos
merged 8 commits into
main
from
issue-463-adopt-cargo-nextest-as-the-default-test-runner
Jul 30, 2026
Merged
Changes from all commits
Commits
Show all changes
8 commits
Select commit
Hold shift + click to select a range
103046e
Adopt cargo-nextest as the non-doctest test runner
c060950
Provision pinned cargo-nextest in CI and pin the runner contract
56e6882
Document the nextest runner and correct stale test guidance
7407e58
Scope filesystem exclusions to modules and drop one entirely
leynos 5e2a495
Pin local nextest installs and verify the group binding structurally
leynos 5c42876
Attribute the serial markers to tests, not binaries
leynos 93e6b25
Collapse a stray double blank line inherited from main
leynos c46f97d
Make the AGENTS.md nextest install snippet self-contained
leynos File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,36 @@ | ||
| # cargo-nextest configuration for Netsuke. | ||
| # | ||
| # Scope: this file governs the non-doctest pass of `make test` only. nextest | ||
| # does not execute doctests, so those run in a separate `cargo test --doc` pass | ||
| # (the `doctest` Make target). Coverage and mutation testing keep their own | ||
| # purpose-built runners and are unaffected by this file. | ||
| # | ||
| # Ownership: this configuration encodes the test-isolation contracts described | ||
| # in "Test execution" and "Test isolation utilities" in | ||
| # docs/developers-guide.md. Change it alongside that documentation. | ||
| # | ||
| # Policy: no blanket retries. A test that fails intermittently is a defect to | ||
| # diagnose, not to paper over with re-runs. Add a targeted override with a | ||
| # written rationale if a genuine external-resource constraint requires one. | ||
|
|
||
| [profile.default] | ||
| # Surface hangs without failing legitimately slow suites: the documentation | ||
| # end-to-end tests shell out to real Ninja and can take tens of seconds. Warn | ||
| # after 60s; terminate a test that has run for five warning periods (300s). | ||
| slow-timeout = { period = "60s", terminate-after = 5 } | ||
|
|
||
| [test-groups] | ||
| # Mutual exclusion for the integration binaries that mutate process-global | ||
| # environment state (`PATH`, `NINJA_ENV`, and ad hoc `NETSUKE_*` variables). | ||
| # Their tests are also marked `#[serial]`, which is what serialises them under | ||
| # the in-process runner used by the coverage workflow. nextest runs each test | ||
| # in its own process, so this group is not load-bearing for those existing | ||
| # tests; it exists so the serialisation contract is stated once for both | ||
| # runners and is not silently lost when a future test in these binaries reaches | ||
| # for genuinely shared state such as a fixed on-disk path. It is deliberately | ||
| # scoped to three binaries: every other test still runs fully in parallel. | ||
| serial-env = { max-threads = 1 } | ||
|
|
||
| [[profile.default.overrides]] | ||
| filter = 'binary(manifest_env_tests) | binary(ninja_env_tests) | binary(env_path_tests)' | ||
| test-group = 'serial-env' |
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
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
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
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
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
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
Oops, something went wrong.
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.