From 674c5c0b50247a280a5e6ab0ce1c252579db6407 Mon Sep 17 00:00:00 2001 From: John Hodge Date: Sun, 19 Sep 2021 14:57:16 +0800 Subject: [PATCH] Gitlab CI - Fix tests (take 2) --- .gitlab-ci.yml | 4 +++- tests/TEST_basic.sh | 2 +- tests/_common.sh | 11 +++++++++-- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index bbfd057..c16ff8e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -9,7 +9,7 @@ build: # instead of calling g++ directly you can also use some build toolkit like make # install the necessary build tools when needed before_script: - - apt update && apt -y install libncurses-dev libmodbus-dev libsqlite3-dev libident-dev netcat + - apt update && apt -y install libncurses-dev libmodbus-dev libsqlite3-dev libident-dev script: - make -C src/ artifacts: @@ -25,5 +25,7 @@ build: # run tests using the binary built before test: stage: test + before_script: + - apt update && apt -y install libncurses libmodbus libsqlite3 libident netcat script: - cd tests && ./TEST_basic.sh diff --git a/tests/TEST_basic.sh b/tests/TEST_basic.sh index dccdc6d..481e119 100755 --- a/tests/TEST_basic.sh +++ b/tests/TEST_basic.sh @@ -1,5 +1,5 @@ #!/bin/bash -set -eux +set -eu TESTNAME=basic . _common.sh diff --git a/tests/_common.sh b/tests/_common.sh index cb31ac7..fa2f107 100644 --- a/tests/_common.sh +++ b/tests/_common.sh @@ -1,6 +1,7 @@ # # NOTE: Not a script, to be included by scripts # +USER=$(id -un) BASEDIR=rundir/${TESTNAME}/ PORT=22222 @@ -34,6 +35,7 @@ FAIL() { } TRY_COMMAND() { cmd="$*" + echo ">> $cmd" if ! $cmd ; then FAIL "Command \`$cmd\` failed" fi @@ -45,8 +47,12 @@ LD_LIBRARY_PATH=.. ../dispsrv -f ${BASEDIR}cfg_server.conf --dont-daemonise > ${ server_pid=$! cleanup() { - LOG "Killing ${server_pid}" - kill ${server_pid}; true + if pidof dispsrv | grep ${server_pid}; then + LOG "Killing ${server_pid}" + kill ${server_pid}; true + else + LOG "Server already terminated" + fi } trap cleanup EXIT @@ -57,4 +63,5 @@ if ! (echo "" | nc localhost ${PORT}); then LOG "Server not responding on ${PORT}" LOG "Server log contents:" cat ${BASEDIR}server.log + exit 1 fi -- 2.20.1