X-Git-Url: http://git.marmaro.de/?a=blobdiff_plain;f=test%2Frcv%2Ftest-rcvdist;h=311cdc9c3901c748733963a28b6475e4380e742d;hb=b15f35a73878825d1824a710982d6769ece9b6cb;hp=d13a202817db2bd1a949c8693e5d1f5aa0cac801;hpb=39b0d6244fe3906648ce40336a2c6e8a7d9dd783;p=mmh diff --git a/test/rcv/test-rcvdist b/test/rcv/test-rcvdist index d13a202..311cdc9 100755 --- a/test/rcv/test-rcvdist +++ b/test/rcv/test-rcvdist @@ -38,7 +38,7 @@ check "$expected" "$actual" # check -version case `$rcvdist -v` in rcvdist\ --*) ;; - * ) printf "$0: rcvdist -v generated unexpected output\n" >&2 + * ) printf '%s: rcvdist -v generated unexpected output\n' "$0" >&2 failed=`expr ${failed:-0} + 1`;; esac @@ -50,49 +50,59 @@ run_test "$rcvdist -nonexistent" \ run_test "$rcvdist" \ 'rcvdist: usage: rcvdist [switches] [switches for postproc] address ...' +#### Use sendmail/pipe below to override default mts. +mts_fakesendmail="${MHMTSCONF}-fakesendmail" +sed -e 's/^mts:.*/mts: sendmail\/pipe/' "${MHMTSCONF}" > "$mts_fakesendmail" +printf 'sendmail: %s/test/fakesendmail\n' "$srcdir" >>"$mts_fakesendmail" +MHMTSCONF="$mts_fakesendmail" + +# arguments: rcvdist switches +test_rcvdist () +{ + $rcvdist "$@" + + # 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" + + # 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 + # easily compare it against our "correct" output. + sed -e 's/^Resent-Date:.*/Resent-Date:/' `mhpath last` > "$actual" + + check "$expected" "$actual" +} + # check with address -# Replace post: -cat >"$MH_TEST_DIR/Mail/notpost" </dev/null; then - sed 's/^Resent-From:.*/Resent-From:/' "\$2" >"$actual" -else - printf 'post: message has no Resent-From: header\n' - printf 'post: See default components files for examples\n' - printf 'post: re-format message and try again\n' - exit 1 -fi -EOF -chmod u+x "$MH_TEST_DIR/Mail/notpost" -sed 's/postproc:.*/#:/' "$MH" > "${MH}-new" -printf "postproc: $MH_TEST_DIR/Mail/notpost\n" >>"${MH}-new" -mv -f "${MH}-new" "$MH" -#### An extra space gets inserted between each header field name -#### and body. That probably should be fixed. cat > "$expected" < -To: Some User -Date: Fri, 29 Sep 2006 00:00:00 -Subject: Testing message 1 -Resent-From: -Resent-To: recipient@example.com +From: Test1 +To: Some User +Date: Fri, 29 Sep 2006 00:00:00 +Message-Id: 1@test.nmh +Subject: Testing message 1 +Resent-From: `${MH_LIB_DIR}/ap -format '%(localmbox)' 0` +Resent-To: recipient@example.com +Resent-Date: This is message number 1 EOF -$rcvdist recipient@example.com < "$MH_TEST_DIR/Mail/inbox/1" -check "$expected" "$actual" +test_rcvdist recipient@example.com < "$MH_TEST_DIR/Mail/inbox/1" # check -form cat > "$expected" < -To: Some User -Date: Fri, 29 Sep 2006 00:00:00 -Subject: Testing message 1 +From: Test2 +To: Some User +Date: Fri, 29 Sep 2006 00:00:00 +Message-Id: 2@test.nmh +Subject: Testing message 2 Resent-To: recipient@example.com -Resent-From: +Resent-From: Some User +Resent-Date: -This is message number 1 +This is message number 2 EOF cat > "$MH_TEST_DIR/Mail/rcvdistcomps" <<'EOF' @@ -102,8 +112,8 @@ cat > "$MH_TEST_DIR/Mail/rcvdistcomps" <<'EOF' %<(nonnull)%(void(width))%(putaddr Resent-From:)\n%> EOF -$rcvdist -form "$MH_TEST_DIR/Mail/rcvdistcomps" recipient@example.com < \ - "$MH_TEST_DIR/Mail/inbox/1" -check "$expected" "$actual" +test_rcvdist -form "$MH_TEST_DIR/Mail/rcvdistcomps" recipient@example.com \ + < "$MH_TEST_DIR/Mail/inbox/2" + exit ${failed:-0}