#!/usr/bin/env bash set -euo pipefail cd "$(dirname "$0")/.." repo="$PWD" godot_bin="${GODOT:-$(which godot 2>/dev/null || echo "/Applications/Godot.app/Contents/MacOS/Godot")}" server="$repo/build/extension/src/port/port_fake_login_server" server_pid="" cleanup() { if [ -n "$server_pid" ]; then kill -TERM "$server_pid" 2>/dev/null || true wait "$server_pid" 2>/dev/null || true fi } trap cleanup EXIT fifo="/tmp/server.ports" rm -f "$fifo" mkfifo "$fifo" 2>/dev/null || touch "$fifo" "$server" > "$fifo" 2> "/tmp/server.log" & server_pid=$! for _ in $(seq 50); do [ -s "$fifo" ] && break sleep 0.1 done read -r word auth_port game_port < "$fifo" || true if [ "${word:-}" != "ports" ]; then echo "Error: fake server did not start" >&2 exit 1 fi export MT_LIVE_HOST=127.0.0.1 export MT_LIVE_LOGIN=fakeuser export MT_LIVE_PASSWORD=fakepass export MT_LIVE_AUTH_PORT="$auth_port" export MT_LIVE_GAME_PORT="$game_port" export MT_LIVE_SLOT=0 echo "Running test with Godot: $godot_bin" "$godot_bin" --path "$repo/project" --script res://test_select_character.gd