33
scripts/lib/common.sh
Executable file
33
scripts/lib/common.sh
Executable file
@@ -0,0 +1,33 @@
|
||||
# Shared paths and helpers for Test3 scripts.
|
||||
# shellcheck shell=bash
|
||||
|
||||
_lm_lib_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
LM_ROOT="$(cd "$_lm_lib_dir/../.." && pwd)"
|
||||
LM_SCRIPTS="$(cd "$_lm_lib_dir/.." && pwd)"
|
||||
LM_CONTAINER="${LM_CONTAINER:-lidar-manager-limited}"
|
||||
LM_URL="${LM_URL:-http://127.0.0.1:8080}"
|
||||
LM_TEST_PORT="${LM_TEST_PORT:-18080}"
|
||||
|
||||
wait_for_health() {
|
||||
local base="${1:-$LM_URL}"
|
||||
local tries="${2:-40}"
|
||||
local i
|
||||
for ((i = 1; i <= tries; i++)); do
|
||||
if curl -sf "${base}/api/health" >/dev/null 2>&1; then
|
||||
return 0
|
||||
fi
|
||||
sleep 0.5
|
||||
done
|
||||
return 1
|
||||
}
|
||||
|
||||
free_port() {
|
||||
local port="$1"
|
||||
if command -v fuser >/dev/null 2>&1; then
|
||||
fuser -k "${port}/tcp" 2>/dev/null || true
|
||||
elif command -v lsof >/dev/null 2>&1; then
|
||||
local pids
|
||||
pids="$(lsof -ti "tcp:${port}" 2>/dev/null || true)"
|
||||
[[ -n "$pids" ]] && kill $pids 2>/dev/null || true
|
||||
fi
|
||||
}
|
||||
Reference in New Issue
Block a user