summaryrefslogtreecommitdiffstats
path: root/tests/ts
diff options
context:
space:
mode:
authorRuediger Meier2018-03-10 19:44:32 +0100
committerKarel Zak2018-03-19 11:46:11 +0100
commit9ca02cf52d70d56fc3f7e152c55154a15c62af6d (patch)
treeef005d92180afe8fbea8db7aa18079939de9f922 /tests/ts
parenttests: fix grep expressions for devices (diff)
downloadkernel-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-xtests/ts/libmount/tabfiles-tags6
-rwxr-xr-xtests/ts/libmount/tabfiles-tags-py6
-rwxr-xr-xtests/ts/mount/fstab-devname2label2
-rwxr-xr-xtests/ts/mount/fstab-devname2uuid6
-rwxr-xr-xtests/ts/mount/fstab-label2
-rwxr-xr-xtests/ts/mount/fstab-label2devname2
-rwxr-xr-xtests/ts/mount/fstab-label2uuid7
-rwxr-xr-xtests/ts/mount/fstab-uuid6
-rwxr-xr-xtests/ts/mount/fstab-uuid2devname6
-rwxr-xr-xtests/ts/mount/fstab-uuid2label7
-rwxr-xr-xtests/ts/mount/label2
-rwxr-xr-xtests/ts/mount/uuid6
-rwxr-xr-xtests/ts/swapon/label4
-rwxr-xr-xtests/ts/swapon/uuid6
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