2 # script which _must_ complete successfully (at minimum) before checkins to
3 # the CVS HEAD are allowed.
7 export TESTSUITE_LIST="RUNTESTS SANITY DBENCH BONNIE IOZONE FSX SANITYN LFSCK LIBLUSTRE RACER REPLAY_SINGLE CONF_SANITY RECOVERY_SMALL REPLAY_OST_SINGLE REPLAY_DUAL REPLAY_VBR INSANITY SANITY_QUOTA PERFORMANCE_SANITY LARGE_SCALE RECOVERY_MDS_SCALE RECOVERY_DOUBLE_SCALE RECOVERY_RANDOM_SCALE PARALLEL_SCALE METADATA_UPDATES OST_POOLS SANITY_BENCHMARK LNET_SELFTEST MMP OBDFILTER_SURVEY SGPDD_SURVEY"
9 if [ "$ACC_SM_ONLY" ]; then
10 for O in $TESTSUITE_LIST; do
13 for O in $ACC_SM_ONLY; do
14 O=`echo ${O%.sh} | tr "-" "_"`
15 O=`echo $O | tr "[:lower:]" "[:upper:]"`
20 LIBLUSTRETESTS=${LIBLUSTRETESTS:-../liblustre/tests}
24 LUSTRE=${LUSTRE:-$(cd $(dirname $0)/..; echo $PWD)}
25 . $LUSTRE/tests/test-framework.sh
28 SETUP=${SETUP:-setupall}
29 FORMAT=${FORMAT:-formatall}
30 CLEANUP=${CLEANUP:-stopall}
33 nfs_client_mode && return
35 local MOUNTED=$(mounted_lustre_filesystems)
36 if $(echo $MOUNTED | grep -w -q $MOUNT); then
37 check_config_clients $MOUNT
43 echo "Lustre is not mounted, trying to do setup SETUP=$SETUP ... "
44 [ "$REFORMAT" ] && $FORMAT
47 MOUNTED=$(mounted_lustre_filesystems)
48 if ! $(echo $MOUNTED | grep -w -q $MOUNT); then
49 echo "Lustre is not mounted after setup! SETUP=$SETUP"
56 for dir in $(tr : " " <<< $PATH); do
57 if [ -e $dir/$target ]; then
58 echo "$dir/$target found in PATH"
66 # update titlebar if stdin is attached to an xterm
67 if ${UPDATE_TITLEBAR:-false}; then
71 echo -ne "\033]2; acceptance-small: $* \007" >&0
76 log "-----============= acceptance-small: "$*" ============----- `date`"
77 RANTEST=${RANTEST}$*", "
81 remote_ost_nodsh && log "SKIP: $1: remote OST with nodsh" && return 0
86 remote_mds_nodsh && log "SKIP: $1: remote MDS with nodsh" && return 0
90 # cleanup the logs of all suites
93 local o=$(echo $O | tr "[:upper:]" "[:lower:]")
101 for suite in ${ACC_SM_ONLY:-$TESTSUITE_LIST}; do
106 export NAME MOUNT START CLEAN
107 . $LUSTRE/tests/cfg/$NAME.sh
109 assert_env mds_HOST MDS_MKFS_OPTS MDSDEV
110 assert_env ost_HOST OST_MKFS_OPTS OSTCOUNT
111 assert_env FSNAME MOUNT MOUNT2
115 for s in ${ACC_SM_ONLY:-$TESTSUITE_LIST}; do
116 suite_name=$(echo ${s%.sh} | tr "[:upper:]_" "[:lower:]-" )
117 suite=$(echo ${suite_name} | tr "[:lower:]-" "[:upper:]_")
118 suite_only=ONLY # Change to ${suite}_ONLY after fixing YALA
120 if is_sanity_benchmark ${suite_name}; then
121 suite_only=suite_name
122 suite_script=$LUSTRE/tests/sanity-benchmark.sh
123 elif [ -e $LUSTRE/tests/${suite_name}.sh ]; then
124 suite_script=$LUSTRE/tests/${suite_name}.sh
125 elif [ -e $LUSTRE/tests/$suite_name ]; then
126 suite_script=$LUSTRE/tests/$suite_name
127 elif find_in_path $suite_name; then
128 suite_script=${suite_name}
129 elif find_in_path ${suite_name}.sh; then
130 suite_script=${suite_name}.sh
132 echo "Can't find test script for $suite_name"
136 echo "$suite_script located."
138 if [[ ${!suite} = no ]]; then
139 echo "Skipping $suite_name"
145 bash $suite_script ${!suite_only}
147 duration=$(($(date +%s) - $start_ts))
148 if [ $rc -ne 0 ]; then
154 echo "Script: $status"
158 [ x$suite = xSGPDD_SURVEY ] || $SETUP
164 echo "Finished at `date` in ${SECONDS}s"
165 echo "Tests ran: $RANTEST"
167 [ "$MSKIPPED" = 1 ] && log "FAIL: remote MDS tests skipped" && RC=1
168 [ "$OSKIPPED" = 1 ] && log "FAIL: remote OST tests skipped" && RC=1
169 echo "$0: completed with rc $RC" && exit $RC