1
1
mirror of https://github.com/systemd/systemd-stable.git synced 2025-03-21 14:50:12 +03:00
systemd-stable/test/units/testsuite-33.sh
Yu Watanabe 11c53ec3b1 test: create temporary units under /run
(cherry picked from commit 2e701a7946b492cc5f1e56307c4e94110b4c650c)
(cherry picked from commit c1542a967ba8c63ab3faf73db97f42405d99184e)
(cherry picked from commit 63aab858638726bf561fd5b46b3e12a27c48f4e1)
2023-05-02 23:43:17 +01:00

321 lines
7.1 KiB
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
cat >/run/systemd/system/testservice.service <<EOF
[Service]
ConfigurationDirectory=testservice
RuntimeDirectory=testservice
StateDirectory=testservice
CacheDirectory=testservice
LogsDirectory=testservice
RuntimeDirectoryPreserve=yes
ExecStart=/bin/sleep infinity
Type=exec
EOF
systemctl daemon-reload
test ! -e /etc/testservice
test ! -e /run/testservice
test ! -e /var/lib/testservice
test ! -e /var/cache/testservice
test ! -e /var/log/testservice
systemctl start testservice
test -d /etc/testservice
test -d /run/testservice
test -d /var/lib/testservice
test -d /var/cache/testservice
test -d /var/log/testservice
(! systemctl clean testservice)
systemctl stop testservice
test -d /etc/testservice
test -d /run/testservice
test -d /var/lib/testservice
test -d /var/cache/testservice
test -d /var/log/testservice
systemctl clean testservice --what=configuration
test ! -e /etc/testservice
test -d /run/testservice
test -d /var/lib/testservice
test -d /var/cache/testservice
test -d /var/log/testservice
systemctl clean testservice
test ! -e /etc/testservice
test ! -e /run/testservice
test -d /var/lib/testservice
test ! -e /var/cache/testservice
test -d /var/log/testservice
systemctl clean testservice --what=logs
test ! -e /etc/testservice
test ! -e /run/testservice
test -d /var/lib/testservice
test ! -e /var/cache/testservice
test ! -e /var/log/testservice
systemctl clean testservice --what=all
test ! -e /etc/testservice
test ! -e /run/testservice
test ! -e /var/lib/testservice
test ! -e /var/cache/testservice
test ! -e /var/log/testservice
cat >/run/systemd/system/testservice.service <<EOF
[Service]
DynamicUser=yes
ConfigurationDirectory=testservice
RuntimeDirectory=testservice
StateDirectory=testservice
CacheDirectory=testservice
LogsDirectory=testservice
RuntimeDirectoryPreserve=yes
ExecStart=/bin/sleep infinity
Type=exec
EOF
systemctl daemon-reload
test ! -e /etc/testservice
test ! -e /run/testservice
test ! -e /var/lib/testservice
test ! -e /var/cache/testservice
test ! -e /var/log/testservice
systemctl restart testservice
test -d /etc/testservice
test -d /run/private/testservice
test -d /var/lib/private/testservice
test -d /var/cache/private/testservice
test -d /var/log/private/testservice
test -L /run/testservice
test -L /var/lib/testservice
test -L /var/cache/testservice
test -L /var/log/testservice
(! systemctl clean testservice)
systemctl stop testservice
test -d /etc/testservice
test -d /run/private/testservice
test -d /var/lib/private/testservice
test -d /var/cache/private/testservice
test -d /var/log/private/testservice
test -L /run/testservice
test -L /var/lib/testservice
test -L /var/cache/testservice
test -L /var/log/testservice
systemctl clean testservice --what=configuration
test ! -d /etc/testservice
test -d /run/private/testservice
test -d /var/lib/private/testservice
test -d /var/cache/private/testservice
test -d /var/log/private/testservice
test -L /run/testservice
test -L /var/lib/testservice
test -L /var/cache/testservice
test -L /var/log/testservice
systemctl clean testservice
test ! -d /etc/testservice
test ! -d /run/private/testservice
test -d /var/lib/private/testservice
test ! -d /var/cache/private/testservice
test -d /var/log/private/testservice
test ! -L /run/testservice
test -L /var/lib/testservice
test ! -L /var/cache/testservice
test -L /var/log/testservice
systemctl clean testservice --what=logs
test ! -d /etc/testservice
test ! -d /run/private/testservice
test -d /var/lib/private/testservice
test ! -d /var/cache/private/testservice
test ! -d /var/log/private/testservice
test ! -L /run/testservice
test -L /var/lib/testservice
test ! -L /var/cache/testservice
test ! -L /var/log/testservice
systemctl clean testservice --what=all
test ! -d /etc/testservice
test ! -d /run/private/testservice
test ! -d /var/lib/private/testservice
test ! -d /var/cache/private/testservice
test ! -d /var/log/private/testservice
test ! -L /run/testservice
test ! -L /var/lib/testservice
test ! -L /var/cache/testservice
test ! -L /var/log/testservice
cat >/run/systemd/system/tmp-hoge.mount <<EOF
[Mount]
What=tmpfs
Type=tmpfs
ConfigurationDirectory=hoge
RuntimeDirectory=hoge
StateDirectory=hoge
CacheDirectory=hoge
LogsDirectory=hoge
EOF
systemctl daemon-reload
test ! -e /etc/hoge
test ! -e /run/hoge
test ! -e /var/lib/hoge
test ! -e /var/cache/hoge
test ! -e /var/log/hoge
systemctl start tmp-hoge.mount
test -d /etc/hoge
test -d /run/hoge
test -d /var/lib/hoge
test -d /var/cache/hoge
test -d /var/log/hoge
(! systemctl clean tmp-hoge.mount)
test -d /etc/hoge
test -d /run/hoge
test -d /var/lib/hoge
test -d /var/cache/hoge
test -d /var/log/hoge
systemctl stop tmp-hoge.mount
test -d /etc/hoge
test ! -d /run/hoge
test -d /var/lib/hoge
test -d /var/cache/hoge
test -d /var/log/hoge
systemctl clean tmp-hoge.mount --what=configuration
test ! -d /etc/hoge
test ! -d /run/hoge
test -d /var/lib/hoge
test -d /var/cache/hoge
test -d /var/log/hoge
systemctl clean tmp-hoge.mount
test ! -d /etc/hoge
test ! -d /run/hoge
test -d /var/lib/hoge
test ! -d /var/cache/hoge
test -d /var/log/hoge
systemctl clean tmp-hoge.mount --what=logs
test ! -d /etc/hoge
test ! -d /run/hoge
test -d /var/lib/hoge
test ! -d /var/cache/hoge
test ! -d /var/log/hoge
systemctl clean tmp-hoge.mount --what=all
test ! -d /etc/hoge
test ! -d /run/hoge
test ! -d /var/lib/hoge
test ! -d /var/cache/hoge
test ! -d /var/log/hoge
cat >/run/systemd/system/testservice.socket <<EOF
[Socket]
ListenSequentialPacket=/run/testservice.socket
RemoveOnStop=yes
ExecStartPre=true
ConfigurationDirectory=testsocket
RuntimeDirectory=testsocket
StateDirectory=testsocket
CacheDirectory=testsocket
LogsDirectory=testsocket
EOF
systemctl daemon-reload
test ! -e /etc/testsocket
test ! -e /run/testsocket
test ! -e /var/lib/testsocket
test ! -e /var/cache/testsocket
test ! -e /var/log/testsocket
systemctl start testservice.socket
test -d /etc/testsocket
test -d /run/testsocket
test -d /var/lib/testsocket
test -d /var/cache/testsocket
test -d /var/log/testsocket
(! systemctl clean testservice.socket)
systemctl stop testservice.socket
test -d /etc/testsocket
test ! -d /run/testsocket
test -d /var/lib/testsocket
test -d /var/cache/testsocket
test -d /var/log/testsocket
systemctl clean testservice.socket --what=configuration
test ! -e /etc/testsocket
test ! -d /run/testsocket
test -d /var/lib/testsocket
test -d /var/cache/testsocket
test -d /var/log/testsocket
systemctl clean testservice.socket
test ! -e /etc/testsocket
test ! -e /run/testsocket
test -d /var/lib/testsocket
test ! -e /var/cache/testsocket
test -d /var/log/testsocket
systemctl clean testservice.socket --what=logs
test ! -e /etc/testsocket
test ! -e /run/testsocket
test -d /var/lib/testsocket
test ! -e /var/cache/testsocket
test ! -e /var/log/testsocket
systemctl clean testservice.socket --what=all
test ! -e /etc/testsocket
test ! -e /run/testsocket
test ! -e /var/lib/testsocket
test ! -e /var/cache/testsocket
test ! -e /var/log/testsocket
echo OK >/testok
exit 0