From: Ritesh Harjani Date: Thu, 11 Feb 2021 03:31:44 +0000 (+0530) Subject: check: add CLI option to repeat and stop tests in case of failure X-Git-Tag: v2022.05.01~546 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=9b298bdf540f29a0571998dfd150dc614ef7f34b;p=xfstests-dev.git check: add CLI option to repeat and stop tests in case of failure Currently with -i option the test can run for many iterations, but in case if we want to stop the iteration in case of a failure, it is much easier to have such an option which could check the failed status and stop the test from further proceeding. This patch adds such an option (-I ) thereby extending the -i option functionality. Signed-off-by: Ritesh Harjani Reviewed-by: Eryu Guan Signed-off-by: Eryu Guan --- diff --git a/check b/check index 106ec8e1..ba192042 100755 --- a/check +++ b/check @@ -28,6 +28,7 @@ brief_test_summary=false do_report=false DUMP_OUTPUT=false iterations=1 +istop=false # This is a global variable used to pass test failure text to reporting gunk _err_msg="" @@ -70,6 +71,7 @@ check options -r randomize test order --exact-order run tests in the exact order specified -i iterate the test list times + -I iterate the test list times, but stops iterating further in case of any test failure -d dump test output to stdout -b brief test summary -R fmt[,fmt] generate report in formats specified. Supported format: [xunit] @@ -326,6 +328,7 @@ while [ $# -gt 0 ]; do exact_order=true ;; -i) iterations=$2; shift ;; + -I) iterations=$2; istop=true; shift ;; -T) timestamp=true ;; -d) DUMP_OUTPUT=true ;; -b) brief_test_summary=true;; @@ -952,6 +955,11 @@ function run_section() for ((iters = 0; iters < $iterations; iters++)) do for section in $HOST_OPTIONS_SECTIONS; do run_section $section + if [ "$sum_bad" != 0 ] && [ "$istop" = true ]; then + interrupt=false + status=`expr $sum_bad != 0` + exit + fi done done