mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
ENH: improve detection of EOF missing/additional braces (issue #762)
- stricter checking for common dictionary input errors such as a missing ';' for primitive entries, extra or missing closing '}' etc.
This commit is contained in:
105
tutorials/IO/dictionary/Allrun
Executable file
105
tutorials/IO/dictionary/Allrun
Executable file
@ -0,0 +1,105 @@
|
||||
#!/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"
|
||||
|
||||
test $nfail -eq 0
|
||||
exit $?
|
||||
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
Reference in New Issue
Block a user