| #!/usr/bin/env bash | |
| set -o errexit -o nounset -o pipefail | |
| SERVER="$1" | |
| PORT=3099 | |
| TIMEOUT=30 | |
| export PORT | |
| "$SERVER" & | |
| SERVER_PID=$! | |
| cleanup() { | |
| kill "$SERVER_PID" 2>/dev/null || true | |
| wait "$SERVER_PID" 2>/dev/null || true | |
| } | |
| trap cleanup EXIT | |
| for i in $(seq 1 "$TIMEOUT"); do | |
| if ! kill -0 "$SERVER_PID" 2>/dev/null; then | |
| echo "FAIL: Server process died before responding" | |
| exit 1 | |
| fi | |
| if curl -sf "http://localhost:$PORT/" >/dev/null 2>&1; then | |
| echo "PASS: Next.js standalone server responded on port $PORT" | |
| exit 0 | |
| fi | |
| sleep 1 | |
| done | |
| echo "FAIL: Server did not respond within $TIMEOUT seconds" | |
| exit 1 |