summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKarel Zak2014-05-28 09:37:41 +0200
committerKarel Zak2014-05-28 09:37:41 +0200
commit705a823a6e6af608f8f84cb9ff6571545245ae25 (patch)
treed69167044b1eb7d73e64a1fe3d9cc32f20632a92
parentlosetup: don't ignore EBUSY in losetup when the loop device is given (diff)
parenttests: split off losetup scsi_debug part (diff)
downloadkernel-qcow2-util-linux-705a823a6e6af608f8f84cb9ff6571545245ae25.tar.gz
kernel-qcow2-util-linux-705a823a6e6af608f8f84cb9ff6571545245ae25.tar.xz
kernel-qcow2-util-linux-705a823a6e6af608f8f84cb9ff6571545245ae25.zip
Merge branch 'tests-stuff' of https://github.com/rudimeier/util-linux
* 'tests-stuff' of https://github.com/rudimeier/util-linux: tests: split off losetup scsi_debug part tests: fix, typo schedutils/cpuset tests: run tests in deterministic order tests: ts_scsi_debug_init skip instead of die
-rw-r--r--tests/expected/losetup/losetup-blkdev-show (renamed from tests/expected/losetup/losetup-blkdev)0
-rw-r--r--tests/expected/losetup/losetup-file-show (renamed from tests/expected/losetup/losetup-file)0
-rw-r--r--tests/functions.sh20
-rwxr-xr-xtests/run.sh1
-rwxr-xr-xtests/ts/losetup/losetup64
-rwxr-xr-xtests/ts/losetup/losetup-blkdev80
-rw-r--r--tests/ts/losetup/losetup_functions.sh7
-rwxr-xr-xtests/ts/schedutils/cpuset2
8 files changed, 106 insertions, 68 deletions
diff --git a/tests/expected/losetup/losetup-blkdev b/tests/expected/losetup/losetup-blkdev-show
index 2afc15105..2afc15105 100644
--- a/tests/expected/losetup/losetup-blkdev
+++ b/tests/expected/losetup/losetup-blkdev-show
diff --git a/tests/expected/losetup/losetup-file b/tests/expected/losetup/losetup-file-show
index 09d11473f..09d11473f 100644
--- a/tests/expected/losetup/losetup-file
+++ b/tests/expected/losetup/losetup-file-show
diff --git a/tests/functions.sh b/tests/functions.sh
index 7232adf46..85f0e0fac 100644
--- a/tests/functions.sh
+++ b/tests/functions.sh
@@ -587,15 +587,23 @@ function ts_scsi_debug_init {
local devname
TS_DEVICE="none"
- modprobe --dry-run --quiet scsi_debug &>/dev/null
- [ "$?" == 0 ] || ts_skip "missing scsi_debug module"
+ # dry run is not realy reliable, real modprobe may still fail
+ modprobe --dry-run --quiet scsi_debug &>/dev/null \
+ || ts_skip "missing scsi_debug module (dry-run)"
- rmmod scsi_debug &> /dev/null
- modprobe scsi_debug $*
- [ "$?" == 0 ] || ts_die "Cannot init device"
+ # skip if still in use or removal of modules not supported at all
+ modprobe -r scsi_debug &>/dev/null \
+ || ts_skip "cannot remove scsi_debug module (rmmod)"
+
+ 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 device"
+ [ "x${devname}" == "x" ] && ts_die "cannot find scsi_debug device"
sleep 1
udevadm settle
diff --git a/tests/run.sh b/tests/run.sh
index 06ed5e384..1f2971aed 100755
--- a/tests/run.sh
+++ b/tests/run.sh
@@ -146,6 +146,7 @@ fi
count=0
>| $top_builddir/tests/failures
printf "%s\n" ${comps[*]} |
+ sort |
xargs -I '{}' -P $paraller_jobs -n 1 bash -c "'{}' \"$OPTS\" ||
echo 1 >> $top_builddir/tests/failures"
declare -a fail_file
diff --git a/tests/ts/losetup/losetup b/tests/ts/losetup/losetup
index 804518998..3c4fcb74f 100755
--- a/tests/ts/losetup/losetup
+++ b/tests/ts/losetup/losetup
@@ -34,24 +34,14 @@ rm -f $TS_OUTPUT
ts_skip_nonroot
ts_check_losetup
-
-# set global variable TS_DEVICE
-ts_scsi_debug_init dev_size_mb=11
-REFILE=$(ts_image_init 10)
-
-function lo_print {
- local lo=$1
- echo "offset: $( $TS_CMD_LOSETUP --list --raw -n -O OFFSET $lo )"
- echo "sizelimit: $( $TS_CMD_LOSETUP --list --raw -n -O SIZELIMIT $lo )"
- echo "size: $( $TS_CMD_LSBLK -o SIZE -b -n -r $lo )"
-}
+. "$TS_SELF/losetup_functions.sh"
#
# file-* tests: Backing file is a regular file
#
-BACKFILE="$REFILE"
+BACKFILE=$(ts_image_init 10)
-ts_init_subtest "file"
+ts_init_subtest "file-show"
LODEV=$( $TS_CMD_LOSETUP --find --show $BACKFILE )
if [ -z "$LODEV" ]; then
ts_log "Failed to create loop device"
@@ -91,54 +81,6 @@ ts_finalize_subtest
rm -rf $BACKFILE
-#
-# Backing file is a block device
-#
-BACKFILE="$TS_DEVICE"
-
-ts_init_subtest "blkdev"
-LODEV=$( $TS_CMD_LOSETUP --find --show $BACKFILE )
-if [ -z "$LODEV" ]; then
- ts_log "Failed to create loop device"
-fi
-lo_print $LODEV >> $TS_OUTPUT
-$TS_CMD_LOSETUP -d $LODEV
-ts_finalize_subtest
-
-ts_init_subtest "blkdev-offset"
-LODEV=$( $TS_CMD_LOSETUP --offset 1MiB --find --show $BACKFILE )
-if [ -z "$LODEV" ]; then
- ts_log "Failed to create loop device"
-fi
-lo_print $LODEV >> $TS_OUTPUT
-$TS_CMD_LOSETUP -d $LODEV
-ts_finalize_subtest
-
-
-ts_init_subtest "blkdev-sizelimit"
-LODEV=$( $TS_CMD_LOSETUP --sizelimit 3MiB --find --show $BACKFILE )
-if [ -z "$LODEV" ]; then
- ts_log "Failed to create loop device"
-fi
-lo_print $LODEV >> $TS_OUTPUT
-$TS_CMD_LOSETUP -d $LODEV
-ts_finalize_subtest
-
-
-ts_init_subtest "blkdev-section"
-LODEV=$( $TS_CMD_LOSETUP --offset 1MiB --sizelimit 3MiB --find --show $BACKFILE )
-if [ -z "$LODEV" ]; then
- ts_log "Failed to create loop device"
-fi
-lo_print $LODEV >> $TS_OUTPUT
-$TS_CMD_LOSETUP -d $LODEV
-ts_finalize_subtest
-
udevadm settle
-rmmod scsi_debug
-
ts_finalize
-
-
-
diff --git a/tests/ts/losetup/losetup-blkdev b/tests/ts/losetup/losetup-blkdev
new file mode 100755
index 000000000..0181a7d60
--- /dev/null
+++ b/tests/ts/losetup/losetup-blkdev
@@ -0,0 +1,80 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2013 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+
+TS_TOPDIR="${0%/*}/../.."
+TS_DESC="losetup-blkdev"
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+
+ts_check_test_command "$TS_CMD_LOSETUP"
+
+ts_skip_nonroot
+ts_check_losetup
+
+. "$TS_SELF/losetup_functions.sh"
+
+#
+# Backing file is a block device
+#
+ts_scsi_debug_init dev_size_mb=11
+BACKFILE="$TS_DEVICE"
+
+ts_init_subtest "show"
+LODEV=$( $TS_CMD_LOSETUP --find --show $BACKFILE )
+if [ -z "$LODEV" ]; then
+ ts_log "Failed to create loop device"
+fi
+lo_print $LODEV >> $TS_OUTPUT
+$TS_CMD_LOSETUP -d $LODEV
+ts_finalize_subtest
+
+ts_init_subtest "offset"
+LODEV=$( $TS_CMD_LOSETUP --offset 1MiB --find --show $BACKFILE )
+if [ -z "$LODEV" ]; then
+ ts_log "Failed to create loop device"
+fi
+lo_print $LODEV >> $TS_OUTPUT
+$TS_CMD_LOSETUP -d $LODEV
+ts_finalize_subtest
+
+
+ts_init_subtest "sizelimit"
+LODEV=$( $TS_CMD_LOSETUP --sizelimit 3MiB --find --show $BACKFILE )
+if [ -z "$LODEV" ]; then
+ ts_log "Failed to create loop device"
+fi
+lo_print $LODEV >> $TS_OUTPUT
+$TS_CMD_LOSETUP -d $LODEV
+ts_finalize_subtest
+
+
+ts_init_subtest "section"
+LODEV=$( $TS_CMD_LOSETUP --offset 1MiB --sizelimit 3MiB --find --show $BACKFILE )
+if [ -z "$LODEV" ]; then
+ ts_log "Failed to create loop device"
+fi
+lo_print $LODEV >> $TS_OUTPUT
+$TS_CMD_LOSETUP -d $LODEV
+ts_finalize_subtest
+
+udevadm settle
+
+rmmod scsi_debug
+
+ts_finalize
diff --git a/tests/ts/losetup/losetup_functions.sh b/tests/ts/losetup/losetup_functions.sh
new file mode 100644
index 000000000..d17c82a30
--- /dev/null
+++ b/tests/ts/losetup/losetup_functions.sh
@@ -0,0 +1,7 @@
+
+function lo_print {
+ local lo=$1
+ echo "offset: $( $TS_CMD_LOSETUP --list --raw -n -O OFFSET $lo )"
+ echo "sizelimit: $( $TS_CMD_LOSETUP --list --raw -n -O SIZELIMIT $lo )"
+ echo "size: $( $TS_CMD_LSBLK -o SIZE -b -n -r $lo )"
+}
diff --git a/tests/ts/schedutils/cpuset b/tests/ts/schedutils/cpuset
index f1df59794..afd0fd5a7 100755
--- a/tests/ts/schedutils/cpuset
+++ b/tests/ts/schedutils/cpuset
@@ -20,7 +20,7 @@ TS_DESC="cpuset"
. $TS_TOPDIR/functions.sh
ts_init "$*"
-ts_check_test_command "$TS_CMD_CPUSET"
+ts_check_test_command "$TS_HELPER_CPUSET"
MASKS=" 0x00000001 \
0x00000002 \