X-Git-Url: https://git.phdru.name/?a=blobdiff_plain;f=test%2Ftest_all;h=a00ba268c90d301760db8047c3a40ec34b90a77a;hb=779e307770431e065050edd6634c49fa2e319df0;hp=19b8323630b0f12b734eb233419f1ada3b89bb84;hpb=f5aab10ee4a70450634a766108389095298f45f8;p=mimedecode.git diff --git a/test/test_all b/test/test_all index 19b8323..a00ba26 100755 --- a/test/test_all +++ b/test/test_all @@ -9,18 +9,53 @@ mkdir tmp || exit 1 RC=0 -for f in input/*.txt; do - f="`basename \"$f\"`" - ../mimedecode.py -H test -f utf-8 input/"$f" >tmp/"$f" - if cmp -s expected/"$f" tmp/"$f"; then - rm tmp/"$f" +test1() { + infile="$1" + shift + expfile="$1" + shift + + ../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 + diff --text expected/"$expfile" tmp/"$expfile" >tmp/"$expfile".diff + return 1 + fi +} + +test_file() { + echo -n "$2 " + if test1 "$@"; then + echo "ok" else + echo "fail" RC=1 - diff --text expected/"$f" tmp/"$f" >tmp/"$f".diff fi +} + +for f in input/*.txt; do + n="`basename \"$f\"`" + test_file "$n" "$n" done +test_file msg_03.txt msg_03-1.txt -D -d From,To,Subject +test_file msg_03.txt msg_03-1.txt -d '*,-cc' +test_file msg_03.txt msg_03-1.txt -d \*,From,To,Subject,-cc +test_file msg_15.txt msg_15-1.txt -b text/html +test_file msg_15.txt msg_15-2.txt -i text/html +test_file msg_22.txt msg_22.txt -P -p Content-Type,Content-Disposition:name,filename +test_file msg_22.txt msg_22.txt -P -p \*:name,filename +test_file msg_22.txt msg_22.txt -P -p Content-Type,Content-Disposition:\* +test_file msg_22.txt msg_22.txt -P -p '*,-Content-Id:*,-x-mac-type' +test_file msg_22.txt msg_22-1.txt -r content-id +test_file msg_16.txt msg_16-1.txt -r Received,List-Help,List-Post,List-Subscribe,List-Id,List-Unsubscribe,List-Archive +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:\* + if [ "$RC" -eq 0 ]; then + echo "All tests passed!" rmdir tmp fi