mirror of
https://github.com/systemd/systemd
synced 2024-10-06 16:21:34 +00:00
test: merge TEST-77-OPENFILE into TEST-23-UNIT-FILE
And add coverage for #32179
This commit is contained in:
parent
c1f9509f79
commit
48c21790ba
|
@ -1 +0,0 @@
|
|||
../TEST-01-BASIC/Makefile
|
|
@ -1,16 +0,0 @@
|
|||
#!/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 "$@"
|
|
@ -1,5 +1,5 @@
|
|||
[Unit]
|
||||
Description=TEST-77-OPENFILE server socket
|
||||
Description=OpenFile= test server socket
|
||||
|
||||
[Socket]
|
||||
ListenStream=/tmp/test.sock
|
|
@ -1,5 +1,5 @@
|
|||
[Unit]
|
||||
Description=TEST-77-OPENFILE server
|
||||
Description=OpenFile= test server service
|
||||
|
||||
[Service]
|
||||
ExecStart=echo "Socket"
|
15
test/units/testsuite-23-openfile-child.sh
Executable file
15
test/units/testsuite-23-openfile-child.sh
Executable file
|
@ -0,0 +1,15 @@
|
|||
#!/usr/bin/env bash
|
||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
set -eux
|
||||
set -o pipefail
|
||||
|
||||
# shellcheck source=test/units/util.sh
|
||||
. "$(dirname "$0")"/util.sh
|
||||
|
||||
assert_eq "$LISTEN_FDS" "$1"
|
||||
assert_eq "$LISTEN_FDNAMES" "$2"
|
||||
|
||||
for ((i = 3; i < 3 + LISTEN_FDS; i++)); do
|
||||
read -r -u "$i" text
|
||||
assert_eq "$text" "${!i}" # Dereference $i to get i'th arg
|
||||
done
|
55
test/units/testsuite-23.openfile.sh
Executable file
55
test/units/testsuite-23.openfile.sh
Executable file
|
@ -0,0 +1,55 @@
|
|||
#!/usr/bin/env bash
|
||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
set -eux
|
||||
set -o pipefail
|
||||
|
||||
# shellcheck source=test/units/util.sh
|
||||
. "$(dirname "$0")"/util.sh
|
||||
|
||||
at_exit() {
|
||||
set +e
|
||||
|
||||
rm -rf /tmp/test-open-file/
|
||||
}
|
||||
|
||||
trap at_exit EXIT
|
||||
|
||||
systemctl log-level debug
|
||||
|
||||
# Existing files
|
||||
|
||||
mkdir /tmp/test-open-file
|
||||
echo "Open" >'/tmp/test-open-file/open.txt'
|
||||
echo "File" >'/tmp/test-open-file/file:colon.txt'
|
||||
|
||||
systemd-run -p DynamicUser=yes -p EnvironmentFile=-/usr/lib/systemd/systemd-asan-env \
|
||||
-p OpenFile='/tmp/test-open-file/open.txt::read-only' \
|
||||
-p OpenFile='/tmp/test-open-file/file\x3Acolon.txt:colon' \
|
||||
-p RemainAfterExit=yes \
|
||||
--unit=test-23-openfile-existing.service \
|
||||
--service-type=oneshot \
|
||||
/usr/lib/systemd/tests/testdata/units/testsuite-23-openfile-child.sh 2 "open.txt:colon" "Open" "File"
|
||||
|
||||
cmp <(systemctl show -p OpenFile test-23-openfile-existing.service) <<EOF
|
||||
OpenFile=/tmp/test-open-file/open.txt::read-only
|
||||
OpenFile=/tmp/test-open-file/file\\x3acolon.txt:colon
|
||||
EOF
|
||||
|
||||
systemctl stop test-23-openfile-existing.service
|
||||
|
||||
# Sockets
|
||||
|
||||
systemctl start testsuite-23-openfile-server.socket
|
||||
|
||||
systemd-run -p OpenFile=/tmp/test.sock:socket:read-only \
|
||||
--wait \
|
||||
/usr/lib/systemd/tests/testdata/units/testsuite-23-openfile-child.sh 1 "socket" "Socket"
|
||||
|
||||
systemctl stop testsuite-23-openfile-server.socket
|
||||
|
||||
# Ignore when missing
|
||||
|
||||
assert_rc 202 systemd-run -p OpenFile=/run/missing/foo:missing-file:read-only --wait true
|
||||
assert_rc 0 systemd-run -p OpenFile=/run/missing/foo:missing-file:read-only,graceful --wait true
|
||||
|
||||
systemctl log-level info
|
|
@ -1,14 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
set -eux
|
||||
set -o pipefail
|
||||
|
||||
# shellcheck source=test/units/util.sh
|
||||
. "$(dirname "$0")"/util.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"
|
|
@ -1,14 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
set -eux
|
||||
set -o pipefail
|
||||
|
||||
# shellcheck source=test/units/util.sh
|
||||
. "$(dirname "$0")"/util.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"
|
|
@ -1,10 +0,0 @@
|
|||
# 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
|
|
@ -1,38 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
set -eux
|
||||
set -o pipefail
|
||||
|
||||
# shellcheck source=test/units/util.sh
|
||||
. "$(dirname "$0")"/util.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-server.socket
|
||||
systemd-run -p OpenFile=/tmp/test.sock:socket:read-only \
|
||||
--wait \
|
||||
--pipe \
|
||||
/usr/lib/systemd/tests/testdata/units/testsuite-77-client.sh
|
||||
|
||||
# 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
|
Loading…
Reference in a new issue