aboutsummaryrefslogtreecommitdiffstats
path: root/trunk/main/minimime/test.sh
diff options
context:
space:
mode:
Diffstat (limited to 'trunk/main/minimime/test.sh')
-rwxr-xr-xtrunk/main/minimime/test.sh54
1 files changed, 54 insertions, 0 deletions
diff --git a/trunk/main/minimime/test.sh b/trunk/main/minimime/test.sh
new file mode 100755
index 000000000..1beca0b74
--- /dev/null
+++ b/trunk/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