summaryrefslogtreecommitdiffstats
path: root/test/units/testsuite-77.sh
diff options
context:
space:
mode:
authorRichard Phibel <rphibel@googlemail.com>2022-11-07 17:13:15 +0100
committerLennart Poettering <lennart@poettering.net>2023-01-10 15:16:26 +0100
commitcd48e23f6a33c9acb47a06b99d9bdc84ee42cebe (patch)
tree4c241fe4081efeb70aa6b33ff9a7613b2b0b2720 /test/units/testsuite-77.sh
parentci: Remove a bunch of labels when a PR is merged (diff)
downloadsystemd-cd48e23f6a33c9acb47a06b99d9bdc84ee42cebe.tar.xz
systemd-cd48e23f6a33c9acb47a06b99d9bdc84ee42cebe.zip
core: add OpenFile setting
Diffstat (limited to '')
-rwxr-xr-xtest/units/testsuite-77.sh35
1 files changed, 35 insertions, 0 deletions
diff --git a/test/units/testsuite-77.sh b/test/units/testsuite-77.sh
new file mode 100755
index 0000000000..2675f054dc
--- /dev/null
+++ b/test/units/testsuite-77.sh
@@ -0,0 +1,35 @@
+#!/usr/bin/env bash
+# SPDX-License-Identifier: LGPL-2.1-or-later
+set -eux
+set -o pipefail
+
+# shellcheck source=test/units/assert.sh
+. "$(dirname "$0")"/assert.sh
+
+export SYSTEMD_LOG_LEVEL=debug
+
+assert_eq "$LISTEN_FDS" "2"
+assert_eq "$LISTEN_FDNAMES" "open:test-77-file.dat"
+read -r -u 3 text
+assert_eq "$text" "Open"
+read -r -u 4 text
+assert_eq "$text" "File"
+
+# Test for socket
+systemctl start testsuite-77-netcat.service
+systemctl start testsuite-77-socket.service
+
+# Tests for D-Bus
+diff <(systemctl show -p OpenFile testsuite-77) - <<EOF
+OpenFile=/test-77-open.dat:open:read-only
+OpenFile=/test-77-file.dat
+EOF
+echo "New" > /test-77-new-file.dat
+systemd-run --wait -p OpenFile=/test-77-new-file.dat:new-file:read-only "$(dirname "$0")"/testsuite-77-run.sh
+
+assert_rc 202 systemd-run --wait -p OpenFile=/test-77-new-file.dat:new-file:read-only -p OpenFile=/test-77-mssing-file.dat:missing-file:read-only "$(dirname "$0")"/testsuite-77-run.sh
+
+assert_rc 0 systemd-run --wait -p OpenFile=/test-77-new-file.dat:new-file:read-only -p OpenFile=/test-77-mssing-file.dat:missing-file:read-only,graceful "$(dirname "$0")"/testsuite-77-run.sh
+
+# End
+touch /testok