Whamcloud - gitweb
LU-12560 tests: Use full path for test-groups
[fs/lustre-release.git] / lustre / tests / acceptance-small.sh
index 2a52d82..72825bc 100755 (executable)
 #!/bin/bash
-# script which _must_ complete successfully (at minimum) before checkins to
-# the CVS HEAD are allowed.
-#set -vx
-set -e
-
-export MSKIPPED=0
-export OSKIPPED=0
-
-# This is the default set of tests to run.
-DEFAULT_SUITES="runtests sanity sanity-benchmark sanityn lfsck liblustre
-                runracer replay-single conf-sanity recovery-small
-                replay-ost-single replay-dual insanity sanity-quota sanity-sec
-                sanity-gss performance-sanity large-scale recovery-mds-scale 
-                recovery-double-scale recovery-random-scale parallel-scale 
-                lustre_rsync-test metadata-updates ost-pools lnet-selftest
-                mmp"
-
-if [[ -n $@ ]]; then
-    ACC_SM_ONLY="${ACC_SM_ONLY} $@"
-fi
-
-[ "$SIZE" ] || SIZE=$((RAMKB * 2))
-[ "$RSIZE" ] || RSIZE=512
-[ "$UID" ] || UID=1000
-[ "$MOUNT" ] || MOUNT=/mnt/lustre
-[ "$MOUNT2" ] || MOUNT2=${MOUNT}2
-[ "$TMP" ] || TMP=/tmp
-[ "$COUNT" ] || COUNT=1000
-[ "$DEBUG_LVL" ] || DEBUG_LVL=0
-[ "$DEBUG_OFF" ] || DEBUG_OFF="eval lctl set_param debug=\"$DEBUG_LVL\""
-[ "$DEBUG_ON" ] || DEBUG_ON="eval lctl set_param debug=0x33f0484"
-
-if [ "$ACC_SM_ONLY" ]; then
-    for O in $DEFAULT_SUITES; do
-        O=$(echo $O | tr "-" "_" | tr "[:lower:]" "[:upper:]")
-        export ${O}="no"
-    done
-    for O in $ACC_SM_ONLY; do
-        O=`echo ${O%.sh} | tr "-" "_"`
-        O=`echo $O | tr "[:lower:]" "[:upper:]"`
-        export ${O}="yes"
-    done
-fi
-
-STARTTIME=`date +%s`
-
-LUSTRE=${LUSTRE:-$(cd $(dirname $0)/..; echo $PWD)}
-. $LUSTRE/tests/test-framework.sh
-init_test_env
-
-if $GSS; then
-    # liblustre doesn't support GSS
-    export LIBLUSTRE=no
-else
-    export SANITY_GSS="no"
-fi
-
-SETUP=${SETUP:-setupall}
-FORMAT=${FORMAT:-formatall}
-CLEANUP=${CLEANUP:-stopall}
-
-setup_if_needed() {
-    nfs_client_mode && return
-
-    local MOUNTED=$(mounted_lustre_filesystems)
-    if $(echo $MOUNTED | grep -w -q $MOUNT); then
-        check_config_clients $MOUNT
-        init_facets_vars
-        init_param_vars
-        return
-    fi
-
-    echo "Lustre is not mounted, trying to do setup SETUP=$SETUP ... "
-    [ "$REFORMAT" ] && $FORMAT
-    $SETUP
-
-    MOUNTED=$(mounted_lustre_filesystems)
-    if ! $(echo $MOUNTED | grep -w -q $MOUNT); then
-        echo "Lustre is not mounted after setup! SETUP=$SETUP"
-        exit 1
-    fi
-}
-
-find_in_path() {
-    target=$1
-    for dir in $(tr : " " <<< $PATH); do
-      if [ -e $dir/$target ]; then
-          echo "$dir/$target found in PATH"
-          return 0
-      fi
-    done
-    return 1
-}
-
-title() {
-    # update titlebar if stdin is attaached to an xterm
-    if ${UPDATE_TITLEBAR:-false}; then
-        if tty -s; then
-            case $TERM in 
-                xterm*)
-                    echo -ne "\033]2; acceptance-small: $* \007" >&0
-                    ;;
-            esac
-        fi
-    fi 
-    log "-----============= acceptance-small: "$*" ============----- `date`"
-}
-
-is_sanity_benchmark() {
-    local benchmarks="dbench bonnie iozone fsx"
-    local suite=$1
-    for b in $benchmarks; do
-        if [ "$b" == "$suite" ]; then
-            return 0
-        fi
-    done
-    return 1
-}
-
-run_suite() {
-    local suite_name=$(echo ${1%.sh} | tr "[:upper:]_" "[:lower:]-" )
-    local suite=$(echo ${suite_name} | tr "[:lower:]-" "[:upper:]_")
-    local suite_only=ONLY # Change to ${suite}_ONLY after fixing YALA
-
-    if is_sanity_benchmark ${suite_name}; then
-        suite_only=suite_name
-        suite_script=$LUSTRE/tests/sanity-benchmark.sh
-    elif [ -e $LUSTRE/tests/${suite_name}.sh ]; then
-        suite_script=$LUSTRE/tests/${suite_name}.sh
-    elif [ -e $LUSTRE/tests/$suite_name ]; then
-        suite_script=$LUSTRE/tests/$suite_name
-    elif find_in_path $suite_name; then
-        suite_script=${suite_name}
-    elif find_in_path ${suite_name}.sh; then
-        suite_script=${suite_name}.sh
-    else
-        echo "Can't find test script for $suite_name"
-        return 1
-    fi
-
-    echo "$suite_script located."
-    if [[ ${!suite} != no ]]; then
-        title $suite_name
-        log_test $suite_name
-        bash $suite_script ${!suite_only}
-        $CLEANUP
-        $SETUP
-        eval ${suite}="done"
-    else
-        echo "Skipping $suite_name"
-    fi
-}
-
-run_suites() {
-    for suite in $*; do
-        run_suite $suite
-    done
-}
-
-export NAME MOUNT START CLEAN
-. $LUSTRE/tests/cfg/$NAME.sh
-
-assert_env mds_HOST MDS_MKFS_OPTS 
-assert_env ost_HOST OST_MKFS_OPTS OSTCOUNT
-assert_env FSNAME MOUNT MOUNT2
-
-setup_if_needed
-init_logging
-
-run_suites ${ACC_SM_ONLY:-$DEFAULT_SUITES}
-
-RC=$?
-title FINISHED
-echo "Finished at `date` in $((`date +%s` - $STARTTIME))s"
-print_summary
-[ "$MSKIPPED" = 1 ] && log "FAIL: remote MDS tests skipped" && RC=1
-[ "$OSKIPPED" = 1 ] && log "FAIL: remote OST tests skipped" && RC=1
-echo "$0: completed with rc $RC" && exit $RC
+#
+# usage: acceptance-small.sh [test list]
+#      if no tests are specified, they are taken from test-groups/regression
+#      if {TEST_NAME}=no is set, that test script is skipped
+DEFAULT_SUITES="${@:-$ACC_SM_ONLY}"
+DEFAULT_SUITES="${DEFAULT_SUITES:-$(cat $LUSTRE/tests/test-groups/regression)}"
+for SUB in $DEFAULT_SUITES; do
+       ENV=$(echo $SUB | tr "[:lower:]-" "[:upper:]_")
+       [ "$(eval echo \$$ENV)" = "no" ] && continue
+       SUITES="$SUITES $SUB"
+done
+sh auster -r -R -v -f ${NAME:-lustre} $SUITES