summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2023-05-06 11:49:31 +0200
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2023-05-09 08:11:10 +0200
commitdcbbc7cef526c539da08299aee586902b7fedd9f (patch)
tree0e32a9e484b41155e60fa10ed31fea0da0c05665 /test
parent0454cf05d38d289474ca65c1917d414b2958f6b5 (diff)
downloadsystemd-dcbbc7cef526c539da08299aee586902b7fedd9f.tar.gz
test/run-unit-tests, TEST-02: skip tests where the interpeter is not installed
When the interpeter is missing, we get an exit code of 127. Let's treat those tests as skipped too. If we could run the test far enough so that it could do the check itself, it would return 77 anyway. $ test/asdf; echo $? exec: Failed to execute process 'test/asdf': The file specified the interpreter '/bin/asdf', which is not an executable command. 127 $ test/asdf; echo $? /usr/bin/env: ‘/bin/asdf’: No such file or directory 127 This should resolve the problem that TEST-02 fails or Debian's 'unit-tests' fail when python3 is not installed. Installing python3 via the mechanism that is used to construct TEST images, i.e. the dracut dependency chasing scheme, would be a lot of work for python with its modules in multiple locations and hundreds of little files. So I think it OK to just skip the test there, and also in other cases where python is not available.
Diffstat (limited to 'test')
-rwxr-xr-xtest/run-unit-tests.py3
-rwxr-xr-xtest/units/testsuite-02.sh4
2 files changed, 5 insertions, 2 deletions
diff --git a/test/run-unit-tests.py b/test/run-unit-tests.py
index 2d6709b703..7bb904ddd1 100755
--- a/test/run-unit-tests.py
+++ b/test/run-unit-tests.py
@@ -52,6 +52,9 @@ for test in tests:
elif ex.returncode == 77:
print(f'{YELLOW}SKIP: {name}{RESET_ALL}')
total.skip += 1
+ elif ex.returncode == 127:
+ print(f'{YELLOW}SKIP: {name} (no interpeter) {RESET_ALL}')
+ total.skip += 1
else:
print(f'{RED}FAIL: {name}{RESET_ALL}')
total.fail += 1
diff --git a/test/units/testsuite-02.sh b/test/units/testsuite-02.sh
index 61f6d06397..211bd10547 100755
--- a/test/units/testsuite-02.sh
+++ b/test/units/testsuite-02.sh
@@ -24,7 +24,7 @@ function report_result() {
local name="${1##*/}"
local ret=$2
- if [[ $ret -ne 0 && $ret != 77 ]]; then
+ if [[ $ret -ne 0 && $ret != 77 && $ret != 127 ]]; then
echo "$name failed with $ret"
echo "$name" >>/failed-tests
{
@@ -32,7 +32,7 @@ function report_result() {
cat "/$name.log"
echo "--- $name end ---"
} >>/failed
- elif [[ $ret == 77 ]]; then
+ elif [[ $ret == 77 || $ret == 127 ]]; then
echo "$name skipped"
echo "$name" >>/skipped-tests
{