core: add OpenFile setting
This commit is contained in:
committed by
Lennart Poettering
parent
81315baa68
commit
cd48e23f6a
Symlink
+1
@@ -0,0 +1 @@
|
||||
../TEST-01-BASIC/Makefile
|
||||
Executable
+16
@@ -0,0 +1,16 @@
|
||||
#!/usr/bin/env bash
|
||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
set -e
|
||||
|
||||
TEST_DESCRIPTION="Openfile tests"
|
||||
|
||||
# shellcheck source=test/test-functions
|
||||
. "${TEST_BASE_DIR:?}/test-functions"
|
||||
|
||||
test_append_files() {
|
||||
local workspace="${1:?}"
|
||||
echo "Open" > "$workspace/test-77-open.dat"
|
||||
echo "File" > "$workspace/test-77-file.dat"
|
||||
}
|
||||
|
||||
do_test "$@"
|
||||
@@ -0,0 +1,7 @@
|
||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
[Unit]
|
||||
Description=TEST-77-OPENFILE
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/lib/systemd/tests/testdata/units/%N.sh
|
||||
Type=simple
|
||||
Executable
+4
@@ -0,0 +1,4 @@
|
||||
#!/usr/bin/env bash
|
||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
|
||||
echo "Socket" | nc -lkU /tmp/test.sock
|
||||
Executable
+14
@@ -0,0 +1,14 @@
|
||||
#!/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" "1"
|
||||
assert_eq "$LISTEN_FDNAMES" "new-file"
|
||||
read -r -u 3 text
|
||||
assert_eq "$text" "New"
|
||||
@@ -0,0 +1,9 @@
|
||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
[Unit]
|
||||
Description=TEST-77-OPENFILE
|
||||
|
||||
[Service]
|
||||
OpenFile=/tmp/test.sock:socket:read-only
|
||||
ExecStartPre=rm -f /failed /testok
|
||||
ExecStart=/usr/lib/systemd/tests/testdata/units/%N.sh
|
||||
Type=oneshot
|
||||
Executable
+14
@@ -0,0 +1,14 @@
|
||||
#!/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" "1"
|
||||
assert_eq "$LISTEN_FDNAMES" "socket"
|
||||
read -r -u 3 text
|
||||
assert_eq "$text" "Socket"
|
||||
@@ -0,0 +1,10 @@
|
||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
[Unit]
|
||||
Description=TEST-77-OPENFILE
|
||||
|
||||
[Service]
|
||||
OpenFile=/test-77-open.dat:open:read-only
|
||||
OpenFile=/test-77-file.dat
|
||||
ExecStartPre=rm -f /failed /testok
|
||||
ExecStart=/usr/lib/systemd/tests/testdata/units/%N.sh
|
||||
Type=oneshot
|
||||
Executable
+35
@@ -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
|
||||
Reference in New Issue
Block a user