my-homelab-configs/scripts/blockchain-test

38 lines
787 B
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
REPO_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
LAB_DIR="${REPO_ROOT}/labs/blockchain"
FOUNDRY_IMAGE="${FOUNDRY_IMAGE:-ghcr.io/foundry-rs/foundry:latest}"
usage() {
cat <<'EOF'
Usage: ./jeannie blockchain-test [forge args...]
Run Foundry tests for labs/blockchain. Extra arguments are passed to forge test.
EOF
}
case "${1:-}" in
-h|--help|help)
usage
exit 0
;;
esac
if command -v forge >/dev/null 2>&1; then
cd "$LAB_DIR"
exec forge test "$@"
fi
if ! command -v docker >/dev/null 2>&1; then
echo "forge or docker is required for blockchain-test." >&2
exit 1
fi
exec docker run --rm \
-v "${LAB_DIR}:/workspace" \
-w /workspace \
"$FOUNDRY_IMAGE" \
forge test "$@"