aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorнаб <[email protected]>2022-03-08 13:36:03 +0100
committerBrian Behlendorf <[email protected]>2022-04-01 17:55:45 -0700
commit2d9da5e1c88d46118b1c98bfa57bfa3c4f0f2a23 (patch)
tree364874425fcfbaea5c2bdb1ffaa1fdade5d5f6ae /tests
parentbd328a588b7a3fc053a256d39ac8145eb1dd80e5 (diff)
tests: don't fail if no fio or python3.sysctl
Reviewed-by: Brian Behlendorf <[email protected]> Reviewed-by: John Kennedy <[email protected]> Reviewed-by: Ryan Moeller <[email protected]> Signed-off-by: Ahelenia Ziemiańska <[email protected]> Closes #13259
Diffstat (limited to 'tests')
-rw-r--r--tests/zfs-tests/include/libtest.shlib1
-rwxr-xr-xtests/zfs-tests/tests/functional/arc/setup.ksh2
-rwxr-xr-xtests/zfs-tests/tests/functional/cache/cache_012_pos.ksh2
-rwxr-xr-xtests/zfs-tests/tests/functional/cli_user/misc/arc_summary_001_pos.ksh27
-rwxr-xr-xtests/zfs-tests/tests/functional/cli_user/misc/arc_summary_002_neg.ksh4
-rwxr-xr-xtests/zfs-tests/tests/functional/cli_user/misc/arcstat_001_pos.ksh5
-rwxr-xr-xtests/zfs-tests/tests/functional/compression/l2arc_compressed_arc.ksh2
-rwxr-xr-xtests/zfs-tests/tests/functional/compression/l2arc_compressed_arc_disabled.ksh2
-rwxr-xr-xtests/zfs-tests/tests/functional/compression/l2arc_encrypted.ksh2
-rwxr-xr-xtests/zfs-tests/tests/functional/compression/l2arc_encrypted_no_compressed_arc.ksh2
-rwxr-xr-xtests/zfs-tests/tests/functional/io/io_uring.ksh2
-rwxr-xr-xtests/zfs-tests/tests/functional/io/libaio.ksh2
-rwxr-xr-xtests/zfs-tests/tests/functional/io/mmap.ksh2
-rwxr-xr-xtests/zfs-tests/tests/functional/io/posixaio.ksh2
-rwxr-xr-xtests/zfs-tests/tests/functional/io/psync.ksh2
-rwxr-xr-xtests/zfs-tests/tests/functional/io/sync.ksh2
-rwxr-xr-xtests/zfs-tests/tests/functional/l2arc/l2arc_arcstats_pos.ksh2
-rwxr-xr-xtests/zfs-tests/tests/functional/l2arc/l2arc_l2miss_pos.ksh2
-rwxr-xr-xtests/zfs-tests/tests/functional/l2arc/l2arc_mfuonly_pos.ksh2
-rwxr-xr-xtests/zfs-tests/tests/functional/l2arc/persist_l2arc_001_pos.ksh2
-rwxr-xr-xtests/zfs-tests/tests/functional/l2arc/persist_l2arc_002_pos.ksh2
-rwxr-xr-xtests/zfs-tests/tests/functional/l2arc/persist_l2arc_003_neg.ksh2
-rwxr-xr-xtests/zfs-tests/tests/functional/l2arc/persist_l2arc_004_pos.ksh2
-rwxr-xr-xtests/zfs-tests/tests/functional/l2arc/persist_l2arc_005_pos.ksh2
-rwxr-xr-xtests/zfs-tests/tests/functional/no_space/enospc_rm.ksh2
-rwxr-xr-xtests/zfs-tests/tests/functional/removal/remove_attach_mirror.ksh2
-rwxr-xr-xtests/zfs-tests/tests/functional/slog/slog_015_neg.ksh2
-rwxr-xr-xtests/zfs-tests/tests/functional/trim/trim_l2arc.ksh2
-rwxr-xr-xtests/zfs-tests/tests/perf/regression/random_reads.ksh2
-rwxr-xr-xtests/zfs-tests/tests/perf/regression/random_readwrite.ksh2
-rwxr-xr-xtests/zfs-tests/tests/perf/regression/random_readwrite_fixed.ksh2
-rwxr-xr-xtests/zfs-tests/tests/perf/regression/random_writes.ksh2
-rwxr-xr-xtests/zfs-tests/tests/perf/regression/random_writes_zil.ksh2
-rwxr-xr-xtests/zfs-tests/tests/perf/regression/sequential_reads_arc_cached.ksh2
-rwxr-xr-xtests/zfs-tests/tests/perf/regression/sequential_reads_arc_cached_clone.ksh2
-rwxr-xr-xtests/zfs-tests/tests/perf/regression/sequential_reads_dbuf_cached.ksh2
-rwxr-xr-xtests/zfs-tests/tests/perf/regression/sequential_writes.ksh2
37 files changed, 74 insertions, 29 deletions
diff --git a/tests/zfs-tests/include/libtest.shlib b/tests/zfs-tests/include/libtest.shlib
index ad2c26976..828b842a6 100644
--- a/tests/zfs-tests/include/libtest.shlib
+++ b/tests/zfs-tests/include/libtest.shlib
@@ -3376,6 +3376,7 @@ function write_compressible
done
done
else
+ command -v fio > /dev/null || log_unsupported "fio missing"
log_must eval fio \
--name=job \
--fallocate=0 \
diff --git a/tests/zfs-tests/tests/functional/arc/setup.ksh b/tests/zfs-tests/tests/functional/arc/setup.ksh
index 37b8f352c..60699d365 100755
--- a/tests/zfs-tests/tests/functional/arc/setup.ksh
+++ b/tests/zfs-tests/tests/functional/arc/setup.ksh
@@ -26,5 +26,7 @@
. $STF_SUITE/include/libtest.shlib
+is_freebsd && ! python3 -c 'import sysctl' 2>/dev/null && log_unsupported "python3 sysctl module missing"
+
DISK=${DISKS%% *}
default_setup $DISK
diff --git a/tests/zfs-tests/tests/functional/cache/cache_012_pos.ksh b/tests/zfs-tests/tests/functional/cache/cache_012_pos.ksh
index edefe9c1b..be250158b 100755
--- a/tests/zfs-tests/tests/functional/cache/cache_012_pos.ksh
+++ b/tests/zfs-tests/tests/functional/cache/cache_012_pos.ksh
@@ -44,6 +44,8 @@
verify_runnable "global"
+command -v fio > /dev/null || log_unsupported "fio missing"
+
log_assert "Looping around a cache device succeeds."
function cleanup
diff --git a/tests/zfs-tests/tests/functional/cli_user/misc/arc_summary_001_pos.ksh b/tests/zfs-tests/tests/functional/cli_user/misc/arc_summary_001_pos.ksh
index befbea986..5c3d06f22 100755
--- a/tests/zfs-tests/tests/functional/cli_user/misc/arc_summary_001_pos.ksh
+++ b/tests/zfs-tests/tests/functional/cli_user/misc/arc_summary_001_pos.ksh
@@ -27,34 +27,15 @@
. $STF_SUITE/include/libtest.shlib
-log_assert "arc_summary generates output and doesn't return an error code"
+is_freebsd && ! python3 -c 'import sysctl' 2>/dev/null && log_unsupported "python3 sysctl module missing"
-# Depending on which version of arc_summary is installed some command
-# line options may not be available. The python3 version includes
-# several additional flags.
-python3 -V 2>&1 > /dev/null
-if (( $? )); then
- # Some systems have Python 3 installed, but only older versions
- # that don't have the subprocess.run() functionality. We catch
- # these with a separate test. Remove this when all systems have
- # reached 3.5 or greater
- VERSIONPYTEST=$(python3 -V)
- if [[ ${VERSIONPYTEST:9:1} -lt 5 ]]; then
- set -A args "" "-a" "-d" "-p 1"
- else
- set -A args "" "-a" "-d" "-p 1" "-g" "-s arc" "-r"
- fi
-else
- set -A args "" "-a" "-d" "-p 1"
-fi
+log_assert "arc_summary generates output and doesn't return an error code"
# Without this, the below checks aren't going to work the way we hope...
set -o pipefail
-typeset -i i=0
-while [[ $i -lt ${#args[*]} ]]; do
- log_must eval "arc_summary ${args[i]} > /dev/null"
- ((i = i + 1))
+for arg in "" "-a" "-d" "-p 1" "-g" "-s arc" "-r"; do
+ log_must eval "arc_summary $arg > /dev/null"
done
log_must eval "arc_summary | head > /dev/null"
diff --git a/tests/zfs-tests/tests/functional/cli_user/misc/arc_summary_002_neg.ksh b/tests/zfs-tests/tests/functional/cli_user/misc/arc_summary_002_neg.ksh
index de747fba8..59fe057e8 100755
--- a/tests/zfs-tests/tests/functional/cli_user/misc/arc_summary_002_neg.ksh
+++ b/tests/zfs-tests/tests/functional/cli_user/misc/arc_summary_002_neg.ksh
@@ -27,11 +27,11 @@
. $STF_SUITE/include/libtest.shlib
-typeset args=("-x" "-5" "-p 7" "--err" "-@")
+is_freebsd && ! python3 -c 'import sysctl' 2>/dev/null && log_unsupported "python3 sysctl module missing"
log_assert "arc_summary generates an error code with invalid options"
-for arg in "${args[@]}"; do
+for arg in "-x" "-5" "-p 7" "--err" "-@"; do
log_mustnot eval "arc_summary $arg > /dev/null"
done
diff --git a/tests/zfs-tests/tests/functional/cli_user/misc/arcstat_001_pos.ksh b/tests/zfs-tests/tests/functional/cli_user/misc/arcstat_001_pos.ksh
index ab574731f..af301829c 100755
--- a/tests/zfs-tests/tests/functional/cli_user/misc/arcstat_001_pos.ksh
+++ b/tests/zfs-tests/tests/functional/cli_user/misc/arcstat_001_pos.ksh
@@ -1,4 +1,4 @@
-#! /bin/ksh -p
+#!/bin/ksh -p
#
# CDDL HEADER START
#
@@ -27,6 +27,8 @@
. $STF_SUITE/include/libtest.shlib
+is_freebsd && ! python3 -c 'import sysctl' 2>/dev/null && log_unsupported "python3 sysctl module missing"
+
set -A args "" "-s \",\"" "-x" "-v" \
"-f time,hit%,dh%,ph%,mh%"
@@ -38,4 +40,3 @@ while [[ $i -lt ${#args[*]} ]]; do
((i = i + 1))
done
log_pass "arcstat generates output and doesn't return an error code"
-
diff --git a/tests/zfs-tests/tests/functional/compression/l2arc_compressed_arc.ksh b/tests/zfs-tests/tests/functional/compression/l2arc_compressed_arc.ksh
index 5980ce156..57f6b6a02 100755
--- a/tests/zfs-tests/tests/functional/compression/l2arc_compressed_arc.ksh
+++ b/tests/zfs-tests/tests/functional/compression/l2arc_compressed_arc.ksh
@@ -52,6 +52,8 @@ export DIRECT=1
verify_runnable "global"
+command -v fio > /dev/null || log_unsupported "fio missing"
+
log_assert "L2ARC with compressed_arc enabled succeeds."
origin_carc_setting=$(get_tunable COMPRESSED_ARC_ENABLED)
diff --git a/tests/zfs-tests/tests/functional/compression/l2arc_compressed_arc_disabled.ksh b/tests/zfs-tests/tests/functional/compression/l2arc_compressed_arc_disabled.ksh
index 4c3b6a61c..c8f411174 100755
--- a/tests/zfs-tests/tests/functional/compression/l2arc_compressed_arc_disabled.ksh
+++ b/tests/zfs-tests/tests/functional/compression/l2arc_compressed_arc_disabled.ksh
@@ -52,6 +52,8 @@ export DIRECT=1
verify_runnable "global"
+command -v fio > /dev/null || log_unsupported "fio missing"
+
log_assert "L2ARC with compressed_arc disabled succeeds."
origin_carc_setting=$(get_tunable COMPRESSED_ARC_ENABLED)
diff --git a/tests/zfs-tests/tests/functional/compression/l2arc_encrypted.ksh b/tests/zfs-tests/tests/functional/compression/l2arc_encrypted.ksh
index fb460daf6..f7b8a4b95 100755
--- a/tests/zfs-tests/tests/functional/compression/l2arc_encrypted.ksh
+++ b/tests/zfs-tests/tests/functional/compression/l2arc_encrypted.ksh
@@ -53,6 +53,8 @@ export DIRECT=1
verify_runnable "global"
+command -v fio > /dev/null || log_unsupported "fio missing"
+
log_assert "L2ARC with encryption enabled succeeds."
origin_carc_setting=$(get_tunable COMPRESSED_ARC_ENABLED)
diff --git a/tests/zfs-tests/tests/functional/compression/l2arc_encrypted_no_compressed_arc.ksh b/tests/zfs-tests/tests/functional/compression/l2arc_encrypted_no_compressed_arc.ksh
index 45ef489c3..0838b2c93 100755
--- a/tests/zfs-tests/tests/functional/compression/l2arc_encrypted_no_compressed_arc.ksh
+++ b/tests/zfs-tests/tests/functional/compression/l2arc_encrypted_no_compressed_arc.ksh
@@ -53,6 +53,8 @@ export DIRECT=1
verify_runnable "global"
+command -v fio > /dev/null || log_unsupported "fio missing"
+
log_assert "L2ARC with compressed_arc disabled succeeds."
origin_carc_setting=$(get_tunable COMPRESSED_ARC_ENABLED)
diff --git a/tests/zfs-tests/tests/functional/io/io_uring.ksh b/tests/zfs-tests/tests/functional/io/io_uring.ksh
index 2d2b18f8b..1ee5cee52 100755
--- a/tests/zfs-tests/tests/functional/io/io_uring.ksh
+++ b/tests/zfs-tests/tests/functional/io/io_uring.ksh
@@ -44,7 +44,7 @@ if [[ $(linux_version) -lt $(linux_version "5.1") ]]; then
log_unsupported "Requires io_uring support"
fi
-fio --ioengine=io_uring --parse-only || log_unsupported "io_uring support required"
+fio --ioengine=io_uring --parse-only || log_unsupported "fio io_uring support required"
function cleanup
{
diff --git a/tests/zfs-tests/tests/functional/io/libaio.ksh b/tests/zfs-tests/tests/functional/io/libaio.ksh
index c434ad90d..ef100209b 100755
--- a/tests/zfs-tests/tests/functional/io/libaio.ksh
+++ b/tests/zfs-tests/tests/functional/io/libaio.ksh
@@ -39,6 +39,8 @@
verify_runnable "global"
+command -v fio > /dev/null || log_unsupported "fio missing"
+
function cleanup
{
log_must rm -f "$mntpnt/rw*"
diff --git a/tests/zfs-tests/tests/functional/io/mmap.ksh b/tests/zfs-tests/tests/functional/io/mmap.ksh
index e9600787a..742c1f08f 100755
--- a/tests/zfs-tests/tests/functional/io/mmap.ksh
+++ b/tests/zfs-tests/tests/functional/io/mmap.ksh
@@ -37,7 +37,7 @@
# 2. Repeat the test with additional fio(1) options.
#
-if ! compare_version_gte $(fio --version) "fio-2.3"; then
+if ! compare_version_gte "$(fio --version)" "fio-2.3"; then
log_unsupported "Requires fio-2.3 or newer"
fi
diff --git a/tests/zfs-tests/tests/functional/io/posixaio.ksh b/tests/zfs-tests/tests/functional/io/posixaio.ksh
index 0758164c1..c720aef95 100755
--- a/tests/zfs-tests/tests/functional/io/posixaio.ksh
+++ b/tests/zfs-tests/tests/functional/io/posixaio.ksh
@@ -39,6 +39,8 @@
verify_runnable "global"
+command -v fio > /dev/null || log_unsupported "fio missing"
+
function cleanup
{
log_must rm -f "$mntpnt/rw*"
diff --git a/tests/zfs-tests/tests/functional/io/psync.ksh b/tests/zfs-tests/tests/functional/io/psync.ksh
index efeb1103d..8feb87d93 100755
--- a/tests/zfs-tests/tests/functional/io/psync.ksh
+++ b/tests/zfs-tests/tests/functional/io/psync.ksh
@@ -39,6 +39,8 @@
verify_runnable "global"
+command -v fio > /dev/null || log_unsupported "fio missing"
+
function cleanup
{
log_must rm -f "/$TESTPOOL/rw*"
diff --git a/tests/zfs-tests/tests/functional/io/sync.ksh b/tests/zfs-tests/tests/functional/io/sync.ksh
index 83f346c69..aaaa126ef 100755
--- a/tests/zfs-tests/tests/functional/io/sync.ksh
+++ b/tests/zfs-tests/tests/functional/io/sync.ksh
@@ -39,6 +39,8 @@
verify_runnable "global"
+command -v fio > /dev/null || log_unsupported "fio missing"
+
function cleanup
{
log_must rm -f "$mntpnt/rw*"
diff --git a/tests/zfs-tests/tests/functional/l2arc/l2arc_arcstats_pos.ksh b/tests/zfs-tests/tests/functional/l2arc/l2arc_arcstats_pos.ksh
index 3e76347b0..69d60ab8b 100755
--- a/tests/zfs-tests/tests/functional/l2arc/l2arc_arcstats_pos.ksh
+++ b/tests/zfs-tests/tests/functional/l2arc/l2arc_arcstats_pos.ksh
@@ -40,6 +40,8 @@
verify_runnable "global"
+command -v fio > /dev/null || log_unsupported "fio missing"
+
log_assert "L2ARC MFU/MRU arcstats do not leak."
function cleanup
diff --git a/tests/zfs-tests/tests/functional/l2arc/l2arc_l2miss_pos.ksh b/tests/zfs-tests/tests/functional/l2arc/l2arc_l2miss_pos.ksh
index 783484f52..c9d5d7ffe 100755
--- a/tests/zfs-tests/tests/functional/l2arc/l2arc_l2miss_pos.ksh
+++ b/tests/zfs-tests/tests/functional/l2arc/l2arc_l2miss_pos.ksh
@@ -38,6 +38,8 @@
verify_runnable "global"
+command -v fio > /dev/null || log_unsupported "fio missing"
+
log_assert "l2arc_misses does not increment upon reads from a pool without l2arc."
function cleanup
diff --git a/tests/zfs-tests/tests/functional/l2arc/l2arc_mfuonly_pos.ksh b/tests/zfs-tests/tests/functional/l2arc/l2arc_mfuonly_pos.ksh
index 5d0198c90..f2bada0eb 100755
--- a/tests/zfs-tests/tests/functional/l2arc/l2arc_mfuonly_pos.ksh
+++ b/tests/zfs-tests/tests/functional/l2arc/l2arc_mfuonly_pos.ksh
@@ -39,6 +39,8 @@
verify_runnable "global"
+command -v fio > /dev/null || log_unsupported "fio missing"
+
log_assert "l2arc_mfuonly does not cache MRU buffers."
function cleanup
diff --git a/tests/zfs-tests/tests/functional/l2arc/persist_l2arc_001_pos.ksh b/tests/zfs-tests/tests/functional/l2arc/persist_l2arc_001_pos.ksh
index 0a9049490..95efa3f2d 100755
--- a/tests/zfs-tests/tests/functional/l2arc/persist_l2arc_001_pos.ksh
+++ b/tests/zfs-tests/tests/functional/l2arc/persist_l2arc_001_pos.ksh
@@ -49,6 +49,8 @@
verify_runnable "global"
+command -v fio > /dev/null || log_unsupported "fio missing"
+
log_assert "Persistent L2ARC with an unencrypted ZFS file system succeeds."
function cleanup
diff --git a/tests/zfs-tests/tests/functional/l2arc/persist_l2arc_002_pos.ksh b/tests/zfs-tests/tests/functional/l2arc/persist_l2arc_002_pos.ksh
index 93982e6c6..bc6d71b7c 100755
--- a/tests/zfs-tests/tests/functional/l2arc/persist_l2arc_002_pos.ksh
+++ b/tests/zfs-tests/tests/functional/l2arc/persist_l2arc_002_pos.ksh
@@ -52,6 +52,8 @@
verify_runnable "global"
+command -v fio > /dev/null || log_unsupported "fio missing"
+
log_assert "Persistent L2ARC with an encrypted ZFS file system succeeds."
function cleanup
diff --git a/tests/zfs-tests/tests/functional/l2arc/persist_l2arc_003_neg.ksh b/tests/zfs-tests/tests/functional/l2arc/persist_l2arc_003_neg.ksh
index fe35c8fc4..f8dc2b108 100755
--- a/tests/zfs-tests/tests/functional/l2arc/persist_l2arc_003_neg.ksh
+++ b/tests/zfs-tests/tests/functional/l2arc/persist_l2arc_003_neg.ksh
@@ -38,6 +38,8 @@
verify_runnable "global"
+command -v fio > /dev/null || log_unsupported "fio missing"
+
log_assert "Persistent L2ARC fails as expected when L2ARC_REBUILD_ENABLED = 0."
function cleanup
diff --git a/tests/zfs-tests/tests/functional/l2arc/persist_l2arc_004_pos.ksh b/tests/zfs-tests/tests/functional/l2arc/persist_l2arc_004_pos.ksh
index b40703180..99cd3a2fc 100755
--- a/tests/zfs-tests/tests/functional/l2arc/persist_l2arc_004_pos.ksh
+++ b/tests/zfs-tests/tests/functional/l2arc/persist_l2arc_004_pos.ksh
@@ -40,6 +40,8 @@
verify_runnable "global"
+command -v fio > /dev/null || log_unsupported "fio missing"
+
log_assert "Off/onlining an L2ARC device results in rebuilding L2ARC, vdev not present."
function cleanup
diff --git a/tests/zfs-tests/tests/functional/l2arc/persist_l2arc_005_pos.ksh b/tests/zfs-tests/tests/functional/l2arc/persist_l2arc_005_pos.ksh
index 8ad648519..ae0167eb4 100755
--- a/tests/zfs-tests/tests/functional/l2arc/persist_l2arc_005_pos.ksh
+++ b/tests/zfs-tests/tests/functional/l2arc/persist_l2arc_005_pos.ksh
@@ -39,6 +39,8 @@
verify_runnable "global"
+command -v fio > /dev/null || log_unsupported "fio missing"
+
log_assert "Off/onlining an L2ARC device results in rebuilding L2ARC, vdev present."
function cleanup
diff --git a/tests/zfs-tests/tests/functional/no_space/enospc_rm.ksh b/tests/zfs-tests/tests/functional/no_space/enospc_rm.ksh
index 065abc759..d0f4ff4a0 100755
--- a/tests/zfs-tests/tests/functional/no_space/enospc_rm.ksh
+++ b/tests/zfs-tests/tests/functional/no_space/enospc_rm.ksh
@@ -30,6 +30,8 @@
verify_runnable "both"
+command -v fio > /dev/null || log_unsupported "fio missing"
+
function cleanup
{
destroy_pool $TESTPOOL
diff --git a/tests/zfs-tests/tests/functional/removal/remove_attach_mirror.ksh b/tests/zfs-tests/tests/functional/removal/remove_attach_mirror.ksh
index 9bbb07cd9..cdbd96202 100755
--- a/tests/zfs-tests/tests/functional/removal/remove_attach_mirror.ksh
+++ b/tests/zfs-tests/tests/functional/removal/remove_attach_mirror.ksh
@@ -32,6 +32,8 @@
# 4. Reattach it to make a mirror
#
+command -v fio > /dev/null || log_unsupported "fio missing"
+
TMPDIR=${TMPDIR:-$TEST_BASE_DIR}
DISK1="$TMPDIR/dsk1"
diff --git a/tests/zfs-tests/tests/functional/slog/slog_015_neg.ksh b/tests/zfs-tests/tests/functional/slog/slog_015_neg.ksh
index 04fb225ed..464be019d 100755
--- a/tests/zfs-tests/tests/functional/slog/slog_015_neg.ksh
+++ b/tests/zfs-tests/tests/functional/slog/slog_015_neg.ksh
@@ -31,6 +31,8 @@
verify_runnable "global"
+command -v fio > /dev/null || log_unsupported "fio missing"
+
function cleanup
{
#
diff --git a/tests/zfs-tests/tests/functional/trim/trim_l2arc.ksh b/tests/zfs-tests/tests/functional/trim/trim_l2arc.ksh
index ecf9f3424..bd2710c6f 100755
--- a/tests/zfs-tests/tests/functional/trim/trim_l2arc.ksh
+++ b/tests/zfs-tests/tests/functional/trim/trim_l2arc.ksh
@@ -36,6 +36,8 @@
verify_runnable "global"
+command -v fio > /dev/null || log_unsupported "fio missing"
+
log_assert "Trim of L2ARC succeeds."
function cleanup
diff --git a/tests/zfs-tests/tests/perf/regression/random_reads.ksh b/tests/zfs-tests/tests/perf/regression/random_reads.ksh
index 70e273166..0c73df679 100755
--- a/tests/zfs-tests/tests/perf/regression/random_reads.ksh
+++ b/tests/zfs-tests/tests/perf/regression/random_reads.ksh
@@ -38,6 +38,8 @@
. $STF_SUITE/include/libtest.shlib
. $STF_SUITE/tests/perf/perf.shlib
+command -v fio > /dev/null || log_unsupported "fio missing"
+
function cleanup
{
# kill fio and iostat
diff --git a/tests/zfs-tests/tests/perf/regression/random_readwrite.ksh b/tests/zfs-tests/tests/perf/regression/random_readwrite.ksh
index 4dc1e3ddb..3a358774f 100755
--- a/tests/zfs-tests/tests/perf/regression/random_readwrite.ksh
+++ b/tests/zfs-tests/tests/perf/regression/random_readwrite.ksh
@@ -38,6 +38,8 @@
. $STF_SUITE/include/libtest.shlib
. $STF_SUITE/tests/perf/perf.shlib
+command -v fio > /dev/null || log_unsupported "fio missing"
+
function cleanup
{
# kill fio and iostat
diff --git a/tests/zfs-tests/tests/perf/regression/random_readwrite_fixed.ksh b/tests/zfs-tests/tests/perf/regression/random_readwrite_fixed.ksh
index cdf15c701..afaffb9e6 100755
--- a/tests/zfs-tests/tests/perf/regression/random_readwrite_fixed.ksh
+++ b/tests/zfs-tests/tests/perf/regression/random_readwrite_fixed.ksh
@@ -28,6 +28,8 @@
. $STF_SUITE/include/libtest.shlib
. $STF_SUITE/tests/perf/perf.shlib
+command -v fio > /dev/null || log_unsupported "fio missing"
+
function cleanup
{
# kill fio and iostat
diff --git a/tests/zfs-tests/tests/perf/regression/random_writes.ksh b/tests/zfs-tests/tests/perf/regression/random_writes.ksh
index 30db7564c..06061a9b7 100755
--- a/tests/zfs-tests/tests/perf/regression/random_writes.ksh
+++ b/tests/zfs-tests/tests/perf/regression/random_writes.ksh
@@ -37,6 +37,8 @@
. $STF_SUITE/include/libtest.shlib
. $STF_SUITE/tests/perf/perf.shlib
+command -v fio > /dev/null || log_unsupported "fio missing"
+
function cleanup
{
# kill fio and iostat
diff --git a/tests/zfs-tests/tests/perf/regression/random_writes_zil.ksh b/tests/zfs-tests/tests/perf/regression/random_writes_zil.ksh
index ff6d465bb..7e5a74113 100755
--- a/tests/zfs-tests/tests/perf/regression/random_writes_zil.ksh
+++ b/tests/zfs-tests/tests/perf/regression/random_writes_zil.ksh
@@ -18,6 +18,8 @@
. $STF_SUITE/include/libtest.shlib
. $STF_SUITE/tests/perf/perf.shlib
+command -v fio > /dev/null || log_unsupported "fio missing"
+
function cleanup
{
# kill fio and iostat
diff --git a/tests/zfs-tests/tests/perf/regression/sequential_reads_arc_cached.ksh b/tests/zfs-tests/tests/perf/regression/sequential_reads_arc_cached.ksh
index d885d0b7f..ee14f2ce7 100755
--- a/tests/zfs-tests/tests/perf/regression/sequential_reads_arc_cached.ksh
+++ b/tests/zfs-tests/tests/perf/regression/sequential_reads_arc_cached.ksh
@@ -28,6 +28,8 @@
. $STF_SUITE/include/libtest.shlib
. $STF_SUITE/tests/perf/perf.shlib
+command -v fio > /dev/null || log_unsupported "fio missing"
+
function cleanup
{
# kill fio and iostat
diff --git a/tests/zfs-tests/tests/perf/regression/sequential_reads_arc_cached_clone.ksh b/tests/zfs-tests/tests/perf/regression/sequential_reads_arc_cached_clone.ksh
index 80081a098..2cc81d5cd 100755
--- a/tests/zfs-tests/tests/perf/regression/sequential_reads_arc_cached_clone.ksh
+++ b/tests/zfs-tests/tests/perf/regression/sequential_reads_arc_cached_clone.ksh
@@ -34,6 +34,8 @@
. $STF_SUITE/include/libtest.shlib
. $STF_SUITE/tests/perf/perf.shlib
+command -v fio > /dev/null || log_unsupported "fio missing"
+
function cleanup
{
# kill fio and iostat
diff --git a/tests/zfs-tests/tests/perf/regression/sequential_reads_dbuf_cached.ksh b/tests/zfs-tests/tests/perf/regression/sequential_reads_dbuf_cached.ksh
index 0402b48a3..9a244324a 100755
--- a/tests/zfs-tests/tests/perf/regression/sequential_reads_dbuf_cached.ksh
+++ b/tests/zfs-tests/tests/perf/regression/sequential_reads_dbuf_cached.ksh
@@ -32,6 +32,8 @@
. $STF_SUITE/include/libtest.shlib
. $STF_SUITE/tests/perf/perf.shlib
+command -v fio > /dev/null || log_unsupported "fio missing"
+
function cleanup
{
# kill fio and iostat
diff --git a/tests/zfs-tests/tests/perf/regression/sequential_writes.ksh b/tests/zfs-tests/tests/perf/regression/sequential_writes.ksh
index 7850bc037..a51655cc3 100755
--- a/tests/zfs-tests/tests/perf/regression/sequential_writes.ksh
+++ b/tests/zfs-tests/tests/perf/regression/sequential_writes.ksh
@@ -37,6 +37,8 @@
. $STF_SUITE/include/libtest.shlib
. $STF_SUITE/tests/perf/perf.shlib
+command -v fio > /dev/null || log_unsupported "fio missing"
+
function cleanup
{
# kill fio and iostat