* 'test-fixes' of https://github.com/rudimeier/util-linux:
  tests: mount/rlimit tries to restore mtab
  tests: fix, don't call ts_die from subshell
  tests: ts_scsi_debug_init() sleeps a bit earlier
  tests: fix cramfs/mkfs for BE and different pagesizes
This commit is contained in:
Karel Zak 2015-04-07 12:42:56 +02:00
commit e8362d5008
5 changed files with 32 additions and 11 deletions

View File

@ -1225,7 +1225,6 @@ fff6015c3b8f791f4027791ac0b5f593 ./dir-063/data.004
create cramfs image
count MD5 from the image
a6667acb1cb0685d9eb5b9cd3724766c mkfs-loop.img
create loop device from image
check the image

View File

@ -614,19 +614,19 @@ function ts_scsi_debug_init {
modprobe -r scsi_debug &>/dev/null \
|| ts_skip "cannot remove scsi_debug module (rmmod)"
modprobe -b scsi_debug $* &>/dev/null \
modprobe -b scsi_debug "$@" &>/dev/null \
|| ts_skip "cannot load scsi_debug module (modprobe)"
# it might be still not loaded, modprobe.conf or whatever
lsmod | grep -q "^scsi_debug " \
|| ts_skip "scsi_debug module not loaded (lsmod)"
devname=$(grep --with-filename scsi_debug /sys/block/*/device/model | awk -F '/' '{print $4}')
[ "x${devname}" == "x" ] && ts_die "cannot find scsi_debug device"
sleep 1
udevadm settle
devname=$(grep --with-filename scsi_debug /sys/block/*/device/model | awk -F '/' '{print $4}')
[ "x${devname}" == "x" ] && ts_die "cannot find scsi_debug device"
TS_DEVICE="/dev/${devname}"
}

View File

@ -36,6 +36,18 @@ IMAGE_PATH="$TS_OUTDIR/$IMAGE_NAME"
IMAGE_SRC="$TS_OUTDIR/${TS_TESTNAME}-data"
LABEL="testCramfs"
BYTE_ORDER=$($TS_HELPER_SYSINFO byte-order)
PAGE_SIZE=$($TS_HELPER_SYSINFO pagesize)
case "${BYTE_ORDER}:${PAGE_SIZE}" in
LE:4096) MD5_EXP="a6667acb1cb0685d9eb5b9cd3724766c" ;;
LE:65536) MD5_EXP="b60133682603b0118592b55f1dba017c" ;;
BE:4096) MD5_EXP="eaf05031dc8ec97c91ba5c773635cc89" ;;
BE:65536) MD5_EXP="5859f87b185b1187fca3b2b00c809c03" ;;
*) echo "warning ${TS_NS}: unknown checksum" \
"for ${BYTE_ORDER}:${PAGE_SIZE}"
MD5_EXP="unknown" ;;
esac
ts_log "create mountpoint dir"
[ -d "$TS_MOUNTPOINT" ] || mkdir -p $TS_MOUNTPOINT
@ -66,7 +78,10 @@ $TS_CMD_MKCRAMFS -n $LABEL $IMAGE_SRC $IMAGE_PATH 2>&1 >> $TS_OUTPUT
ts_cd "$TS_OUTDIR"
ts_log "count MD5 from the image"
md5sum $IMAGE_NAME 2>&1 | sort >> $TS_OUTPUT
MD5_OUT=$(md5sum "$IMAGE_NAME" | awk '{printf $1}') >> $TS_OUTPUT 2>&1
if [ "$MD5_EXP" != "$MD5_OUT" -a "$MD5_EXP" != "unknown" ]; then
ts_log "is $MD5_OUT, should be $MD5_EXP"
fi
echo >> $TS_OUTPUT
ts_log "create loop device from image"

View File

@ -83,9 +83,7 @@ ts_finalize_subtest
ts_init_subtest "type-pattern-neg"
[ -d "$TS_MOUNTPOINT" ] || mkdir -p $TS_MOUNTPOINT
$TS_CMD_MOUNT -t nofoo,bar,ext3,ext2,ext4 $DEVICE $TS_MOUNTPOINT &> /dev/null
ts_is_mounted $DEVICE && (
$TS_CMD_UMOUNT $TS_MOUNTPOINT
ts_die "$DEVICE unexpectedly mounted" $DEVICE)
ts_is_mounted $DEVICE && ts_die "$DEVICE unexpectedly mounted" $DEVICE
ts_log "Success"
ts_finalize_subtest

View File

@ -60,22 +60,31 @@ OLD_SUM=$(mtab_checksum)
$TS_CMD_MOUNT $DEVICE $TS_MOUNTPOINT
) &> /dev/null
NEW_SUM=$(mtab_checksum)
$TS_CMD_UMOUNT $TS_MOUNTPOINT &> /dev/null
[ $NEW_SUM = $OLD_SUM ] && echo "OK: mtab unmodified by mount" >> $TS_OUTPUT
ts_is_mounted $DEVICE || ts_die "Cannot find $DEVICE in /proc/mounts"
$TS_CMD_UMOUNT $TS_MOUNTPOINT &> /dev/null
ts_is_mounted $DEVICE && ts_die "$DEVICE is still mounted"
ts_finalize_subtest
ts_init_subtest "umount"
[ -d "$TS_MOUNTPOINT" ] || mkdir -p $TS_MOUNTPOINT
$TS_CMD_MOUNT $DEVICE $TS_MOUNTPOINT &> /dev/null
ts_is_mounted $DEVICE || ts_die "Cannot find $DEVICE in /proc/mounts"
OLD_SUM=$(mtab_checksum)
(
ulimit -f 1
$TS_CMD_UMOUNT $TS_MOUNTPOINT &> /dev/null
) &> /dev/null
NEW_SUM=$(mtab_checksum)
$TS_CMD_UMOUNT $TS_MOUNTPOINT &> /dev/null
[ $NEW_SUM = $OLD_SUM ] && echo "OK: mtab unmodified by umount" >> $TS_OUTPUT
if ts_is_mounted $DEVICE; then
echo "FAIL: $DEVICE is still mounted" >> $TS_OUTPUT
$TS_CMD_UMOUNT $TS_MOUNTPOINT &> /dev/null
else
# repair /etc/mtab
$TS_CMD_UMOUNT --fake $TS_MOUNTPOINT &> /dev/null
fi
ts_finalize_subtest