mirror of
https://github.com//cppla/ServerStatus
synced 2026-09-20 16:00:15 +08:00
38 lines
851 B
Bash
Executable File
38 lines
851 B
Bash
Executable File
#!/bin/sh
|
|
set -eu
|
|
|
|
ROOT=$(CDPATH='' cd -- "$(dirname "$0")/.." && pwd)
|
|
TEST_DIR=$(mktemp -d "${TMPDIR:-/tmp}/serverstatus-webui.XXXXXX")
|
|
SERVER_PID=""
|
|
|
|
# Invoked by trap.
|
|
# shellcheck disable=SC2329
|
|
cleanup() {
|
|
status=$?
|
|
trap - EXIT INT TERM HUP
|
|
if [ -n "$SERVER_PID" ]; then
|
|
kill "$SERVER_PID" 2>/dev/null || true
|
|
wait "$SERVER_PID" 2>/dev/null || true
|
|
fi
|
|
rm -rf "$TEST_DIR"
|
|
exit "$status"
|
|
}
|
|
trap cleanup EXIT INT TERM HUP
|
|
|
|
cp "$ROOT/tests/fixtures/config.json" "$TEST_DIR/config.json"
|
|
mkdir -p "$TEST_DIR/data"
|
|
|
|
(
|
|
cd "$ROOT/server"
|
|
go build -trimpath -o "$TEST_DIR/serverstatus" .
|
|
)
|
|
|
|
ADMIN_TOKEN=test-token "$TEST_DIR/serverstatus" \
|
|
--config="$TEST_DIR/config.json" \
|
|
--stats="$TEST_DIR/data/stats.json" \
|
|
--web-dir="$ROOT/web" \
|
|
--http=127.0.0.1:18080 \
|
|
--agent=127.0.0.1:35699 &
|
|
SERVER_PID=$!
|
|
wait "$SERVER_PID"
|