eval set -- \$$optvar
if [ $# -eq 0 -a -n "$MODPROBECONF" ]; then
# Nothing in $MODOPTS_<MODULE>; try modprobe.conf
- set -- $(grep "^options\\s*\<${module}\>" $MODPROBECONF)
+ set -- $(grep -P "^options\\s+${BASE}" $MODPROBECONF)
# Get rid of "options $module"
(($# > 0)) && shift 2
}
# recovery-scale functions
-client_var_name() {
- echo __$(echo $1 | tr '-' 'X')
+node_var_name() {
+ echo __$(echo $1 | tr '-' '_' | tr '.' '_')
}
start_client_load() {
local client=$1
local load=$2
- local var=$(client_var_name $client)_load
+ local var=$(node_var_name $client)_load
eval export ${var}=$load
do_node $client "PATH=$PATH MOUNT=$MOUNT ERRORS_OK=$ERRORS_OK \
# only for remote client
check_client_load () {
local client=$1
- local var=$(client_var_name $client)_load
+ local var=$(node_var_name $client)_load
local TESTLOAD=run_${!var}.sh
ps auxww | grep -v grep | grep $client | grep -q "$TESTLOAD" || return 1
check_client_load $client
rc=${PIPESTATUS[0]}
if [ "$rc" != 0 -a "$expectedfail" ]; then
- local var=$(client_var_name $client)_load
+ local var=$(node_var_name $client)_load
start_client_load $client ${!var}
echo "Restarted client load ${!var}: on $client. Checking ..."
check_client_load $client
# FIXME: remove hostname when 19215 fixed
do_nodes $clients "echo \\\$(hostname); grep ' '$MOUNT' ' /proc/mounts"
declare -a nfsexport=(`grep ' '$MOUNT' ' /proc/mounts | awk '{print $1}' | awk -F: '{print $1 " " $2}'`)
+ if [[ ${#nfsexport[@]} -eq 0 ]]; then
+ error_exit NFSCLIENT=$NFSCLIENT mode, but no NFS export found!
+ fi
do_nodes ${nfsexport[0]} "echo \\\$(hostname); df -T ${nfsexport[1]}"
return
fi
skip () {
echo
log " SKIP: ${TESTSUITE} ${TESTNAME} $@"
+ [ "$ALWAYS_SKIPPED" ] && \
+ skip_logged ${TESTNAME} "$@" || true
[ "$TESTSUITELOG" ] && \
echo "${TESTSUITE}: SKIP: $TESTNAME $@" >> $TESTSUITELOG || true
}
log "excepting tests: `echo $EXCEPT $ALWAYS_EXCEPT`"
[ "$EXCEPT_SLOW" ] && \
log "skipping tests SLOW=no: `echo $EXCEPT_SLOW`"
- for E in $EXCEPT $ALWAYS_EXCEPT; do
+ for E in $EXCEPT; do
eval EXCEPT_${E}=true
done
+ for E in $ALWAYS_EXCEPT; do
+ eval EXCEPT_ALWAYS_${E}=true
+ done
for E in $EXCEPT_SLOW; do
eval EXCEPT_SLOW_${E}=true
done
# print a newline if the last test was skipped
export LAST_SKIPPED=
+export ALWAYS_SKIPPED=
#
# Main entry into test-framework. This is called with the name and
# description of a test. The name is used to find the function to run
TESTNAME=test_$1 skip "skipping excluded test $1 (base $base)"
return 0
fi
+ testname=EXCEPT_ALWAYS_$1
+ if [ ${!testname}x != x ]; then
+ LAST_SKIPPED="y"
+ ALWAYS_SKIPPED="y"
+ TESTNAME=test_$1 skip "skipping ALWAYS excluded test $1"
+ return 0
+ fi
+ testname=EXCEPT_ALWAYS_$base
+ if [ ${!testname}x != x ]; then
+ LAST_SKIPPED="y"
+ ALWAYS_SKIPPED="y"
+ TESTNAME=test_$1 skip "skipping ALWAYS excluded test $1 (base $base)"
+ return 0
+ fi
testname=EXCEPT_SLOW_$1
if [ ${!testname}x != x ]; then
LAST_SKIPPED="y"
fi
LAST_SKIPPED=
+ ALWAYS_SKIPPED=
run_one_logged $1 "$2"
return $?
}
check_mds() {
- FFREE=$(do_node $SINGLEMDS lctl get_param -n osd.*MDT*.filesfree | awk 'BEGIN{avail=0}; {avail+=$1}; END{print avail}')
- FTOTAL=$(do_node $SINGLEMDS lctl get_param -n osd.*MDT*.filestotal | awk 'BEGIN{avail=0}; {avail+=$1}; END{print avail}')
+ local FFREE=$(do_node $SINGLEMDS \
+ lctl get_param -n osd*.*MDT*.filesfree | calc_sum)
+ local FTOTAL=$(do_node $SINGLEMDS \
+ lctl get_param -n osd*.*MDT*.filestotal | calc_sum)
+
[ $FFREE -ge $FTOTAL ] && error "files free $FFREE > total $FTOTAL" || true
}
return 0
}
+#
+# Print information of skipped tests to result.yml
+#
+skip_logged(){
+ log_sub_test_begin $1
+ log_sub_test_end "SKIP" "0" "0" "\"$2\""
+}
+
canonical_path() {
(cd `dirname $1`; echo $PWD/`basename $1`)
}
echo "Logging to local directory: $LOGDIR"
fi
- yml_nodes_file $LOGDIR
+ yml_nodes_file $LOGDIR >> $YAML_LOG
yml_results_file >> $YAML_LOG
}
}
log_sub_test_begin() {
- yml_log_sub_test_begin $@ >> $YAML_LOG
+ yml_log_sub_test_begin "$@" >> $YAML_LOG
}
log_sub_test_end() {
- yml_log_sub_test_end $@ >> $YAML_LOG
+ yml_log_sub_test_end "$@" >> $YAML_LOG
}
run_llverdev()