-
Notifications
You must be signed in to change notification settings - Fork 0
Run workspace doctests as part of make test #467
Copy link
Copy link
Closed
Labels
documentationImprovements or additions to documentationImprovements or additions to documentationenhancementNew feature or requestNew feature or requestmediumRoadmap items to schedule within the current quarter. Clear scope, normal review cycles.Roadmap items to schedule within the current quarter. Clear scope, normal review cycles.testingTest coverage, test infrastructure, and verification tooling work.Test coverage, test infrastructure, and verification tooling work.
Description
Metadata
Metadata
Assignees
Labels
documentationImprovements or additions to documentationImprovements or additions to documentationenhancementNew feature or requestNew feature or requestmediumRoadmap items to schedule within the current quarter. Clear scope, normal review cycles.Roadmap items to schedule within the current quarter. Clear scope, normal review cycles.testingTest coverage, test infrastructure, and verification tooling work.Test coverage, test infrastructure, and verification tooling work.
Summary
Run Rust workspace doctests explicitly as part of Netsuke's canonical
make testgate.make testcurrently invokescargo test --all-targets --all-features.Doctests are not included by that target selection, so Rustdoc examples can
drift or stop compiling without failing the local or Continuous Integration
(CI) test gate.
Reference implementation
Follow Weaver's two-command test target:
See Weaver's Makefile.
The separate doctest command is intentional: it keeps executable Rustdoc
examples covered regardless of whether the primary test runner is Cargo's
built-in harness or cargo-nextest.
Proposed work
cargo test --doc --workspace --all-featurestomake test, preservingthe repository's warnings-as-errors policy.
behavioural test command so issue Adopt cargo-nextest as the default test runner #463 can replace the latter with nextest
without dropping Rustdoc coverage.
weakening them or broadly marking them
ignore.detected.
AGENTS.mdanddocs/developers-guide.mdto describe both phases ofmake test.a second, drifting doctest command in workflow YAML.
Relationship to #463
Issue #463 already recognizes that nextest does not execute doctests. This
issue extracts the doctest gate into an independently deliverable prerequisite:
it can land under the current Cargo test runner, after which #463 only needs to
replace the first command and retain the second unchanged.
Acceptance criteria
make testruns the existing non-doctest suite and thencargo test --doc --workspace --all-features.make testand CI fail.ignoreorno_runconversions.Adopt cargo-nextest as the default test runner #463.
make check-fmt,make lint,make test, andmake markdownlintpass.References
make testimplementationMakefile.github/workflows/ci.ymldocs/developers-guide.mdtests/workflow_contracts/