fix:更新客户端功能
This commit is contained in:
49
scripts/local_peer_smoke_test.sh
Executable file
49
scripts/local_peer_smoke_test.sh
Executable file
@@ -0,0 +1,49 @@
|
||||
#!/usr/bin/env bash
|
||||
# 本机 hub/peer smoke 测试:
|
||||
# - 启动 1 个 omni_hub
|
||||
# - 启动 2 个 omni_peer(beta 常驻,alpha 发一条消息给 beta)
|
||||
# - 校验 beta 日志里确实收到了 alpha 的消息
|
||||
set -euo pipefail
|
||||
|
||||
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
||||
BUILD_DIR="$ROOT_DIR/build"
|
||||
TMP_DIR="$(mktemp -d /tmp/omnisocket-peer-smoke.XXXXXX)"
|
||||
PORT=$((30000 + (RANDOM % 20000)))
|
||||
|
||||
PIDS=()
|
||||
|
||||
cleanup() {
|
||||
for pid in "${PIDS[@]:-}"; do
|
||||
kill "$pid" 2>/dev/null || true
|
||||
wait "$pid" 2>/dev/null || true
|
||||
done
|
||||
rm -rf "$TMP_DIR"
|
||||
}
|
||||
trap cleanup EXIT
|
||||
|
||||
log() {
|
||||
printf '[peer-smoke] %s\n' "$1"
|
||||
}
|
||||
|
||||
log "building hub/peer binaries"
|
||||
make -C "$ROOT_DIR" build/omni_hub build/omni_peer >/dev/null
|
||||
|
||||
log "starting hub on port $PORT"
|
||||
"$BUILD_DIR/omni_hub" -P "$PORT" >"$TMP_DIR/hub.log" 2>&1 &
|
||||
HUB_PID=$!
|
||||
PIDS+=("$HUB_PID")
|
||||
sleep 1
|
||||
|
||||
log "starting beta peer"
|
||||
"$BUILD_DIR/omni_peer" -H 127.0.0.1 -P "$PORT" -i beta -w 4 >"$TMP_DIR/beta.log" 2>&1 &
|
||||
BETA_PID=$!
|
||||
PIDS+=("$BETA_PID")
|
||||
sleep 1
|
||||
|
||||
log "starting alpha peer and sending command"
|
||||
"$BUILD_DIR/omni_peer" -H 127.0.0.1 -P "$PORT" -i alpha -b beta -d beta -m "hello-from-alpha" -w 2 >"$TMP_DIR/alpha.log" 2>&1
|
||||
wait "$BETA_PID"
|
||||
|
||||
grep -q "\[peer alpha -> beta\] hello-from-alpha" "$TMP_DIR/beta.log"
|
||||
|
||||
log "peer command tunnel passed"
|
||||
Reference in New Issue
Block a user