aboutsummaryrefslogtreecommitdiff
path: root/scripts/zfs-tests.sh
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/zfs-tests.sh')
-rwxr-xr-xscripts/zfs-tests.sh15
1 files changed, 13 insertions, 2 deletions
diff --git a/scripts/zfs-tests.sh b/scripts/zfs-tests.sh
index 179e24d7a0ef..b5b3e4ab351f 100755
--- a/scripts/zfs-tests.sh
+++ b/scripts/zfs-tests.sh
@@ -326,7 +326,8 @@ OPTIONS:
-d DIR Use world-writable DIR for files and loopback devices
-s SIZE Use vdevs of SIZE (default: 4G)
-r RUNFILES Run tests in RUNFILES (default: ${DEFAULT_RUNFILES})
- -t PATH Run single test at PATH relative to test suite
+ -t PATH|NAME Run single test at PATH relative to test suite,
+ or search for test by NAME
-T TAGS Comma separated list of tags (default: 'functional')
-u USER Run single test as USER (default: root)
@@ -340,6 +341,9 @@ $0 -r linux-fast
# Run a single test
$0 -t tests/functional/cli_root/zfs_bookmark/zfs_bookmark_cliargs.ksh
+# Run a single test by name
+$0 -t zfs_bookmark_cliargs
+
# Cleanup a previous run of the test suite prior to testing, run the
# default ($(echo "${DEFAULT_RUNFILES}" | sed 's/\.run//')) suite of tests and perform no cleanup on exit.
$0 -x
@@ -450,8 +454,15 @@ post_user = root
post =
outputdir = /var/tmp/test_results
EOF
- SINGLETESTDIR="${SINGLETEST%/*}"
+ if [ "$SINGLETEST" = "${SINGLETEST%/*}" ] ; then
+ NEWSINGLETEST=$(find "$STF_SUITE" -name "$SINGLETEST*" -print -quit)
+ if [ -z "$NEWSINGLETEST" ] ; then
+ fail "couldn't find test matching '$SINGLETEST'"
+ fi
+ SINGLETEST=$NEWSINGLETEST
+ fi
+ SINGLETESTDIR="${SINGLETEST%/*}"
SETUPDIR="$SINGLETESTDIR"
[ "${SETUPDIR#/}" = "$SETUPDIR" ] && SETUPDIR="$STF_SUITE/$SINGLETESTDIR"
[ -x "$SETUPDIR/setup.ksh" ] && SETUPSCRIPT="setup" || SETUPSCRIPT=