1234567891011121314151617181920212223242526272829303132333435 |
- #!/bin/bash
- # Change directory to the first argument passed to the script
- cd "$1" || exit 1
- echo "Changed directory to $1"
- # Start the server in the background
- poetry run pc run --env "$2" & pid=$!
- echo "Started server with PID $pid"
- # Wait for ports 3000 and 8000 to become available
- wait_time=0
- while ! nc -z localhost 3000 || ! lsof -i :8000 >/dev/null; do
- if ! kill -0 "$pid" >/dev/null 2>&1; then
- echo "Error: Server process with PID $pid exited early"
- break
- fi
- if ((wait_time >= 600)); then
- echo "Error: Timeout waiting for ports 3000 and 8000 to become available"
- exit 1
- fi
- sleep 5
- ((wait_time += 5))
- echo "Waiting for ports 3000 and 8000 to become available (waited $wait_time seconds)..."
- done
- # Check if the server is still running
- if kill -0 "$pid" >/dev/null 2>&1; then
- echo "Integration test passed"
- kill -TERM $(pgrep -P "$pid")
- exit 0
- else
- echo "Integration test failed"
- exit 1
- fi
|