]> diplodocus.org Git - nmh/blobdiff - test/dist/test-dist
popsbr.h: Base header on implementation.
[nmh] / test / dist / test-dist
index 709c847e779d92688aa85076d181e70ae5ae3d5d..496986f5e011cad8a8ffda3b6ad13fdfb0cd8764 100755 (executable)
@@ -16,27 +16,49 @@ fi
 
 setup_test
 
+check_exit '-eq 1' dist -
+check_exit '-eq 1' dist -editor
+check_exit '-eq 1' dist -editor foo -editor
+check_exit '-eq 1' dist -nowhatnowproc -whatnowproc foo -whatnowproc
+check_exit '-eq 1' dist -file
+check_exit '-eq 1' dist -file foo -file bar
+check_exit '-eq 1' dist -form
+check_exit '-eq 1' dist -draftfolder
+check_exit '-eq 1' dist -draftfolder foo -draftfolder bar
+check_exit '-eq 1' dist -draftmessage
+check_exit '-eq 1' dist -draftmessage 42 -draftmessage 314
+check_exit '-eq 1' dist -from
+check_exit '-eq 1' dist -to
+check_exit '-eq 1' dist -cc
+check_exit '-eq 1' dist -fcc
+check_exit '-eq 1' dist -width
+check_exit '-eq 1' dist -width 42 -width 0
+check_exit '-eq 1' dist -atfile -noatfile -
+check_exit '-eq 1' dist + @
+check_exit '-eq 1' dist 42 314
+check_exit '-eq 1' dist -file foo 42
+
 expected=$MH_TEST_DIR/$$.expected
 expected_err=$MH_TEST_DIR/$$.expected_err
 actual=$MH_TEST_DIR/$$.actual
 actual_err=$MH_TEST_DIR/$$.actual_err
-localmbox=`${MH_LIB_DIR}/ap -format "%(localmbox)" 0`
+localmbox=`${MH_LIBEXEC_DIR}/ap -format "%(localmbox)" 0 | sed 's/^<\(.*\)>$/\1/'`
 
 #### Use sendmail/pipe below to override default mts.
 mts_fakesendmail="${MHMTSCONF}-fakesendmail"
 sed -e 's/^mts:.*/mts: sendmail\/pipe/' "${MHMTSCONF}" > "$mts_fakesendmail"
-printf "sendmail: ${srcdir}/test/fakesendmail\n" >>"$mts_fakesendmail"
+printf 'sendmail: %s/test/fakesendmail\n' "$srcdir" >>"$mts_fakesendmail"
 MHMTSCONF="$mts_fakesendmail"
 
 # arguments: dist switches
 test_dist ()
 {
-  printf "send\n" | dist "$@" >/dev/null
+  printf 'send\n' | run_prog dist "$@" >/dev/null
 
   # 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"
+  rm -f "$mbox"
 
   # It's hard to calculate the exact Date: header post is going to
   # use, so we'll just use sed to remove the actual date so we can
@@ -71,13 +93,14 @@ Usage: dist [+folder] [msg] [switches]
   -[no]atfile
 EOF
 
-dist -help >"$actual" 2>&1
+#### Skip nmh intro text.
+dist -help | sed '/^$/,$d' >"$actual" 2>&1
 check "$expected" "$actual"
 
 # check -version
 case `dist -v` in
   dist\ --*) ;;
-  *        ) printf "$0: dist -v generated unexpected output\n" >&2
+  *        ) printf '%s: dist -v generated unexpected output\n' "$0" >&2
              failed=`expr ${failed:-0} + 1`;;
 esac
 
@@ -95,6 +118,7 @@ cat >"$expected" <<EOF
 From: Test1 <test1@example.com>
 To: Some User <user@example.com>
 Date: Fri, 29 Sep 2006 00:00:00
+Message-Id: 1@test.nmh
 Subject: Testing message 1
 Resent-From: ${localmbox}
 Resent-To: somebody@example.com
@@ -112,6 +136,7 @@ cat >"$expected" <<EOF
 From: Test1 <test1@example.com>
 To: Some User <user@example.com>
 Date: Fri, 29 Sep 2006 00:00:00
+Message-Id: 1@test.nmh
 Subject: Testing message 1
 Resent-From: ${localmbox}
 Resent-To: somebody@example.com
@@ -132,6 +157,7 @@ cat >"$expected" <<EOF
 From: Test1 <test1@example.com>
 To: Some User <user@example.com>
 Date: Fri, 29 Sep 2006 00:00:00
+Message-Id: 1@test.nmh
 Subject: Testing message 1
 Resent-From: me@example.com
 Resent-To: you@example.com
@@ -149,6 +175,7 @@ cat >"$expected" <<EOF
 From: Test2 <test2@example.com>
 To: Some User <user@example.com>
 Date: Fri, 29 Sep 2006 00:00:00
+Message-Id: 2@test.nmh
 Subject: Testing message 2
 Resent-From: ${localmbox}
 Resent-To: somebody@example.com
@@ -165,6 +192,7 @@ Resent: somebody@example.com
 From: Test2 <test2@example.com>
 To: Some User <user@example.com>
 Date: Fri, 29 Sep 2006 00:00:00
+Message-Id: 2@test.nmh
 Subject: Testing message 2
 
 This is message number 2
@@ -178,7 +206,7 @@ until grep '^Resent:' "${MH_TEST_DIR}"/Mail/inbox/2 >/dev/null; do
   arith_eval $i + 1
   i=$arith_val
   if [ $i -gt 60 ]; then
-    printf "$0: -annotate failed, will not wait any longer\n"
+    printf '%s: -annotate failed, will not wait any longer\n' "$0"
     break
   fi
 done
@@ -194,6 +222,7 @@ cat >"$expected" <<EOF
 From: Test1 <test1@example.com>
 To: Some User <user@example.com>
 Date: Fri, 29 Sep 2006 00:00:00
+Message-Id: 1@test.nmh
 Subject: Testing message 1
 Resent-From: ${localmbox}
 Resent-To: somebody@example.com
@@ -208,6 +237,7 @@ cat >"$expected" <<EOF
 From: Test1 <test1@example.com>
 To: Some User <user@example.com>
 Date: Fri, 29 Sep 2006 00:00:00
+Message-Id: 1@test.nmh
 Subject: Testing message 1
 
 This is message number 1
@@ -225,6 +255,7 @@ if [ $hard_links_supported -eq 1 ]; then
 From: Test8 <test8@example.com>
 To: Some User <user@example.com>
 Date: Fri, 29 Sep 2006 00:00:00
+Message-Id: 8@test.nmh
 Subject: Testing message 8
 Resent-From: ${localmbox}
 Resent-To: somebody@example.com
@@ -239,20 +270,21 @@ EOF
 
   # check -inplace
   # Hard link the message and verify that the new one does get annotated.
-  ln "${MH_TEST_DIR}/Mail/inbox/8" "${MH_TEST_DIR}/Mail/inbox/8.link"
+  ln "${MH_TEST_DIR}/Mail/inbox/9" "${MH_TEST_DIR}/Mail/inbox/9.link"
   cat >"$expected" <<EOF
-From: Test8 <test8@example.com>
+From: Test9 <test9@example.com>
 To: Some User <user@example.com>
 Date: Fri, 29 Sep 2006 00:00:00
-Subject: Testing message 8
+Message-Id: 9@test.nmh
+Subject: Testing message 9
 Resent-From: ${localmbox}
 Resent-To: somebody@example.com
 Resent-Date:
 
-This is message number 8
+This is message number 9
 EOF
-  test_dist 8 -noedit -to somebody@example.com -annotate -noinplace -inplace
-  check "${MH_TEST_DIR}/Mail/inbox/8" "${MH_TEST_DIR}/Mail/inbox/8.link"
+  test_dist 9 -noedit -to somebody@example.com -annotate -noinplace -inplace
+  check "${MH_TEST_DIR}/Mail/inbox/9" "${MH_TEST_DIR}/Mail/inbox/9.link"
 fi
 
 # check -draftfolder
@@ -260,6 +292,7 @@ cat >"$expected" <<EOF
 From: Test3 <test3@example.com>
 To: Some User <user@example.com>
 Date: Fri, 29 Sep 2006 00:00:00
+Message-Id: 3@test.nmh
 Subject: Testing message 3
 Resent-From: ${localmbox}
 Resent-To: somebody@example.com
@@ -275,6 +308,7 @@ cat >"$expected" <<EOF
 From: Test3 <test3@example.com>
 To: Some User <user@example.com>
 Date: Fri, 29 Sep 2006 00:00:00
+Message-Id: 3@test.nmh
 Subject: Testing message 3
 Resent-From: ${localmbox}
 Resent-To: somebody@example.com
@@ -291,6 +325,7 @@ cat >"$expected" <<EOF
 From: Test3 <test3@example.com>
 To: Some User <user@example.com>
 Date: Fri, 29 Sep 2006 00:00:00
+Message-Id: 3@test.nmh
 Subject: Testing message 3
 Resent-From: ${localmbox}
 Resent-To: somebody@example.com
@@ -311,6 +346,7 @@ cat >"$expected" <<EOF
 From: Test1 <test1@example.com>
 To: Some User <user@example.com>
 Date: Fri, 29 Sep 2006 00:00:00
+Message-Id: 1@test.nmh
 Subject: Testing message 1
 Resent-From: me@example.com
 Resent-To: somebody@example.com
@@ -326,6 +362,7 @@ cat >"$expected" <<EOF
 From: Test1 <test1@example.com>
 To: Some User <user@example.com>
 Date: Fri, 29 Sep 2006 00:00:00
+Message-Id: 1@test.nmh
 Subject: Testing message 1
 Resent-From: ${localmbox}
 Resent-To: somebody@example.com
@@ -342,6 +379,7 @@ cat >"$expected" <<EOF
 From: Test1 <test1@example.com>
 To: Some User <user@example.com>
 Date: Fri, 29 Sep 2006 00:00:00
+Message-Id: 1@test.nmh
 Subject: Testing message 1
 Resent-From: ${localmbox}
 Resent-To: somebody@example.com
@@ -351,12 +389,13 @@ This is message number 1
 EOF
 
 test_dist 1 -noedit -to somebody@example.com -fcc outbox
-run_test 'scan +outbox -width 6' '   1 '
+run_test 'scan +outbox -width 6' '   1  '
 
 cat >"$expected" <<EOF
 From: Test1 <test1@example.com>
 To: Some User <user@example.com>
 Date: Fri, 29 Sep 2006 00:00:00
+Message-Id: 1@test.nmh
 Subject: Testing message 1
 Resent-From: ${localmbox}
 Resent-To: somebody@example.com
@@ -366,7 +405,28 @@ This is message number 1
 EOF
 
 test_dist +inbox 1 -noedit -to somebody@example.com -fcc +outbox
-run_test 'scan +outbox -width 6 2' '   2 '
+run_test 'scan +outbox -width 6 2' '   2  '
+
+#
+# Check that dist encodes headers using RFC-2047 properly
+#
+
+require_locale en_US.UTF-8 en_US.UTF8 en_US.utf-8 en_US.utf8
+
+cat >"$expected" <<EOF
+From: Test1 <test1@example.com>
+To: Some User <user@example.com>
+Date: Fri, 29 Sep 2006 00:00:00
+Message-Id: 1@test.nmh
+Subject: Testing message 1
+Resent-From: =?UTF-8?Q?Mr_F=C3=B8o_Bar?= <resent-from@example.com>
+Resent-To: =?UTF-8?Q?Mr_Nobod=C3=BF?= <resent-to@example.com>
+Resent-Date:
+
+This is message number 1
+EOF
 
+test_dist +inbox 1 -noedit -from 'Mr Føo Bar <resent-from@example.com>' \
+         -to 'Mr Nobodÿ <resent-to@example.com>' -fcc +outbox
 
 exit ${failed:-0}