Files
kaptan/docs/src/development.md
T

1.2 KiB

Development and verification

Fast host checks

cargo test --workspace --offline
cargo clippy --workspace --all-targets --offline --exclude kaptan-geprc-f722-v2 --exclude kaptan-kakute-f7-mini-v3 -- -D warnings
cargo clippy -p platform-stm32f7 --all-targets --offline -- -D warnings
cargo fmt --check
git diff --check

Target checks

cargo check -p kaptan-geprc-f722-v2 --release --target thumbv7em-none-eabihf --offline
cargo check -p kaptan-kakute-f7-mini-v3 --release --target thumbv7em-none-eabihf --offline

Strict core coverage

scripts/report-test-coverage.sh

The strict gate requires 100% line and branch coverage for kaptan-math, kaptan-navigation, kaptan-control, and kaptan-safety. It isolates each core package's coverage artifacts, unions LCOV source-line records, and uses full LLVM source spans to merge generic branch instantiations without lowering the gate.

Simulation acceptance

python3 tools/sitl/world-structure-test.py
python3 -m unittest tools/sitl/test_kaptan_sim.py
tools/sitl/e2e-smoke.sh

The Docker smoke is intentionally separate from host unit tests because it builds the pinned base images, Rust binary, Gazebo plugin, and full loopback plant.