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