# MLF Test Suite # Run with: just test # Default: run all tests default: test # Run all tests (excluding problematic packages) test: test-lang test-codegen test-diagnostics test-lexicon-fetcher test-validation # Run only language tests (mlf-lang crate) test-lang: @echo "Running mlf-lang integration tests..." cargo test -p mlf-lang --test integration_test -- --nocapture # Run codegen integration tests (multi-crate) test-codegen: @echo "\nRunning codegen integration tests..." cargo test -p mlf-integration-tests --test codegen_integration -- --nocapture # Run diagnostics integration tests (multi-crate) test-diagnostics: @echo "\nRunning diagnostics integration tests..." cargo test -p mlf-integration-tests --test diagnostics_integration -- --nocapture # Run lexicon fetcher tests test-lexicon-fetcher: @echo "\nRunning lexicon fetcher tests..." cargo test -p mlf-lexicon-fetcher -- --nocapture # Run validation tests test-validation: @echo "\nRunning validation tests..." cargo test -p mlf-validation # Run CLI integration tests (when implemented) test-cli: @echo "\nRunning CLI integration tests..." cargo test -p mlf-integration-tests --test cli_integration -- --nocapture # Run workspace resolution tests (when implemented) test-workspace: @echo "\nRunning workspace resolution tests..." cargo test -p mlf-integration-tests --test workspace_integration -- --nocapture # Run real-world round-trip tests (network-dependent, ignored by default) test-real-world: @echo "\n🌐 Running real-world round-trip tests (fetches from network)..." @echo "This will download lexicons from: app.bsky.*, net.anisota.*, place.stream.*, pub.leaflet.*" @echo "" cargo test -p mlf-integration-tests --test real_world_roundtrip -- --ignored --nocapture # Run all workspace tests (excluding problematic packages) test-all: @echo "Running all workspace tests..." cargo test --workspace --exclude tree-sitter-mlf --exclude mlf-wasm # Run tests with verbose output test-verbose: cargo test --workspace --exclude tree-sitter-mlf --exclude mlf-wasm -- --nocapture # Quick check without running tests check: cargo check --workspace --exclude tree-sitter-mlf # Format code fmt: cargo fmt --all # Run clippy lint: cargo clippy --workspace --exclude tree-sitter-mlf # Build everything build: cargo build --workspace --exclude tree-sitter-mlf # Build release build-release: cargo build --workspace --exclude tree-sitter-mlf --release # Clean build artifacts clean: cargo clean # Show test statistics test-stats: @echo "Test Statistics:" @echo " Lang tests: 21 tests in mlf-lang/tests/lang/" @echo " Codegen tests: 10 tests in tests/codegen/lexicon/" @echo " Diagnostics tests: 1 test in tests/diagnostics/" @echo " Lexicon fetcher tests: 33 tests in mlf-lexicon-fetcher/" @echo " Validation tests: 12 tests in mlf-validation" @echo "" @echo "Total integration tests: 77" # List all test directories test-list: @echo "Lang tests:" @ls -1 mlf-lang/tests/lang/*/ @echo "\nCodegen tests:" @ls -1 tests/codegen/lexicon/*/