TUT: adjust dictionary parsing tests

This commit is contained in:
Mark Olesen
2018-07-05 11:09:40 +02:00
parent e8fcd1d351
commit 109a791d35
2 changed files with 112 additions and 99 deletions

View File

@ -2,104 +2,6 @@
cd ${0%/*} || exit 1 # Run from this directory
. $WM_PROJECT_DIR/bin/tools/RunFunctions # Tutorial run functions
echo "dictionary input tests"
verbose=true
npass=0
nwarn=0
nfail=0
foamDictionary -help > /dev/null 2>&1 || {
echo "Error: non-functional foamDictionary"
exit 2
}
# Reduced verbosity in test mode?
if isTest "$@"
then
verbose=false
fi
for dict in \
good*.dict \
warn*.dict \
fatal*.dict \
;
do
[ -f "$dict" ] || continue # protect against bad globs
# capture stderr, ignore stdout
stderr=$(foamDictionary -keywords $dict 2>&1 >/dev/null)
exitCode=$?
case "$dict" in
*fatal*)
if [ $exitCode -eq 0 ]
then
echo "NOK did not detect fatal input $dict"
nfail=$(($fail + 1))
else
echo "OK detected fatal input $dict"
npass=$(($npass + 1))
fi
;;
*good*)
if [ $exitCode -eq 0 ]
then
npass=$(($npass + 1))
if [ "${#stderr}" -gt 0 ]
then
# count unexpected warnings
nwarn=$(($nwarn + 1))
echo "NOK unexpected warnings: $dict"
else
echo "OK good input $dict"
fi
else
echo "NOK failed input $dict"
nfail=$(($fail + 1))
fi
;;
*warn*)
if [ $exitCode -eq 0 ]
then
npass=$(($npass + 1))
if [ "${#stderr}" -gt 0 ]
then
echo "OK trapped warnings: $dict"
else
# count missing warnings
nwarn=$(($nwarn + 1))
echo "NOK missing expected warnings: $dict"
fi
else
nfail=$(($fail + 1))
echo "NOK failed (not warn) input $dict"
fi
;;
esac
if [ "$verbose" = true ] && [ "${#stderr}" -gt 0 ]
then
echo "================" 1>&2
echo "dictionary = $dict" 1>&2
echo "$stderr" 1>&2
echo "================" 1>&2
fi
done
echo "$npass passed"
echo "$nwarn warnings"
echo "$nfail failed"
test $nfail -eq 0
exit $?
runApplication ./TestParsing "$@"
#------------------------------------------------------------------------------

View File

@ -0,0 +1,111 @@
#!/bin/sh
cd ${0%/*} || exit 1 # Run from this directory
. $WM_PROJECT_DIR/bin/tools/RunFunctions # Tutorial run functions
echo "dictionary input tests"
verbose=true
npass=0
nwarn=0
nfail=0
foamDictionary -help > /dev/null 2>&1 || {
echo "Error: non-functional foamDictionary"
exit 2
}
# Reduced verbosity in test mode?
if isTest "$@"
then
verbose=false
fi
for dict in \
good*.dict \
warn*.dict \
fatal*.dict \
;
do
[ -f "$dict" ] || continue # protect against bad globs
# capture stderr, ignore stdout
stderr=$(foamDictionary -keywords $dict 2>&1 >/dev/null)
exitCode=$?
case "$dict" in
*fatal*)
if [ $exitCode -eq 0 ]
then
echo "NOK did not detect fatal input $dict"
nfail=$(($fail + 1))
else
echo "OK detected fatal input $dict"
npass=$(($npass + 1))
fi
;;
*good*)
if [ $exitCode -eq 0 ]
then
npass=$(($npass + 1))
if [ "${#stderr}" -gt 0 ]
then
# count unexpected warnings
nwarn=$(($nwarn + 1))
echo "NOK unexpected warnings: $dict"
else
echo "OK good input $dict"
fi
else
echo "NOK failed input $dict"
nfail=$(($fail + 1))
fi
;;
*warn*)
if [ $exitCode -eq 0 ]
then
npass=$(($npass + 1))
if [ "${#stderr}" -gt 0 ]
then
echo "OK trapped warnings: $dict"
else
# count missing warnings
nwarn=$(($nwarn + 1))
echo "NOK missing expected warnings: $dict"
fi
else
nfail=$(($fail + 1))
echo "NOK failed (not warn) input $dict"
fi
;;
esac
if [ "$verbose" = true ] && [ "${#stderr}" -gt 0 ]
then
echo "================" 1>&2
echo "dictionary = $dict" 1>&2
echo "$stderr" 1>&2
echo "================" 1>&2
fi
done
echo "$npass passed"
echo "$nwarn warnings"
echo "$nfail failed"
if test $nfail -eq 0
then
echo
echo End
echo
else
exit 1
fi
#------------------------------------------------------------------------------