From: Omar Sandoval Date: Thu, 6 Dec 2018 19:00:04 +0000 (-0800) Subject: Change _have_module -> _have_modules X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=24f195b852485b9d3453d207d96892723b033de0;p=users%2Fsagi%2Fblktests.git Change _have_module -> _have_modules This way, we can report all missing modules at once. Signed-off-by: Omar Sandoval --- diff --git a/common/null_blk b/common/null_blk index 0b97dd6..937ece0 100644 --- a/common/null_blk +++ b/common/null_blk @@ -5,7 +5,7 @@ # null_blk helper functions. _have_null_blk() { - _have_module null_blk + _have_modules null_blk } _init_null_blk() { diff --git a/common/rc b/common/rc index 8a892bc..723b5b0 100644 --- 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() { diff --git a/common/scsi_debug b/common/scsi_debug index b406f61..b48cdc9 100644 --- a/common/scsi_debug +++ b/common/scsi_debug @@ -5,7 +5,7 @@ # scsi_debug helper functions. _have_scsi_debug() { - _have_module scsi_debug + _have_modules scsi_debug } _init_scsi_debug() { diff --git a/tests/block/001 b/tests/block/001 index e676d03..51ec9d8 100755 --- a/tests/block/001 +++ b/tests/block/001 @@ -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() { diff --git a/tests/nbd/rc b/tests/nbd/rc index 45ad5d8..9d0e3d1 100644 --- a/tests/nbd/rc +++ b/tests/nbd/rc @@ -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 diff --git a/tests/nvme/002 b/tests/nvme/002 index 2b01534..0132ac0 100755 --- a/tests/nvme/002 +++ b/tests/nvme/002 @@ -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() { diff --git a/tests/nvme/003 b/tests/nvme/003 index 693ad8d..f304071 100755 --- a/tests/nvme/003 +++ b/tests/nvme/003 @@ -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() { diff --git a/tests/nvme/004 b/tests/nvme/004 index 55b5c67..346f309 100755 --- a/tests/nvme/004 +++ b/tests/nvme/004 @@ -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() { diff --git a/tests/nvme/005 b/tests/nvme/005 index fa7a75d..e72fc80 100755 --- a/tests/nvme/005 +++ b/tests/nvme/005 @@ -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() { diff --git a/tests/nvme/006 b/tests/nvme/006 index a2693a2..d12d66b 100755 --- a/tests/nvme/006 +++ b/tests/nvme/006 @@ -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() { diff --git a/tests/nvme/007 b/tests/nvme/007 index c8672c7..6a57b7b 100755 --- a/tests/nvme/007 +++ b/tests/nvme/007 @@ -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() { diff --git a/tests/nvme/008 b/tests/nvme/008 index e5aa50b..d73ec7d 100755 --- a/tests/nvme/008 +++ b/tests/nvme/008 @@ -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() { diff --git a/tests/nvme/009 b/tests/nvme/009 index 9257fe0..a461681 100755 --- a/tests/nvme/009 +++ b/tests/nvme/009 @@ -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() { diff --git a/tests/nvme/010 b/tests/nvme/010 index a76b176..ed7c95a 100755 --- a/tests/nvme/010 +++ b/tests/nvme/010 @@ -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() { diff --git a/tests/nvme/011 b/tests/nvme/011 index cfe3308..fa638a1 100755 --- a/tests/nvme/011 +++ b/tests/nvme/011 @@ -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() { diff --git a/tests/nvme/012 b/tests/nvme/012 index a19dc36..9a68015 100755 --- a/tests/nvme/012 +++ b/tests/nvme/012 @@ -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() { diff --git a/tests/nvme/013 b/tests/nvme/013 index 4fc762b..e346cd4 100755 --- a/tests/nvme/013 +++ b/tests/nvme/013 @@ -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() { diff --git a/tests/nvme/014 b/tests/nvme/014 index 08fef81..7de568f 100755 --- a/tests/nvme/014 +++ b/tests/nvme/014 @@ -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() { diff --git a/tests/nvme/015 b/tests/nvme/015 index 6b65c14..29cf954 100755 --- a/tests/nvme/015 +++ b/tests/nvme/015 @@ -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() { diff --git a/tests/nvme/016 b/tests/nvme/016 index 115c513..966d5dc 100755 --- a/tests/nvme/016 +++ b/tests/nvme/016 @@ -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() { diff --git a/tests/nvme/017 b/tests/nvme/017 index b324650..0b86bec 100755 --- a/tests/nvme/017 +++ b/tests/nvme/017 @@ -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() { diff --git a/tests/nvme/019 b/tests/nvme/019 index 1547648..4a16736 100755 --- a/tests/nvme/019 +++ b/tests/nvme/019 @@ -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() { diff --git a/tests/nvme/020 b/tests/nvme/020 index 042665f..6bd8075 100755 --- a/tests/nvme/020 +++ b/tests/nvme/020 @@ -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() { diff --git a/tests/nvme/021 b/tests/nvme/021 index 2c11d55..8e9512a 100755 --- a/tests/nvme/021 +++ b/tests/nvme/021 @@ -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() { diff --git a/tests/nvme/022 b/tests/nvme/022 index 2e7db71..8f89d03 100755 --- a/tests/nvme/022 +++ b/tests/nvme/022 @@ -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() { diff --git a/tests/nvme/023 b/tests/nvme/023 index b51124f..3475104 100755 --- a/tests/nvme/023 +++ b/tests/nvme/023 @@ -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() { diff --git a/tests/nvme/024 b/tests/nvme/024 index 964df34..313f778 100755 --- a/tests/nvme/024 +++ b/tests/nvme/024 @@ -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() { diff --git a/tests/nvme/025 b/tests/nvme/025 index 27c8fde..741d374 100755 --- a/tests/nvme/025 +++ b/tests/nvme/025 @@ -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() { diff --git a/tests/nvme/026 b/tests/nvme/026 index 341b3b5..f915579 100755 --- a/tests/nvme/026 +++ b/tests/nvme/026 @@ -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() { diff --git a/tests/nvme/027 b/tests/nvme/027 index 1f2018c..8d47f56 100755 --- a/tests/nvme/027 +++ b/tests/nvme/027 @@ -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() { diff --git a/tests/nvme/028 b/tests/nvme/028 index e6fb9e3..3478acc 100755 --- a/tests/nvme/028 +++ b/tests/nvme/028 @@ -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() { diff --git a/tests/nvmeof-mp/rc b/tests/nvmeof-mp/rc index 358d3ed..ae8a5a7 100755 --- a/tests/nvmeof-mp/rc +++ b/tests/nvmeof-mp/rc @@ -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 $? diff --git a/tests/scsi/rc b/tests/scsi/rc index 70de769..2a192fd 100644 --- a/tests/scsi/rc +++ b/tests/scsi/rc @@ -15,7 +15,7 @@ group_device_requires() { } _have_scsi_generic() { - _have_module sg + _have_modules sg } _test_dev_is_scsi() { diff --git a/tests/srp/rc b/tests/srp/rc index bb6c315..c4abad3 100755 --- a/tests/srp/rc +++ b/tests/srp/rc @@ -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 $?