diff options
author | Dmitry Fomichev <dmitry.fomichev@wdc.com> | 2024-02-06 19:57:55 +0900 |
---|---|---|
committer | Vincent Fu <vincent.fu@samsung.com> | 2024-02-07 08:43:13 -0500 |
commit | 12067650d11d4777dee0cd64a136923c2fd2d073 (patch) | |
tree | d1fc88e6e71198117d0e1c487e09282017b48b21 | |
parent | 7d5a66e1be864ef16fb9e9b6e0b9234da1e2a199 (diff) | |
download | fio-12067650d11d4777dee0cd64a136923c2fd2d073.tar.gz |
t/zbd: add -s option to test-zbd-support script
The total number of ZBD tests in test-zbd-support script has grown
considerably over the years and zoned drive capacity has significantly
increased as well. Today, the test run duration may reach one hour for
large drives. If a terminal session failure happens during a run, it
is more efficient to restart the tests from the point where the last
run stopped rather than from the beginning.
Add -s option to the script command line to specify the starting
test number.
Signed-off-by: Dmitry Fomichev <dmitry.fomichev@wdc.com>
Reviewed-by: Shin'ichiro Kawasaki <shinichiro.kawasaki@wdc.com>
Tested-by: Shin'ichiro Kawasaki <shinichiro.kawasaki@wdc.com>
Link: https://lore.kernel.org/r/20240206105755.214891-6-dmitry.fomichev@wdc.com
Signed-off-by: Vincent Fu <vincent.fu@samsung.com>
-rwxr-xr-x | t/zbd/test-zbd-support | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/t/zbd/test-zbd-support b/t/zbd/test-zbd-support index defb36527..c27d2ad68 100755 --- a/t/zbd/test-zbd-support +++ b/t/zbd/test-zbd-support @@ -15,6 +15,7 @@ usage() { echo -e "\t-w Reset all zones before executing each write test case" echo -e "\t-o <max_open_zones> Run fio with max_open_zones limit" echo -e "\t-t <test #> Run only a single test case with specified number" + echo -e "\t-s <test #> Start testing from the case with the specified number" echo -e "\t-q Quit the test run after any failed test" echo -e "\t-z Run fio with debug=zbd option" echo -e "\t-u Use io_uring ioengine in place of libaio" @@ -1602,6 +1603,7 @@ zbd_debug= max_open_zones_opt= quit_on_err= force_io_uring= +start_test=1 while [ "${1#-}" != "$1" ]; do case "$1" in @@ -1615,6 +1617,7 @@ while [ "${1#-}" != "$1" ]; do -w) reset_before_write=1; shift;; -t) tests+=("$2"); shift; shift;; -o) max_open_zones_opt="${2}"; shift; shift;; + -s) start_test=$2; shift; shift;; -v) dynamic_analyzer=(valgrind "--read-var-info=yes"); shift;; -q) quit_on_err=1; shift;; @@ -1694,6 +1697,7 @@ if [[ -b "$realdev" ]]; then set_io_scheduler "$basename" none || exit $? ;; esac + elif [[ -c "$realdev" ]]; then # For an SG node, we must have libzbc option specified if [[ ! -n "$use_libzbc" ]]; then @@ -1772,6 +1776,7 @@ trap 'intr=1' SIGINT ret=0 for test_number in "${tests[@]}"; do + [ "${test_number}" -lt "${start_test}" ] && continue rm -f "${logfile}.${test_number}" unset SKIP_REASON echo -n "Running test $(printf "%02d" $test_number) ... " |