diff options
author | Ruediger Meier | 2016-03-12 12:23:32 +0100 |
---|---|---|
committer | Ruediger Meier | 2016-03-13 21:47:38 +0100 |
commit | 131e54379454f4b39cbb77ee9d306a56c0873ad5 (patch) | |
tree | 200eb0701c024a2900cacb5d05a77eaa701e7979 /tests/ts/libmount/context-utab-py | |
parent | tests: remove invalid argument in libmount/debug (diff) | |
download | kernel-qcow2-util-linux-131e54379454f4b39cbb77ee9d306a56c0873ad5.tar.gz kernel-qcow2-util-linux-131e54379454f4b39cbb77ee9d306a56c0873ad5.tar.xz kernel-qcow2-util-linux-131e54379454f4b39cbb77ee9d306a56c0873ad5.zip |
tests: improve skipping of old btrfs-tools
Older Linux distributions came with differently incomplete
btrfs-tools 0.19+git versions (2009-2013). Old mkfs.btrfs
needs minimum device size 256M.
Note the most simple way to skip btrfs-tools < 3.14 would be
btrfs property --help 2>&1 || ts_skip "btrfs too old"
but I want to include 3.12 because of Ubuntu Trusty on travis.
This patch partly reverts/rewrites the following commits:
7e604f3c - tests: don't skip case "output undefined"
076153f8 - tests: don't compare btrfs mount options
370d31f7 - tests: skip btrfs tests if version too old
Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
Diffstat (limited to 'tests/ts/libmount/context-utab-py')
-rwxr-xr-x | tests/ts/libmount/context-utab-py | 68 |
1 files changed, 34 insertions, 34 deletions
diff --git a/tests/ts/libmount/context-utab-py b/tests/ts/libmount/context-utab-py index b781fafd3..ae565ad86 100755 --- a/tests/ts/libmount/context-utab-py +++ b/tests/ts/libmount/context-utab-py @@ -14,7 +14,6 @@ ts_check_test_command "$TS_CMD_UUIDGEN" ts_skip_nonroot ts_check_prog "mkfs.ext4" -ts_check_prog "mkfs.btrfs" ts_init_py libmount @@ -26,7 +25,7 @@ UUID=$($TS_CMD_UUIDGEN) MOUNTPOINT="$TS_MOUNTPOINT" # set global variable TS_DEVICE -ts_scsi_debug_init dev_size_mb=100 +ts_scsi_debug_init dev_size_mb=257 DEVNAME=$(basename $TS_DEVICE) ts_log "Create partitions" @@ -95,38 +94,39 @@ grep -q $DEVICE $LIBMOUNT_UTAB && \ ts_finalize_subtest -$TS_CMD_WIPEFS -a $DEVICE &> /dev/null -ts_log "Create filesystem [btrfs]" -mkfs.btrfs -L "$LABEL" $DEVICE &> /dev/null -udevadm settle - -mount -t btrfs $DEVICE $MOUNTPOINT &> /dev/null -btrfs subvolume create $MOUNTPOINT/sub &> /dev/null -umount $MOUNTPOINT &> /dev/null - -udevadm settle - -ts_init_subtest "mount-uhelper-subvol" -mkdir -p $MOUNTPOINT &> /dev/null -$PYTHON $TESTPROG --mount -o uhelper=foo,rw,subvol=sub $DEVICE $MOUNTPOINT >> $TS_OUTPUT 2>&1 -grep -q $DEVICE $LIBMOUNT_UTAB || \ - echo "cannot find $DEVICE in $LIBMOUNT_UTAB" >> $TS_OUTPUT 2>&1 -ts_finalize_subtest - - -# Don't temporary write btrfs mount options to the test output, -# the options depend on kernel version (since 4.2 it contains -# subvol= and subvolid=). -# -#ts_log "All mount options (btrfs subvolume + utab) ---" -#$TS_CMD_FINDMNT --mtab $MOUNTPOINT -o OPTIONS -n >> $TS_OUTPUT 2>&1 -#ts_log "---" - -ts_init_subtest "umount-subvol" -$PYTHON $TESTPROG --umount $MOUNTPOINT >> $TS_OUTPUT 2>&1 -grep -q $DEVICE $LIBMOUNT_UTAB && \ - echo "umount (mountpoint) failed: found $DEVICE in $LIBMOUNT_UTAB" >> $TS_OUTPUT 2>&1 -ts_finalize_subtest +if type "mkfs.btrfs" &>/dev/null && mkfs.btrfs --version &>/dev/null; then + $TS_CMD_WIPEFS -a $DEVICE &> /dev/null + #ts_log "Create filesystem [btrfs]" + mkfs.btrfs -L "$LABEL" $DEVICE &> /dev/null + udevadm settle + + mount -t btrfs $DEVICE $MOUNTPOINT &> /dev/null + btrfs subvolume create $MOUNTPOINT/sub &> /dev/null + umount $MOUNTPOINT &> /dev/null + + udevadm settle + + ts_init_subtest "mount-uhelper-subvol" + mkdir -p $MOUNTPOINT &> /dev/null + $PYTHON $TESTPROG --mount -o uhelper=foo,rw,subvol=sub $DEVICE $MOUNTPOINT >> $TS_OUTPUT 2>&1 + grep -q $DEVICE $LIBMOUNT_UTAB || \ + echo "cannot find $DEVICE in $LIBMOUNT_UTAB" >> $TS_OUTPUT 2>&1 + ts_finalize_subtest + + # Don't temporary write btrfs mount options to the test output, + # the options depend on kernel version (since 4.2 it contains + # subvol= and subvolid=). + # + #ts_log "All mount options (btrfs subvolume + utab) ---" + #$TS_CMD_FINDMNT --mtab $MOUNTPOINT -o OPTIONS -n >> $TS_OUTPUT 2>&1 + #ts_log "---" + + ts_init_subtest "umount-subvol" + $PYTHON $TESTPROG --umount $MOUNTPOINT >> $TS_OUTPUT 2>&1 + grep -q $DEVICE $LIBMOUNT_UTAB && \ + echo "umount (mountpoint) failed: found $DEVICE in $LIBMOUNT_UTAB" >> $TS_OUTPUT 2>&1 + ts_finalize_subtest +fi ts_log "...done." rmmod scsi_debug |