]> diplodocus.org Git - nmh/blobdiff - test/post/test-mts
Update XOAUTH2 documentation.
[nmh] / test / post / test-mts
index 29fb4787a076dd0feac6e6f7361ae7aabdcd6812..0f0c2a0870078179283350492889a7799d012b9c 100755 (executable)
@@ -30,6 +30,8 @@ DATA
 From: Mr Nobody <nobody@example.com>
 To: Somebody Else <somebody@example.com>
 Subject: Test
+MIME-Version: 1.0
+Content-Type: text/plain; charset="us-ascii"
 Date:
 
 This is a test
@@ -38,6 +40,7 @@ QUIT
 EOF
 
 # check invalid -mts selection
+start_test 'invalid -mts selection'
 run_test "send -draft -mts invalid" \
 "post: unsupported mts selection \"invalid\"
 send: message not delivered to anyone"
@@ -47,20 +50,23 @@ test_post "${testname}.actual" "${testname}.expected" "-mts smtp"
 #### Rely on sendmail/smtp or sendmail/pipe below to override default mts.
 mts_fakesendmail="${MHMTSCONF}-fakesendmail"
 cp "${MHMTSCONF}" "$mts_fakesendmail"
-printf "%s\n" "sendmail: ${srcdir}/test/fakesendmail" >>"$mts_fakesendmail"
+printf 'sendmail: %s/test/fakesendmail\n' "$srcdir" >>"$mts_fakesendmail"
 MHMTSCONF="$mts_fakesendmail"
 
-# $1: option switches for send
+# $1: -mts switch selection
 # remaining arguments: expected output(s)
 test_sendmail ()
 {
-  send -draft -mts "$1"
+  run_prog send -draft -mts "$1"
+  send_status=$?
   shift
 
   # fakesendmail drops the message and any cc's into this mbox.
-  mbox="${MH_TEST_DIR}"/Mail/fakesendmail.mbox
-  inc -silent -file "$mbox"
-  rm -f "$mbox" "$mbox.map"
+  if [ $send_status -eq 0 ]; then
+    mbox="${MH_TEST_DIR}"/Mail/fakesendmail.mbox
+    inc -silent -file "$mbox"
+    rm -f "$mbox"
+  fi
 
   n=1
   for expected in "$@"; do
@@ -81,6 +87,7 @@ test_sendmail ()
 }
 
 # check -mts sendmail/smtp
+start_test '-mts sendmail/smtp'
 cat > "${MH_TEST_DIR}/Mail/draft" <<EOF
 From: Mr Nobody <nobody@example.com>
 To: Somebody Else <somebody@example.com>
@@ -94,6 +101,8 @@ cat > "${testname}.expected" <<EOF
 From: Mr Nobody <nobody@example.com>
 To: Somebody Else <somebody@example.com>
 Subject: Test
+MIME-Version: 1.0
+Content-Type: text/plain; charset="us-ascii"
 Date:
 
 This is a test
@@ -105,6 +114,7 @@ test_sendmail sendmail/smtp "${testname}.expected"
 # check -mts sendmail/pipe
 # Dots are not stuffed because sendmail/pipe causes sendmail to be
 # invoked with -i.
+start_test '-mts sendmail/pipe'
 cat > "${MH_TEST_DIR}/Mail/draft" <<EOF
 From: Mr Nobody <nobody@example.com>
 To: Somebody Else <somebody@example.com>
@@ -118,6 +128,8 @@ cat > "${testname}.expected" <<EOF
 From: Mr Nobody <nobody@example.com>
 To: Somebody Else <somebody@example.com>
 Subject: Test
+MIME-Version: 1.0
+Content-Type: text/plain; charset="us-ascii"
 Date:
 
 This is a test
@@ -126,7 +138,8 @@ EOF
 
 test_sendmail sendmail/pipe "${testname}.expected"
 
-# check Bcc
+# check Bcc with sendmail/pipe
+start_test 'Bcc with sendmail/pipe'
 cat > "${MH_TEST_DIR}/Mail/draft" <<EOF
 From: Mr Nobody <nobody@example.com>
 To: Somebody Else <somebody@example.com>
@@ -141,6 +154,8 @@ cat > "${testname}.expected1" <<EOF
 From: Mr Nobody <nobody@example.com>
 To: Somebody Else <somebody@example.com>
 Subject: Test
+MIME-Version: 1.0
+Content-Type: text/plain; charset="us-ascii"
 Date:
 
 This is a test
@@ -148,14 +163,18 @@ This is a test
 EOF
 
 cat > "${testname}.expected2" <<EOF
+From: Mr Nobody <nobody@example.com>
 Date:
 Subject: Test
+BCC: bcc@example.com
 
 ------- Blind-Carbon-Copy
 
 From: Mr Nobody <nobody@example.com>
 To: Somebody Else <somebody@example.com>
 Subject: Test
+MIME-Version: 1.0
+Content-Type: text/plain; charset="us-ascii"
 Date:
 
 This is a test
@@ -167,6 +186,25 @@ EOF
 test_sendmail sendmail/pipe "${testname}.expected1" "${testname}.expected2"
 
 
+# check Dcc with sendmail/pipe:  it is unsupported
+start_test 'Dcc with sendmail/pipe'
+cat > "${MH_TEST_DIR}/Mail/draft" <<EOF
+From: nobody@example.com
+Dcc: dcc@example.com
+
+.
+EOF
+
+cat > "${testname}.expected1" <<EOF
+post: Dcc header is not supported with sendmail/pipe
+post: re-format message and try again
+send: message not delivered to anyone
+EOF
+
+! test_sendmail sendmail/pipe 2>"${testname}.actual1"
+check "${testname}.actual1" "${testname}.expected1"
+
 rm -f ${MHMTSCONF}
 
+finish_test
 exit ${failed:-0}