From 656e7a839fe3f0d163dedf9749c9b2c502781a8c Mon Sep 17 00:00:00 2001 From: Marcos Paulo de Souza Date: Tue, 17 Dec 2019 17:31:55 -0300 Subject: [PATCH] btrfs-progs: tests: skip tests if dmsetup is not available Move the check of dmsetup to check_dm_target_support, and adapt the only two places checking if dmsetup is present in the system. Now we skip the tests if dmsetup isn't available, instead of marking the test as failed. Reviewed-by: Qu Wenruo Signed-off-by: Marcos Paulo de Souza Signed-off-by: David Sterba --- tests/common | 10 ++++++++-- tests/mkfs-tests/005-long-device-name-for-ssd/test.sh | 1 - .../test.sh | 1 - 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/tests/common b/tests/common index 3efdef52..1693070b 100644 --- a/tests/common +++ b/tests/common @@ -328,11 +328,17 @@ check_global_prereq() fi } -# Check if the targets passed as arguments are available, and if not just skip -# the test +# Check if dmsetup and targets passed as arguments are available, and skip the +# test if they aren't check_dm_target_support() { setup_root_helper + + which dmsetup &> /dev/null + if [ $? -ne 0 ]; then + _not_run "This test requires dmsetup tool"; + fi + for target in "$@"; do $SUDO_HELPER modprobe "dm-$target" >/dev/null 2>&1 $SUDO_HELPER dmsetup targets 2>&1 | grep -q "^$target" diff --git a/tests/mkfs-tests/005-long-device-name-for-ssd/test.sh b/tests/mkfs-tests/005-long-device-name-for-ssd/test.sh index 329deaf2..2df88db4 100755 --- a/tests/mkfs-tests/005-long-device-name-for-ssd/test.sh +++ b/tests/mkfs-tests/005-long-device-name-for-ssd/test.sh @@ -4,7 +4,6 @@ source "$TEST_TOP/common" check_prereq mkfs.btrfs -check_global_prereq dmsetup check_dm_target_support linear setup_root_helper diff --git a/tests/mkfs-tests/017-small-backing-size-thin-provision-device/test.sh b/tests/mkfs-tests/017-small-backing-size-thin-provision-device/test.sh index 91851945..83f34ecc 100755 --- a/tests/mkfs-tests/017-small-backing-size-thin-provision-device/test.sh +++ b/tests/mkfs-tests/017-small-backing-size-thin-provision-device/test.sh @@ -6,7 +6,6 @@ source "$TEST_TOP/common" check_prereq mkfs.btrfs check_global_prereq udevadm -check_global_prereq dmsetup check_dm_target_support linear thin setup_root_helper