Skill: Testing & Validation
When to use this skill
- •BEFORE any commit (mandatory)
- •After implementing a feature
- •To validate a refactoring
- •When in doubt about code quality
Automated script
bash
# Full validation (format + clippy + test) ./.agent/skills/testing/scripts/validate.sh # With auto-fix formatting ./.agent/skills/testing/scripts/validate.sh --fix
Validation workflow
Step 1: Format
bash
cargo fmt --all
Automatically formats all code according to Rust conventions.
Step 2: Lint
bash
cargo clippy --all-targets -- -D warnings
Rules:
- •NO warnings allowed
- •Fix clippy suggestions, don't ignore them with
#[allow(...)] - •If an allow is really necessary, justify it in a comment
Step 3: Tests
bash
cargo test
Rules:
- •All tests must pass
- •A failing test = no commit
- •New tests should cover edge cases
Step 4: Release verification (optional)
bash
cargo build --release
Do this before a release or to verify optimizations.
Quick commands
bash
# Full validation in one line cargo fmt && cargo clippy --all-targets -- -D warnings && cargo test # Specific tests cargo test test_name # A specific test cargo test module_name:: # All tests in a module cargo test --lib # Library tests only cargo test --test integration # Integration tests
On failure
Clippy warning
- •Read the error message carefully
- •Apply clippy's suggestion
- •If the suggestion is not applicable, justify with a comment
Test failure
- •Identify the failing test
- •Check if it's a bug in the code or in the test
- •NEVER delete a test to make CI pass
- •Fix the code or adapt the test if behavior changed intentionally
Checklist before commit
- •
cargo fmtexecuted - •
cargo clippywithout warnings - •
cargo testall tests pass - • Documentation updated (if needed)
- • GLOBAL_APP_DESCRIPTION.md updated (if new feature)
- • Version incremented in Cargo.toml