X-Git-Url: https://git.phdru.name/?a=blobdiff_plain;f=test%2Ftest_all;h=83fd08b847162361030476c926a3d61901da5121;hb=d7a171bdad1f8da709ef82a2eaeb231d6234cfc5;hp=5d4ca8a5095c77e0e3a385e7a9a16d2222eb3712;hpb=eee83ff25c87ab0f7abb8b77637f8b24a509250b;p=mimedecode.git diff --git a/test/test_all b/test/test_all index 5d4ca8a..83fd08b 100755 --- a/test/test_all +++ b/test/test_all @@ -1,21 +1,36 @@ #! /bin/sh cd "`dirname \"$0\"`" && +rm -rf save tmp && +mkdir tmp || exit 1 + +LC_CTYPE=c.UTF-8 && +export LC_CTYPE && + MAILCAPS="`pwd`"/.mailcap && export MAILCAPS && -rm -rf tmp && -mkdir tmp || exit 1 +test -r "$HOME"/.mime.types || cp -p .mime.types "$HOME"/.mime.types && +: ${PYTHON:=python} RC=0 +if [ `$PYTHON -c "import sys; print(sys.version[0])"` -eq 2 ]; then + PY3=NO +else + PY3=YES +fi + test1() { infile="$1" shift expfile="$1" + if [ $PY3 = YES -a -f expected/"$expfile"-py3 ]; then + expfile="$expfile"-py3 + fi shift - ../mimedecode.py -H test -f utf-8 "$@" input/"$infile" >tmp/"$expfile" || return 1 + $PYTHON ../mimedecode.py -H test -f utf-8 "$@" input/"$infile" >tmp/"$expfile" || return 1 if cmp -s expected/"$expfile" tmp/"$expfile"; then rm tmp/"$expfile" && return 0 || return 1 else @@ -54,10 +69,60 @@ test_file msg_16.txt msg_16-2.txt -r \*,-mime-version,-content-type test_file msg_29.txt msg_29-1.txt -R Content-Type:title test_file msg_18.txt msg_18-1.txt -R X-Foobar-Spoink-Defrobnit:\* test_file msg_01.txt msg_01-1.txt --set-header=X-Test:set +test_file msg_01.txt msg_01-2.txt --set-header=X-Test:set --set-param=X-Test:test:set +test_file msg_02.txt msg_02.txt --set-param=X-Test:test:set +test_file msg_02.txt msg_02-1.txt --set-param=X-Mailer:test=set +test_file msg_02.txt msg_02-1.txt --set-param=X-Mailer:test:set +test_file msg_13.txt msg_13-1.txt -B '*/*' +test_file msg_13.txt msg_13.txt -t 'text/*' -b 'image/*' -B '*/*' +test_file msg_36.txt msg_36-1.txt -i multipart/alternative +test_file msg_36.txt msg_36-2.txt -I multipart/alternative + +# Test --save-* +test2() { + infile="$1" + shift + expfile="$1" + shift + savefile="$1" + shift + expsavefile="$1" + shift + + test_file "$infile" "$expfile" -O save "$@" + + if cmp -s expected-save/"$expsavefile" save/"$savefile"; then + rm save/"$savefile" && return 0 || return 1 + else + return 1 + fi +} + +test_save() { + if test2 "$@"; then + echo " save: ok" + else + echo " save: fail" + RC=1 + fi +} + +test_save msg_07.txt msg_07.txt 1-dingusfish.gif msg_07-1.txt --save-headers image/gif +test_save msg_07.txt msg_07.txt 1-dingusfish.gif msg_07-2.txt --save-body image/gif +test_save msg_07.txt msg_07.txt 1-dingusfish.gif msg_07-3.txt --save-message image/gif +test_save msg_07-1.txt msg_07-1.txt 1-dingusfish.gif msg_07-4.txt --save-message image/gif + +test_save msg_07.txt msg_07.txt 1.dig msg_07-5.txt --save-headers multipart/mixed +test_save msg_07.txt msg_07.txt 1.dig msg_07-6.txt --save-body multipart/mixed +test_save msg_07.txt msg_07.txt 1.dig msg_07-7.txt --save-message multipart/mixed + +echo if [ "$RC" -eq 0 ]; then echo "All tests passed!" - rmdir tmp + rmdir save tmp +else + echo "ERRORS!" fi exit $RC