diff options
Diffstat (limited to 'main/minimime/test.sh')
-rwxr-xr-x | main/minimime/test.sh | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/main/minimime/test.sh b/main/minimime/test.sh new file mode 100755 index 000000000..1beca0b74 --- /dev/null +++ b/main/minimime/test.sh @@ -0,0 +1,54 @@ +#!/bin/sh +# MiniMIME test cases + +[ ! -x ./tests/parse -o ! -x ./tests/create ] && { + echo "You need to compile the test suite first to accomplish tests" + exit 1 +} + +LD_LIBRARY_PATH=${PWD} +export LD_LIBRARY_PATH + +DIRECTORY=${1:-tests/messages} +FILES=${2:-"*"} + +TESTS=0 +F_ERRORS=0 +F_INVALID="" +M_ERRORS=0 +M_INVALID="" +for f in ${DIRECTORY}/${FILES}; do + if [ -f "${f}" ]; then + TESTS=$((TESTS + 2)) + echo -n "Running PARSER test for $f (file)... " + output=`./tests/parse $f 2>&1` + [ $? != 0 ] && { + echo "FAILED ($output)" + F_ERRORS=$((F_ERRORS + 1)) + F_INVALID="${F_INVALID} ${f} " + } || { + echo "PASSED" + } + echo -n "Running PARSER test for $f (memory)... " + output=`./tests/parse -m $f 2>&1` + [ $? != 0 ] && { + echo "FAILED ($output)" + M_ERRORS=$((M_ERRORS + 1)) + M_INVALID="${M_INVALID} ${f} " + } || { + echo "PASSED" + } + fi +done + +echo "Ran a total of ${TESTS} tests" + +if [ ${F_ERRORS} -gt 0 ]; then + echo "!! ${F_ERRORS} messages had errors in file based parsing" + echo "-> ${F_INVALID}" +fi +if [ ${M_ERRORS} -gt 0 ]; then + echo "!! ${F_ERRORS} messages had errors in memory based parsing" +fi + +unset LD_LIBRARY_PATH |