Fix flaky unit test on merge-triggered CI runs (#7)
CI / build-and-scan (push) Successful in 1m4s
CI / build-and-scan (push) Successful in 1m4s
- entrypoint.sh: bound the target connectivity check with `-w 2` (the only unbounded step in the startup path) - tests/entrypoint.bats: widen wait_for_log's budget from 5s to 10s Merge-triggered runs land on a colder runner (Docker cache evicted by other repos' scheduled jobs since the PR was last tested) than PR-check runs, and the first backgrounded entrypoint.sh in the suite was occasionally landing just past the old 5s window — always passed on rerun once warm.
This commit was merged in pull request #7.
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user