summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorLuca Boccassi <bluca@debian.org>2022-05-20 12:24:45 +0100
committerLuca Boccassi <bluca@debian.org>2022-05-20 13:08:45 +0100
commit7b2e763242e7736ef941f275977aa0c30d832c63 (patch)
tree85f3967baadce7c95c586cc22bf5db8756e59521 /test
parenta2cf73f0b602a93a32107cfc066a5e307263c577 (diff)
downloadsystemd-7b2e763242e7736ef941f275977aa0c30d832c63.tar.gz
portable: reject root directories without an ID field in os-release
We always require at least ID to be set in os-release, reject and propagate error to the caller instead of asserting later
Diffstat (limited to 'test')
-rwxr-xr-xtest/units/testsuite-29.sh10
1 files changed, 10 insertions, 0 deletions
diff --git a/test/units/testsuite-29.sh b/test/units/testsuite-29.sh
index 47fd31b9b3..2a2aa95799 100755
--- a/test/units/testsuite-29.sh
+++ b/test/units/testsuite-29.sh
@@ -152,6 +152,16 @@ umount /tmp/rootdir
umount /tmp/app0
umount /tmp/app1
+# Lack of ID field in os-release should be rejected, but it caused a crash in the past instead
+mkdir -p /tmp/emptyroot/usr/lib
+mkdir -p /tmp/emptyext/usr/lib/extension-release.d
+touch /tmp/emptyroot/usr/lib/os-release
+touch /tmp/emptyext/usr/lib/extension-release.d/extension-release.emptyext
+
+# Remote peer disconnected -> portabled crashed
+res="$(! portablectl attach --extension /tmp/emptyext /tmp/emptyroot 2> >(grep "Remote peer disconnected"))"
+test -z "${res}"
+
echo OK >/testok
exit 0