Skip to content

Commit bd20426

Browse files
authored
ci: debugging blackbox failures (#3453)
Signed-off-by: Andrei Aaron <andreifdaaron@gmail.com>
1 parent b0f917a commit bd20426

2 files changed

Lines changed: 29 additions & 4 deletions

File tree

test/blackbox/helpers_events.bash

Lines changed: 25 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,11 +35,15 @@ function http_server_start() {
3535

3636
mkdir -p "${dir}"
3737

38+
echo "# starting HTTP server container '${cname}' on port ${port}..." >&3
39+
3840
docker run -d --rm --name "${cname}" \
3941
-p "${port}:8080" \
4042
-v "${dir}":/data \
41-
python:3 sh -c '
42-
pip install flask > /dev/null && \
43+
python:3 sh -c ' \
44+
echo "Installing Flask..." >&2 && \
45+
pip install flask > /dev/null 2>&1 && \
46+
echo "Flask installed, starting server..." >&2 && \
4347
echo "
4448
import os
4549
import json
@@ -98,6 +102,17 @@ def receive_event():
98102
app.run(host=\"0.0.0.0\", port=8080)
99103
" > app.py && python app.py
100104
'
105+
106+
# Give container a moment to start
107+
sleep 2
108+
109+
# Check if container is running
110+
if docker ps --format "table {{.Names}}" | grep -q "^${cname}$"; then
111+
echo "# HTTP server container '${cname}' started successfully" >&3
112+
else
113+
echo "# WARNING: HTTP server container '${cname}' may not have started properly" >&3
114+
docker logs "${cname}" 2>&1 | head -10 >&3
115+
fi
101116
}
102117

103118
function http_server_stop() {
@@ -107,16 +122,23 @@ function http_server_stop() {
107122

108123
function wait_for_http_server() {
109124
local port="$1"
110-
local timeout=10
125+
local timeout=30
111126
local elapsed=0
112127

128+
echo "# waiting for HTTP server on port ${port}..." >&3
129+
113130
while [ "$elapsed" -lt "$timeout" ]; do
114131
if curl --silent --fail --output /dev/null "http://127.0.0.1:${port}/reset"; then
132+
echo "# HTTP server ready on port ${port} after ${elapsed}s" >&3
115133
return 0
116134
fi
117135
sleep 1
118136
elapsed=$((elapsed + 1))
137+
if [ $((elapsed % 5)) -eq 0 ]; then
138+
echo "# still waiting for HTTP server on port ${port}... (${elapsed}s elapsed)" >&3
139+
fi
119140
done
120141

142+
echo "# HTTP server failed to start on port ${port} after ${timeout}s" >&3
121143
return 1
122144
}

test/blackbox/helpers_zot.bash

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,10 @@ function zot_serve() {
2121

2222
# stops all zot instances started by the test
2323
function zot_stop_all() {
24-
kill $(cat ${BATS_FILE_TMPDIR}/zot.pid)
24+
if [ -f "${BATS_FILE_TMPDIR}/zot.pid" ]; then
25+
kill $(cat ${BATS_FILE_TMPDIR}/zot.pid) 2>/dev/null || true
26+
rm -f ${BATS_FILE_TMPDIR}/zot.pid
27+
fi
2528
}
2629

2730
function wait_zot_reachable() {

0 commit comments

Comments
 (0)