]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
test: "detect" the test number automagically
authorFrantisek Sumsal <frantisek@sumsal.cz>
Mon, 26 Apr 2021 17:20:18 +0000 (19:20 +0200)
committerFrantisek Sumsal <frantisek@sumsal.cz>
Mon, 26 Apr 2021 17:20:18 +0000 (19:20 +0200)
Specifying the test number manually is tedious and prone to errors (as
recently proven). Since we have all the necessary data to work out the
test number, let's do it automagically.

54 files changed:
test/TEST-01-BASIC/test.sh
test/TEST-02-UNITTESTS/test.sh
test/TEST-03-JOBS/test.sh
test/TEST-04-JOURNAL/test.sh
test/TEST-05-RLIMITS/test.sh
test/TEST-06-SELINUX/test.sh
test/TEST-07-ISSUE-1981/test.sh
test/TEST-08-ISSUE-2730/test.sh
test/TEST-09-ISSUE-2691/test.sh
test/TEST-10-ISSUE-2467/test.sh
test/TEST-11-ISSUE-3166/test.sh
test/TEST-12-ISSUE-3171/test.sh
test/TEST-13-NSPAWN-SMOKE/test.sh
test/TEST-14-MACHINE-ID/test.sh
test/TEST-15-DROPIN/test.sh
test/TEST-16-EXTEND-TIMEOUT/test.sh
test/TEST-17-UDEV/test.sh
test/TEST-18-FAILUREACTION/test.sh
test/TEST-19-DELEGATE/test.sh
test/TEST-20-MAINPIDGAMES/test.sh
test/TEST-22-TMPFILES/test.sh
test/TEST-23-TYPE-EXEC/test.sh
test/TEST-24-CRYPTSETUP/test.sh
test/TEST-25-IMPORT/test.sh
test/TEST-26-SETENV/test.sh
test/TEST-27-STDOUTFILE/test.sh
test/TEST-28-PERCENTJ-WANTEDBY/test.sh
test/TEST-29-PORTABLE/test.sh
test/TEST-30-ONCLOCKCHANGE/test.sh
test/TEST-31-DEVICE-ENUMERATION/test.sh
test/TEST-32-OOMPOLICY/test.sh
test/TEST-33-CLEAN-UNIT/test.sh
test/TEST-34-DYNAMICUSERMIGRATE/test.sh
test/TEST-36-NUMAPOLICY/test.sh
test/TEST-37-RUNTIMEDIRECTORYPRESERVE/test.sh
test/TEST-38-FREEZER/test.sh
test/TEST-39-EXECRELOAD/test.sh
test/TEST-40-EXEC-COMMAND-EX/test.sh
test/TEST-41-ONESHOT-RESTART/test.sh
test/TEST-42-EXECSTOPPOST/test.sh
test/TEST-43-PRIVATEUSER-UNPRIV/test.sh
test/TEST-44-LOG-NAMESPACE/test.sh
test/TEST-46-HOMED/test.sh
test/TEST-47-ISSUE-14566/test.sh
test/TEST-48-START-STOP-NO-RELOAD/test.sh
test/TEST-49-RUNTIME-BIND-PATHS/test.sh
test/TEST-50-DISSECT/test.sh
test/TEST-51-ISSUE-16115/test.sh
test/TEST-53-ISSUE-16347/test.sh
test/TEST-54-CREDS/test.sh
test/TEST-56-EXIT-TYPE/test.sh
test/TEST-58-REPART/test.sh
test/TEST-59-RELOADING-RESTART/test.sh
test/test-functions

index 3de0e51d5a3af73ce616f0e7dbcda5f860e102f4..d42c0df9a02948f90171779d57d030d961b5772f 100755 (executable)
@@ -16,4 +16,4 @@ test_append_files() {
     cp -v "$TEST_UNITS_DIR"/{testsuite-01,end}.service "$TEST_UNITS_DIR/testsuite.target" "$dst"
 }
 
-do_test "$@" 01
+do_test "$@"
index f7545b7620cac10b868831907445ae4a61fd0e06..906d7cacd489fca358f9dbc8e6f789e685cbff53 100755 (executable)
@@ -71,4 +71,4 @@ check_result_qemu() {
     return $ret
 }
 
-do_test "$@" 02
+do_test "$@"
index d719238d1ab6076949c89bc07146884f865e2cf7..4ffa1bd6f4f9f02424a1665ac90f52be69c72e95 100755 (executable)
@@ -8,4 +8,4 @@ IMAGE_NAME="default"
 # shellcheck source=test/test-functions
 . "${TEST_BASE_DIR:?}/test-functions"
 
-do_test "$@" 03
+do_test "$@"
index 66182435da79e17fabd2fc4c08889f26f48497d3..3d7dff976bcaadfd9233c58cab41c6d4e02eb27c 100755 (executable)
@@ -6,4 +6,4 @@ TEST_DESCRIPTION="Journal-related tests"
 # shellcheck source=test/test-functions
 . "${TEST_BASE_DIR:?}/test-functions"
 
-do_test "$@" 04
+do_test "$@"
index f95c198f1a35b2b89fcb09d98db4d3423ac45815..12b4530dd4504d2ccbe097b7cc1e70d88a282b74 100755 (executable)
@@ -6,4 +6,4 @@ TEST_DESCRIPTION="Resource limits-related tests"
 # shellcheck source=test/test-functions
 . "${TEST_BASE_DIR:?}/test-functions"
 
-do_test "$@" 05
+do_test "$@"
index 984caf4b4fa18977f2c7bc96b74f0d5c652ded9e..978c930b71ac00872fec3a9a36f4d18c40f124e4 100755 (executable)
@@ -54,4 +54,4 @@ test_append_files() {
     )
 }
 
-do_test "$@" 06
+do_test "$@"
index bcb7584cb167aacf616805bdecf2f1a62ac132c8..d195dcf184a25c640ab16f2855044b1bae3fce0d 100755 (executable)
@@ -9,4 +9,4 @@ TEST_NO_QEMU=1
 
 NSPAWN_TIMEOUT=30
 
-do_test "$@" 07
+do_test "$@"
index 0e66aa88de937dc2e924c4e27b620bf2be5c4165..76927be429108e64bdafb5c6b5500ffc39b04546 100755 (executable)
@@ -12,4 +12,4 @@ QEMU_TIMEOUT=300
 FSTYPE=ext4
 TEST_FORCE_NEWIMAGE=1
 
-do_test "$@" 08
+do_test "$@"
index 19eb3ac6b3b94a3758fd502e8ccdaf6ba2f3d022..3c92efbcc2b81a8a11d3d94bddd504a6b3ac57a3 100755 (executable)
@@ -9,4 +9,4 @@ TEST_NO_NSPAWN=1
 
 QEMU_TIMEOUT=300
 
-do_test "$@" 09
+do_test "$@"
index c0b8e27164e8d0cf6b5d3bb9b764fb9f9f258c02..2a16ff3baabb52a967b6e9eb1a5a6c23fe775013 100755 (executable)
@@ -6,4 +6,4 @@ TEST_DESCRIPTION="https://github.com/systemd/systemd/issues/2467"
 # shellcheck source=test/test-functions
 . "${TEST_BASE_DIR:?}/test-functions"
 
-do_test "$@" 10
+do_test "$@"
index e8189f5276c2fcf4931be936daf42e15e80a4d89..15ecbe51a31223fbdd818422bccb50065439d0cb 100755 (executable)
@@ -7,4 +7,4 @@ TEST_NO_NSPAWN=1
 # shellcheck source=test/test-functions
 . "${TEST_BASE_DIR:?}/test-functions"
 
-do_test "$@" 11
+do_test "$@"
index 52e33cdfdbc9751deb85d08f5441dc5b5dd9f0f7..6e250b76690c57ed4108c9cc0a939ebd0d6aa7d1 100755 (executable)
@@ -7,4 +7,4 @@ TEST_NO_QEMU=1
 # shellcheck source=test/test-functions
 . "${TEST_BASE_DIR:?}/test-functions"
 
-do_test "$@" 12
+do_test "$@"
index 05a33e0716af04c3e540fd049dc52d12aae39eef..18db8d4284f319627c86f2e6cfd13dd546cf3062 100755 (executable)
@@ -17,4 +17,4 @@ test_append_files() {
     )
 }
 
-do_test "$@" 13
+do_test "$@"
index 3507915bb9044cc21701a2e8e08d32b9b101ccd3..14d30ec1e11f044e2d76ac39a4bf03977ae0bfcd 100755 (executable)
@@ -12,4 +12,4 @@ test_append_files() {
     printf "556f48e837bc4424a710fa2e2c9d3e3c\ne3d\n" >"${1:?}/etc/machine-id"
 }
 
-do_test "$@" 14
+do_test "$@"
index 134ed7bba3b68215022f7b8eed613852e2f90618..f4422d4c7f313e3356d732174c06b4a5e0ae1ec2 100755 (executable)
@@ -7,4 +7,4 @@ TEST_NO_QEMU=1
 # shellcheck source=test/test-functions
 . "${TEST_BASE_DIR:?}/test-functions"
 
-do_test "$@" 15
+do_test "$@"
index 60c0dd1ee2ce81696292946b982689074523a1f5..dd43902967fd2e27df0927d5772786a32773f406 100755 (executable)
@@ -8,4 +8,4 @@ TEST_NO_QEMU=1
 # shellcheck source=test/test-functions
 . "${TEST_BASE_DIR:?}/test-functions"
 
-do_test "$@" 16
+do_test "$@"
index 2a4cef2fa5e4cdae4bcf9d2714d5ce7e7142c4d2..43119d4c10213beab95154e9c9c3154ef924c17b 100755 (executable)
@@ -17,4 +17,4 @@ test_append_files() {
     )
 }
 
-do_test "$@" 17
+do_test "$@"
index 913c254f5d1c9bb5bc4ce01418685d133c7081af..2e7ed0c2d65321c98bd27b30991198ace4818118 100755 (executable)
@@ -8,4 +8,4 @@ TEST_DESCRIPTION="FailureAction= operation"
 
 QEMU_TIMEOUT=600
 
-do_test "$@" 18
+do_test "$@"
index a25c28ef4ee88da6f56291beb9bafaa8747eb29a..165b31f7877572022e170768a2734e84db705010 100755 (executable)
@@ -10,4 +10,4 @@ TEST_NO_NSPAWN=1
 QEMU_TIMEOUT=600
 UNIFIED_CGROUP_HIERARCHY=yes
 
-do_test "$@" 19
+do_test "$@"
index 96c85db909fc441df9cf80f9c9b43d326257283a..bb9ddcde228d567b478f6356e1d63dff14837730 100755 (executable)
@@ -6,4 +6,4 @@ TEST_DESCRIPTION="test changing main PID"
 # shellcheck source=test/test-functions
 . "${TEST_BASE_DIR:?}/test-functions"
 
-do_test "$@" 20
+do_test "$@"
index 7038864deb91144a1d59dccdc283f4931ac0d55c..2d4d4d92c995555367d0dd7a62c76920c433bcc3 100755 (executable)
@@ -18,4 +18,4 @@ test_append_files() {
     fi
 }
 
-do_test "$@" 22
+do_test "$@"
index 2d1b938071c4abb81ab504219e7850714f3b246a..fb77dc7ab3283576dd95a48a88733e16aa10dd90 100755 (executable)
@@ -6,4 +6,4 @@ TEST_DESCRIPTION="test Type=exec"
 # shellcheck source=test/test-functions
 . "${TEST_BASE_DIR:?}/test-functions"
 
-do_test "$@" 23
+do_test "$@"
index 109d403568c3d301c67528119d49158ff28ff2e3..2c13126a436db54c5ee16019d8275b1f94866c67 100755 (executable)
@@ -86,4 +86,4 @@ test_setup_cleanup() {
     cleanup_initdir
 }
 
-do_test "$@" 24
+do_test "$@"
index 51dae2d887ee604e1a56c76ef66adee44e5b786b..6fff9e51083b534ed658d80e1d2e4f96b23dc1b8 100755 (executable)
@@ -6,4 +6,4 @@ TEST_DESCRIPTION="test importd"
 # shellcheck source=test/test-functions
 . "${TEST_BASE_DIR:?}/test-functions"
 
-do_test "$@" 25
+do_test "$@"
index 2523e20929b07113b3e8c091802f93b6e25f6fd4..fe4c517895cb811710f471d198c8ed0b76e615d0 100755 (executable)
@@ -6,4 +6,4 @@ TEST_DESCRIPTION="test setenv"
 # shellcheck source=test/test-functions
 . "${TEST_BASE_DIR:?}/test-functions"
 
-do_test "$@" 26
+do_test "$@"
index f19ac4ac8c63c1c48257a65e10364860e191ea2f..144b88fa309c485235c9ece17785310725c40875 100755 (executable)
@@ -6,4 +6,4 @@ TEST_DESCRIPTION="test StandardOutput=file:"
 # shellcheck source=test/test-functions
 . "${TEST_BASE_DIR:?}/test-functions"
 
-do_test "$@" 27
+do_test "$@"
index 5525538463603f58983fd4e4c399dcc72d3dafe3..d535c416845e7774661259d65c7b85a0ad506d4e 100755 (executable)
@@ -7,4 +7,4 @@ RUN_IN_UNPRIVILEGED_CONTAINER=yes
 # shellcheck source=test/test-functions
 . "${TEST_BASE_DIR:?}/test-functions"
 
-do_test "$@" 28
+do_test "$@"
index 9eff1d797e1040a84f8e5ee63707c86c6a0522db..579e04dbf5071e41a4236366acdc1f6c4deccb75 100755 (executable)
@@ -27,4 +27,4 @@ test_append_files() {
     )
 }
 
-do_test "$@" 29
+do_test "$@"
index 6a201514dced79ac8a88cc3104889fc1d0e2bad6..aefe4bb00d74140e492a3b1902da35c11b9f8ea2 100755 (executable)
@@ -7,4 +7,4 @@ TEST_NO_NSPAWN=1
 # shellcheck source=test/test-functions
 . "${TEST_BASE_DIR:?}/test-functions"
 
-do_test "$@" 30
+do_test "$@"
index a474ec84edba2b681a73638e860a4acf444e4907..809f7fdca786581c9023b4834a2d0eee17f9b811 100755 (executable)
@@ -9,4 +9,4 @@ TEST_NO_NSPAWN=1
 
 QEMU_TIMEOUT=300
 
-do_test "$@" 31
+do_test "$@"
index 11290fd8e419f3b1f5aa7bf72797b62d24046881..299bfe443af87c2ca8ca9b45711d95ea83d19ca9 100755 (executable)
@@ -9,4 +9,4 @@ TEST_NO_NSPAWN=1
 
 UNIFIED_CGROUP_HIERARCHY=yes
 
-do_test "$@" 32
+do_test "$@"
index 0fcaae69e32a64c2915b857666938f083e3f157f..d49a85828cc0c124e2f2b7c8ffb9c88087bfc6c9 100755 (executable)
@@ -8,4 +8,4 @@ TEST_DESCRIPTION="test CleanUnit"
 # shellcheck source=test/test-functions
 . "${TEST_BASE_DIR:?}/test-functions"
 
-do_test "$@" 33
+do_test "$@"
index d30113c75741408773448099e0c2c841cced3045..4d5ca336f15a72414c3d34c60f3b4fa8bc7f4739 100755 (executable)
@@ -6,4 +6,4 @@ TEST_DESCRIPTION="test migrating state directory from DynamicUser=1 to DynamicUs
 # shellcheck source=test/test-functions
 . "${TEST_BASE_DIR:?}/test-functions"
 
-do_test "$@" 34
+do_test "$@"
index 9422a16083351e0fb103a8402166f421f0beafbf..f1c36b3d6b64d069b1850698a31f819341447f9a 100755 (executable)
@@ -13,4 +13,4 @@ else
     QEMU_OPTIONS="-numa node,nodeid=0"
 fi
 
-do_test "$@" 36
+do_test "$@"
index 72e312fca0c22adcb9dbe689eb2be8560f421137..ebe4c4f1b5172b3a20a47934f1fc6d7e6af9700a 100755 (executable)
@@ -8,4 +8,4 @@ TEST_DESCRIPTION="test RuntimeDirectoryPreserve=yes"
 # shellcheck source=test/test-functions
 . "${TEST_BASE_DIR:?}/test-functions"
 
-do_test "$@" 37
+do_test "$@"
index 524180b1ad1a4c1f27e843e6606e6a187888baa1..dab05022bebfd64b4ee662ad7eb69213f8c814da 100755 (executable)
@@ -7,4 +7,4 @@ TEST_NO_NSPAWN=1
 # shellcheck source=test/test-functions
 . "${TEST_BASE_DIR:?}/test-functions"
 
-do_test "$@" 38
+do_test "$@"
index 8f09ff1ac833f520fb2dc99942df63728e07b781..653aee13ab5578bc4736d7e50d6ac2c1a0bc5934 100755 (executable)
@@ -6,4 +6,4 @@ TEST_DESCRIPTION="Test ExecReload= (PR #13098)"
 # shellcheck source=test/test-functions
 . "${TEST_BASE_DIR:?}/test-functions"
 
-do_test "$@" 39
+do_test "$@"
index 4e998d31f83813a4be2c7d17e2bfbda0807e43e9..bbbbad70647416a36720557a49d361c4ec63d841 100755 (executable)
@@ -6,4 +6,4 @@ TEST_DESCRIPTION="test ExecXYZEx= service unit dbus hookups"
 # shellcheck source=test/test-functions
 . "${TEST_BASE_DIR:?}/test-functions"
 
-do_test "$@" 40
+do_test "$@"
index 43ed4648c05b9daea2709bc8f1d05da8c0e7f3fc..aced44314bd637576c543a889d03beca09cc80d5 100755 (executable)
@@ -6,4 +6,4 @@ TEST_DESCRIPTION="Test oneshot unit restart on failure"
 # shellcheck source=test/test-functions
 . "${TEST_BASE_DIR:?}/test-functions"
 
-do_test "$@" 41
+do_test "$@"
index 8e25dd8f18743b22118c0e9fa5a3fde6973389c6..59f8868af27f43d40781df64ebb551e3fe3a7085 100755 (executable)
@@ -6,4 +6,4 @@ TEST_DESCRIPTION="test that ExecStopPost= is always run"
 # shellcheck source=test/test-functions
 . "${TEST_BASE_DIR:?}/test-functions"
 
-do_test "$@" 42
+do_test "$@"
index bdd18290e80fb9d9726b6caf39fc4975a1b5df16..9a7aa401bfa005ccaa52df630f44b21799a4f1e1 100755 (executable)
@@ -8,4 +8,4 @@ TEST_DESCRIPTION="Test PrivateUsers=yes on user manager"
 
 has_user_dbus_socket || exit 0
 
-do_test "$@" 43
+do_test "$@"
index 2562b325cb2facf11f315e456c85b4643155e9c9..3caa76cecfbf15898a72dac731212aa9c594b589 100755 (executable)
@@ -6,4 +6,4 @@ TEST_DESCRIPTION="test log namespaces"
 # shellcheck source=test/test-functions
 . "${TEST_BASE_DIR:?}/test-functions"
 
-do_test "$@" 44
+do_test "$@"
index dedc660b4489e35e8879bb027ec16a2c52c449ff..dea7e43876db1c1198d16b83d891f4813a3f68d8 100755 (executable)
@@ -7,4 +7,4 @@ TEST_NO_QEMU=1
 # shellcheck source=test/test-functions
 . "${TEST_BASE_DIR:?}/test-functions"
 
-do_test "$@" 46
+do_test "$@"
index f9ce14986509f42b8072e49eace87484b15cf13c..c275770d4b745b99d09ee900fb4f60bd4ceb546b 100755 (executable)
@@ -6,4 +6,4 @@ TEST_DESCRIPTION="Test that KillMode=mixed does not leave left over processes wi
 # shellcheck source=test/test-functions
 . "${TEST_BASE_DIR:?}/test-functions"
 
-do_test "$@" 47
+do_test "$@"
index 68d584fe7760799a3fead763dad09fae433e45bb..d1abc8aeebf552291279ab3a32afa55300e10985 100755 (executable)
@@ -8,4 +8,4 @@ TEST_DESCRIPTION="test StartStopNoReload"
 # shellcheck source=test/test-functions
 . "${TEST_BASE_DIR:?}/test-functions"
 
-do_test "$@" 48
+do_test "$@"
index d20dd9ca1b3f87b229d59cae3fdcc3794285e16d..297b22d4eea0373b5a561b5667d0e538e29d900b 100755 (executable)
@@ -6,4 +6,4 @@ TEST_DESCRIPTION="test adding new BindPaths while unit is already running"
 # shellcheck source=test/test-functions
 . "${TEST_BASE_DIR:?}/test-functions"
 
-do_test "$@" 49
+do_test "$@"
index 8765b11cb86a8ed15e782fc535389e7d409f0e10..67f68a39ecb16558c694a50f02b57276539b3ffd 100755 (executable)
@@ -30,4 +30,4 @@ test_append_files() {
     )
 }
 
-do_test "$@" 50
+do_test "$@"
index 11dd85e460cbd3d9138831c0cd99abdbedf457b3..5a0498e0667095f6c2a46653c61a0c02f0806bb0 100755 (executable)
@@ -6,4 +6,4 @@ TEST_DESCRIPTION="Test ExecCondition= does not restart on abnormal or failure"
 # shellcheck source=test/test-functions
 . "${TEST_BASE_DIR:?}/test-functions"
 
-do_test "$@" 51
+do_test "$@"
index 492d5179323d268f2fca9d4a4206602ad9ddea5c..699b7b65d81b54dfd1f6bbb31be874e6c35517ea 100755 (executable)
@@ -9,4 +9,4 @@ QEMU_OPTIONS="-rtc base=$(date -u +%Y-%m-%dT%H:%M:%S -d '+3 days')"
 # shellcheck source=test/test-functions
 . "${TEST_BASE_DIR:?}/test-functions"
 
-do_test "$@" 53
+do_test "$@"
index 4562c6095e12b09e20347f881e60158baa83590b..28333d38d87622759a2a53ef6549a4d29d329b5d 100755 (executable)
@@ -6,4 +6,4 @@ TEST_DESCRIPTION="test credentials"
 # shellcheck source=test/test-functions
 . "${TEST_BASE_DIR:?}/test-functions"
 
-do_test "$@" 54
+do_test "$@"
index e654accb0e393c55d52b13da6b5ce3a23a077f96..0f84dca1ba66e5a1e4f9a27ce2f0b511a9ccd687 100755 (executable)
@@ -6,4 +6,4 @@ TEST_DESCRIPTION="test ExitType=cgroup"
 # shellcheck source=test/test-functions
 . "${TEST_BASE_DIR:?}/test-functions"
 
-do_test "$@" 56
+do_test "$@"
index bb08c4fc20353dfc46d2da5a9ee06dc4049b413b..3a3c33f14113a510d40892f77f05e69ffff0901e 100755 (executable)
@@ -4,4 +4,4 @@ TEST_DESCRIPTION="test systemd-repart"
 TEST_NO_NSPAWN=1
 . $TEST_BASE_DIR/test-functions
 
-do_test "$@" 58
+do_test "$@"
index ad990963b8622abf82189f157e911ffb97938903..9232d7816a4a84ee6e121ca1ec712faef145bcac 100755 (executable)
@@ -6,4 +6,4 @@ TEST_NO_QEMU=1
 
 . $TEST_BASE_DIR/test-functions
 
-do_test "$@" 59
+do_test "$@"
index f6d1c9e0bbc3a64d2168e5d0f756b06e8f328783..16bb4fa847670cabbdda45861353b5ad626721f6 100644 (file)
@@ -57,7 +57,7 @@ fi
 
 # The calling test.sh scripts have TEST_BASE_DIR set via their Makefile, but we don't need them to provide it
 TEST_BASE_DIR=${TEST_BASE_DIR:-$(realpath "$(dirname "${BASH_SOURCE[0]}")")}
-TEST_UNITS_DIR="$TEST_BASE_DIR/units"
+TEST_UNITS_DIR="$(realpath "$TEST_BASE_DIR/units")"
 SOURCE_DIR=$(realpath "$TEST_BASE_DIR/..")
 TOOLS_DIR="$SOURCE_DIR/tools"
 # These variables are used by test scripts
@@ -91,6 +91,17 @@ STATEFILE="$STATEDIR/.testdir"
 IMAGESTATEDIR="$STATEDIR/.."
 TESTLOG="$STATEDIR/test.log"
 
+if ! [[ "$TESTNAME" =~ ^TEST\-([0-9]+)\-.+$ ]]; then
+    echo "ERROR: Test name '$TESTNAME' is not in the expected format: TEST-[0-9]+-*" >&2
+    exit 1
+fi
+TESTID="${BASH_REMATCH[1]:?}"
+
+if [[ ! -f "$TEST_UNITS_DIR/testsuite-$TESTID.service" ]]; then
+    echo "ERROR: Test '$TESTNAME' is missing its service file '$TEST_UNITS_DIR/testsuite-$TESTID.service" >&2
+    exit 1
+fi
+
 BASICTOOLS=(
     awk
     basename
@@ -2444,7 +2455,7 @@ do_test() {
         case $1 in
             --run)
                 echo "${testname} RUN: $TEST_DESCRIPTION"
-                test_run "$2"
+                test_run "$TESTID"
                 ret=$?
                 if [ $ret -eq 0 ]; then
                     echo "${testname} RUN: $TEST_DESCRIPTION [OK]"
@@ -2475,7 +2486,7 @@ do_test() {
                     test_setup_cleanup </dev/null >>"$TESTLOG" 2>&1 || ret=$?
                 fi
                 if [ $ret -eq 0 ]; then
-                    test_run "$2" </dev/null >>"$TESTLOG" 2>&1 || ret=$?
+                    test_run "$TESTID" </dev/null >>"$TESTLOG" 2>&1 || ret=$?
                 fi
                 test_cleanup
                 if [ $ret -eq 0 ]; then