tests - Support running as `root` (for CI)
authorJohn Hodge <[email protected]>
Sun, 19 Sep 2021 07:08:09 +0000 (15:08 +0800)
committerJohn Hodge <[email protected]>
Sun, 19 Sep 2021 07:08:09 +0000 (15:08 +0800)
tests/TEST_basic.sh
tests/_common.sh

index 481e119..76c6490 100755 (executable)
@@ -4,14 +4,21 @@ TESTNAME=basic
 
 . _common.sh
 
-# Ensure that the databse doesn't already contain the current user
-# - 1. Protects against running the test against the production database
-# - 2. Allows adding the current user as an admin
-if $DISPENSE acct "$USER"; then
-       FAIL "Database contains '$USER'"
+# (CI runs as root, and root is auto-added by databse creation)
+if [[ "$USER" -ne "root" ]]; then
+       # Ensure that the databse doesn't already contain the current user
+       # - 1. Protects against running the test against the production database
+       # - 2. Allows adding the current user as an admin
+       if $DISPENSE acct "$USER"; then
+               FAIL "Database contains '$USER'"
+       fi
+       # Add the current user as an admin
+       sqlite3 "${BASEDIR}cokebank.db" "INSERT INTO accounts (acct_name,acct_is_admin,acct_uid) VALUES ('${USER}',1,1);"
+else
+       if $DISPENSE acct accmurph; then
+               FAIL "Database contains 'accmurph' (running as root, might be using prodution)"
+       fi
 fi
-# Add the current user as an admin
-sqlite3 "${BASEDIR}cokebank.db" "INSERT INTO accounts (acct_name,acct_is_admin,acct_uid) VALUES ('${USER}',1,1);"
 
 # Try to add a new user
 TRY_COMMAND "$DISPENSE user add unittest_user0"
index fa2f107..04d1657 100644 (file)
@@ -41,13 +41,13 @@ TRY_COMMAND() {
        fi
 }
 
-DISPENSE="../dispense -H localhost -P ${PORT}"
+DISPENSE="../dispense -f /dev/null -H localhost -P ${PORT}"
 
 LD_LIBRARY_PATH=.. ../dispsrv -f ${BASEDIR}cfg_server.conf --dont-daemonise > ${BASEDIR}server.log 2>&1 &
 server_pid=$!
 
 cleanup() {
-       if pidof dispsrv | grep ${server_pid}; then
+       if pidof dispsrv | grep ${server_pid} > /dev/null; then
                LOG "Killing ${server_pid}"
                kill ${server_pid}; true
        else

UCC git Repository :: git.ucc.asn.au