From 89562f08c9c7615d1a3e6bdefa4009db5a8f00dd Mon Sep 17 00:00:00 2001 From: Frantisek Sumsal Date: Tue, 5 Sep 2023 14:38:35 +0200 Subject: [PATCH] test: create the "global" dropins in /run So the test doesn't fail if run multiple times in a succession. --- test/units/testsuite-15.sh | 56 ++++++++++++++++++++------------------ 1 file changed, 29 insertions(+), 27 deletions(-) diff --git a/test/units/testsuite-15.sh b/test/units/testsuite-15.sh index 49bcd9211b6..e790b37c70d 100755 --- a/test/units/testsuite-15.sh +++ b/test/units/testsuite-15.sh @@ -7,14 +7,16 @@ set -o pipefail . "$(dirname "$0")"/test-control.sh clear_unit() { - local UNIT_NAME="${1:?}" - systemctl stop "$UNIT_NAME" 2>/dev/null || : - rm -f /{etc,run,usr/lib}/systemd/system/"$UNIT_NAME" - rm -fr /{etc,run,usr/lib}/systemd/system/"$UNIT_NAME".d - rm -fr /{etc,run,usr/lib}/systemd/system/"$UNIT_NAME".{wants,requires} - if [[ $UNIT_NAME == *@ ]]; then - local base="${UNIT_NAME%@*}" - local suffix="${UNIT_NAME##*.}" + local unit_name="${1:?}" + local base suffix + + systemctl stop "$unit_name" 2>/dev/null || : + rm -f /{etc,run,usr/lib}/systemd/system/"$unit_name" + rm -fr /{etc,run,usr/lib}/systemd/system/"$unit_name".d + rm -fr /{etc,run,usr/lib}/systemd/system/"$unit_name".{wants,requires} + if [[ $unit_name == *@* ]]; then + base="${unit_name%@*}" + suffix="${unit_name##*.}" systemctl stop "$base@"*."$suffix" 2>/dev/null || : rm -f /{etc,run,usr/lib}/systemd/system/"$base@"*."$suffix" rm -fr /{etc,run,usr/lib}/systemd/system/"$base@"*."$suffix".d @@ -30,17 +32,17 @@ clear_units() { } create_service() { - local SERVICE_NAME="${1:?}" - clear_units "${SERVICE_NAME}".service + local service_name="${1:?}" + clear_units "${service_name}".service - cat >/etc/systemd/system/"$SERVICE_NAME".service </etc/systemd/system/"$service_name".service </usr/lib/systemd/system/service.d/override.conf </run/systemd/system/service.d/override.conf <"/run/systemd/system/$dropin/override.conf" </usr/lib/systemd/system/$dropin/override.conf +EOF systemctl daemon-reload check_ok a-b-c ExecCondition "echo $dropin" @@ -220,7 +222,7 @@ ExecCondition=echo $dropin systemctl stop a-b-c2.service done for dropin in service.d a-.service.d a-b-.service.d a-b-c.service.d; do - rm -rf /usr/lib/systemd/system/$dropin + rm -rf "/run/systemd/system/$dropin" done clear_units a-b-c.service @@ -235,11 +237,11 @@ testcase_hierarchical_slice_dropins() { # Test drop-ins for dropin in slice.d a-.slice.d a-b-.slice.d a-b-c.slice.d; do - mkdir -p /usr/lib/systemd/system/$dropin - echo " + mkdir -p "/run/systemd/system/$dropin" + cat >"/run/systemd/system/$dropin/override.conf" </usr/lib/systemd/system/$dropin/override.conf +EOF systemctl daemon-reload check_ok a-b-c.slice MemoryMax "1000000000" @@ -271,14 +273,14 @@ MemoryMax=1000000000 StopUnit 'ss' \ 'a-b-c.slice' 'replace' - rm /usr/lib/systemd/system/$dropin/override.conf + rm -f "/run/systemd/system/$dropin/override.conf" done # Test unit with a fragment - echo " + cat >/run/systemd/system/a-b-c.slice </usr/lib/systemd/system/a-b-c.slice +EOF systemctl daemon-reload check_ok a-b-c.slice MemoryMax "1000000001" @@ -614,7 +616,7 @@ EOF echo "*** test a wants b both ways" create_services test15-a test15-b ln -sf /dev/null /etc/systemd/system/test15-a.service.wants/test15-b.service - cat >/usr/lib/systemd/system/test15-a.service.d/wants-b.conf</usr/lib/systemd/system/test15-a.service.d/wants-b.conf <