From: Mike Yuan Date: Wed, 10 Apr 2024 11:04:50 +0000 (+0800) Subject: test: merge TEST-77-OPENFILE into TEST-23-UNIT-FILE X-Git-Tag: v256-rc1~231^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=48c21790baffce5bbc67168b84fbab4140300a80;p=thirdparty%2Fsystemd.git test: merge TEST-77-OPENFILE into TEST-23-UNIT-FILE And add coverage for #32179 --- diff --git a/test/TEST-77-OPENFILE/Makefile b/test/TEST-77-OPENFILE/Makefile deleted file mode 120000 index e9f93b1104c..00000000000 --- a/test/TEST-77-OPENFILE/Makefile +++ /dev/null @@ -1 +0,0 @@ -../TEST-01-BASIC/Makefile \ No newline at end of file diff --git a/test/TEST-77-OPENFILE/test.sh b/test/TEST-77-OPENFILE/test.sh deleted file mode 100755 index 92afa4c716a..00000000000 --- a/test/TEST-77-OPENFILE/test.sh +++ /dev/null @@ -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 "$@" diff --git a/test/units/testsuite-77-server.socket b/test/testsuite-23.units/testsuite-23-openfile-server.socket similarity index 56% rename from test/units/testsuite-77-server.socket rename to test/testsuite-23.units/testsuite-23-openfile-server.socket index 43050775010..c8f759584ac 100644 --- a/test/units/testsuite-77-server.socket +++ b/test/testsuite-23.units/testsuite-23-openfile-server.socket @@ -1,5 +1,5 @@ [Unit] -Description=TEST-77-OPENFILE server socket +Description=OpenFile= test server socket [Socket] ListenStream=/tmp/test.sock diff --git a/test/units/testsuite-77-server@.service b/test/testsuite-23.units/testsuite-23-openfile-server@.service similarity index 66% rename from test/units/testsuite-77-server@.service rename to test/testsuite-23.units/testsuite-23-openfile-server@.service index 8e99ac83340..a57c804c43d 100644 --- a/test/units/testsuite-77-server@.service +++ b/test/testsuite-23.units/testsuite-23-openfile-server@.service @@ -1,5 +1,5 @@ [Unit] -Description=TEST-77-OPENFILE server +Description=OpenFile= test server service [Service] ExecStart=echo "Socket" diff --git a/test/units/testsuite-23-openfile-child.sh b/test/units/testsuite-23-openfile-child.sh new file mode 100755 index 00000000000..4828b9dc10d --- /dev/null +++ b/test/units/testsuite-23-openfile-child.sh @@ -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 diff --git a/test/units/testsuite-23.openfile.sh b/test/units/testsuite-23.openfile.sh new file mode 100755 index 00000000000..61081617a14 --- /dev/null +++ b/test/units/testsuite-23.openfile.sh @@ -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) </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