41 lines
1.1 KiB
Bash
Executable File
41 lines
1.1 KiB
Bash
Executable File
#!/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
|