diff --git a/entrypoint.sh b/entrypoint.sh index 4c3923d..0d68ff9 100644 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -145,7 +145,7 @@ fi log "[~] Testing connection to target..." # Test if we can reach the target before starting socat -if ! nc -z "$TARGET_HOST" "$TARGET_PORT" 2>/dev/null; then +if ! nc -z -w 2 "$TARGET_HOST" "$TARGET_PORT" 2>/dev/null; then log "[!] Cannot connect to $TARGET_HOST:$TARGET_PORT - socat will retry automatically" else log "[✓] Connection to $TARGET_HOST:$TARGET_PORT is working" diff --git a/tests/entrypoint.bats b/tests/entrypoint.bats index 2146d76..bf09219 100644 --- a/tests/entrypoint.bats +++ b/tests/entrypoint.bats @@ -58,7 +58,11 @@ socat_pid() { wait_for_log() { pattern="$1" tries=0 - while [ "$tries" -lt 20 ]; do + # 40 * 0.25s = 10s — merge-triggered runs can land on a cold runner + # (evicted Docker cache, first container start), pushing the very first + # backgrounded entrypoint.sh past a tighter budget even though nothing's + # actually wrong; a rerun on a warm runner always passes. + while [ "$tries" -lt 40 ]; do grep -qE "$pattern" "$LOG" 2>/dev/null && return 0 tries=$((tries + 1)) sleep 0.25