From: Karel Zak Date: Fri, 26 Apr 2013 08:38:33 +0000 (+0200) Subject: tests: partx tests cleanup X-Git-Tag: v2.24-rc1~611 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0adc576decc2b8605b199a4c0ca4ace535ddc0f6;p=thirdparty%2Futil-linux.git tests: partx tests cleanup * use ts_scsi_debug_init * use headers in output * use udevadm Signed-off-by: Karel Zak --- diff --git a/tests/expected/partx/partx-detect-parts b/tests/expected/partx/partx-detect-parts index b24ee9440f..70f7ba8121 100644 --- a/tests/expected/partx/partx-detect-parts +++ b/tests/expected/partx/partx-detect-parts @@ -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 diff --git a/tests/ts/partx/partx b/tests/ts/partx/partx index 3567cf87b5..54aef8bbb7 100755 --- a/tests/ts/partx/partx +++ b/tests/ts/partx/partx @@ -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