From 53a26a675627d909cc7accd26d661ebcf565f417 Mon Sep 17 00:00:00 2001
From: Yu Watanabe <watanabe.yu+github@gmail.com>
Date: Tue, 21 May 2024 19:10:49 +0900
Subject: [PATCH 0672/1160] test: wait for loop/backing_file attribute being
 removed

Hopefully fixes issue like
https://github.com/systemd/systemd/issues/32680#issuecomment-2120959238
https://github.com/systemd/systemd/issues/32680#issuecomment-2122074805

(cherry picked from commit e504f5a33979c896213f2fb53217b14263cfe036)
---
 test/units/testsuite-74.mount.sh | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/test/units/testsuite-74.mount.sh b/test/units/testsuite-74.mount.sh
index 8065abe554..eef8d2d242 100755
--- a/test/units/testsuite-74.mount.sh
+++ b/test/units/testsuite-74.mount.sh
@@ -126,7 +126,12 @@ test -e /run/media/system/simple.img/foo.bar
 # systemd-mount --list and systemd-umount require the loopback block device is initialized by udevd.
 udevadm settle --timeout 30
 assert_in "/dev/loop.* ext4 +sd-mount-test" "$(systemd-mount --list --full)"
+LOOP_AUTO=$(systemd-mount --list --full --no-legend | awk '$6 == "sd-mount-test" { print $1 }')
+LOOP_AUTO_DEVPATH=$(udevadm info --query property --property DEVPATH --value "$LOOP_AUTO")
 systemd-umount "$WORK_DIR/simple.img"
+# Wait for 'change' uevent for the device with DISK_MEDIA_CHANGE=1.
+# After the event, the backing_file attribute should be removed.
+timeout 60 bash -c "while [[ -e /sys/$LOOP_AUTO_DEVPATH/loop/backing_file ]]; do sleep 1; done"
 
 # --owner + vfat
 #
-- 
2.33.0