export here=`pwd`
xfile=""
brief_test_summary=false
-err_msg=""
+_err_msg=""
do_report=false
DUMP_OUTPUT=false
group argument is either a name of a tests group to collect from all
the test dirs (e.g. quick) or a name of a tests group to collect from
a specific tests dir in the form of <test dir>/<group name> (e.g. xfs/quick).
+If you want to run all the tests in the test suite, use "-g all" to specify all
+groups.
exclude_file argument refers to a name of a file inside each test directory.
for every test dir where this file is found, the listed test names are
fi
# Specified groups to include
- for group in $GROUP_LIST; do
- list=$(get_group_list $group)
- if [ -z "$list" ]; then
- echo "Group \"$group\" is empty or not defined?"
- exit 1
- fi
+ # Note that the CLI processing adds a leading space to the first group
+ # parameter, so we have to catch that here checking for "all"
+ if ! $have_test_arg && [ "$GROUP_LIST" == " all" ]; then
+ # no test numbers, do everything
+ get_all_tests
+ else
+ for group in $GROUP_LIST; do
+ list=$(get_group_list $group)
+ if [ -z "$list" ]; then
+ echo "Group \"$group\" is empty or not defined?"
+ exit 1
+ fi
- for t in $list; do
- grep -s "^$t\$" $tmp.list >/dev/null || \
+ for t in $list; do
+ grep -s "^$t\$" $tmp.list >/dev/null || \
echo "$t" >>$tmp.list
+ done
done
- done
-
- if ! $have_test_arg && [ -z "$GROUP_LIST" ]; then
- # no test numbers, do everything
- get_all_tests
fi
# Specified groups to exclude
shift
done
-# we need common/config, source it after processing args, overlay needs FSTYP
-# set before sourcing common/config
-if ! . ./common/config; then
- echo "$iam: failed to source common/config"
+# we need common/rc, that also sources common/config. We need to source it
+# after processing args, overlay needs FSTYP set before sourcing common/config
+if ! . ./common/rc; then
+ echo "check: failed to source common/rc"
exit 1
fi
shift
done
-fi
-
-# we need common/rc
-if ! . ./common/rc
-then
- echo "check: failed to source common/rc"
- exit 1
+elif [ -z "$GROUP_LIST" ]; then
+ # default group list is the auto group. If any other group or test is
+ # specified, we use that instead.
+ GROUP_LIST="auto"
fi
if [ `id -u` -ne 0 ]
if [ -f ${RESULT_DIR}/require_test ]; then
_check_test_fs || err=true
rm -f ${RESULT_DIR}/require_test*
+ else
+ _test_unmount 2> /dev/null
fi
if [ -f ${RESULT_DIR}/require_scratch ]; then
_check_scratch_fs || err=true
rm -f ${RESULT_DIR}/require_scratch*
+ else
+ _scratch_unmount 2> /dev/null
fi
}
for seq in $list
do
err=false
- err_msg=""
+ _err_msg=""
if [ ! -f $seq ]; then
# Try to get full name in case the user supplied only seq id
# and the test has a name. A bit of hassle to find really
touch ${RESULT_DIR}/check_dmesg
fi
if [ "$DUMP_OUTPUT" = true ]; then
- ./$seq 2>&1 | tee $tmp.rawout
+ ./$seq 2>&1 | tee $tmp.out
# Because $? would get tee's return code
sts=${PIPESTATUS[0]}
else
- ./$seq >$tmp.rawout 2>&1
+ ./$seq >$tmp.out 2>&1
sts=$?
fi
$timestamp && _timestamp
stop=`_wallclock`
- _fix_malloc <$tmp.rawout >$tmp.out
- rm -f $tmp.rawout
-
if [ -f core ]
then
- err_msg="[dumped core]"
- echo -n " $err_msg"
+ _err_msg="[dumped core]"
+ echo -n " $_err_msg"
mv core $RESULT_BASE/$seqnum.core
err=true
fi
else
if [ $sts -ne 0 ]
then
- err_msg="[failed, exit status $sts]"
- echo -n " $err_msg"
+ _err_msg="[failed, exit status $sts]"
+ echo -n " $_err_msg"
err=true
fi
if [ ! -f $seq.out ]
" to see the entire diff)"
fi; } | \
sed -e 's/^\(.\)/ \1/'
- err_msg="output mismatch (see $diff $seq.out $seqres.out.bad)"
+ _err_msg="output mismatch (see $diff $seq.out $seqres.out.bad)"
err=true
fi
fi