summaryrefslogtreecommitdiffstats
path: root/test/units/testsuite-49.sh
diff options
context:
space:
mode:
Diffstat (limited to 'test/units/testsuite-49.sh')
-rwxr-xr-xtest/units/testsuite-49.sh44
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