Files
systemd/test/units/TEST-22-TMPFILES.05.sh
Yu Watanabe e2c5e9c011 test: use relative paths to executables
This also makes shebang always use env command, and drops unnecessary
'bash -c' or 'sh -c' when a signle command is invoked in the shell,
like sleep or echo.
2025-09-23 15:48:53 +01:00

55 lines
1.3 KiB
Bash
Executable File

#!/usr/bin/env bash
# SPDX-License-Identifier: LGPL-2.1-or-later
set -eux
set -o pipefail
rm -fr /tmp/{z,Z}
mkdir /tmp/{z,Z}
#
# 'z'
#
mkdir /tmp/z/d{1,2}
touch /tmp/z/f1 /tmp/z/d1/f11 /tmp/z/d2/f21
systemd-tmpfiles --dry-run --create - <<EOF
z /tmp/z/f1 0755 daemon daemon - -
z /tmp/z/d1 0755 daemon daemon - -
EOF
test "$(stat -c %U /tmp/z/f1)" = "$USER"
test "$(stat -c %U /tmp/z/d1)" = "$USER"
test "$(stat -c %U /tmp/z/d1/f11)" = "$USER"
systemd-tmpfiles --create - <<EOF
z /tmp/z/f1 0755 daemon daemon - -
z /tmp/z/d1 0755 daemon daemon - -
EOF
test "$(stat -c %U:%G /tmp/z/f1)" = "daemon:daemon"
test "$(stat -c %U:%G /tmp/z/d1)" = "daemon:daemon"
test "$(stat -c %U:%G /tmp/z/d1/f11)" = "root:root"
systemd-tmpfiles --create - <<EOF
z /tmp/z/d2/* 0755 daemon daemon - -
EOF
test "$(stat -c %U:%G /tmp/z/d2/f21)" = "daemon:daemon"
#
# 'Z'
#
mkdir /tmp/Z/d1 /tmp/Z/d1/d11
touch /tmp/Z/f1 /tmp/Z/d1/f11 /tmp/Z/d1/d11/f111
systemd-tmpfiles --create - <<EOF
Z /tmp/Z/f1 0755 daemon daemon - -
Z /tmp/Z/d1 0755 daemon daemon - -
EOF
test "$(stat -c %U:%G /tmp/Z/f1)" = "daemon:daemon"
test "$(stat -c %U:%G /tmp/Z/d1)" = "daemon:daemon"
test "$(stat -c %U:%G /tmp/Z/d1/d11)" = "daemon:daemon"
test "$(stat -c %U:%G /tmp/Z/d1/f11)" = "daemon:daemon"
test "$(stat -c %U:%G /tmp/Z/d1/d11/f111)" = "daemon:daemon"