From: Karel Zak Date: Fri, 12 Apr 2013 11:49:08 +0000 (+0200) Subject: tests: use udevadm settle rather than sleep X-Git-Tag: v2.23~43 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=188d9656c3819a12059cfe826b4c78b9383c6a68;p=thirdparty%2Futil-linux.git tests: use udevadm settle rather than sleep Signed-off-by: Karel Zak --- diff --git a/tests/ts/blkid/md-raid0-whole b/tests/ts/blkid/md-raid0-whole index 7a55c549b9..b1faf3f1a5 100755 --- a/tests/ts/blkid/md-raid0-whole +++ b/tests/ts/blkid/md-raid0-whole @@ -61,7 +61,7 @@ w q EOF -sleep 3 +udevadm settle ts_log "Probe first RAID member" $TS_CMD_BLKID -p -o udev $DEVICE1 2>&1 | sort >> $TS_OUTPUT @@ -72,7 +72,7 @@ $TS_CMD_BLKID -p -o udev $DEVICE1 2>&1 | sort >> $TS_OUTPUT ts_log "Stop RAID device" /sbin/mdadm -q -S ${MD_DEVICE} >> $TS_OUTPUT 2>&1 -sleep 3 +udevadm settle ts_log "Deinitialize devices" ts_device_deinit $DEVICE1 diff --git a/tests/ts/blkid/md-raid1-part b/tests/ts/blkid/md-raid1-part index e13901d3cc..f627217f8c 100755 --- a/tests/ts/blkid/md-raid1-part +++ b/tests/ts/blkid/md-raid1-part @@ -55,7 +55,7 @@ w q EOF -sleep 3 +udevadm settle MD_DEVNAME=md8 MD_DEVICE=/dev/${MD_DEVNAME} @@ -63,8 +63,7 @@ ts_log "Create RAID1 device" /sbin/mdadm -q -S ${MD_DEVICE} &> /dev/null /sbin/mdadm -q --create ${MD_DEVICE} --metadata=0.90 --chunk=64 --level=1 \ --raid-devices=2 ${DEVICE}1 ${DEVICE}2 >> $TS_OUTPUT 2>&1 - -sleep 3 +udevadm settle ts_log "Probe whole-disk" $TS_CMD_BLKID -p -o udev ${DEVICE} 2>&1 | sort >> $TS_OUTPUT @@ -77,7 +76,7 @@ $TS_CMD_BLKID -p -o udev ${DEVICE}2 2>&1 | sort >> $TS_OUTPUT /sbin/mdadm -q -S ${MD_DEVICE} >> $TS_OUTPUT 2>&1 -sleep 3 +udevadm settle rmmod scsi_debug ts_fdisk_clean diff --git a/tests/ts/blkid/md-raid1-whole b/tests/ts/blkid/md-raid1-whole index 32e17b8d02..fe419017e6 100755 --- a/tests/ts/blkid/md-raid1-whole +++ b/tests/ts/blkid/md-raid1-whole @@ -61,7 +61,7 @@ w q EOF -sleep 3 +udevadm settle ts_log "Probe first RAID member" $TS_CMD_BLKID -p -o udev $DEVICE1 2>&1 | sort >> $TS_OUTPUT @@ -72,7 +72,7 @@ $TS_CMD_BLKID -p -o udev $DEVICE1 2>&1 | sort >> $TS_OUTPUT ts_log "Stop RAID device" /sbin/mdadm -q -S ${MD_DEVICE} >> $TS_OUTPUT 2>&1 -sleep 3 +udevadm settle ts_log "Deinitialize devices" ts_device_deinit $DEVICE1 diff --git a/tests/ts/eject/umount b/tests/ts/eject/umount index 3081c1f18e..20f4e1238a 100755 --- a/tests/ts/eject/umount +++ b/tests/ts/eject/umount @@ -48,13 +48,14 @@ p p w EOF - sleep 1 + udevadm settle mkfs.ext2 -q ${dev}1 mkfs.ext2 -q ${dev}2 + udevadm settle } function deinit_device { - sleep 3 + udevadm settle rmmod scsi_debug } @@ -68,9 +69,9 @@ ts_finalize_subtest ts_init_subtest "by-disk-mounted" DEVICE=$(init_device) mkfs.ext2 -q -F $DEVICE +udevadm settle mkdir -p $TS_MOUNTPOINT mount $DEVICE $TS_MOUNTPOINT -sleep 1 $TS_CMD_EJECT --force $DEVICE && ts_log "Success" deinit_device ts_finalize_subtest diff --git a/tests/ts/fdisk/align-512-4K b/tests/ts/fdisk/align-512-4K index 3d930223b4..d72c96c1a0 100755 --- a/tests/ts/fdisk/align-512-4K +++ b/tests/ts/fdisk/align-512-4K @@ -76,10 +76,10 @@ w q EOF +udevadm settle ts_log "Alignment offsets:" cat /sys/block/${DEVNAME}/${DEVNAME}{1,2,3,4,5,6,7}/alignment_offset >> $TS_OUTPUT 2>&1 -sleep 3 rmmod scsi_debug ts_fdisk_clean diff --git a/tests/ts/fdisk/align-512-4K-63 b/tests/ts/fdisk/align-512-4K-63 index 7a8e95cef3..e1b03fda4c 100755 --- a/tests/ts/fdisk/align-512-4K-63 +++ b/tests/ts/fdisk/align-512-4K-63 @@ -76,10 +76,10 @@ w q EOF +udevadm settle ts_log "Alignment offsets:" cat /sys/block/${DEVNAME}/${DEVNAME}{1,2,3,4,5,6,7}/alignment_offset >> $TS_OUTPUT 2>&1 -sleep 3 rmmod scsi_debug ts_fdisk_clean diff --git a/tests/ts/fdisk/align-512-4K-md b/tests/ts/fdisk/align-512-4K-md index f55ee22f12..bd7bb0f0c9 100755 --- a/tests/ts/fdisk/align-512-4K-md +++ b/tests/ts/fdisk/align-512-4K-md @@ -59,10 +59,10 @@ w q EOF +udevadm settle ts_log "Alignment offsets:" cat /sys/block/${DEVNAME}/${DEVNAME}{1,2}/alignment_offset >> $TS_OUTPUT 2>&1 -sleep 3 MD_DEVNAME=md8 MD_DEVICE=/dev/${MD_DEVNAME} @@ -70,6 +70,7 @@ MD_DEVICE=/dev/${MD_DEVNAME} /sbin/mdadm -q --create ${MD_DEVICE} --metadata=0.90 --chunk=64 \ --level=0 --raid-devices=2 ${DEVICE}1 ${DEVICE}2 >> $TS_OUTPUT 2>&1 +udevadm settle ts_log "Create partitions (MD)" $TS_CMD_FDISK ${MD_DEVICE} >> $TS_OUTPUT 2>&1 <> $TS_OUTPUT 2>&1 -sleep 3 /sbin/mdadm -q -S ${MD_DEVICE} >> $TS_OUTPUT 2>&1 + +udevadm settle rmmod scsi_debug ts_fdisk_clean diff --git a/tests/ts/fdisk/align-512-512-topology b/tests/ts/fdisk/align-512-512-topology index ec10fd85f0..2a83e0839f 100755 --- a/tests/ts/fdisk/align-512-512-topology +++ b/tests/ts/fdisk/align-512-512-topology @@ -76,10 +76,10 @@ w q EOF +udevadm settle ts_log "Alignment offsets:" cat /sys/block/${DEVNAME}/${DEVNAME}{1,2,3,4,5,6,7}/alignment_offset >> $TS_OUTPUT 2>&1 -sleep 3 rmmod scsi_debug ts_fdisk_clean diff --git a/tests/ts/libmount/context b/tests/ts/libmount/context index c3b0b6dea9..c1c1fb74b9 100755 --- a/tests/ts/libmount/context +++ b/tests/ts/libmount/context @@ -35,6 +35,7 @@ DEVNAME=$(grep scsi_debug /sys/block/*/device/model | awk -F '/' '{print $4}') [ "x${DEVNAME}" == "x" ] && ts_die "Cannot find device" DEVICE="/dev/${DEVNAME}" +udevadm settle ts_log "Create partitions" $TS_CMD_FDISK ${DEVICE} >> /dev/null 2>&1 < /dev/null @@ -59,6 +59,7 @@ ts_log "Do tests..." export LIBMOUNT_MTAB=$TS_OUTPUT.mtab > $LIBMOUNT_MTAB +udevadm settle ts_init_subtest "mount-by-devname" mkdir -p $MOUNTPOINT &> /dev/null @@ -74,7 +75,6 @@ grep -q $DEVICE $LIBMOUNT_MTAB && echo "umount (device) failed: found $DEVICE in $LIBMOUNT_MTAB" >> $TS_OUTPUT 2>&1 ts_finalize_subtest -#exit 1 ts_init_subtest "mount-by-label" mkdir -p $MOUNTPOINT &> /dev/null @@ -122,9 +122,12 @@ ts_init_subtest "mount-loopdev" mkdir -p $MOUNTPOINT &> /dev/null img=$(ts_image_init) mkfs.ext3 -F $img &> /dev/null +udevadm settle + ts_valgrind $TESTPROG --mount -o loop $img $MOUNTPOINT >> $TS_OUTPUT 2>&1 grep -q $MOUNTPOINT $LIBMOUNT_MTAB || \ echo "(loopdev) cannot find $MOUNTPOINT in $LIBMOUNT_MTAB" >> $TS_OUTPUT 2>&1 +udevadm settle ts_valgrind $TESTPROG --umount $MOUNTPOINT >> $TS_OUTPUT 2>&1 grep -q $MOUNTPOINT $LIBMOUNT_MTAB && echo "umount failed: found $MOUNTPOINT in $LIBMOUNT_MTAB" >> $TS_OUTPUT 2>&1 diff --git a/tests/ts/libmount/context-utab b/tests/ts/libmount/context-utab index 4c1d1174fa..3d3f5c6c0c 100755 --- a/tests/ts/libmount/context-utab +++ b/tests/ts/libmount/context-utab @@ -30,6 +30,7 @@ DEVNAME=$(grep scsi_debug /sys/block/*/device/model | awk -F '/' '{print $4}') [ "x${DEVNAME}" == "x" ] && ts_die "Cannot find device" DEVICE="/dev/${DEVNAME}" +udevadm settle ts_log "Create partitions" $TS_CMD_FDISK ${DEVICE} >> /dev/null 2>&1 < /dev/null @@ -59,6 +60,7 @@ export LIBMOUNT_UTAB=$TS_OUTPUT.utab rm -f $LIBMOUNT_UTAB > $LIBMOUNT_UTAB +udevadm settle ts_init_subtest "mount-by-devname" mkdir -p $MOUNTPOINT &> /dev/null @@ -67,7 +69,6 @@ grep -q $DEVICE /proc/mounts || \ echo "(by device) cannot find $DEVICE in /proc/mounts" >> $TS_OUTPUT 2>&1 ts_finalize_subtest -sleep 1 ts_init_subtest "umount-by-devname" ts_valgrind $TESTPROG --umount $DEVICE >> $TS_OUTPUT 2>&1 @@ -83,7 +84,6 @@ grep -q $DEVICE $LIBMOUNT_UTAB || \ echo "(by label) cannot find $DEVICE in $LIBMOUNT_UTAB" >> $TS_OUTPUT 2>&1 ts_finalize_subtest -sleep 1 ts_init_subtest "umount" ts_valgrind $TESTPROG --umount $MOUNTPOINT >> $TS_OUTPUT 2>&1 @@ -94,11 +94,13 @@ ts_finalize_subtest if [ -x "/sbin/mkfs.btrfs" ]; then ts_log "Create filesystem [btrfs]" /sbin/mkfs.btrfs -L "$LABEL" $DEVICE &> /dev/null + udevadm settle + mount -t btrfs $DEVICE $MOUNTPOINT &> /dev/null /sbin/btrfsctl -S sub $MOUNTPOINT &> /dev/null umount $MOUNTPOINT &> /dev/null - sleep 1 + udevadm settle ts_init_subtest "mount-uhelper-subvol" mkdir -p $MOUNTPOINT &> /dev/null @@ -111,8 +113,6 @@ if [ -x "/sbin/mkfs.btrfs" ]; then $TS_CMD_FINDMNT --mtab $MOUNTPOINT -o OPTIONS -n >> $TS_OUTPUT 2>&1 ts_log "---" - sleep 1 - ts_init_subtest "umount-subvol" ts_valgrind $TESTPROG --umount $MOUNTPOINT >> $TS_OUTPUT 2>&1 grep -q $DEVICE $LIBMOUNT_UTAB && \ diff --git a/tests/ts/libmount/tabfiles-tags b/tests/ts/libmount/tabfiles-tags index c5b418133a..799149a7c5 100755 --- a/tests/ts/libmount/tabfiles-tags +++ b/tests/ts/libmount/tabfiles-tags @@ -34,6 +34,8 @@ UUID="de1bc6e9-34ab-4151-a1d7-900042eee8d9" # Create filesystem # mkfs.ext3 -F -L $LABEL $DEVICE -U $UUID &> /dev/null || ts_die "Cannot make ext3 on $DEVICE" $DEVICE +udevadm settle + ts_device_has_uuid $DEVICE || ts_die "Cannot find UUID on $DEVICE" $DEVICE FSTAB="$TS_OUTDIR/fstab" @@ -89,7 +91,6 @@ sed -i -e 's/fs: 0x.*/fs:/g' $TS_OUTPUT sed -i -e 's/source: .*//g' $TS_OUTPUT # devname is generated, remove it ts_finalize_subtest - -sleep 3 +udevadm settle rmmod scsi_debug ts_finalize diff --git a/tests/ts/mount/umount-alltargets b/tests/ts/mount/umount-alltargets index 071372bcad..3c5731af07 100755 --- a/tests/ts/mount/umount-alltargets +++ b/tests/ts/mount/umount-alltargets @@ -50,6 +50,8 @@ w q EOF +udevadm settle + ts_log "Create filesystem A" mkfs.ext2 ${DEVICE}1 &> /dev/null ts_log "Create filesystem B" @@ -59,6 +61,8 @@ mkfs.ext2 ${DEVICE}3 &> /dev/null ts_log "Create filesystem D" mkfs.ext2 ${DEVICE}4 &> /dev/null +udevadm settle + function multi_mount() { local DEV=$1 local MNT=$2 @@ -113,7 +117,7 @@ $TS_CMD_UMOUNT --recursive --all-targets ${DEVICE}1 >> $TS_OUTPUT 2>&1 [ $? == 0 ] || ts_log "umount failed" ts_finalize_subtest -sleep 3 +udevadm settle rmmod scsi_debug >> $TS_OUTPUT 2>&1 [ $? == 0 ] || ts_die "device busy (umount failed?)" diff --git a/tests/ts/mount/umount-recursive b/tests/ts/mount/umount-recursive index 53b0b39e02..13a075f676 100755 --- a/tests/ts/mount/umount-recursive +++ b/tests/ts/mount/umount-recursive @@ -50,6 +50,8 @@ w q EOF +udevadm settle + ts_log "Create filesystem A" mkfs.ext2 ${DEVICE}1 &> /dev/null ts_log "Create filesystem B" @@ -59,6 +61,7 @@ mkfs.ext2 ${DEVICE}3 &> /dev/null ts_log "Create filesystem D" mkfs.ext2 ${DEVICE}4 &> /dev/null +udevadm settle ts_log "Do tests..." @@ -90,7 +93,7 @@ $TS_CMD_MOUNT --bind $TS_MOUNTPOINT/mntB/mntC $TS_MOUNTPOINT/bindC $TS_CMD_UMOUNT --recursive $TS_MOUNTPOINT >> $TS_OUTPUT 2>&1 [ $? == 0 ] || ts_die "umount failed" -sleep 3 +udevadm settle rmmod scsi_debug >> $TS_OUTPUT 2>&1 [ $? == 0 ] || ts_die "device busy (umount failed?)"