From: Yu Watanabe Date: Wed, 2 Apr 2025 16:48:19 +0000 (+0900) Subject: test: set timeout for udevadm settle/wait/lock X-Git-Tag: v258-rc1~931 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=3ff6d023202f040c3405dc7625f7b689c0505305;p=thirdparty%2Fsystemd.git test: set timeout for udevadm settle/wait/lock Otherwise, if a test in a spurious state, it consumes quite long time. Let's fail earlier in such case. This also drops an unnecessary calls of 'udevadm settle' in testcase_nvme_basic() of TEST-64-UDEV-STORAGE. --- diff --git a/test/units/TEST-13-NSPAWN.nspawn.sh b/test/units/TEST-13-NSPAWN.nspawn.sh index e814cede57e..50f54368c7c 100755 --- a/test/units/TEST-13-NSPAWN.nspawn.sh +++ b/test/units/TEST-13-NSPAWN.nspawn.sh @@ -394,7 +394,7 @@ testcase_nspawn_settings() { for dev in sd-host-only sd-shared{1,2,3} sd-macvlan{1,2} sd-macvlanloong sd-ipvlan{1,2} sd-ipvlanlooong; do ip link add "$dev" type dummy done - udevadm settle + udevadm settle --timeout=30 ip link property add dev sd-shared3 altname sd-altname3 altname sd-altname-tooooooooooooo-long ip link trap nspawn_settings_cleanup RETURN diff --git a/test/units/TEST-17-UDEV.06.sh b/test/units/TEST-17-UDEV.06.sh index c9493becbd0..410f5a7f778 100755 --- a/test/units/TEST-17-UDEV.06.sh +++ b/test/units/TEST-17-UDEV.06.sh @@ -19,7 +19,7 @@ function check() { for _ in {1..2}; do systemctl restart systemd-udevd.service udevadm control --ping - udevadm settle + udevadm settle --timeout=30 check_validity for _ in {1..2}; do diff --git a/test/units/TEST-17-UDEV.10.sh b/test/units/TEST-17-UDEV.10.sh index d7e69ef673f..5bbf42a5cf1 100755 --- a/test/units/TEST-17-UDEV.10.sh +++ b/test/units/TEST-17-UDEV.10.sh @@ -29,7 +29,7 @@ dd if=/dev/zero of="$blk" bs=1M count=1 loopdev="$(losetup --show -f "$blk")" # Wait for devices created in the above being processed. -udevadm settle --timeout 30 +udevadm settle --timeout=30 udevadm -h diff --git a/test/units/TEST-17-UDEV.SYSTEMD_WANTS-escape.sh b/test/units/TEST-17-UDEV.SYSTEMD_WANTS-escape.sh index 709161aa64f..e37feaf89d1 100755 --- a/test/units/TEST-17-UDEV.SYSTEMD_WANTS-escape.sh +++ b/test/units/TEST-17-UDEV.SYSTEMD_WANTS-escape.sh @@ -27,7 +27,7 @@ at_exit() { trap at_exit EXIT -udevadm settle --timeout 30 +udevadm settle --timeout=30 mkdir -p /run/systemd/system/ cat >/run/systemd/system/test@.service </run/udev/udev.conf.d/timeout.conf <&2 exit 1 fi - udevadm settle + udevadm settle --timeout=30 udevadm info "$dev" # trigger logind and activate session @@ -472,7 +472,7 @@ EOF echo "cannot find suitable scsi block device" >&2 exit 1 fi - udevadm settle + udevadm settle --timeout=30 # check ACL sleep 1 diff --git a/test/units/TEST-50-DISSECT.sh b/test/units/TEST-50-DISSECT.sh index 0e378a8e5b3..38bafa545fc 100755 --- a/test/units/TEST-50-DISSECT.sh +++ b/test/units/TEST-50-DISSECT.sh @@ -199,11 +199,11 @@ if [[ -n "${OPENSSL_CONFIG:-}" ]]; then 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="$MINIMAL_IMAGE.raw" of="${loop}p1" -udevadm lock --device="${loop}p2" dd if="$MINIMAL_IMAGE.verity" of="${loop}p2" +udevadm wait --timeout=60 --settle --initialized=no "${partitions[@]}" +udevadm lock --timeout=60 --device="${loop}p1" dd if="$MINIMAL_IMAGE.raw" of="${loop}p1" +udevadm lock --timeout=60 --device="${loop}p2" dd if="$MINIMAL_IMAGE.verity" of="${loop}p2" if [[ -n "${OPENSSL_CONFIG:-}" ]]; then - udevadm lock --device="${loop}p3" dd if="$MINIMAL_IMAGE.verity-sig" of="${loop}p3" + udevadm lock --timeout=60 --device="${loop}p3" dd if="$MINIMAL_IMAGE.verity-sig" of="${loop}p3" fi losetup -d "$loop" udevadm settle --timeout=60 diff --git a/test/units/TEST-58-REPART.sh b/test/units/TEST-58-REPART.sh index 44a864fad06..97e37836134 100755 --- a/test/units/TEST-58-REPART.sh +++ b/test/units/TEST-58-REPART.sh @@ -373,7 +373,7 @@ $imgs/zzz7 : start= 6291416, size= 131072, type=0FC63DAF-8483-4772-8E79 fi loop="$(losetup -P --show --find "$imgs/zzz")" - udevadm wait --timeout 60 --settle "${loop:?}p7" + udevadm wait --timeout=60 --settle "${loop:?}p7" volume="test-repart-$RANDOM" @@ -994,7 +994,7 @@ EOF # shellcheck disable=SC2064 trap "rm -rf '$defs' '$imgs' ; losetup -d '$loop'" RETURN ERR - udevadm wait --timeout 60 --settle "${loop:?}p1" "${loop:?}p2" + udevadm wait --timeout=60 --settle "${loop:?}p1" "${loop:?}p2" # Check that the verity block sizes are as expected veritysetup dump "${loop}p2" | grep 'Data block size:' | grep -q '4096' @@ -1054,7 +1054,7 @@ EOF # shellcheck disable=SC2064 trap "rm -rf '$defs' '$imgs' ; losetup -d '$loop'" RETURN ERR - udevadm wait --timeout 60 --settle "${loop:?}p1" "${loop:?}p2" + udevadm wait --timeout=60 --settle "${loop:?}p1" "${loop:?}p2" output=$(sfdisk -J "$loop") @@ -1136,7 +1136,7 @@ EOF fi loop=$(losetup -P --show -f "$imgs/zzz") - udevadm wait --timeout 60 --settle "${loop:?}p1" "${loop:?}p2" + udevadm wait --timeout=60 --settle "${loop:?}p1" "${loop:?}p2" # Test that /usr/def did not end up in the root partition but other files did. mkdir "$imgs/mnt" @@ -1349,7 +1349,7 @@ EOF truncate -s 100m "$imgs/$sector.img" loop=$(losetup -b "$sector" -P --show -f "$imgs/$sector.img" ) - udevadm wait --timeout 60 --settle "${loop:?}" + udevadm wait --timeout=60 --settle "${loop:?}" systemd-repart --offline="$OFFLINE" \ --pretty=yes \ diff --git a/test/units/TEST-60-MOUNT-RATELIMIT.sh b/test/units/TEST-60-MOUNT-RATELIMIT.sh index 3f27a16bebe..67d44c281a9 100755 --- a/test/units/TEST-60-MOUNT-RATELIMIT.sh +++ b/test/units/TEST-60-MOUNT-RATELIMIT.sh @@ -42,8 +42,8 @@ label:gpt name="loop${1?}-part1" EOF LOOP=$(losetup -P --show -f "/tmp/TEST-60-MOUNT-RATELIMIT-dependencies-${1?}.img") - udevadm wait --settle --timeout=10 "${LOOP}" - udevadm lock --device="${LOOP}" mkfs.ext4 -L "partname${1?}-1" "${LOOP}p1" + udevadm wait --settle --timeout=30 "${LOOP}" + udevadm lock --timeout=30 --device="${LOOP}" mkfs.ext4 -L "partname${1?}-1" "${LOOP}p1" } check_dependencies() { diff --git a/test/units/TEST-64-UDEV-STORAGE.sh b/test/units/TEST-64-UDEV-STORAGE.sh index 01c3dd68ead..52914c4b3e7 100755 --- a/test/units/TEST-64-UDEV-STORAGE.sh +++ b/test/units/TEST-64-UDEV-STORAGE.sh @@ -214,7 +214,6 @@ testcase_nvme_basic() { ) done - udevadm settle ls /dev/disk/by-id for i in "${expected_symlinks[@]}"; do udevadm wait --settle --timeout=30 "$i" @@ -250,7 +249,7 @@ testcase_virtio_scsi_identically_named_partitions() { fi for ((i = 0; i < num_disk; i++)); do - udevadm lock --device "/dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive$i" \ + udevadm lock --timeout=30 --device "/dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive$i" \ sfdisk "/dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive$i" </etc/crypttab rm -fr "$mpoint" systemctl daemon-reload - udevadm settle + udevadm settle --timeout=30 } testcase_iscsi_lvm() { @@ -925,7 +926,7 @@ testcase_iscsi_lvm() { mpoint="$(mktemp -d /iscsi_storeXXX)" expected_symlinks=() # Use the first device as it's configured with larger capacity - udevadm lock --device "${devices[0]}" mkfs.ext4 -L iscsi_store "${devices[0]}" + udevadm lock --timeout=30 --device "${devices[0]}" mkfs.ext4 -L iscsi_store "${devices[0]}" udevadm wait --settle --timeout=30 "${devices[0]}" mount "${devices[0]}" "$mpoint" for i in {1..4}; do @@ -1012,15 +1013,15 @@ testcase_long_sysfs_path() { stat "/sys/block/${dev}" readlink -f "/sys/block/${dev}/dev" - udevadm lock --device "/dev/${dev}" sfdisk "/dev/${dev}" </tmp/foo.conf <