]> www.infradead.org Git - users/sagi/blktests.git/commitdiff
Change _have_module -> _have_modules
authorOmar Sandoval <osandov@fb.com>
Thu, 6 Dec 2018 19:00:04 +0000 (11:00 -0800)
committerOmar Sandoval <osandov@fb.com>
Thu, 6 Dec 2018 19:03:20 +0000 (11:03 -0800)
This way, we can report all missing modules at once.

Signed-off-by: Omar Sandoval <osandov@fb.com>
34 files changed:
common/null_blk
common/rc
common/scsi_debug
tests/block/001
tests/nbd/rc
tests/nvme/002
tests/nvme/003
tests/nvme/004
tests/nvme/005
tests/nvme/006
tests/nvme/007
tests/nvme/008
tests/nvme/009
tests/nvme/010
tests/nvme/011
tests/nvme/012
tests/nvme/013
tests/nvme/014
tests/nvme/015
tests/nvme/016
tests/nvme/017
tests/nvme/019
tests/nvme/020
tests/nvme/021
tests/nvme/022
tests/nvme/023
tests/nvme/024
tests/nvme/025
tests/nvme/026
tests/nvme/027
tests/nvme/028
tests/nvmeof-mp/rc
tests/scsi/rc
tests/srp/rc

index 0b97dd6475e48891882d3f3f3d69ad4fc7037505..937ece07ed66264f616590f0c36e2cf71eb11bd1 100644 (file)
@@ -5,7 +5,7 @@
 # null_blk helper functions.
 
 _have_null_blk() {
-       _have_module null_blk
+       _have_modules null_blk
 }
 
 _init_null_blk() {
index 8a892bcd5fde57d49349f36ed2ca62b82482e8da..723b5b02a065a84d96b8fc310df737548a3add51 100644 (file)
--- a/common/rc
+++ b/common/rc
@@ -27,12 +27,23 @@ _have_root() {
        return 0
 }
 
-_have_module() {
-       if modprobe -n -q "$1"; then
-               return 0
+_have_modules() {
+       local missing=()
+       local module
+
+       for module in "$@"; do
+               if ! modprobe -n -q "$1"; then
+                       missing+=("$module")
+               fi
+       done
+       if [[ ${#missing} -gt 1 ]]; then
+               SKIP_REASON="the following modules are not available: ${missing[*]}"
+               return 1
+       elif [[ ${#missing} -eq 1 ]]; then
+               SKIP_REASON="${missing[0]} module is not available"
+               return 1
        fi
-       SKIP_REASON="$1 module is not available"
-       return 1
+       return 0
 }
 
 _have_module_param() {
@@ -60,7 +71,7 @@ _have_src_program() {
 }
 
 _have_loop() {
-       _have_module loop && _have_program losetup
+       _have_modules loop && _have_program losetup
 }
 
 _have_blktrace() {
index b406f61faa9384f2b2da1fb7d34f736fdd58676d..b48cdc9e2b4da42854e3e5de4419e56396765c48 100644 (file)
@@ -5,7 +5,7 @@
 # scsi_debug helper functions.
 
 _have_scsi_debug() {
-       _have_module scsi_debug
+       _have_modules scsi_debug
 }
 
 _init_scsi_debug() {
index e676d038091e926f0e820c3c907c9e972f3c830c..51ec9d84140123371d2615582db3724231dbfb85 100755 (executable)
@@ -13,7 +13,7 @@ DESCRIPTION="stress device hotplugging"
 TIMED=1
 
 requires() {
-       _have_scsi_debug && _have_module sd_mod && _have_module sr_mod
+       _have_scsi_debug && _have_modules sd_mod sr_mod
 }
 
 stress_scsi_debug() {
index 45ad5d8a879633851276a05c5324f26a57648e56..9d0e3d1ce15fdbb066a8ccd85ffd1da53686434b 100644 (file)
@@ -11,7 +11,7 @@ group_requires() {
 }
 
 _have_nbd() {
-       if ! _have_module nbd; then
+       if ! _have_modules nbd; then
                return 1
        fi
        if ! _have_program nbd-server; then
index 2b0153490aa794ed55ebf77b8c3f990a6b3ee1cc..0132ac02b22126233be33c83a48550be5fd5ea6f 100755 (executable)
@@ -10,8 +10,7 @@
 DESCRIPTION="create many subsystems and test discovery"
 
 requires() {
-       _have_program nvme && _have_module nvme-loop && _have_module loop && \
-               _have_configfs
+       _have_program nvme && _have_modules loop nvme-loop && _have_configfs
 }
 
 test() {
index 693ad8dca478e554c252f20e33fe5e7a9611849c..f304071445196b5927155522215abc44d3c848a1 100755 (executable)
@@ -11,8 +11,7 @@ DESCRIPTION="test if we're sending keep-alives to a discovery controller"
 QUICK=1
 
 requires() {
-       _have_program nvme && _have_module nvme-loop && _have_module loop \
-               && _have_configfs
+       _have_program nvme && _have_modules loop nvme-loop && _have_configfs
 }
 
 test() {
index 55b5c67ef93abed45a41ec51590ff657b66eb38d..346f309a392852725154a12d57ceddcd67d49d09 100755 (executable)
@@ -12,8 +12,7 @@ DESCRIPTION="test nvme and nvmet UUID NS descriptors"
 QUICK=1
 
 requires() {
-       _have_program nvme && _have_module nvme-loop && _have_module loop && \
-               _have_configfs
+       _have_program nvme && _have_modules loop nvme-loop && _have_configfs
 }
 
 test() {
index fa7a75d59b612fc8fec4f93ed5bf69f2ba324738..e72fc809c9368703f8a36b7df60c5943e00e055d 100755 (executable)
@@ -11,9 +11,8 @@ DESCRIPTION="reset local loopback target"
 QUICK=1
 
 requires() {
-       _have_module nvme-loop && _have_module nvmet && _have_module loop && \
-               _have_configfs && _have_module nvme-core && \
-               _have_module_param nvme-core multipath
+       _have_modules loop nvme-core nvme-loop nvmet && \
+               _have_module_param nvme-core multipath && _have_configfs
 }
 
 test() {
index a2693a26b5ec9e8b0cda9a61f51e0ae2371db8d9..d12d66bc5a8d000728d23a44dce0507523f4d165 100755 (executable)
@@ -10,8 +10,8 @@ DESCRIPTION="create an NVMeOF target with a block device-backed ns"
 QUICK=1
 
 requires() {
-       _have_program nvme && _have_module nvme-loop && _have_module loop && \
-               _have_module nvmet && _have_configfs
+       _have_program nvme && _have_modules loop nvme-loop nvmet && \
+               _have_configfs
 }
 
 test() {
index c8672c7dee30cb3afbaf527fb1fe811277479630..6a57b7bf7e0dfce4e3aabde686f81e2e0fca879e 100755 (executable)
@@ -10,8 +10,7 @@ DESCRIPTION="create an NVMeOF target with a file-backed ns"
 QUICK=1
 
 requires() {
-       _have_program nvme && _have_module nvme-loop && _have_module nvmet && \
-               _have_configfs
+       _have_program nvme && _have_modules nvme-loop nvmet && _have_configfs
 }
 
 test() {
index e5aa50b3bc2216ea77901e42fc463accbb90c0e7..d73ec7d6d97a5798295bef0c34e69bfaeec87de9 100755 (executable)
@@ -10,8 +10,8 @@ DESCRIPTION="create an NVMeOF host with a block device-backed ns"
 QUICK=1
 
 requires() {
-       _have_program nvme && _have_module nvme-loop && _have_module loop && \
-               _have_module nvmet && _have_configfs
+       _have_program nvme && _have_modules loop nvme-loop nvmet && \
+               _have_configfs
 }
 
 test() {
index 9257fe0cd55ae005c53b95b4abde70c66e978a18..a46168123c56e78a85592c2dfa80be4d8f43dfa8 100755 (executable)
@@ -10,8 +10,7 @@ DESCRIPTION="create an NVMeOF host with a file-backed ns"
 QUICK=1
 
 requires() {
-       _have_program nvme && _have_module nvme-loop && _have_configfs \
-               _have_module nvmet
+       _have_program nvme && _have_modules nvme-loop nvmet && _have_configfs
 }
 
 test() {
index a76b176a878131cdc167cd1e58e55b6b402bf213..ed7c95af28538945cd70b5bc3bbe3d9c2c6cf8b0 100755 (executable)
@@ -10,9 +10,8 @@ DESCRIPTION="run data verification fio job on NVMeOF block device-backed ns"
 TIMED=1
 
 requires() {
-       _have_program nvme && _have_fio && _have_module loop && \
-               _have_configfs && _have_module nvme-loop && \
-               _have_module nvmet
+       _have_program nvme && _have_fio && \
+               _have_modules loop nvme-loop nvmet && _have_configfs
 }
 
 test() {
index cfe3308886db6fa13327795915d755291a12d92b..fa638a193bad363b517e4e516ca220116d98ae06 100755 (executable)
@@ -11,7 +11,7 @@ TIMED=1
 
 requires() {
        _have_program nvme && _have_fio && _have_configfs && \
-               _have_module nvme-loop && _have_module nvmet
+               _have_modules nvme-loop nvmet
 }
 
 test() {
index a19dc36bd6eea6f540826443f83825402883c7e2..9a6801511df7f1695fbc9426fea062e28eb6fc64 100755 (executable)
@@ -11,8 +11,7 @@ TIMED=1
 
 requires() {
        _have_program nvme && _have_program mkfs.xfs && _have_program fio && \
-               _have_module loop && _have_module nvmet && \
-               _have_module nvme-loop && _have_configfs
+               _have_modules loop nvme-loop nvmet && _have_configfs
 }
 
 test() {
index 4fc762bc48a8bcacc77a2cc2749f1c8091cf8098..e346cd4baa358e3d24c90fe1b2d0171329e846ff 100755 (executable)
@@ -11,8 +11,7 @@ TIMED=1
 
 requires() {
        _have_program nvme && _have_program mkfs.xfs && _have_fio && \
-               _have_module nvmet && _have_module nvme-loop && \
-               _have_configfs
+               _have_modules nvme-loop nvmet && _have_configfs
 }
 
 test() {
index 08fef818b6b28ac0eccfc4c2d26c3dc130d1d103..7de568faeff25dd29f798dd9abf0e2cbd7fc9ac7 100755 (executable)
@@ -10,8 +10,8 @@ DESCRIPTION="flush a NVMeOF block device-backed ns"
 QUICK=1
 
 requires() {
-       _have_program nvme && _have_module nvme-loop && _have_module loop && \
-               _have_module nvmet && _have_configfs
+       _have_program nvme && _have_modules loop nvme-loop nvmet && \
+               _have_configfs
 }
 
 test() {
index 6b65c14a9cfa000cbb5a98b906e558b583d4f2be..29cf9544bcbe30a13f3eaf3b9793ae527cf8ae14 100755 (executable)
@@ -10,8 +10,7 @@ DESCRIPTION="unit test for NVMe flush for file backed ns"
 QUICK=1
 
 requires() {
-       _have_program nvme && _have_module nvme-loop && _have_module loop && \
-               _have_configfs
+       _have_program nvme && _have_modules loop nvme-loop && _have_configfs
 }
 
 test() {
index 115c51357664276903d3098003f461e40f92e0e3..966d5dc0a4a29d557d385cea90de7c32a58553cf 100755 (executable)
@@ -9,8 +9,7 @@
 DESCRIPTION="create/delete many NVMeOF block device-backed ns and test discovery"
 
 requires() {
-       _have_program nvme && _have_module nvme-loop && _have_module nvmet \
-               _have_configfs
+       _have_program nvme && _have_modules nvme-loop nvmet && _have_configfs
 }
 
 test() {
index b32465008fbd91f3f59aaf4fa6ba2e17a9d26703..0b86bece95201f7207ce36a3d719800ca642a554 100755 (executable)
@@ -9,8 +9,7 @@
 DESCRIPTION="create/delete many file-ns and test discovery"
 
 requires() {
-       _have_program nvme && _have_module nvme-loop && _have_module nvmet && \
-               _have_configfs
+       _have_program nvme && _have_modules nvme-loop nvmet && _have_configfs
 }
 
 test() {
index 15476487b76c905f7aec66a246a1a791faa8ae68..4a167361c42cf4f65295b6adec90fc6e402facb9 100755 (executable)
@@ -10,8 +10,8 @@ DESCRIPTION="test NVMe DSM Discard command on NVMeOF block-device ns"
 QUICK=1
 
 requires() {
-       _have_program nvme && _have_module nvme-loop && _have_module loop && \
-               _have_module nvmet && _have_configfs
+       _have_program nvme && _have_modules loop nvme-loop nvmet && \
+               _have_configfs
 }
 
 test() {
index 042665fc82a70e91635042546a13cc22c1ad4d1e..6bd8075b1f4d84a31b55e4cbd937be11b874d815 100755 (executable)
@@ -10,8 +10,7 @@ DESCRIPTION="test NVMe DSM Discard command on NVMeOF file-backed ns"
 QUICK=1
 
 requires() {
-       _have_program nvme && _have_module nvme-loop && _have_configfs \
-               _have_module nvmet
+       _have_program nvme && _have_modules nvme-loop nvmet && _have_configfs
 }
 
 test() {
index 2c11d550dc9698fd081b17376371f08c24cb6ec7..8e9512adb5af6abd4fec258882d237a09b7747e5 100755 (executable)
@@ -10,8 +10,8 @@ DESCRIPTION="test NVMe list command on NVMeOF file-backed ns"
 QUICK=1
 
 requires() {
-       _have_program nvme && _have_module nvme-loop && _have_module loop && \
-               _have_module nvmet && _have_configfs
+       _have_program nvme && _have_modules loop nvme-loop nvmet && \
+               _have_configfs
 }
 
 test() {
index 2e7db7139008762d6f3cb5e58c9dfbe600396056..8f89d03b3a58dac6009aab3c65732f775363e883 100755 (executable)
@@ -10,8 +10,8 @@ DESCRIPTION="test NVMe reset command on NVMeOF file-backed ns"
 QUICK=1
 
 requires() {
-       _have_program nvme && _have_module nvme-loop && _have_module loop && \
-               _have_module nvmet && _have_configfs
+       _have_program nvme && _have_modules loop nvme-loop nvmet && \
+               _have_configfs
 }
 
 test() {
index b51124f0e1678d4f8db0f4b813a607e669f491cc..34751044d1a5d81e98430e50c06b06d138c96bc3 100755 (executable)
@@ -10,8 +10,8 @@ DESCRIPTION="test NVMe smart-log command on NVMeOF block-device ns"
 QUICK=1
 
 requires() {
-       _have_program nvme && _have_module nvme-loop && _have_module loop && \
-               _have_module nvmet && _have_configfs
+       _have_program nvme && _have_modules loop nvme-loop nvmet && \
+               _have_configfs
 }
 
 test() {
index 964df345eb7e3e41e3c87f2819554dd4bd1771da..313f778c20f7be20c9b6632e9228818c167ab2c4 100755 (executable)
@@ -10,8 +10,8 @@ DESCRIPTION="test NVMe smart-log command on NVMeOF file-backed ns"
 QUICK=1
 
 requires() {
-       _have_program nvme && _have_module nvme-loop && _have_module loop && \
-               _have_module nvmet && _have_configfs
+       _have_program nvme && _have_modules loop nvme-loop nvmet && \
+               _have_configfs
 }
 
 test() {
index 27c8fde2e248291a0425445319fec071a85294d2..741d374a3f5d73868629e09845811a4c3dd64c34 100755 (executable)
@@ -10,8 +10,8 @@ DESCRIPTION="test NVMe effects-log command on NVMeOF file-backed ns"
 QUICK=1
 
 requires() {
-       _have_program nvme && _have_module nvme-loop && _have_module loop && \
-               _have_module nvmet && _have_configfs
+       _have_program nvme && _have_modules loop nvme-loop nvmet && \
+               _have_configfs
 }
 
 test() {
index 341b3b5a56950e68f477fff855d14c5449538450..f91557960b2873a21607506cacb0292cad2f20c8 100755 (executable)
@@ -10,8 +10,8 @@ DESCRIPTION="test NVMe ns-descs command on NVMeOF file-backed ns"
 QUICK=1
 
 requires() {
-       _have_program nvme && _have_module nvme-loop && _have_module loop && \
-               _have_module nvmet && _have_configfs
+       _have_program nvme && _have_modules loop nvme-loop nvmet && \
+               _have_configfs
 }
 
 test() {
index 1f2018c5624f778e9e3379ea1374398bfa0dc26f..8d47f566961b25b903628e49ed9ef19304746812 100755 (executable)
@@ -10,8 +10,8 @@ DESCRIPTION="test NVMe ns-rescan command on NVMeOF file-backed ns"
 QUICK=1
 
 requires() {
-       _have_program nvme && _have_module nvme-loop && _have_module loop && \
-               _have_module nvmet && _have_configfs
+       _have_program nvme && _have_modules loop nvme-loop nvmet && \
+               _have_configfs
 }
 
 test() {
index e6fb9e3c5b8d7a8e0a5ca7dffc0b7c9fd63fb640..3478acc8796efc1c185698750cd52307c7cfeeaf 100755 (executable)
@@ -10,8 +10,8 @@ DESCRIPTION="test NVMe list-subsys command on NVMeOF file-backed ns"
 QUICK=1
 
 requires() {
-       _have_program nvme && _have_module nvme-loop && _have_module loop && \
-               _have_module nvmet && _have_configfs
+       _have_program nvme && _have_modules loop nvme-loop nvmet && \
+               _have_configfs
 }
 
 test() {
index 358d3ed97c12937bebf843554dab44467d645db7..ae8a5a7e11c91bdc589fd07b4b9e34f63c018a93 100755 (executable)
@@ -38,9 +38,7 @@ group_requires() {
                scsi_dh_emc
                scsi_dh_rdac
        )
-       for m in "${required_modules[@]}"; do
-               _have_module "$m" || return $?
-       done
+       _have_modules "${required_modules[@]}" || return 1
 
        for p in mkfs.ext4 mkfs.xfs multipath multipathd pidof sg_reset; do
                _have_program "$p" || return $?
index 70de7692b9585c21d1f19eda5498e7356f477e0e..2a192fd0f9690d54d078b206917ba47cd8e78b80 100644 (file)
@@ -15,7 +15,7 @@ group_device_requires() {
 }
 
 _have_scsi_generic() {
-       _have_module sg
+       _have_modules sg
 }
 
 _test_dev_is_scsi() {
index bb6c315c49238bb94fc4929f2b02edc33d75751c..c4abad3ba3fd19c93fb231035698f8242cd23303 100755 (executable)
@@ -56,9 +56,7 @@ group_requires() {
                target_core_iblock
                target_core_mod
        )
-       for m in "${required_modules[@]}"; do
-               _have_module "$m" || return $?
-       done
+       _have_modules "${required_modules[@]}" || return 1
 
        for p in mkfs.ext4 mkfs.xfs multipath multipathd pidof sg_reset; do
                _have_program "$p" || return $?