Whamcloud - gitweb
LU-4283 test: auster "-s" flag does not run SLOW tests
[fs/lustre-release.git] / lustre / tests / auster
index 877e35e..8f72494 100755 (executable)
@@ -14,13 +14,14 @@ export TF_FAIL=/tmp/tf.fail
 
 usage() {
     less -F <<EOF
-Usage ${0##*/} [options]  suite [suite optoins] [suite [suite options]]
+Usage ${0##*/} [options]  suite [suite options] [suite [suite options]]
 Run Lustre regression tests suites.
       -c CONFIG Test environment config file
       -d LOGDIR Top level directory for logs
       -D FULLLOGDIR Full directory for logs
       -f STR    Config name (cfg/<name>.sh)
       -g GROUP  Test group file (Overrides tests listed on command line)
+      -S TESTSUITE First test suite to run allows for restarts
       -i N      Repeat tests N times (default 1). A new directory
                 will be created under LOGDIR for each iteration.
       -k        Don't stop when subtests fail
@@ -64,15 +65,16 @@ repeat_count=1
 upload_logs=false
 reformat=false
 test_logs_dir=/tmp/test_logs/$(date +%Y-%m-%d)/$(date +%H%M%S)
-export SLOW=no
+export ${SLOW:=no}
 export ${NAME:=local}
-while getopts "c:d:D:nkf:g:i:rRslhv" opt
+while getopts "c:d:D:nkf:S:g:i:rRslhv" opt
 do
     case "$opt" in
         c) CONFIG=$OPTARG;;
         d) test_logs_dir=$OPTARG/$(date +%Y-%m-%d)/$(date +%H%M%S);;
         D) test_logs_dir=$OPTARG;;
         g) test_group_file=$OPTARG;;
+        S) FIRST_SUITE=$OPTARG;;
         k) export FAIL_ON_ERROR=false;;
         n) dry_run=:;;
         v) verbose=:;;
@@ -80,7 +82,7 @@ do
         f) NAME=$OPTARG;;
         R) do_reset=:;;
         r) reformat=:;;
-        s) SLOW=yes;;
+       s) export SLOW=yes;;
         l) upload_logs=true;;
         h|\?) usage;;
     esac
@@ -132,7 +134,7 @@ setup_if_needed() {
     auster_cleanup=false
 
     local MOUNTED=$(mounted_lustre_filesystems)
-    if $(echo $MOUNTED | grep -w -q $MOUNT); then
+    if $(echo $MOUNTED' ' | grep -w -q $MOUNT' '); then
         check_config_clients $MOUNT
        # init_facets_vars
        # init_param_vars
@@ -144,7 +146,7 @@ setup_if_needed() {
     setupall
 
     MOUNTED=$(mounted_lustre_filesystems)
-    if ! $(echo $MOUNTED | grep -w -q $MOUNT); then
+    if ! $(echo $MOUNTED' ' | grep -w -q $MOUNT' '); then
         echo "Lustre is not mounted after setup! "
         exit 1
     fi
@@ -249,6 +251,7 @@ run_suites() {
     while ((n < repeat_count)); do
         local RC=0
         local logdir=${test_logs_dir}
+        local first_suite=$FIRST_SUITE
         ((repeat_count > 1)) && logdir="$logdir/$n"
         reset_logging $logdir
         set -- "${argv[@]}"
@@ -285,9 +288,12 @@ run_suites() {
                 esac
                 shift
             done
-            echo "running: $suite $opts"
-            run_suite_logged $suite || RC=$?
-            echo $suite returned $RC
+            if [ "x"$first_suite == "x" ] || [ $first_suite == $suite ]; then   # If first_suite not set or this is the first suite
+                echo "running: $suite $opts"
+                run_suite_logged $suite || RC=$?
+                unset first_suite
+                echo $suite returned $RC
+            fi
         done
         if $upload_logs; then
             $upload_script $LOGDIR
@@ -313,8 +319,8 @@ fi
 export NAME MOUNT START CLEAN
 . ${CONFIG:-$LUSTRE/tests/cfg/$NAME.sh}
 
-assert_env mds_HOST MDS_MKFS_OPTS
-assert_env ost_HOST OST_MKFS_OPTS OSTCOUNT
+assert_env mds_HOST
+assert_env ost_HOST OSTCOUNT
 assert_env FSNAME MOUNT MOUNT2
 
 echo "Started at `date`"