From: Michal Sekletar Date: Wed, 23 Mar 2022 12:35:44 +0000 (+0100) Subject: tests: add test case for long unit names X-Git-Tag: v251-rc2~129^2~1 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=2ef0101e0b2813e8c99fc8f137dbaa763ca16057;p=thirdparty%2Fsystemd.git tests: add test case for long unit names --- diff --git a/test/units/testsuite-60.sh b/test/units/testsuite-60.sh index eb174f00ed4..239d7b0d4c9 100755 --- a/test/units/testsuite-60.sh +++ b/test/units/testsuite-60.sh @@ -8,6 +8,25 @@ systemd-analyze log-target journal NUM_DIRS=20 +# make sure we can handle mounts at very long paths such that mount unit name must be hashed to fall within our unit name limit +LONGPATH="$(printf "/$(printf "x%0.s" {1..255})%0.s" {1..7})" +LONGMNT="$(systemd-escape --suffix=mount --path "$LONGPATH")" +TS="$(date '+%H:%M:%S')" + +mkdir -p "$LONGPATH" +mount -t tmpfs tmpfs "$LONGPATH" +systemctl daemon-reload + +# check that unit is active(mounted) +systemctl --no-pager show -p SubState --value "$LONGPATH" | grep -q mounted + +# check that relevant part of journal doesn't contain any errors related to unit +[ "$(journalctl -b --since="$TS" --priority=err | grep -c "$LONGMNT")" = "0" ] + +# check that we can successfully stop the mount unit +systemctl stop "$LONGPATH" +rm -rf "$LONGPATH" + # mount/unmount enough times to trigger the /proc/self/mountinfo parsing rate limiting for ((i = 0; i < NUM_DIRS; i++)); do