diff options
Diffstat (limited to 'test/units/testsuite-49.sh')
-rwxr-xr-x | test/units/testsuite-49.sh | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/test/units/testsuite-49.sh b/test/units/testsuite-49.sh new file mode 100755 index 0000000..1fa9725 --- /dev/null +++ b/test/units/testsuite-49.sh @@ -0,0 +1,44 @@ +#!/usr/bin/env bash +# SPDX-License-Identifier: LGPL-2.1-or-later +set -eux + +echo "MARKER_FIXED" >/run/testservice-49-fixed +mkdir -p /run/inaccessible + +systemctl start testsuite-49-namespaced.service + +# Ensure that inaccessible paths aren't bypassed by the runtime setup +set +e +systemctl bind --mkdir testsuite-49-namespaced.service /run/testservice-49-fixed /run/inaccessible/testfile_fixed && exit 1 +set -e + +echo "MARKER_RUNTIME" >/run/testservice-49-runtime + +systemctl bind --mkdir testsuite-49-namespaced.service /run/testservice-49-runtime /tmp/testfile_runtime + +while systemctl show -P SubState testsuite-49-namespaced.service | grep -q running +do + sleep 0.1 +done + +systemctl is-active testsuite-49-namespaced.service + +# Now test that systemctl bind fails when attempted on a non-namespaced unit +systemctl start testsuite-49-non-namespaced.service + +set +e +systemctl bind --mkdir testsuite-49-non-namespaced.service /run/testservice-49-runtime /tmp/testfile_runtime && exit 1 +set -e + +while systemctl show -P SubState testsuite-49-non-namespaced.service | grep -q running +do + sleep 0.1 +done + +set +e +systemctl is-active testsuite-49-non-namespaced.service && exit 1 +set -e + +echo OK >/testok + +exit 0 |