#!/usr/bin/env bash # Run all tests in parallel set -e cd "$(dirname "$0")/../.." echo "=== ๐Ÿงช Running Tests in Parallel ===" # Create test results directory mkdir -p test-results # Run Foundry tests (excluding CCIP integration) echo "Running Foundry tests..." forge test --no-match-path 'test/ccip-integration/*' --json > test-results/foundry.json 2>&1 & FORGE_PID=$! # Run Hardhat tests (if any) if [ -d "test/hardhat" ]; then echo "Running Hardhat tests..." npx hardhat test > test-results/hardhat.log 2>&1 & HARDHAT_PID=$! else HARDHAT_PID="" fi # Wait for all tests wait $FORGE_PID FORGE_EXIT=$? if [ -n "$HARDHAT_PID" ]; then wait $HARDHAT_PID HARDHAT_EXIT=$? else HARDHAT_EXIT=0 fi # Report results echo "" echo "=== Test Results ===" if [ $FORGE_EXIT -eq 0 ]; then echo "โœ… Foundry tests: PASSED" else echo "โŒ Foundry tests: FAILED" fi if [ -n "$HARDHAT_PID" ]; then if [ $HARDHAT_EXIT -eq 0 ]; then echo "โœ… Hardhat tests: PASSED" else echo "โŒ Hardhat tests: FAILED" fi fi exit $((FORGE_EXIT + HARDHAT_EXIT))