Cargo integration-test directory for the vsh Rust shell. Counts below
are as-of the 2026-04-18 audit (../../../docs/governance/CRG-AUDIT-2026-04-18.adoc)
and may have shifted slightly; current totals are visible from
cargo test.
| File | #[test] | Role |
|---|---|---|
|
35 |
Validates the Lean 4 → Rust correspondence (declared 28 in CLAUDE.md;
35 found). Calls |
|
55 |
Advanced feature coverage (heredocs, here strings, process sub,
|
` short-circuit, etc.). |
|
|
35 |
End-to-end shell behaviour (glob expansion via |
|
10 |
Edge-case integration scenarios. |
|
16 |
Property-based Lean validation (proptest-driven). |
|
67 |
|
|
19 |
Property-based Lean validation (declared 15; 19 found). |
|
28 |
General property tests (proptest crate). |
|
15 |
Injection prevention, path traversal, sandbox-clamp validation. |
|
11 (ignored) |
Run manually with |
|
24 |
|
|
8 |
Control flow inside functions. |
|
Plus:
-
fixtures/— fixture data referenced by integration tests. -
manual_redirect_test.sh,manual_sigint_test.sh— interactive manual scripts (not driven bycargo test; kept for human regression checks of TTY-bound behaviour).
cd impl/rust-cli
cargo test # full suite (lib + integration + doctests)
cargo test --lib # library unit tests only (~310)
cargo test --test integration_test # one suite
cargo test --test stress_tests -- --ignored # manually-gated stressLast full run captured this commit lineage: 703 passed / 0 failed /
14 ignored (post-.expect("TODO") sweep, commits
712e3a1..b5cc0cc).
ShellState::new(…) takes &str, not &Path. undo/redo are
free functions in vsh::commands, not methods on state. state.history
is a public field (not a method). For glob testing, call
vsh::glob::expand_glob(pattern, base_dir) directly rather than
shelling out to ls.