]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
tests: partx tests cleanup
authorKarel Zak <kzak@redhat.com>
Fri, 26 Apr 2013 08:38:33 +0000 (10:38 +0200)
committerKarel Zak <kzak@redhat.com>
Fri, 26 Apr 2013 08:38:48 +0000 (10:38 +0200)
 * use ts_scsi_debug_init

 * use headers in output

 * use udevadm

Signed-off-by: Karel Zak <kzak@redhat.com>
tests/expected/partx/partx-detect-parts
tests/ts/partx/partx

index b24ee9440f895af35f29b1ee9741e64a39dfcd7e..70f7ba8121bb01becb6b5acad1983ee8f5c79855 100644 (file)
@@ -1,3 +1,4 @@
- 1    32  33791   33760 16.5M
- 2 33792  67583   33792 16.5M
- 3 67584 102399   34816   17M
+NR START    END SECTORS  SIZE NAME UUID
+ 1    32  33791   33760 16.5M      
+ 2 33792  67583   33792 16.5M      
+ 3 67584 102399   34816   17M      
index 3567cf87b5f1baef52a324ae1d13c83542423a9f..54aef8bbb7096ae0ffe8dcd91657be06d437ff20 100755 (executable)
@@ -26,12 +26,9 @@ PARTS=3
 ts_init "$*"
 ts_skip_nonroot
 
-if [ ! -x "$TS_CMD_PARTX" ]; then
-       ts_skip "partx disabled"
-fi
+[ ! -x "$TS_CMD_PARTX" ] && ts_skip "partx disabled"
 
 mkdir -p $TS_OUTDIR/images-pt
-
 for img in $(ls $TS_IMGDIR/*.img.bz2 | sort); do
        name=$(basename $img .img.bz2)
        outimg=$TS_OUTDIR/images-pt/${name}.img
@@ -44,48 +41,33 @@ for img in $(ls $TS_IMGDIR/*.img.bz2 | sort); do
        ts_finalize_subtest
 done
 
-modprobe --dry-run --quiet scsi_debug
-[ "$?" == 0 ] || ts_skip "missing scsi_debug module"
-
-rmmod scsi_debug &> /dev/null
-modprobe scsi_debug dev_size_mb=50
-[ "$?" == 0 ] || ts_die "Cannot init device"
-
-sleep 3
 
-DEVNAME=$(grep scsi_debug /sys/block/*/device/model | awk -F '/' '{print $4}')
-[ "x${DEVNAME}" == "x" ] && ts_die "Cannot find device"
-
-DEVICE="/dev/${DEVNAME}"
+DEVICE=$(ts_scsi_debug_init dev_size_mb=50)
 
 ts_init_subtest "addpart"
 $TS_CMD_ADDPART ${DEVICE} 1 0 1
 [ "$?" == 0 ] && echo OK &>$TS_OUTPUT || ts_die "Unable to add partition"a &>$TS_OUTPUT
 ts_finalize_subtest
 
-sleep 1
+udevadm settle
 
 ts_init_subtest "delpart"
 $TS_CMD_DELPART ${DEVICE} 1
 [ "$?" == 0 ] && echo OK >> $TS_OUTPUT 2>&1 || ts_die "Unable to remove partition" >> $TS_OUTPUT 2>&1
 ts_finalize_subtest
 
+udevadm settle
 rmmod scsi_debug &> /dev/null
-modprobe scsi_debug dev_size_mb=50 num_parts=$PARTS
-[ "$?" == 0 ] || ts_die "Cannot init device"
-
-sleep 3
-
-DEVNAME=$(grep scsi_debug /sys/block/*/device/model | awk -F '/' '{print $4}')
-[ "x${DEVNAME}" == "x" ] && ts_die "Cannot find device"
 
-DEVICE="/dev/${DEVNAME}"
+DEVICE=$(ts_scsi_debug_init dev_size_mb=50 num_parts=$PARTS)
+DEVNAME=$(basename $DEVICE)
 
 ts_init_subtest "detect-parts"
-#detect PARTS partitions
-$TS_CMD_PARTX --show --noheadings $DEVICE &> $TS_OUTPUT
+$TS_CMD_PARTX --show $DEVICE &> $TS_OUTPUT
 ts_finalize_subtest
 
+udevadm settle
+
 ts_init_subtest "delete-all"
 #delete partinfo
 $TS_CMD_PARTX --delete $DEVICE &> $TS_OUTPUT
@@ -94,6 +76,8 @@ $TS_CMD_PARTX --delete $DEVICE &> $TS_OUTPUT
 ls -d "/sys/block/${DEVNAME}/${DEVNAME}*" 2>/dev/null && ts_die
 ts_finalize_subtest
 
+udevadm settle
+
 ts_init_subtest "add-all"
 #read DEVICE and restore the partinfo
 $TS_CMD_PARTX --add $DEVICE &> $TS_OUTPUT
@@ -102,7 +86,7 @@ $TS_CMD_PARTX --add $DEVICE &> $TS_OUTPUT
    echo "Unable to add partitions for $DEVICE" >> $TS_OUTPUT 2>&1
 ts_finalize_subtest
 
-sleep 1
+udevadm settle
 
 ts_init_subtest "delete-one"
 #remove last partition only
@@ -113,16 +97,22 @@ wc -l) -eq $((PARTS-1)) ] &&
     echo "Unable to remove a partition on $DEVICE" >> $TS_OUTPUT 2>&1
 ts_finalize_subtest
 
+udevadm settle
+
 ts_init_subtest "delete-non-existent"
 #attempt to remove it again
 $TS_CMD_PARTX -d $PARTS $DEVICE && echo "partx failed: removed non-existing partition" &>$TS_OUTPUT || echo "partx: OK" &>$TS_OUTPUT
 ts_finalize_subtest
 
+udevadm settle
+
 ts_init_subtest "add-existing"
 #try adding an existing partition
 $TS_CMD_PARTX -a --nr 1 $DEVICE &>/dev/null && echo "partx failed: re-added an existing partition" &> $TS_OUTPUT || echo "partx: OK" &> $TS_OUTPUT
 ts_finalize_subtest
 
+udevadm settle
+
 ts_init_subtest "change-by-range"
 # {-a|-d} --nr 0 should handle all partitions
 $TS_CMD_PARTX -d --nr 0 $DEVICE
@@ -131,7 +121,6 @@ $TS_CMD_PARTX -a --nr 0 $DEVICE
 [ $(ls -d /sys/block/${DEVNAME}/${DEVNAME}* 2>/dev/null | wc -l) -eq $PARTS ] && echo "partitions added" >> $TS_OUTPUT 2>&1 || echo "Failed to add $DEVICE partitions" >> $TS_OUTPUT 2>&1
 ts_finalize_subtest
 
-sleep 3
+udevadm settle
 rmmod scsi_debug
-
 ts_finalize