v0.32.0
This commit is contained in:
1 parent
d23fa5e154
commit
81ab39e70a
51 files changed
+5352
-1489
No files matched your search
Executable
+44
@@ -0,0 +1,44 @@
|
||||
#!/usr/bin/env bash
|
||||
# Start two TCP and two UDP mock backends for RustProxy Stream tests.
|
||||
# Usage: ./start_stream_backends.sh [bind-host]
|
||||
# Defaults to loopback for safety. Use 0.0.0.0 only on a controlled test network.
|
||||
set -euo pipefail
|
||||
|
||||
DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)"
|
||||
HOST="${1:-127.0.0.1}"
|
||||
PYTHON="${PYTHON:-python3}"
|
||||
pids=()
|
||||
|
||||
for file in test_stream_tcp.py test_stream_udp.py; do
|
||||
if [[ ! -f "$DIR/$file" ]]; then
|
||||
echo "Missing $DIR/$file (place the launcher next to the two test scripts)" >&2
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
|
||||
cleanup() {
|
||||
trap - EXIT INT TERM
|
||||
if ((${#pids[@]})); then
|
||||
kill "${pids[@]}" 2>/dev/null || true
|
||||
wait "${pids[@]}" 2>/dev/null || true
|
||||
fi
|
||||
}
|
||||
trap cleanup EXIT
|
||||
trap 'exit 130' INT
|
||||
trap 'exit 143' TERM
|
||||
|
||||
"$PYTHON" "$DIR/test_stream_tcp.py" server --host "$HOST" --port 9101 --backend-id tcp-a & pids+=("$!")
|
||||
"$PYTHON" "$DIR/test_stream_tcp.py" server --host "$HOST" --port 9102 --backend-id tcp-b & pids+=("$!")
|
||||
"$PYTHON" "$DIR/test_stream_udp.py" server --host "$HOST" --port 9201 --backend-id udp-a & pids+=("$!")
|
||||
"$PYTHON" "$DIR/test_stream_udp.py" server --host "$HOST" --port 9202 --backend-id udp-b & pids+=("$!")
|
||||
|
||||
printf '\nMock backends for RustProxy (bind: %s):\n' "$HOST"
|
||||
printf 'TCP: %s:9101 (tcp-a), %s:9102 (tcp-b)\n' "$HOST" "$HOST"
|
||||
printf 'UDP: %s:9201 (udp-a), %s:9202 (udp-b)\n' "$HOST" "$HOST"
|
||||
printf 'UDP health probe: PING => PONG\n'
|
||||
printf 'Stop: Ctrl+C\n\n'
|
||||
|
||||
# Stop the group if any backend exits unexpectedly (e.g., port conflict).
|
||||
wait -n "${pids[@]}"
|
||||
echo 'A backend stopped; stopping all mock backends.' >&2
|
||||
exit 1
|
||||
Reference in new issue
Block a user