Whamcloud - gitweb
LU-3626 tests: More time to allow mds-ost sync being finished
[fs/lustre-release.git] / lustre / tests / auster
index 877e35e..7cf7bd3 100755 (executable)
@@ -21,6 +21,7 @@ Run Lustre regression tests suites.
       -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=:;;
@@ -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`"