mirror of
https://github.com/jcreek/CosmicClash.git
synced 2026-09-10 16:04:04 +00:00
35 lines
1.3 KiB
Bash
Executable File
35 lines
1.3 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
root_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|
godot_bin="${GODOT_BIN:-/Applications/Godot.app/Contents/MacOS/Godot}"
|
|
|
|
if [[ ! -x "$godot_bin" ]]; then
|
|
echo "local multiplayer gate: Godot executable not found: $godot_bin" >&2
|
|
exit 2
|
|
fi
|
|
|
|
echo "local multiplayer gate: Go tests"
|
|
(cd "$root_dir/server" && go test ./...)
|
|
|
|
echo "local multiplayer gate: Go race and vet"
|
|
(cd "$root_dir/server" && go test -race ./...)
|
|
(cd "$root_dir/server" && go vet ./...)
|
|
|
|
echo "local multiplayer gate: bounded fuzz targets"
|
|
(cd "$root_dir/server" && go test ./domain -fuzz FuzzQueueCreateDoesNotPanic -fuzztime=2s)
|
|
(cd "$root_dir/server" && go test ./domain -fuzz FuzzResultDigestIsDeterministic -fuzztime=2s)
|
|
(cd "$root_dir/server" && go test ./domain -fuzz FuzzSyncEventApplicationDoesNotPanic -fuzztime=2s)
|
|
|
|
echo "local multiplayer gate: Godot harness"
|
|
"$godot_bin" --headless --path "$root_dir/Game" res://tests/test_runner.tscn
|
|
|
|
echo "local multiplayer gate: contracts and manifests"
|
|
python3 -m json.tool "$root_dir/server/contracts/v1/openapi.json" >/dev/null
|
|
python3 "$root_dir/server/migrations/test_migration.py"
|
|
python3 "$root_dir/server/security/test_fleet_manifests.py"
|
|
python3 "$root_dir/server/security/test_kubernetes_policies.py"
|
|
python3 "$root_dir/server/security/test_supply_chain.py"
|
|
|
|
echo "LOCAL MULTIPLAYER GATE PASS"
|