diff options
author | Ruediger Meier | 2018-03-10 19:44:32 +0100 |
---|---|---|
committer | Karel Zak | 2018-03-19 11:46:11 +0100 |
commit | 9ca02cf52d70d56fc3f7e152c55154a15c62af6d (patch) | |
tree | ef005d92180afe8fbea8db7aa18079939de9f922 /tests/ts | |
parent | tests: fix grep expressions for devices (diff) | |
download | kernel-qcow2-util-linux-9ca02cf52d70d56fc3f7e152c55154a15c62af6d.tar.gz kernel-qcow2-util-linux-9ca02cf52d70d56fc3f7e152c55154a15c62af6d.tar.xz kernel-qcow2-util-linux-9ca02cf52d70d56fc3f7e152c55154a15c62af6d.zip |
tests: consolidate ts_device_has UUID or LABEL
Regarding parallel root checks ...
- fix: add a few missing "udevadm settle" where we are using LABELs or UUIDs
- introduce ts_udevadm_settle():
* Still trivial implementation. The idea is to use it in future for all
tests instead of directly calling "udevadm settle". So we could add debug
messages, wait for specific events, add code for non-udev systems or even
use "udevadm --{start,stop}-exec-queue" to be really sure what we are
doing and why using udevadm at all.
* The currently unused args may be used in future and show the code reader
already now why we are calling "udevadm settle" at all.
* So far this patch only affects swapon/, mount/, libmount/ tests, and is
only about UUIDs and LABELs, but may be continued later for "partitions",
"md devices", whatever.
* We are calling ts_udevadm_settle() right *before* we need a LABEL or
UUID, not just *after* we created one. This may be a bit better for
speed and shows the code reader which command would fail without settle.
- function ts_device_has_uuid() is unused now, we trust blkid(1). Renamed to
ts_is_uuid() in case we would need it again.
Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
Diffstat (limited to 'tests/ts')
-rwxr-xr-x | tests/ts/libmount/tabfiles-tags | 6 | ||||
-rwxr-xr-x | tests/ts/libmount/tabfiles-tags-py | 6 | ||||
-rwxr-xr-x | tests/ts/mount/fstab-devname2label | 2 | ||||
-rwxr-xr-x | tests/ts/mount/fstab-devname2uuid | 6 | ||||
-rwxr-xr-x | tests/ts/mount/fstab-label | 2 | ||||
-rwxr-xr-x | tests/ts/mount/fstab-label2devname | 2 | ||||
-rwxr-xr-x | tests/ts/mount/fstab-label2uuid | 7 | ||||
-rwxr-xr-x | tests/ts/mount/fstab-uuid | 6 | ||||
-rwxr-xr-x | tests/ts/mount/fstab-uuid2devname | 6 | ||||
-rwxr-xr-x | tests/ts/mount/fstab-uuid2label | 7 | ||||
-rwxr-xr-x | tests/ts/mount/label | 2 | ||||
-rwxr-xr-x | tests/ts/mount/uuid | 6 | ||||
-rwxr-xr-x | tests/ts/swapon/label | 4 | ||||
-rwxr-xr-x | tests/ts/swapon/uuid | 6 |
14 files changed, 25 insertions, 43 deletions
diff --git a/tests/ts/libmount/tabfiles-tags b/tests/ts/libmount/tabfiles-tags index 4933876d4..38858f47b 100755 --- a/tests/ts/libmount/tabfiles-tags +++ b/tests/ts/libmount/tabfiles-tags @@ -26,9 +26,8 @@ UUID="de1bc6e9-34ab-4151-a1d7-900042eee8d9" # Create filesystem # mkfs.ext3 -F -L $LABEL $TS_DEVICE -U $UUID &> /dev/null || ts_die "Cannot make ext3 on $TS_DEVICE" -udevadm settle - -ts_device_has_uuid $TS_DEVICE || ts_die "Cannot find UUID on $TS_DEVICE" +ts_device_has "LABEL" "$LABEL" "$TS_DEVICE" || ts_die "Cannot find LABEL '$LABEL' on $TS_DEVICE" +ts_device_has "UUID" "$UUID" "$TS_DEVICE" || ts_die "Cannot find $UUID on $TS_DEVICE" FSTAB="$TS_OUTDIR/fstab" @@ -36,6 +35,7 @@ FSTAB="$TS_OUTDIR/fstab" # Label in fstab # echo "LABEL=$LABEL /mnt/mountpoint auto defaults" > $FSTAB +ts_udevadm_settle "$TS_DEVICE" "LABEL" "UUID" ts_init_subtest "fstab-label2uuid" ts_run $TESTPROG --find-forward $FSTAB source "UUID=$UUID" &> $TS_OUTPUT diff --git a/tests/ts/libmount/tabfiles-tags-py b/tests/ts/libmount/tabfiles-tags-py index c1ad596bf..5e72a6f90 100755 --- a/tests/ts/libmount/tabfiles-tags-py +++ b/tests/ts/libmount/tabfiles-tags-py @@ -30,9 +30,8 @@ UUID="de1bc6e9-34ab-4151-a1d7-900042eee8d9" # Create filesystem # mkfs.ext3 -F -L $LABEL $TS_DEVICE -U $UUID &> /dev/null || ts_die "Cannot make ext3 on $TS_DEVICE" -udevadm settle - -ts_device_has_uuid $TS_DEVICE || ts_die "Cannot find UUID on $TS_DEVICE" +ts_device_has "LABEL" "$LABEL" "$TS_DEVICE" || ts_die "Cannot find LABEL '$LABEL' on $TS_DEVICE" +ts_device_has "UUID" "$UUID" "$TS_DEVICE" || ts_die "Cannot find $UUID on $TS_DEVICE" FSTAB="$TS_OUTDIR/fstab" @@ -40,6 +39,7 @@ FSTAB="$TS_OUTDIR/fstab" # Label in fstab # echo "LABEL=$LABEL /mnt/mountpoint auto defaults" > $FSTAB +ts_udevadm_settle "$DEVICE" "LABEL" "UUID" ts_init_subtest "fstab-label2uuid" $PYTHON $TESTPROG --find-forward $FSTAB source "UUID=$UUID" &> $TS_OUTPUT diff --git a/tests/ts/mount/fstab-devname2label b/tests/ts/mount/fstab-devname2label index 380b91d03..02ef1ef18 100755 --- a/tests/ts/mount/fstab-devname2label +++ b/tests/ts/mount/fstab-devname2label @@ -33,13 +33,13 @@ ts_device_init DEVICE=$TS_LODEV mkfs.ext3 -L $LABEL $DEVICE &> /dev/null || ts_die "Cannot make ext3 on $DEVICE" - ts_device_has "LABEL" $LABEL $DEVICE \ || ts_die "Cannot find LABEL '$LABEL' on $DEVICE" [ -d "$TS_MOUNTPOINT" ] || mkdir -p $TS_MOUNTPOINT ts_fstab_add "LABEL=$LABEL" +ts_udevadm_settle "$DEVICE" "LABEL" $TS_CMD_MOUNT $DEVICE >> $TS_OUTPUT 2>&1 ts_is_mounted $DEVICE || ts_die "Cannot find $DEVICE in /proc/mounts" diff --git a/tests/ts/mount/fstab-devname2uuid b/tests/ts/mount/fstab-devname2uuid index 3ed19d2df..4cd4f4502 100755 --- a/tests/ts/mount/fstab-devname2uuid +++ b/tests/ts/mount/fstab-devname2uuid @@ -32,14 +32,12 @@ ts_device_init DEVICE=$TS_LODEV mkfs.ext3 $DEVICE &> /dev/null || ts_die "Cannot make ext3 on $DEVICE" - -ts_device_has_uuid $DEVICE || ts_die "Cannot find UUID on $DEVICE" - -UUID=$(ts_uuid_by_devname $DEVICE) +UUID=$(ts_uuid_by_devname "$DEVICE") || ts_die "Cannot find UUID on $DEVICE" [ -d "$TS_MOUNTPOINT" ] || mkdir -p $TS_MOUNTPOINT ts_fstab_add "UUID=$UUID" +ts_udevadm_settle "$DEVICE" "UUID" $TS_CMD_MOUNT $DEVICE >> $TS_OUTPUT 2>&1 ts_is_mounted $DEVICE || ts_die "Cannot find $DEVICE in /proc/mounts" diff --git a/tests/ts/mount/fstab-label b/tests/ts/mount/fstab-label index bc5a15f4f..be6292d17 100755 --- a/tests/ts/mount/fstab-label +++ b/tests/ts/mount/fstab-label @@ -33,13 +33,13 @@ ts_device_init DEVICE=$TS_LODEV mkfs.ext3 -L $LABEL $DEVICE &> /dev/null || ts_die "Cannot make ext3 on $DEVICE" - ts_device_has "LABEL" $LABEL $DEVICE \ || ts_die "Cannot find LABEL '$LABEL' on $DEVICE" [ -d "$TS_MOUNTPOINT" ] || mkdir -p $TS_MOUNTPOINT ts_fstab_add "LABEL=$LABEL" +ts_udevadm_settle "$DEVICE" "LABEL" # variant A) $TS_CMD_MOUNT $TS_MOUNTPOINT >> $TS_OUTPUT 2>&1 diff --git a/tests/ts/mount/fstab-label2devname b/tests/ts/mount/fstab-label2devname index 3dcaad54a..ee4642e25 100755 --- a/tests/ts/mount/fstab-label2devname +++ b/tests/ts/mount/fstab-label2devname @@ -33,13 +33,13 @@ ts_device_init DEVICE=$TS_LODEV mkfs.ext3 -L $LABEL $DEVICE &> /dev/null || ts_die "Cannot make ext3 on $DEVICE" - ts_device_has "LABEL" $LABEL $DEVICE \ || ts_die "Cannot find LABEL '$LABEL' on $DEVICE" [ -d "$TS_MOUNTPOINT" ] || mkdir -p $TS_MOUNTPOINT ts_fstab_add "$DEVICE" +ts_udevadm_settle "$DEVICE" "LABEL" # variant A) $TS_CMD_MOUNT -L $LABEL >> $TS_OUTPUT 2>&1 diff --git a/tests/ts/mount/fstab-label2uuid b/tests/ts/mount/fstab-label2uuid index 486d07041..0d2b93154 100755 --- a/tests/ts/mount/fstab-label2uuid +++ b/tests/ts/mount/fstab-label2uuid @@ -34,17 +34,14 @@ ts_device_init DEVICE=$TS_LODEV mkfs.ext3 -L $LABEL $DEVICE &> /dev/null || ts_die "Cannot make ext3 on $DEVICE" - ts_device_has "LABEL" $LABEL $DEVICE \ || ts_die "Cannot find LABEL '$LABEL' on $DEVICE" - -ts_device_has_uuid $DEVICE || ts_die "Cannot find UUID on $DEVICE" - -UUID=$(ts_uuid_by_devname $DEVICE) +UUID=$(ts_uuid_by_devname "$DEVICE") || ts_die "Cannot find UUID on $DEVICE" [ -d "$TS_MOUNTPOINT" ] || mkdir -p $TS_MOUNTPOINT ts_fstab_add "UUID=$UUID" +ts_udevadm_settle "$DEVICE" "LABEL" "UUID" # variant A) $TS_CMD_MOUNT -L $LABEL >> $TS_OUTPUT 2>&1 diff --git a/tests/ts/mount/fstab-uuid b/tests/ts/mount/fstab-uuid index afe414dc4..1c588fc1b 100755 --- a/tests/ts/mount/fstab-uuid +++ b/tests/ts/mount/fstab-uuid @@ -32,14 +32,12 @@ ts_device_init DEVICE=$TS_LODEV mkfs.ext3 $DEVICE &> /dev/null || ts_die "Cannot make ext3 on $DEVICE" - -ts_device_has_uuid $DEVICE || ts_die "Cannot find UUID on $DEVICE" - -UUID=$(ts_uuid_by_devname $DEVICE) +UUID=$(ts_uuid_by_devname "$DEVICE") || ts_die "Cannot find UUID on $DEVICE" [ -d "$TS_MOUNTPOINT" ] || mkdir -p $TS_MOUNTPOINT ts_fstab_add "UUID=$UUID" +ts_udevadm_settle "$DEVICE" "UUID" # varian A) $TS_CMD_MOUNT $TS_MOUNTPOINT >> $TS_OUTPUT 2>&1 diff --git a/tests/ts/mount/fstab-uuid2devname b/tests/ts/mount/fstab-uuid2devname index 3197148bd..39aed65a9 100755 --- a/tests/ts/mount/fstab-uuid2devname +++ b/tests/ts/mount/fstab-uuid2devname @@ -32,14 +32,12 @@ ts_device_init DEVICE=$TS_LODEV mkfs.ext3 $DEVICE &> /dev/null || ts_die "Cannot make ext3 on $DEVICE" - -ts_device_has_uuid $DEVICE || ts_die "Cannot find UUID on $DEVICE" - -UUID=$(ts_uuid_by_devname $DEVICE) +UUID=$(ts_uuid_by_devname "$DEVICE") || ts_die "Cannot find UUID on $DEVICE" [ -d "$TS_MOUNTPOINT" ] || mkdir -p $TS_MOUNTPOINT ts_fstab_add "$DEVICE" +ts_udevadm_settle "$DEVICE" "UUID" # variant A) $TS_CMD_MOUNT -U $UUID >> $TS_OUTPUT 2>&1 diff --git a/tests/ts/mount/fstab-uuid2label b/tests/ts/mount/fstab-uuid2label index 22c5647dd..4676c9a7b 100755 --- a/tests/ts/mount/fstab-uuid2label +++ b/tests/ts/mount/fstab-uuid2label @@ -33,17 +33,14 @@ ts_device_init DEVICE=$TS_LODEV mkfs.ext3 -L $LABEL $DEVICE &> /dev/null || ts_die "Cannot make ext3 on $DEVICE" - ts_device_has "LABEL" $LABEL $DEVICE \ || ts_die "Cannot find LABEL '$LABEL' on $DEVICE" - -ts_device_has_uuid $DEVICE || ts_die "Cannot find UUID on $DEVICE" - -UUID=$(ts_uuid_by_devname $DEVICE) +UUID=$(ts_uuid_by_devname "$DEVICE") || ts_die "Cannot find UUID on $DEVICE" [ -d "$TS_MOUNTPOINT" ] || mkdir -p $TS_MOUNTPOINT ts_fstab_add "LABEL=$LABEL" +ts_udevadm_settle "$DEVICE" "LABEL" "UUID" # variant A) $TS_CMD_MOUNT -U $UUID >> $TS_OUTPUT 2>&1 diff --git a/tests/ts/mount/label b/tests/ts/mount/label index d3a571bc4..45da02b6e 100755 --- a/tests/ts/mount/label +++ b/tests/ts/mount/label @@ -34,11 +34,11 @@ ts_device_init DEVICE=$TS_LODEV mkfs.ext3 -L $LABEL $DEVICE &> /dev/null || ts_die "Cannot make ext3 on $DEVICE" -udevadm settle ts_device_has "LABEL" $LABEL $DEVICE \ || ts_die "Cannot find LABEL '$LABEL' on $DEVICE" [ -d "$TS_MOUNTPOINT" ] || mkdir -p $TS_MOUNTPOINT +ts_udevadm_settle "$DEVICE" "LABEL" # variant A) $TS_CMD_MOUNT -L $LABEL $TS_MOUNTPOINT >> $TS_OUTPUT 2>&1 diff --git a/tests/ts/mount/uuid b/tests/ts/mount/uuid index efd2774ed..36f75cef9 100755 --- a/tests/ts/mount/uuid +++ b/tests/ts/mount/uuid @@ -32,12 +32,10 @@ ts_device_init DEVICE=$TS_LODEV mkfs.ext3 $DEVICE &> /dev/null || ts_die "Cannot make ext3 on $DEVICE" - -ts_device_has_uuid $DEVICE || ts_die "Cannot find UUID on $DEVICE" - -UUID=$(ts_uuid_by_devname $DEVICE) +UUID=$(ts_uuid_by_devname "$DEVICE") || ts_die "Cannot find UUID on $DEVICE" [ -d "$TS_MOUNTPOINT" ] || mkdir -p $TS_MOUNTPOINT +ts_udevadm_settle "$DEVICE" "UUID" # variant A) $TS_CMD_MOUNT -U $UUID $TS_MOUNTPOINT >> $TS_OUTPUT 2>&1 diff --git a/tests/ts/swapon/label b/tests/ts/swapon/label index 210a12c97..1bb5dbb3e 100755 --- a/tests/ts/swapon/label +++ b/tests/ts/swapon/label @@ -34,11 +34,9 @@ DEVICE=$TS_LODEV $TS_CMD_MKSWAP -L $LABEL $DEVICE > /dev/null 2>> $TS_OUTPUT \ || ts_die "Cannot make swap on $DEVICE" - -udevadm settle - ts_device_has "LABEL" $LABEL $DEVICE \ || ts_die "Cannot find LABEL '$LABEL' on $DEVICE" +ts_udevadm_settle "$DEVICE" "LABEL" $TS_CMD_SWAPON -L $LABEL >> $TS_OUTPUT 2>&1 diff --git a/tests/ts/swapon/uuid b/tests/ts/swapon/uuid index 65af6cb6d..70e62d7f9 100755 --- a/tests/ts/swapon/uuid +++ b/tests/ts/swapon/uuid @@ -33,10 +33,8 @@ DEVICE=$TS_LODEV $TS_CMD_MKSWAP $DEVICE > /dev/null 2>> $TS_OUTPUT \ || ts_die "Cannot make swap $DEVICE" - -ts_device_has_uuid $DEVICE || ts_die "Cannot find UUID on $DEVICE" - -UUID=$(ts_uuid_by_devname $DEVICE) +UUID=$(ts_uuid_by_devname "$DEVICE") || ts_die "Cannot find UUID on $DEVICE" +ts_udevadm_settle "$DEVICE" "UUID" $TS_CMD_SWAPON -U $UUID >> $TS_OUTPUT 2>&1 |