summaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorGiuseppe Di Natale <[email protected]>2017-11-03 09:53:32 -0700
committerBrian Behlendorf <[email protected]>2017-11-03 09:53:32 -0700
commit9a810efb02a646c59cd69e639d057022ccf3a9a9 (patch)
tree06d112ba9186e364d4716bf3a792789d43058a99 /scripts
parentc9427c4696a244bc0d1bdecc37be320bb57ce54d (diff)
Allow test-runner to filter test groups by tag
Enable test-runner to accept a list of tags to identify which test groups the user wishes to run. Also allow test-runner to perform multiple iterations of a test run. Reviewed-by: Brian Behlendorf <[email protected]> Reviewed-by: John Wren Kennedy <[email protected]> Reviewed-by: George Melikov <[email protected]> Signed-off-by: Giuseppe Di Natale <[email protected]> Closes #6788
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/zfs-tests.sh23
1 files changed, 20 insertions, 3 deletions
diff --git a/scripts/zfs-tests.sh b/scripts/zfs-tests.sh
index 9b8d166bf..f4337ea11 100755
--- a/scripts/zfs-tests.sh
+++ b/scripts/zfs-tests.sh
@@ -41,6 +41,8 @@ FILEDIR=${FILEDIR:-/var/tmp}
DISKS=${DISKS:-""}
SINGLETEST=()
SINGLETESTUSER="root"
+TAGS="functional"
+ITERATIONS=1
ZFS_DBGMSG="$STF_SUITE/callbacks/zfs_dbgmsg.ksh"
ZFS_DMESG="$STF_SUITE/callbacks/zfs_dmesg.ksh"
ZFS_MMP="$STF_SUITE/callbacks/zfs_mmp.ksh"
@@ -265,10 +267,12 @@ OPTIONS:
-k Disable cleanup after test failure
-f Use files only, disables block device tests
-c Only create and populate constrained path
+ -I NUM Number of iterations
-d DIR Use DIR for files and loopback devices
-s SIZE Use vdevs of SIZE (default: 4G)
-r RUNFILE Run tests in RUNFILE (default: linux.run)
-t PATH Run single test at PATH relative to test suite
+ -T TAGS Comma separated list of tags
-u USER Run single test as USER (default: root)
EXAMPLES:
@@ -285,7 +289,7 @@ $0 -x
EOF
}
-while getopts 'hvqxkfcd:s:r:?t:u:' OPTION; do
+while getopts 'hvqxkfcd:s:r:?t:T:u:I:' OPTION; do
case $OPTION in
h)
usage
@@ -314,6 +318,12 @@ while getopts 'hvqxkfcd:s:r:?t:u:' OPTION; do
d)
FILEDIR="$OPTARG"
;;
+ I)
+ ITERATIONS="$OPTARG"
+ if [ "$ITERATIONS" -le 0 ]; then
+ fail "Iterations must be greater than 0."
+ fi
+ ;;
s)
FILESIZE="$OPTARG"
;;
@@ -326,6 +336,9 @@ while getopts 'hvqxkfcd:s:r:?t:u:' OPTION; do
fi
SINGLETEST+=("$OPTARG")
;;
+ T)
+ TAGS="$OPTARG"
+ ;;
u)
SINGLETESTUSER="$OPTARG"
;;
@@ -529,6 +542,8 @@ msg "LOOPBACKS: $LOOPBACKS"
msg "DISKS: $DISKS"
msg "NUM_DISKS: $NUM_DISKS"
msg "FILESIZE: $FILESIZE"
+msg "ITERATIONS: $ITERATIONS"
+msg "TAGS: $TAGS"
msg "Keep pool(s): $KEEP"
msg "Missing util(s): $STF_MISSING_BIN"
msg ""
@@ -543,8 +558,10 @@ export __ZFS_POOL_EXCLUDE
export TESTFAIL_CALLBACKS
export PATH=$STF_PATH
-msg "${TEST_RUNNER} ${QUIET} -c ${RUNFILE} -i ${STF_SUITE}"
-${TEST_RUNNER} ${QUIET} -c "${RUNFILE}" -i "${STF_SUITE}"
+msg "${TEST_RUNNER} ${QUIET} -c ${RUNFILE} -T ${TAGS} -i ${STF_SUITE}" \
+ "-I ${ITERATIONS}"
+${TEST_RUNNER} ${QUIET} -c "${RUNFILE}" -T "${TAGS}" -i "${STF_SUITE}" \
+ -I "${ITERATIONS}"
RESULT=$?
echo