nigig-org/tools/run_map_tests.sh
Arena Bot 33dbece7d8
Some checks failed
nigig-build (CAD) / supply-chain (push) Has been cancelled
nigig-build (CAD) / cad-module (push) Has been cancelled
nigig-build (CAD) / full-crate-check (push) Has been cancelled
Payment domain and storage / isolated-payment-tests (push) Has been cancelled
PDF engine / engine (push) Has been cancelled
PDF engine / makepad-integration (push) Has been cancelled
PDF engine / fuzz (push) Has been cancelled
fix(ui): use valid syntax for assigning ids to metric values
2026-07-29 01:56:41 +00:00

118 lines
3.1 KiB
Bash

#!/bin/bash
# Test runner script for nigig-map
#
# Usage:
# ./tools/run_map_tests.sh [test_type]
#
# Test types:
# all - Run all tests (default)
# unit - Run unit tests only
# integration - Run integration tests only
# bench - Run benchmarks
# fuzz - Run fuzz tests (requires cargo-fuzz)
# coverage - Run tests with coverage (requires cargo-tarpaulin)
set -e
TEST_TYPE="${1:-all}"
echo "=========================================="
echo "Nigig Map Test Runner"
echo "=========================================="
echo ""
cd "$(dirname "$0")/../crates/apps/map"
case "$TEST_TYPE" in
all)
echo "Running all tests..."
echo ""
echo "--- Unit Tests ---"
cargo test --lib
echo ""
echo "--- Integration Tests ---"
cargo test --test tile_decode_integration
cargo test --test render_graph_tests
echo ""
echo "--- Clippy Lints ---"
cargo clippy -- -D warnings
echo ""
echo "--- Format Check ---"
cargo fmt -- --check
echo ""
echo "All tests passed! ✅"
;;
unit)
echo "Running unit tests..."
cargo test --lib
echo "Unit tests passed! ✅"
;;
integration)
echo "Running integration tests..."
cargo test --test tile_decode_integration
cargo test --test render_graph_tests
echo "Integration tests passed! ✅"
;;
bench)
echo "Running benchmarks..."
cargo bench
echo "Benchmarks complete! 📊"
;;
fuzz)
if ! command -v cargo-fuzz &> /dev/null; then
echo "Error: cargo-fuzz not installed"
echo "Install with: cargo install cargo-fuzz"
exit 1
fi
echo "Running fuzz tests..."
echo ""
echo "--- Fuzz MVT Parser (60s) ---"
cargo fuzz run fuzz_mvt_parser -- -max_total_time=60
echo ""
echo "--- Fuzz Overpass Parser (60s) ---"
cargo fuzz run fuzz_overpass_parser -- -max_total_time=60
echo ""
echo "--- Fuzz Tile Decode (60s) ---"
cargo fuzz run fuzz_tile_decode -- -max_total_time=60
echo ""
echo "Fuzz tests complete! 🔍"
;;
coverage)
if ! command -v cargo-tarpaulin &> /dev/null; then
echo "Error: cargo-tarpaulin not installed"
echo "Install with: cargo install cargo-tarpaulin"
exit 1
fi
echo "Running tests with coverage..."
cargo tarpaulin --out Html --output-dir target/coverage
echo "Coverage report generated at target/coverage/tarpaulin-report.html 📊"
;;
*)
echo "Unknown test type: $TEST_TYPE"
echo ""
echo "Usage: $0 [all|unit|integration|bench|fuzz|coverage]"
exit 1
;;
esac
echo ""
echo "=========================================="
echo "Test run complete!"
echo "=========================================="