diff options
author | Frantisek Sumsal <frantisek@sumsal.cz> | 2023-03-31 18:42:38 +0200 |
---|---|---|
committer | Frantisek Sumsal <frantisek@sumsal.cz> | 2023-03-31 19:23:31 +0200 |
commit | e660c590a5222bc72f7aea8912806aa48b0fb126 (patch) | |
tree | 20422deace1e292d3ca00c966e3dd482594f77bf /test | |
parent | 6f1fe575f0d293fa801e8f02374988f7bbf69dca (diff) | |
download | systemd-e660c590a5222bc72f7aea8912806aa48b0fb126.tar.gz |
test: set ReadWritePaths= for test-.services when built w/ coverage
Let's make the dropin, to make the build dir writable for gcov, a bit
more generic, so it can be used by all units starting with prefix test-.
This should help with a bunch of recent reports about missing coverage I
got, as well as with existing test units using DynamicUser=true.
This might feel a bit like a magic trick from behind the curtains, but I
want to touch the actual tests as little as possible, since it makes them
unnecessarily messy (see the various workarounds for sanitizers), and
the coverage reports are generated only in a specific CI job anyway.
Diffstat (limited to 'test')
-rwxr-xr-x | test/TEST-78-SIGQUEUE/test.sh | 2 | ||||
-rwxr-xr-x | test/TEST-79-MEMPRESS/test.sh | 2 | ||||
-rw-r--r-- | test/test-functions | 13 | ||||
-rwxr-xr-x | test/units/testsuite-19.sh | 30 | ||||
-rwxr-xr-x | test/units/testsuite-20.sh | 38 | ||||
-rwxr-xr-x | test/units/testsuite-33.sh | 364 | ||||
-rwxr-xr-x | test/units/testsuite-54.sh | 4 |
7 files changed, 228 insertions, 225 deletions
diff --git a/test/TEST-78-SIGQUEUE/test.sh b/test/TEST-78-SIGQUEUE/test.sh index 80ce7926ab..61e8e7d1c4 100755 --- a/test/TEST-78-SIGQUEUE/test.sh +++ b/test/TEST-78-SIGQUEUE/test.sh @@ -3,8 +3,6 @@ set -e TEST_DESCRIPTION="Test queue signal logic" -# Ignore gcov complaints caused by DynamicUser=true -IGNORE_MISSING_COVERAGE=yes # shellcheck source=test/test-functions . "$TEST_BASE_DIR/test-functions" diff --git a/test/TEST-79-MEMPRESS/test.sh b/test/TEST-79-MEMPRESS/test.sh index 95c8581238..4f9c896492 100755 --- a/test/TEST-79-MEMPRESS/test.sh +++ b/test/TEST-79-MEMPRESS/test.sh @@ -3,8 +3,6 @@ set -e TEST_DESCRIPTION="Test Memory Pressure handling" -# Ignore gcov complaints caused by DynamicUser=true -IGNORE_MISSING_COVERAGE=yes # shellcheck source=test/test-functions . "$TEST_BASE_DIR/test-functions" diff --git a/test/test-functions b/test/test-functions index 1a4e42f575..906cac8e80 100644 --- a/test/test-functions +++ b/test/test-functions @@ -1240,11 +1240,14 @@ install_systemd() { mkdir -p "$initdir/etc/systemd/system/service.d/" echo -e "[Service]\nProtectSystem=no\nProtectHome=no\n" >"$initdir/etc/systemd/system/service.d/99-gcov-override.conf" # Similarly, set ReadWritePaths= to the $BUILD_DIR in the test image - # to make the coverage work with units utilizing DynamicUser=yes. Do - # this only for services from TEST-20, as setting this system-wide - # has many undesirable side-effects - mkdir -p "$initdir/etc/systemd/system/test20-.service.d/" - echo -e "[Service]\nReadWritePaths=${BUILD_DIR:?}\n" >"$initdir/etc/systemd/system/test20-.service.d/99-gcov-rwpaths-override.conf" + # to make the coverage work with units using DynamicUser=yes. Do this + # only for services with test- prefix, as setting this system-wide + # has many undesirable side-effects, as it creates its own namespace. + mkdir -p "$initdir/etc/systemd/system/test-.service.d/" + echo -e "[Service]\nReadWritePaths=${BUILD_DIR:?}\n" >"$initdir/etc/systemd/system/test-.service.d/99-gcov-rwpaths-override.conf" + # Ditto, but for the user daemon + mkdir -p "$initdir/etc/systemd/user/test-.service.d/" + echo -e "[Service]\nReadWritePaths=${BUILD_DIR:?}\n" >"$initdir/etc/systemd/user/test-.service.d/99-gcov-rwpaths-override.conf" fi # If we're built with -Dportabled=false, tests with systemd-analyze diff --git a/test/units/testsuite-19.sh b/test/units/testsuite-19.sh index 6ce6d3d429..1e705ea72b 100755 --- a/test/units/testsuite-19.sh +++ b/test/units/testsuite-19.sh @@ -7,37 +7,37 @@ test_scope_unpriv_delegation() { useradd test ||: trap "userdel -r test" RETURN - systemd-run --uid=test -p User=test -p Delegate=yes --slice workload.slice --unit workload0.scope --scope \ - test -w /sys/fs/cgroup/workload.slice/workload0.scope -a \ - -w /sys/fs/cgroup/workload.slice/workload0.scope/cgroup.procs -a \ - -w /sys/fs/cgroup/workload.slice/workload0.scope/cgroup.subtree_control + systemd-run --uid=test -p User=test -p Delegate=yes --slice workload.slice --unit test-workload0.scope --scope \ + test -w /sys/fs/cgroup/workload.slice/test-workload0.scope -a \ + -w /sys/fs/cgroup/workload.slice/test-workload0.scope/cgroup.procs -a \ + -w /sys/fs/cgroup/workload.slice/test-workload0.scope/cgroup.subtree_control } if grep -q cgroup2 /proc/filesystems ; then - systemd-run --wait --unit=test0.service -p "DynamicUser=1" -p "Delegate=" \ - test -w /sys/fs/cgroup/system.slice/test0.service/ -a \ - -w /sys/fs/cgroup/system.slice/test0.service/cgroup.procs -a \ - -w /sys/fs/cgroup/system.slice/test0.service/cgroup.subtree_control + systemd-run --wait --unit=test-0.service -p "DynamicUser=1" -p "Delegate=" \ + test -w /sys/fs/cgroup/system.slice/test-0.service/ -a \ + -w /sys/fs/cgroup/system.slice/test-0.service/cgroup.procs -a \ + -w /sys/fs/cgroup/system.slice/test-0.service/cgroup.subtree_control - systemd-run --wait --unit=test1.service -p "DynamicUser=1" -p "Delegate=memory pids" \ - grep -q memory /sys/fs/cgroup/system.slice/test1.service/cgroup.controllers + systemd-run --wait --unit=test-1.service -p "DynamicUser=1" -p "Delegate=memory pids" \ + grep -q memory /sys/fs/cgroup/system.slice/test-1.service/cgroup.controllers - systemd-run --wait --unit=test2.service -p "DynamicUser=1" -p "Delegate=memory pids" \ - grep -q pids /sys/fs/cgroup/system.slice/test2.service/cgroup.controllers + systemd-run --wait --unit=test-2.service -p "DynamicUser=1" -p "Delegate=memory pids" \ + grep -q pids /sys/fs/cgroup/system.slice/test-2.service/cgroup.controllers # "io" is not among the controllers enabled by default for all units, verify that grep -qv io /sys/fs/cgroup/system.slice/cgroup.controllers # Run a service with "io" enabled, and verify it works - systemd-run --wait --unit=test3.service -p "IOAccounting=yes" -p "Slice=system-foo-bar-baz.slice" \ - grep -q io /sys/fs/cgroup/system.slice/system-foo.slice/system-foo-bar.slice/system-foo-bar-baz.slice/test3.service/cgroup.controllers + systemd-run --wait --unit=test-3.service -p "IOAccounting=yes" -p "Slice=system-foo-bar-baz.slice" \ + grep -q io /sys/fs/cgroup/system.slice/system-foo.slice/system-foo-bar.slice/system-foo-bar-baz.slice/test-3.service/cgroup.controllers # We want to check if "io" is removed again from the controllers # list. However, PID 1 (rightfully) does this asynchronously. In order # to force synchronization on this, let's start a short-lived service # which requires PID 1 to refresh the cgroup tree, so that we can # verify that this all works. - systemd-run --wait --unit=test4.service true + systemd-run --wait --unit=test-4.service true # And now check again, "io" should have vanished grep -qv io /sys/fs/cgroup/system.slice/cgroup.controllers diff --git a/test/units/testsuite-20.sh b/test/units/testsuite-20.sh index 338769aacc..0f8b2ea928 100755 --- a/test/units/testsuite-20.sh +++ b/test/units/testsuite-20.sh @@ -13,8 +13,8 @@ INTERNALPID=$! disown # Start a test process outside of our own cgroup -systemd-run -p DynamicUser=1 --unit=test20-sleep.service /bin/sleep infinity -EXTERNALPID="$(systemctl show -P MainPID test20-sleep.service)" +systemd-run -p DynamicUser=1 --unit=test-sleep.service /bin/sleep infinity +EXTERNALPID="$(systemctl show -P MainPID test-sleep.service)" # Update our own main PID to the external test PID, this should work systemd-notify MAINPID="$EXTERNALPID" @@ -54,7 +54,7 @@ test "$(systemctl show -P MainPID testsuite-20.service)" -eq "$INTERNALPID" systemd-notify --uid=1000 MAINPID=$$ test "$(systemctl show -P MainPID testsuite-20.service)" -eq $$ -cat >/tmp/test20-mainpid.sh <<EOF +cat >/tmp/test-mainpid.sh <<EOF #!/usr/bin/env bash set -eux @@ -73,12 +73,12 @@ disown echo \$MAINPID >/run/mainpidsh/pid EOF -chmod +x /tmp/test20-mainpid.sh +chmod +x /tmp/test-mainpid.sh -systemd-run --unit=test20-mainpidsh.service -p StandardOutput=tty -p StandardError=tty -p Type=forking -p RuntimeDirectory=mainpidsh -p PIDFile=/run/mainpidsh/pid /tmp/test20-mainpid.sh -test "$(systemctl show -P MainPID test20-mainpidsh.service)" -eq "$(cat /run/mainpidsh/pid)" +systemd-run --unit=test-mainpidsh.service -p StandardOutput=tty -p StandardError=tty -p Type=forking -p RuntimeDirectory=mainpidsh -p PIDFile=/run/mainpidsh/pid /tmp/test-mainpid.sh +test "$(systemctl show -P MainPID test-mainpidsh.service)" -eq "$(cat /run/mainpidsh/pid)" -cat >/tmp/test20-mainpid2.sh <<EOF +cat >/tmp/test-mainpid2.sh <<EOF #!/usr/bin/env bash set -eux @@ -98,12 +98,12 @@ disown echo \$MAINPID >/run/mainpidsh2/pid chown 1001:1001 /run/mainpidsh2/pid EOF -chmod +x /tmp/test20-mainpid2.sh +chmod +x /tmp/test-mainpid2.sh -systemd-run --unit=test20-mainpidsh2.service -p StandardOutput=tty -p StandardError=tty -p Type=forking -p RuntimeDirectory=mainpidsh2 -p PIDFile=/run/mainpidsh2/pid /tmp/test20-mainpid2.sh -test "$(systemctl show -P MainPID test20-mainpidsh2.service)" -eq "$(cat /run/mainpidsh2/pid)" +systemd-run --unit=test-mainpidsh2.service -p StandardOutput=tty -p StandardError=tty -p Type=forking -p RuntimeDirectory=mainpidsh2 -p PIDFile=/run/mainpidsh2/pid /tmp/test-mainpid2.sh +test "$(systemctl show -P MainPID test-mainpidsh2.service)" -eq "$(cat /run/mainpidsh2/pid)" -cat >/dev/shm/test20-mainpid3.sh <<EOF +cat >/dev/shm/test-mainpid3.sh <<EOF #!/usr/bin/env bash set -eux @@ -124,11 +124,11 @@ ln -s ../mainpidsh/pid /run/mainpidsh3/pid # Quick assertion that the link isn't dead test -f /run/mainpidsh3/pid EOF -chmod 755 /dev/shm/test20-mainpid3.sh +chmod 755 /dev/shm/test-mainpid3.sh # This has to fail, as we shouldn't accept the dangerous PID file, and then # inotify-wait on it to be corrected which we never do. -systemd-run --unit=test20-mainpidsh3.service \ +systemd-run --unit=test-mainpidsh3.service \ -p StandardOutput=tty \ -p StandardError=tty \ -p Type=forking \ @@ -136,15 +136,15 @@ systemd-run --unit=test20-mainpidsh3.service \ -p PIDFile=/run/mainpidsh3/pid \ -p DynamicUser=1 \ -p TimeoutStartSec=2s \ - /dev/shm/test20-mainpid3.sh \ + /dev/shm/test-mainpid3.sh \ && { echo 'unexpected success'; exit 1; } # Test that this failed due to timeout, and not some other error -test "$(systemctl show -P Result test20-mainpidsh3.service)" = timeout +test "$(systemctl show -P Result test-mainpidsh3.service)" = timeout # Test that scope units work -systemd-run --scope --unit test20-true.scope /bin/true -test "$(systemctl show -P Result test20-true.scope)" = success +systemd-run --scope --unit test-true.scope /bin/true +test "$(systemctl show -P Result test-true.scope)" = success # Test that user scope units work as well @@ -156,8 +156,8 @@ runas() { } systemctl start user@4711.service -runas testuser systemd-run --scope --user --unit test20-true.scope /bin/true -test "$(systemctl show -P Result test20-true.scope)" = success +runas testuser systemd-run --scope --user --unit test-true.scope /bin/true +test "$(systemctl show -P Result test-true.scope)" = success systemd-analyze log-level info diff --git a/test/units/testsuite-33.sh b/test/units/testsuite-33.sh index b951eef88b..9fb17a50c9 100755 --- a/test/units/testsuite-33.sh +++ b/test/units/testsuite-33.sh @@ -5,13 +5,13 @@ set -eux set -o pipefail -cat >/etc/systemd/system/testservice.service <<EOF +cat >/etc/systemd/system/test-service.service <<EOF [Service] -ConfigurationDirectory=testservice -RuntimeDirectory=testservice -StateDirectory=testservice -CacheDirectory=testservice -LogsDirectory=testservice +ConfigurationDirectory=test-service +RuntimeDirectory=test-service +StateDirectory=test-service +CacheDirectory=test-service +LogsDirectory=test-service RuntimeDirectoryPreserve=yes ExecStart=/bin/sleep infinity Type=exec @@ -19,70 +19,70 @@ 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 +test ! -e /etc/test-service +test ! -e /run/test-service +test ! -e /var/lib/test-service +test ! -e /var/cache/test-service +test ! -e /var/log/test-service -systemctl start testservice +systemctl start test-service -test -d /etc/testservice -test -d /run/testservice -test -d /var/lib/testservice -test -d /var/cache/testservice -test -d /var/log/testservice +test -d /etc/test-service +test -d /run/test-service +test -d /var/lib/test-service +test -d /var/cache/test-service +test -d /var/log/test-service -systemctl clean testservice && { echo 'unexpected success'; exit 1; } +systemctl clean test-service && { echo 'unexpected success'; exit 1; } -systemctl stop testservice +systemctl stop test-service -test -d /etc/testservice -test -d /run/testservice -test -d /var/lib/testservice -test -d /var/cache/testservice -test -d /var/log/testservice +test -d /etc/test-service +test -d /run/test-service +test -d /var/lib/test-service +test -d /var/cache/test-service +test -d /var/log/test-service -systemctl clean testservice --what=configuration +systemctl clean test-service --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 +test ! -e /etc/test-service +test -d /run/test-service +test -d /var/lib/test-service +test -d /var/cache/test-service +test -d /var/log/test-service -systemctl clean testservice +systemctl clean test-service -test ! -e /etc/testservice -test ! -e /run/testservice -test -d /var/lib/testservice -test ! -e /var/cache/testservice -test -d /var/log/testservice +test ! -e /etc/test-service +test ! -e /run/test-service +test -d /var/lib/test-service +test ! -e /var/cache/test-service +test -d /var/log/test-service -systemctl clean testservice --what=logs +systemctl clean test-service --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 +test ! -e /etc/test-service +test ! -e /run/test-service +test -d /var/lib/test-service +test ! -e /var/cache/test-service +test ! -e /var/log/test-service -systemctl clean testservice --what=all +systemctl clean test-service --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 +test ! -e /etc/test-service +test ! -e /run/test-service +test ! -e /var/lib/test-service +test ! -e /var/cache/test-service +test ! -e /var/log/test-service -cat >/etc/systemd/system/testservice.service <<EOF +cat >/etc/systemd/system/test-service.service <<EOF [Service] DynamicUser=yes -ConfigurationDirectory=testservice -RuntimeDirectory=testservice -StateDirectory=testservice -CacheDirectory=testservice -LogsDirectory=testservice +ConfigurationDirectory=test-service +RuntimeDirectory=test-service +StateDirectory=test-service +CacheDirectory=test-service +LogsDirectory=test-service RuntimeDirectoryPreserve=yes ExecStart=/bin/sleep infinity Type=exec @@ -90,85 +90,85 @@ 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 && { echo 'unexpected success'; exit 1; } - -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 +test ! -e /etc/test-service +test ! -e /run/test-service +test ! -e /var/lib/test-service +test ! -e /var/cache/test-service +test ! -e /var/log/test-service + +systemctl restart test-service + +test -d /etc/test-service +test -d /run/private/test-service +test -d /var/lib/private/test-service +test -d /var/cache/private/test-service +test -d /var/log/private/test-service +test -L /run/test-service +test -L /var/lib/test-service +test -L /var/cache/test-service +test -L /var/log/test-service + +systemctl clean test-service && { echo 'unexpected success'; exit 1; } + +systemctl stop test-service + +test -d /etc/test-service +test -d /run/private/test-service +test -d /var/lib/private/test-service +test -d /var/cache/private/test-service +test -d /var/log/private/test-service +test -L /run/test-service +test -L /var/lib/test-service +test -L /var/cache/test-service +test -L /var/log/test-service + +systemctl clean test-service --what=configuration + +test ! -d /etc/test-service +test -d /run/private/test-service +test -d /var/lib/private/test-service +test -d /var/cache/private/test-service +test -d /var/log/private/test-service +test -L /run/test-service +test -L /var/lib/test-service +test -L /var/cache/test-service +test -L /var/log/test-service + +systemctl clean test-service + +test ! -d /etc/test-service +test ! -d /run/private/test-service +test -d /var/lib/private/test-service +test ! -d /var/cache/private/test-service +test -d /var/log/private/test-service +test ! -L /run/test-service +test -L /var/lib/test-service +test ! -L /var/cache/test-service +test -L /var/log/test-service + +systemctl clean test-service --what=logs + +test ! -d /etc/test-service +test ! -d /run/private/test-service +test -d /var/lib/private/test-service +test ! -d /var/cache/private/test-service +test ! -d /var/log/private/test-service +test ! -L /run/test-service +test -L /var/lib/test-service +test ! -L /var/cache/test-service +test ! -L /var/log/test-service + +systemctl clean test-service --what=all + +test ! -d /etc/test-service +test ! -d /run/private/test-service +test ! -d /var/lib/private/test-service +test ! -d /var/cache/private/test-service +test ! -d /var/log/private/test-service +test ! -L /run/test-service +test ! -L /var/lib/test-service +test ! -L /var/cache/test-service +test ! -L /var/log/test-service cat >/etc/systemd/system/tmp-hoge.mount <<EOF [Mount] @@ -245,75 +245,75 @@ test ! -d /var/lib/hoge test ! -d /var/cache/hoge test ! -d /var/log/hoge -cat >/etc/systemd/system/testservice.socket <<EOF +cat >/etc/systemd/system/test-service.socket <<EOF [Socket] -ListenSequentialPacket=/run/testservice.socket +ListenSequentialPacket=/run/test-service.socket RemoveOnStop=yes ExecStartPre=true -ConfigurationDirectory=testsocket -RuntimeDirectory=testsocket -StateDirectory=testsocket -CacheDirectory=testsocket -LogsDirectory=testsocket +ConfigurationDirectory=test-socket +RuntimeDirectory=test-socket +StateDirectory=test-socket +CacheDirectory=test-socket +LogsDirectory=test-socket 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 +test ! -e /etc/test-socket +test ! -e /run/test-socket +test ! -e /var/lib/test-socket +test ! -e /var/cache/test-socket +test ! -e /var/log/test-socket -systemctl start testservice.socket +systemctl start test-service.socket -test -d /etc/testsocket -test -d /run/testsocket -test -d /var/lib/testsocket -test -d /var/cache/testsocket -test -d /var/log/testsocket +test -d /etc/test-socket +test -d /run/test-socket +test -d /var/lib/test-socket +test -d /var/cache/test-socket +test -d /var/log/test-socket -systemctl clean testservice.socket && { echo 'unexpected success'; exit 1; } +systemctl clean test-service.socket && { echo 'unexpected success'; exit 1; } -systemctl stop testservice.socket +systemctl stop test-service.socket -test -d /etc/testsocket -test ! -d /run/testsocket -test -d /var/lib/testsocket -test -d /var/cache/testsocket -test -d /var/log/testsocket +test -d /etc/test-socket +test ! -d /run/test-socket +test -d /var/lib/test-socket +test -d /var/cache/test-socket +test -d /var/log/test-socket -systemctl clean testservice.socket --what=configuration +systemctl clean test-service.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 +test ! -e /etc/test-socket +test ! -d /run/test-socket +test -d /var/lib/test-socket +test -d /var/cache/test-socket +test -d /var/log/test-socket -systemctl clean testservice.socket +systemctl clean test-service.socket -test ! -e /etc/testsocket -test ! -e /run/testsocket -test -d /var/lib/testsocket -test ! -e /var/cache/testsocket -test -d /var/log/testsocket +test ! -e /etc/test-socket +test ! -e /run/test-socket +test -d /var/lib/test-socket +test ! -e /var/cache/test-socket +test -d /var/log/test-socket -systemctl clean testservice.socket --what=logs +systemctl clean test-service.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 +test ! -e /etc/test-socket +test ! -e /run/test-socket +test -d /var/lib/test-socket +test ! -e /var/cache/test-socket +test ! -e /var/log/test-socket -systemctl clean testservice.socket --what=all +systemctl clean test-service.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 +test ! -e /etc/test-socket +test ! -e /run/test-socket +test ! -e /var/lib/test-socket +test ! -e /var/cache/test-socket +test ! -e /var/log/test-socket echo OK >/testok diff --git a/test/units/testsuite-54.sh b/test/units/testsuite-54.sh index dd7e28392d..43049dea50 100755 --- a/test/units/testsuite-54.sh +++ b/test/units/testsuite-54.sh @@ -10,6 +10,7 @@ systemd-run -p LoadCredential=passwd:/etc/passwd \ -p LoadCredential=shadow:/etc/shadow \ -p SetCredential=dog:wuff \ -p DynamicUser=1 \ + --unit=test-54-unpriv.service \ --wait \ --pipe \ cat '${CREDENTIALS_DIRECTORY}/passwd' '${CREDENTIALS_DIRECTORY}/shadow' '${CREDENTIALS_DIRECTORY}/dog' >/tmp/ts54-concat @@ -77,11 +78,13 @@ fi # Verify that the creds are immutable systemd-run -p LoadCredential=passwd:/etc/passwd \ -p DynamicUser=1 \ + --unit=test-54-immutable-touch.service \ --wait \ touch '${CREDENTIALS_DIRECTORY}/passwd' \ && { echo 'unexpected success'; exit 1; } systemd-run -p LoadCredential=passwd:/etc/passwd \ -p DynamicUser=1 \ + --unit=test-54-immutable-rm.service \ --wait \ rm '${CREDENTIALS_DIRECTORY}/passwd' \ && { echo 'unexpected success'; exit 1; } @@ -94,6 +97,7 @@ echo -n c >/tmp/ts54-creds/baz echo -n d >/tmp/ts54-creds/sub/qux systemd-run -p LoadCredential=cred:/tmp/ts54-creds \ -p DynamicUser=1 \ + --unit=test-54-dir.service \ --wait \ --pipe \ cat '${CREDENTIALS_DIRECTORY}/cred_foo' \ |