Files
systemd/test/test-execute/exec-dynamicuser-statedir-migrate-step2.service
Yu Watanabe b49a4696c4 test: always use bash
If sh is not bash, some builtin command behave slightly differently.
E.g. if sh is provided by busybox, its builtin test command does not check if
the path is a mount point or not, and 'test -w' only checks the access mode of
the inode. So, even if a readonly filesystem is mounted on a directory,
the test command may succeed.

To avoid such confusion, let's unconditionally use bash.
2025-12-07 09:09:03 +09:00

29 lines
1.2 KiB
Desktop File

# SPDX-License-Identifier: LGPL-2.1-or-later
[Unit]
Description=Test DynamicUser= migrate StateDirectory=
[Service]
ExecStart=test -w %S/test-dynamicuser-migrate
ExecStart=test -w %S/test-dynamicuser-migrate2/hoge
ExecStart=test -L %S/test-dynamicuser-migrate
ExecStart=test -L %S/test-dynamicuser-migrate2/hoge
ExecStart=test -d %S/test-dynamicuser-migrate
ExecStart=test -d %S/test-dynamicuser-migrate2/hoge
ExecStart=test -f %S/test-dynamicuser-migrate/yay
ExecStart=test -f %S/test-dynamicuser-migrate2/hoge/yayyay
ExecStart=test -d %S/private/test-dynamicuser-migrate
ExecStart=test -d %S/private/test-dynamicuser-migrate2/hoge
ExecStart=test -f %S/private/test-dynamicuser-migrate/yay
ExecStart=test -f %S/private/test-dynamicuser-migrate2/hoge/yayyay
ExecStart=touch %S/test-dynamicuser-migrate/yay
ExecStart=touch %S/test-dynamicuser-migrate2/hoge/yayyay
ExecStart=touch %S/private/test-dynamicuser-migrate/yay
ExecStart=touch %S/private/test-dynamicuser-migrate2/hoge/yayyay
ExecStart=bash -x -c 'test "$$STATE_DIRECTORY" = "%S/test-dynamicuser-migrate:%S/test-dynamicuser-migrate2/hoge"'
Type=oneshot
DynamicUser=yes
StateDirectory=test-dynamicuser-migrate test-dynamicuser-migrate2/hoge
EnvironmentFile=-/usr/lib/systemd/systemd-asan-env
ReadWritePaths=-/coverage