Testing
Main validation commands
Use these gates for normal development and native Rust work.
cargo test --workspace
uv run pytest -q tests/test_kernels_accelerated.py
make native-full-chain-verify
The native full-chain gate uses the checked-in performance budget manifest and accepts THREADS=N when you need fixed CPU limits.
Test structure
- Rust workspace tests cover the native CLI, planning, stage helpers, and shared Rust crates.
- The accelerated kernel pytest target covers native/Python kernel behavior without running the whole dataset chain.
- Dataset-backed native parity validation is handled by make native-full-chain-verify.
Coverage
For VM reproduction, build target/release/pystamps-native first, then run the native gate. Override paths only when needed.
cargo build --release -p pystamps-core --bin pystamps-native
make native-full-chain-verify \
DATASET=/path/to/source_dataset \
GOLDEN=/path/to/reference_dataset \
RUN=/path/to/clean_run_dataset \
THREADS=8
Inspect RUN/_native_gate_reports/ when the gate fails.
Validation workflow
Run the web console only when changing crates/pystamps-web.
make web
Build Python distributions only for packaging work, and avoid committing generated dist/ artifacts during normal implementation.
make build