@@ -47,8 +47,10 @@ clean_module() {
4747}
4848
4949start_nginx () {
50- printf " ${BLUE} Starting NGINX container (${IMAGE_NAME} )...${NC} \n"
51- docker run --rm --name " ${IMAGE_NAME} " -d -p 8000:80 ${FULL_IMAGE_NAME} > /dev/null
50+ local port=$( get_port)
51+
52+ printf " ${BLUE} Starting NGINX container (${IMAGE_NAME} ) on port ${port} ...${NC} \n"
53+ docker run --rm --name " ${IMAGE_NAME} " -d -p ${PORT} :80 ${FULL_IMAGE_NAME} > /dev/null
5254}
5355
5456stop_nginx () {
@@ -82,11 +84,13 @@ build_test_runner() {
8284 local dockerArgs=${1:- }
8385 local configHash=$( get_hash $( find test -type f -not -name ' test.sh' -not -name ' *.yml' -not -name ' Dockerfile*' ) )
8486 local sourceHash=$( get_hash test/test.sh)
85-
86- printf " ${BLUE} Building test runner...${NC} \n"
87+ local port=$( get_port)
88+
89+ printf " ${BLUE} Building test runner using port ${port} ...${NC} \n"
8790 docker compose -f ./test/docker-compose-test.yml build ${dockerArgs} \
8891 --build-arg CONFIG_HASH=${configHash} \
89- --build-arg SOURCE_HASH=${sourceHash}
92+ --build-arg SOURCE_HASH=${sourceHash} \
93+ --build-arg PORT=${port}
9094}
9195
9296rebuild_test_runner () {
@@ -105,7 +109,7 @@ test() {
105109 docker logs ${CONTAINER_NAME_PREFIX}
106110 printf " ${NC} \n"
107111 else
108- docker start -a ${CONTAINER_NAME_PREFIX} -runner
112+ test_now
109113 fi
110114
111115 docker compose -f ./test/docker-compose-test.yml down
@@ -119,6 +123,15 @@ get_hash() {
119123 sha1sum $@ | sed -E ' s|\s+|:|' | tr ' \n' ' ' | sha1sum | head -c 40
120124}
121125
126+ get_port () {
127+ for p in $( seq 8000 8100) ; do
128+ if ! ss -ln | grep -q " :${p} " ; then
129+ echo ${p}
130+ break
131+ fi
132+ done
133+ }
134+
122135if [ $# -eq 0 ]; then
123136 all
124137else
0 commit comments