# Test recipes for SecretumVault [doc("Show test help")] help: @echo "TEST COMMANDS"; \ echo ""; \ echo "Suites:"; \ echo " just test::unit Unit tests"; \ echo " just test::integration Integration tests"; \ echo " just test::all All tests"; \ echo " just test::with-all-features Tests with all features"; \ echo ""; \ echo "Options:"; \ echo " just test::filter PATTERN Run tests matching pattern"; \ echo " just test::nocapture Run with output"; \ echo "" # Unit tests [doc("Run unit tests")] unit: cargo test --lib --all-features # Integration tests [doc("Run integration tests")] integration: cargo test --test '*' --all-features # All tests [doc("Run all tests")] all: cargo test --all-features # Tests with minimal features [doc("Run tests with minimal features")] minimal: cargo test --lib --no-default-features # Run tests matching pattern [doc("Run tests matching pattern")] filter PATTERN: cargo test --all-features {{ PATTERN }} # Run tests with specific features [doc("Run tests with specific features")] with-features FEATURES: @echo "🧪 Testing with features: {{ FEATURES }}" cargo test --features {{ FEATURES }} @echo "✅ Tests with {{ FEATURES }} complete" # Run tests with output [doc("Run tests with output (nocapture)")] nocapture: cargo test --all-features -- --nocapture # Doc tests [doc("Run documentation tests")] doc: cargo test --doc --all-features # Run single test [doc("Run single test by name")] one NAME: cargo test --lib --all-features {{ NAME }} -- --nocapture # Benchmark tests [doc("Run benchmarks")] bench: cargo bench --all-features # Test coverage (requires tarpaulin) [doc("Generate test coverage report")] coverage: @command -v cargo-tarpaulin > /dev/null || (echo "Installing cargo-tarpaulin..." && cargo install cargo-tarpaulin) cargo tarpaulin --all-features --out Html --output-dir coverage # Memory safety check with MIRI [doc("Run MIRI (memory safety checks)")] miri: cargo +nightly miri test --all-features # Check test compilation without running [doc("Check test compilation")] check-tests: cargo test --all-features --no-run