1
0
mirror of https://github.com/systemd/systemd.git synced 2024-12-22 17:35:35 +03:00
systemd/test/units/TEST-23-UNIT-FILE.RuntimeDirectory.sh
Mike Yuan 703b1b7f24 core/service: preserve RuntimeDirectory= even if oneshot service exits
Follow-up for c26948c6da

We only want to get rid of cred mount here, and RuntimeDirectory=
is documented to be retained for SERVICE_EXITED state.

Fixes #35427
2024-12-02 10:57:45 +01:00

40 lines
930 B
Bash
Executable File

#!/usr/bin/env bash
# SPDX-License-Identifier: LGPL-2.1-or-later
# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
# ex: ts=8 sw=4 sts=4 et filetype=sh
set -eux
set -o pipefail
at_exit() {
set +e
rm -fr /run/hoge /tmp/aaa
}
trap at_exit EXIT
# RuntimeDirectory= should be preserved for oneshot units if RemainAfterExit=yes
systemd-run --service-type=oneshot --remain-after-exit \
-u TEST-23-remain-after-exit.service \
-p RuntimeDirectory=TEST-23-remain-after-exit \
true
[[ -d /run/TEST-23-remain-after-exit ]]
systemctl stop TEST-23-remain-after-exit.service
[[ ! -e /run/TEST-23-remain-after-exit ]]
# Test RuntimeDirectoryPreserve=yes
systemd-mount -p RuntimeDirectory=hoge -p RuntimeDirectoryPreserve=yes -t tmpfs tmpfs /tmp/aaa
touch /run/hoge/foo
touch /tmp/aaa/bbb
systemctl restart tmp-aaa.mount
test -e /run/hoge/foo
test ! -e /tmp/aaa/bbb