testing & validation

Skill: Testing & Validation

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "testing & validation" with this command: npx skills add zuytan/rustrade/zuytan-rustrade-testing-validation

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

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

cargo fmt --all

Automatically formats all code according to Rust conventions.

Step 2: Lint

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

cargo test

Rules:

  • All tests must pass

  • A failing test = no commit

  • New tests should cover edge cases

Async Tests (MANDATORY)

When writing #[tokio::test] , preventing infinite hangs is critical:

  • Always use timeouts for channel operations (recv().await ). // ❌ Potential hang let msg = rx.recv().await.unwrap();

// ✅ Safe let msg = tokio::time::timeout(std::time::Duration::from_secs(1), rx.recv()) .await .expect("Timeout waiting for message")?;

  • Avoid infinite loops without exit conditions or timeouts.

Step 4: Release verification (optional)

cargo build --release

Do this before a release or to verify optimizations.

Quick commands

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 fmt executed

  • cargo clippy without warnings

  • cargo test all tests pass

  • Documentation updated (if needed)

  • GLOBAL_APP_DESCRIPTION.md updated (if new feature)

  • Version incremented in Cargo.toml

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

trading best practices

No summary provided by upstream source.

Repository SourceNeeds Review
General

project specifications management

No summary provided by upstream source.

Repository SourceNeeds Review
General

benchmarking & performance

No summary provided by upstream source.

Repository SourceNeeds Review