X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/5200594b19e81959d1d249e9feaad4ec0b02f5c2..100803609988d80412fed733a0a754cd32a18ce2:/test/mhmail/test-mhmail diff --git a/test/mhmail/test-mhmail b/test/mhmail/test-mhmail index 5a7117bb..31d6689e 100755 --- a/test/mhmail/test-mhmail +++ b/test/mhmail/test-mhmail @@ -18,35 +18,18 @@ fi # $1 is expected output file, provided by caller # $2 is mhmail switches, except for -body # $3 of -b signifies use -body switch, | signifies provide body on stdin -# $4 contains message body. When using stdin, can contain printf(1) format -# specifiers. +# $4 contains the message body. test_mhmail () { - "${MH_OBJ_DIR}/test/fakesmtp" "$actual" $localport & - pid="$!" - - # The server doesn't always come up fast enough, so sleep and - # retry a few times if it fails... - status=1 - for i in 0 1 2 3 4 5 6 7 8 9; do - if [ $3 = '|' ]; then - if printf "$4" | mhmail recipient@example.com $2 \ - -server 127.0.0.1 -port $localport; then - status=0 - break - fi - else - if mhmail recipient@example.com $2 -body "$4" \ - -server 127.0.0.1 -port $localport; then - status=0 - break - fi - fi - sleep 1 - done - [ $status -eq 0 ] || exit 1 - - wait ${pid} + pid=`"${MH_OBJ_DIR}/test/fakesmtp" "$actual" $localport` + + if [ $3 = '|' ]; then + printf '%s' "$4" | mhmail recipient@example.com $2 \ + -server 127.0.0.1 -port $localport + else + mhmail recipient@example.com $2 -body "$4" \ + -server 127.0.0.1 -port $localport + fi # # It's hard to calculate the exact Date: header post is going to @@ -57,8 +40,7 @@ test_mhmail () sed -e 's/^Date:.*/Date:/' \ -e 's/^Resent-Date:.*/Resent-Date:/' \ - -e 's/^Message-ID:.*/Message-ID:/' \ - -e 's/^Content-ID:.*/Content-ID:/' "$actual" > "$actual".nodate + -e 's/^Message-ID:.*/Message-ID:/' "$actual" > "$actual".nodate rm -f "$actual" check "$actual".nodate "$1" @@ -99,8 +81,8 @@ check $expected $actual # Verified same behavior as compiled mhmail. case `mhmail -v` in mhmail\ --*) ;; - * ) echo "$0: mhmail -v generated unexpected output" 1>&2 - failed=`expr ${failed:-0} + 1`;; + * ) printf '%s: mhmail -v generated unexpected output\n' "$0" >&2 + failed=`expr ${failed:-0} + 1`;; esac # check for missing argument to switches that require them @@ -122,24 +104,22 @@ done # That will just run inc, which we don't want to do anything, # so tell inc to just display its version. # Verified same behavior as compiled mhmail. -printf "inc: -version\n" >> $MH +printf 'inc: -version\n' >> $MH case `mhmail` in inc\ --*) ;; - * ) echo "$0: mhmail generated unexpected output" 1>&2 + * ) echo "$0: mhmail generated unexpected output" >&2 failed=`expr ${failed:-0} + 1`;; esac # check -nosend # Not supported by compiled mhmail. -mhmail -nosend recipient@example.com -from sender@localhost \ +mhmail -nosend recipient@example.com -from sender1@localhost \ -server 127.0.0.1 -port $localport -body '' >"$actual" 2>"$actual_err" -tmpfil=`head -1 $actual | sed -e 's/://'` - cat > "$expected" < "$expected" < +MAIL FROM: RCPT TO: DATA To: recipient@example.com -From: sender@localhost +From: sender2@localhost Date: message @@ -168,7 +148,7 @@ message QUIT EOF -test_mhmail "$expected" "-from sender@localhost -nosend -send" '|' message +test_mhmail "$expected" "-from sender2@localhost -nosend -send" '|' message [ ${failed:-0} -eq 0 ] || exit ${failed:-0} @@ -176,11 +156,11 @@ test_mhmail "$expected" "-from sender@localhost -nosend -send" '|' message # Verified same behavior as compiled mhmail. cat > "$expected" < +MAIL FROM: RCPT TO: DATA To: recipient@example.com -From: sender@localhost +From: sender3@localhost Date: message @@ -188,7 +168,7 @@ message QUIT EOF -test_mhmail "$expected" "-from sender@localhost" '|' message +test_mhmail "$expected" "-from sender3@localhost" '|' message [ ${failed:-0} -eq 0 ] || exit ${failed:-0} @@ -196,11 +176,11 @@ test_mhmail "$expected" "-from sender@localhost" '|' message # Verified same behavior as compiled mhmail. cat > "$expected" < +MAIL FROM: RCPT TO: DATA To: recipient@example.com -From: sender@localhost +From: sender4@localhost Date: body @@ -208,7 +188,7 @@ body QUIT EOF -test_mhmail "$expected" "-from sender@localhost" -b body +test_mhmail "$expected" "-from sender4@localhost" -b body [ ${failed:-0} -eq 0 ] || exit ${failed:-0} @@ -216,13 +196,13 @@ test_mhmail "$expected" "-from sender@localhost" -b body # Verified same behavior as compiled mhmail. cat > "$expected" < +MAIL FROM: RCPT TO: RCPT TO: DATA To: recipient@example.com Cc: recipient2@example.com -From: sender@localhost +From: sender5@localhost Date: message @@ -231,7 +211,7 @@ QUIT EOF test_mhmail "$expected" \ - "-from sender@localhost -cc recipient2@example.com" '|' message + "-from sender5@localhost -cc recipient2@example.com" '|' message [ ${failed:-0} -eq 0 ] || exit ${failed:-0} @@ -239,7 +219,7 @@ test_mhmail "$expected" \ # Verified same behavior as compiled mhmail. cat > "$expected" < +MAIL FROM: RCPT TO: RCPT TO: RCPT TO: @@ -248,7 +228,7 @@ DATA To: recipient@example.com Cc: recipient2@example.com, recipient3@example.com, recipient4@example.com -From: sender@localhost +From: sender6@localhost Date: message @@ -257,8 +237,8 @@ QUIT EOF test_mhmail "$expected" \ - '-from sender@localhost -cc recipient2@example.com recipient3@example.com '\ -'recipient4@example.com' '|' message + '-from sender6@localhost -cc recipient2@example.com '\ +'recipient3@example.com recipient4@example.com' '|' message [ ${failed:-0} -eq 0 ] || exit ${failed:-0} @@ -266,12 +246,12 @@ test_mhmail "$expected" \ # Verified same behavior as compiled mhmail. cat > "$expected" < +MAIL FROM: RCPT TO: DATA To: recipient@example.com Subject: Test -From: sender@localhost +From: sender7@localhost Date: message @@ -279,7 +259,7 @@ message QUIT EOF -test_mhmail "$expected" '-from sender@localhost -subject Test' '|' message +test_mhmail "$expected" '-from sender7@localhost -subject Test' '|' message [ ${failed:-0} -eq 0 ] || exit ${failed:-0} @@ -288,15 +268,15 @@ test_mhmail "$expected" '-from sender@localhost -subject Test' '|' message # 2) use send(1) by added a send switch to the profile and # verifying that it gets used. # Not supported by compiled mhmail. -printf "send: -msgid\n" >> $MH +printf 'send: -msgid\n' >> $MH cat > "$expected" < +MAIL FROM: RCPT TO: DATA To: recipient@example.com -From: sender@localhost +From: sender8@localhost Date: Message-ID: @@ -305,7 +285,7 @@ message QUIT EOF -test_mhmail "$expected" '-from sender@localhost -profile' '|' message +test_mhmail "$expected" '-from sender8@localhost -profile' '|' message [ ${failed:-0} -eq 0 ] || exit ${failed:-0} @@ -313,12 +293,12 @@ test_mhmail "$expected" '-from sender@localhost -profile' '|' message # Verified same behavior as compiled mhmail. cat > "$expected" < +MAIL FROM: RCPT TO: DATA To: recipient@example.com Subject: Subject2 -From: sender2@localhost +From: sender9@localhost Date: message @@ -326,7 +306,7 @@ message QUIT EOF -test_mhmail "$expected" '-from sender@localhost -from sender2@localhost '\ +test_mhmail "$expected" '-from sender9@localhost -from sender9@localhost '\ '-subject Subject1 -subject Subject2' -b message [ ${failed:-0} -eq 0 ] || exit ${failed:-0} @@ -334,11 +314,11 @@ test_mhmail "$expected" '-from sender@localhost -from sender2@localhost '\ # Verified same behavior as compiled mhmail. cat > "$expected" < +MAIL FROM: RCPT TO: DATA To: recipient@example.com -From: sender@localhost +From: sender10@localhost Date: body2 @@ -346,7 +326,7 @@ body2 QUIT EOF -test_mhmail "$expected" "-from sender@localhost -body body1" -b body2 +test_mhmail "$expected" "-from sender10@localhost -body body1" -b body2 [ ${failed:-0} -eq 0 ] || exit ${failed:-0} @@ -354,14 +334,14 @@ test_mhmail "$expected" "-from sender@localhost -body body1" -b body2 # Verified same behavior as compiled mhmail. cat > "$expected" < +MAIL FROM: RCPT TO: RCPT TO: RCPT TO: DATA To: recipient@example.com Cc: cc1@example.com, cc2@example.com -From: sender@localhost +From: sender11@localhost Date: message @@ -370,7 +350,7 @@ QUIT EOF test_mhmail "$expected" \ - '-from sender@localhost -cc cc1@example.com -cc cc2@example.com' -b message + '-from sender11@localhost -cc cc1@example.com -cc cc2@example.com' -b message [ ${failed:-0} -eq 0 ] || exit ${failed:-0} @@ -378,7 +358,7 @@ test_mhmail "$expected" \ # Verified same behavior as compiled mhmail. cat > "$expected" < +MAIL FROM: RCPT TO: RCPT TO: RCPT TO: @@ -386,7 +366,7 @@ DATA To: recipient@example.com Cc: cc1@example.com, cc2@example.com Subject: Test -From: sender@localhost +From: sender12@localhost Date: message @@ -395,8 +375,8 @@ QUIT EOF test_mhmail "$expected" \ - '-from sender@localhost -cc cc1@example.com -subject Test cc2@example.com' \ - -b message + '-from sender12@localhost -cc cc1@example.com -subject '\ +'Test cc2@example.com' -b message [ ${failed:-0} -eq 0 ] || exit ${failed:-0} @@ -404,7 +384,7 @@ test_mhmail "$expected" \ # Verified same behavior as compiled mhmail. cat > "$expected" < +MAIL FROM: RCPT TO: RCPT TO: RCPT TO: @@ -412,7 +392,7 @@ DATA To: recipient@example.com, recipient2@example.com Cc: cc1@example.com Subject: Test -From: sender@localhost +From: sender13@localhost Date: message @@ -421,7 +401,7 @@ QUIT EOF test_mhmail "$expected" \ - "-from sender@localhost -cc cc1@example.com -subject Test \ + "-from sender13@localhost -cc cc1@example.com -subject Test \ -to recipient2@example.com" \ -b message [ ${failed:-0} -eq 0 ] || exit ${failed:-0} @@ -450,11 +430,11 @@ check "$expected_err" "$actual_err" # Verified same behavior as compiled mhmail. cat > "$expected" < +MAIL FROM: RCPT TO: DATA To: recipient@example.com -From: sender@localhost +From: sender14@localhost Date: @@ -462,7 +442,8 @@ Date: QUIT EOF -test_mhmail "$expected" '-from sender@localhost' '|' '\n' +test_mhmail "$expected" '-from sender14@localhost' '|' ' +' [ ${failed:-0} -eq 0 ] || exit ${failed:-0} @@ -470,11 +451,11 @@ test_mhmail "$expected" '-from sender@localhost' '|' '\n' # Verified same behavior as compiled mhmail. cat > "$expected" < +MAIL FROM: RCPT TO: DATA To: recipient@example.com -From: sender@localhost +From: sender15@localhost Date: @@ -484,7 +465,10 @@ Date: QUIT EOF -test_mhmail "$expected" '-from sender@localhost' '|' '\n\n\n' +test_mhmail "$expected" '-from sender15@localhost' '|' ' + + +' [ ${failed:-0} -eq 0 ] || exit ${failed:-0} @@ -492,11 +476,11 @@ test_mhmail "$expected" '-from sender@localhost' '|' '\n\n\n' # Verified same behavior as compiled mhmail. cat > "$expected" < +MAIL FROM: RCPT TO: DATA To: recipient@example.com -From: sender@localhost +From: sender16@localhost Date: no newline in input @@ -504,7 +488,7 @@ no newline in input QUIT EOF -test_mhmail "$expected" '-from sender@localhost' '|' 'no newline in input' +test_mhmail "$expected" '-from sender16@localhost' '|' 'no newline in input' [ ${failed:-0} -eq 0 ] || exit ${failed:-0} @@ -512,11 +496,11 @@ test_mhmail "$expected" '-from sender@localhost' '|' 'no newline in input' # Verified same behavior as compiled mhmail. cat > "$expected" < +MAIL FROM: RCPT TO: DATA To: recipient@example.com -From: sender@localhost +From: sender17@localhost Date: here's some text @@ -526,7 +510,10 @@ here's some text QUIT EOF -test_mhmail "$expected" '-from sender@localhost' '|' "here's some text\n\n\n" +test_mhmail "$expected" '-from sender17@localhost' '|' "here's some text + + +" [ ${failed:-0} -eq 0 ] || exit ${failed:-0} @@ -534,11 +521,11 @@ test_mhmail "$expected" '-from sender@localhost' '|' "here's some text\n\n\n" # Verified same behavior as compiled mhmail. cat > "$expected" < +MAIL FROM: RCPT TO: DATA To: recipient@example.com -From: sender@localhost +From: sender18@localhost Date: @@ -546,7 +533,7 @@ Date: QUIT EOF -test_mhmail "$expected" '-from sender@localhost' -b '' +test_mhmail "$expected" '-from sender18@localhost' -b '' [ ${failed:-0} -eq 0 ] || exit ${failed:-0} @@ -554,11 +541,11 @@ test_mhmail "$expected" '-from sender@localhost' -b '' # Shows different behavior than compiled mhmail, which suppressed the newline. cat > "$expected" < +MAIL FROM: RCPT TO: DATA To: recipient@example.com -From: sender@localhost +From: sender19@localhost Date: @@ -567,7 +554,7 @@ Date: QUIT EOF -test_mhmail "$expected" '-from sender@localhost' -b ' +test_mhmail "$expected" '-from sender19@localhost' -b ' ' [ ${failed:-0} -eq 0 ] || exit ${failed:-0} @@ -577,11 +564,11 @@ test_mhmail "$expected" '-from sender@localhost' -b ' # of the newlines. cat > "$expected" < +MAIL FROM: RCPT TO: DATA To: recipient@example.com -From: sender@localhost +From: sender20@localhost Date: @@ -592,7 +579,7 @@ Date: QUIT EOF -test_mhmail "$expected" '-from sender@localhost' -b ' +test_mhmail "$expected" '-from sender20@localhost' -b ' ' @@ -603,11 +590,11 @@ test_mhmail "$expected" '-from sender@localhost' -b ' # Verified same behavior as compiled mhmail. cat > "$expected" < +MAIL FROM: RCPT TO: DATA To: recipient@example.com -From: sender@localhost +From: sender21@localhost Date: no newline in input @@ -615,7 +602,7 @@ no newline in input QUIT EOF -test_mhmail "$expected" '-from sender@localhost' -b 'no newline in input' +test_mhmail "$expected" '-from sender21@localhost' -b 'no newline in input' [ ${failed:-0} -eq 0 ] || exit ${failed:-0} @@ -624,11 +611,11 @@ test_mhmail "$expected" '-from sender@localhost' -b 'no newline in input' # of the newlines. cat > "$expected" < +MAIL FROM: RCPT TO: DATA To: recipient@example.com -From: sender@localhost +From: sender22@localhost Date: here's some text @@ -638,7 +625,7 @@ here's some text QUIT EOF -test_mhmail "$expected" '-from sender@localhost' -b "here's some text +test_mhmail "$expected" '-from sender22@localhost' -b "here's some text " [ ${failed:-0} -eq 0 ] || exit ${failed:-0} @@ -654,7 +641,7 @@ DATA Resent-To: recipient@example.com Resent-From: orig_recipient@example.com To: recipient@example.com -From: sender@localhost +From: sender23@localhost Date: Resent-Date: @@ -665,7 +652,7 @@ EOF test_mhmail "$expected" '-from orig_recipient@example.com -resent' \ -b 'To: recipient@example.com -From: sender@localhost +From: sender23@localhost Date: Sat Jun 16 18:35:15 -0500 please resend this message, 1' @@ -680,7 +667,7 @@ MAIL FROM: RCPT TO: DATA To: recipient@example.com -From: sender@localhost +From: sender24@localhost Date: Resent-To: recipient@example.com Resent-From: orig_recipient@example.com @@ -694,7 +681,7 @@ EOF test_mhmail "$expected" \ '-from orig_recipient@example.com -resent -profile -nomsgid' \ '|' 'To: recipient@example.com -From: sender@localhost +From: sender24@localhost Date: Sat Jun 16 18:35:15 -0500 please resend this message, 2' @@ -710,7 +697,7 @@ MAIL FROM: RCPT TO: DATA To: recipient@example.com -From: sender@localhost +From: sender25@localhost Date: Resent-To: recipient@example.com Resent-From: orig_recipient@example.com @@ -724,7 +711,7 @@ EOF test_mhmail "$expected" \ '-from orig_recipient@example.com -resent -profile -nomsgid' \ -b 'To: recipient@example.com -From: sender@localhost +From: sender25@localhost Date: Sat Jun 16 18:35:15 -0500 please resend this message, 3' @@ -736,11 +723,11 @@ please resend this message, 3' # Not supported by compiled mhmail. cat > "$expected" < +MAIL FROM: RCPT TO: DATA To: recipient@example.com -From: sender@example.com +From: sender26@example.com User-Agent: nmh Date: @@ -750,7 +737,7 @@ QUIT EOF test_mhmail "$expected" \ - '-from sender@example.com -headerfield User-Agent:nmh' \ + '-from sender26@example.com -headerfield User-Agent:nmh' \ -b 'with added header field' [ ${failed:-0} -eq 0 ] || exit ${failed:-0} @@ -760,11 +747,11 @@ test_mhmail "$expected" \ # Not supported by compiled mhmail. cat > "$expected" < +MAIL FROM: RCPT TO: DATA To: recipient@example.com -From: sender@example.com +From: sender27@example.com MIME-Version: 1.0 Content-Type: text/plain;charset=utf-8 Content-Transfer-Encoding: 8bit @@ -776,7 +763,7 @@ QUIT EOF test_mhmail "$expected" \ - "-from sender@example.com -headerfield MIME-Version:1.0 \ + "-from sender27@example.com -headerfield MIME-Version:1.0 \ -headerfield Content-Type:text/plain;charset=utf-8 \ -headerfield Content-Transfer-Encoding:8bit" \ -b 'with added header fields' @@ -788,14 +775,13 @@ test_mhmail "$expected" \ # Not supported by compiled mhmail. cat > "$expected" < +MAIL FROM: RCPT TO: DATA To: recipient@example.com -From: sender@example.com +From: sender28@example.com MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----- =_aaaaaaaaaa0" -Content-ID: Date: Message-ID: @@ -819,7 +805,7 @@ QUIT EOF test_mhmail "$expected" \ - "-from sender@example.com -attach ${srcdir}/test/mhmail/attachment.txt" \ + "-from sender28@example.com -attach ${srcdir}/test/mhmail/attachment.txt" \ -b 'See how easy it is to add an attachment!' [ ${failed:-0} -eq 0 ] || exit ${failed:-0}