X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/1ae96ed565c1bb0ae054f81b47bf960d2b62e658..1dcc90e73715f6fd65f22ff7a1dad9c646c7d60d:/test/rcv/test-rcvdist diff --git a/test/rcv/test-rcvdist b/test/rcv/test-rcvdist index 1f22754c..857a4edc 100755 --- a/test/rcv/test-rcvdist +++ b/test/rcv/test-rcvdist @@ -17,7 +17,9 @@ fi setup_test # Use proper program, likely not the first one on PATH. -rcvdist="${MH_LIB_DIR}/rcvdist" +rcvdist="${MH_LIBEXEC_DIR}/rcvdist" + +check_exit '-eq 1' $rcvdist - expected=$MH_TEST_DIR/$$.expected actual=$MH_TEST_DIR/$$.actual @@ -32,13 +34,14 @@ Usage: rcvdist [switches] [switches for postproc] address ... -help EOF -$rcvdist -help >"$actual" 2>&1 +#### Skip nmh intro text. +run_prog "$rcvdist" -help | sed '/^$/,$d' >"$actual" 2>&1 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,41 +53,59 @@ run_test "$rcvdist -nonexistent" \ run_test "$rcvdist" \ 'rcvdist: usage: rcvdist [switches] [switches for postproc] address ...' -# check with address -# Replace post: -cat >"$MH_TEST_DIR/Mail/notpost" < "${MH}-new" -printf "postproc: $MH_TEST_DIR/Mail/notpost\n" >>"${MH}-new" -mv -f "${MH}-new" "$MH" +#### 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 () +{ + run_prog $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" +} -#### An extra space gets inserted between each header field name -#### and body. That probably should be fixed. +# check with address cat > "$expected" < -To: Some User -Date: Fri, 29 Sep 2006 00:00:00 -Subject: Testing message 1 -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_LIBEXEC_DIR}/ap -format '%(localmbox)' 0 | \ + sed 's/^<\(.*\)>$/\1/'` +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: Some User +Resent-Date: -This is message number 1 +This is message number 2 EOF cat > "$MH_TEST_DIR/Mail/rcvdistcomps" <<'EOF' @@ -94,8 +115,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}