From: Yu Watanabe Date: Sat, 27 Aug 2022 07:13:27 +0000 (+0900) Subject: test-50-dissect: wait for and lock loop block partition devices X-Git-Tag: v252-rc1~296^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=ba44a5c77cac3460a55d4e8c75900b0c78a94b10;p=thirdparty%2Fsystemd.git test-50-dissect: wait for and lock loop block partition devices --- diff --git a/test/units/testsuite-50.sh b/test/units/testsuite-50.sh index 42c311be26b..e4204fcdc2a 100755 --- a/test/units/testsuite-50.sh +++ b/test/units/testsuite-50.sh @@ -189,11 +189,20 @@ if [ "${HAVE_OPENSSL}" -eq 1 ]; then sfdisk --part-label "${image}.gpt" 3 "Signature Partition" fi loop="$(losetup --show -P -f "${image}.gpt")" -udevadm wait --timeout 60 --settle "${loop:?}" -dd if="${image}.raw" of="${loop}p1" -dd if="${image}.verity" of="${loop}p2" +partitions=( + "${loop:?}p1" + "${loop:?}p2" +) if [ "${HAVE_OPENSSL}" -eq 1 ]; then - dd if="${image}.verity-sig" of="${loop}p3" + partitions+=( "${loop:?}p3" ) +fi +# The kernel sometimes(?) does not emit "add" uevent for loop block partition devices. +# Let's not expect the devices to be initialized. +udevadm wait --timeout 60 --settle --initialized=no "${partitions[@]}" +udevadm lock --device="${loop}p1" dd if="${image}.raw" of="${loop}p1" +udevadm lock --device="${loop}p2" dd if="${image}.verity" of="${loop}p2" +if [ "${HAVE_OPENSSL}" -eq 1 ]; then + udevadm lock --device="${loop}p3" dd if="${image}.verity-sig" of="${loop}p3" fi losetup -d "${loop}"