#!/bin/bash TS_TOPDIR="$(dirname $0)/../.." TS_DESC="tags" . $TS_TOPDIR/functions.sh ts_init "$*" ts_skip_nonroot TESTPROG="$TS_HELPER_LIBMOUNT_TAB" [ -x $TESTPROG ] || ts_skip "test not compiled" # # Init device # 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 sector_size=512 [ "$?" == 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}" LABEL="testLibmount" UUID="de1bc6e9-34ab-4151-a1d7-900042eee8d9" # # Create filesystem # mkfs.ext3 -F -L $LABEL $DEVICE -U $UUID &> /dev/null || ts_die "Cannot make ext3 on $DEVICE" $DEVICE ts_device_has_uuid $DEVICE || ts_die "Cannot find UUID on $DEVICE" $DEVICE FSTAB="$TS_OUTDIR/fstab" # # Label in fstab # echo "LABEL=$LABEL /mnt/mountpoint auto defaults" > $FSTAB ts_init_subtest "fstab-label2uuid" ts_valgrind $TESTPROG --find-forward $FSTAB source "UUID=$UUID" &> $TS_OUTPUT sed -i -e 's/fs: 0x.*/fs:/g' $TS_OUTPUT ts_finalize_subtest ts_init_subtest "fstab-label2dev" ts_valgrind $TESTPROG --find-forward $FSTAB source $DEVICE &> $TS_OUTPUT sed -i -e 's/fs: 0x.*/fs:/g' $TS_OUTPUT ts_finalize_subtest # # Add more enties for the same device # echo "UUID=$UUID /mnt/mountpoint2 auto defaults" >> $FSTAB ts_init_subtest "fstab-uuid" # has to return /mnt/mountpoint2 ts_valgrind $TESTPROG --find-forward $FSTAB source "UUID=$UUID" &> $TS_OUTPUT sed -i -e 's/fs: 0x.*/fs:/g' $TS_OUTPUT ts_finalize_subtest ts_init_subtest "fstab-label" # has to return /mnt/mountpoint ts_valgrind $TESTPROG --find-forward $FSTAB source "LABEL=$LABEL" &> $TS_OUTPUT sed -i -e 's/fs: 0x.*/fs:/g' $TS_OUTPUT ts_finalize_subtest ts_init_subtest "fstab-dev2label" # has to return /mnt/mountpoint ts_valgrind $TESTPROG --find-forward $FSTAB source $DEVICE &> $TS_OUTPUT sed -i -e 's/fs: 0x.*/fs:/g' $TS_OUTPUT ts_finalize_subtest # # Add devname # echo "$DEVICE /mnt/mountpoint3 auto defaults" >> $FSTAB ts_init_subtest "fstab-dev" # has to return /mnt/mountpoint3 ts_valgrind $TESTPROG --find-forward $FSTAB source $DEVICE &> $TS_OUTPUT sed -i -e 's/fs: 0x.*/fs:/g' $TS_OUTPUT sed -i -e 's/source: .*//g' $TS_OUTPUT # devname is generated, remove it ts_finalize_subtest sleep 3 rmmod scsi_debug ts_finalize