Skip to content

Commit ea14c1c

Browse files
committed
chore: parametrize RABBITMQ_START_TIMEOUT in scripts/test
1 parent 4258cd5 commit ea14c1c

File tree

2 files changed

+21
-8
lines changed

2 files changed

+21
-8
lines changed

.github/workflows/build_container.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,6 @@ jobs:
1818
run: scripts/build_container -g scratch -e BASE_IMAGE=scratch
1919

2020
- name: Run test script
21+
env:
22+
RABBITMQ_START_TIMEOUT: 180
2123
run: scripts/test

scripts/test

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,31 +4,42 @@ set -e
44

55
DIRNAME="$(dirname "$(readlink -f "$0")")"
66

7+
: "${RABBITMQ_START_TIMEOUT:=20}"
8+
79
trap rm_containters EXIT
10+
trap errors_found ERR
11+
12+
info_msg() { printf "[\033[34mINFO\033[0m] %b\n" "$*"; }
13+
error_msg() { printf "[\033[31mERROR\033[0m] %b\n" "$*"; }
814

915
rm_containters() {
10-
docker kill rdq-rabbitmq >/dev/null 2>&1
11-
docker kill rdq-busybox >/dev/null 2>&1
12-
docker kill rdq-test >/dev/null 2>&1
16+
docker kill rdq-test >/dev/null 2>&1 || true
17+
docker kill rdq-busybox >/dev/null 2>&1 || true
18+
docker kill rdq-rabbitmq >/dev/null 2>&1 || true
19+
}
20+
21+
errors_found() {
22+
error_msg "$0 didn't finish correctly: rc [\033[31m$?\033[0m]"
1323
}
1424

15-
# build docker image
25+
info_msg "Build rabbitmq-dump-queue test image"
1626
"${DIRNAME}/build_container" --target test \
1727
>/dev/null 2>&1
1828

19-
echo -e "[\033[34mINFO\033[0m] Start rabbitmq container"
29+
info_msg "Start rabbitmq container"
2030
docker run --network=host --rm -q \
2131
--detach \
2232
--name rdq-rabbitmq \
2333
rabbitmq:4-management >/dev/null
2434

25-
echo -e "[\033[34mINFO\033[0m] Wait for rabbitmq listener"
35+
info_msg "Wait for rabbitmq listener up to [\033[32m${RABBITMQ_START_TIMEOUT}s\033[0m]"
2636
docker run --network=host --rm -q \
2737
--name rdq-busybox \
38+
-e N="$RABBITMQ_START_TIMEOUT" \
2839
busybox \
29-
sh -c 'nc -w 20 -z localhost 5672 >/dev/null'
40+
sh -c 'while [ $N -ge 0 ]; do nc -z localhost 5672 >/dev/null && exit 0; sleep 1; N=$((N - 1)); done; exit 1'
3041

31-
echo -e "[\033[34mINFO\033[0m] Run tests"
42+
info_msg "Run tests"
3243
docker run --network=host --rm \
3344
--name rdq-test\
3445
rabbitmq-dump-queue:test

0 commit comments

Comments
 (0)