From: David Levine Date: Mon, 25 May 2020 18:19:35 +0000 (-0400) Subject: Added start_test/finish_test to a bunch of tests. X-Git-Url: https://diplodocus.org/git/nmh/commitdiff_plain/4d5d51e903a42c23800540930244448c4aacae16?hp=86d4dcea853d7e37ff2615b793e3cb5dce7e3af0 Added start_test/finish_test to a bunch of tests. --- diff --git a/test/ali/test-ali b/test/ali/test-ali index dad6c700..982cff78 100755 --- a/test/ali/test-ali +++ b/test/ali/test-ali @@ -33,6 +33,7 @@ actual_err=$MH_TEST_DIR/$$.actual_err # check -help +start_test "-help" cat >$expected <&1 | sed '/^$/,$d' >"$actual" check "$expected" "$actual" # check -version +start_test "-version" case `ali -v` in ali\ --*) ;; * ) echo "$0: ali -v generated unexpected output" 1>&2 @@ -56,12 +58,15 @@ case `ali -v` in esac # check unknown option +start_test "unknown option" run_test 'ali -nonexistent' 'ali: -nonexistent unknown' # check with no arguments and no AliasFile profile component +start_test "with no arguments and no AliasFile profile component" run_test 'ali' '' # check with nonexistent alias file +start_test "with nonexistent alias file" run_test 'ali -alias nonexistent' \ "ali: aliasing error in nonexistent - unable to read 'nonexistent'" @@ -74,6 +79,7 @@ neil: neil@example.com EOF # check -alias +start_test "-alias" run_test "ali -alias ${MH_TEST_DIR}/Mail/aliases" \ 'me: me@example.com rush: geddy@example.com, alex@example.com, neil@example.com @@ -82,14 +88,17 @@ alex: alex@example.com neil: neil@example.com' # check for a specific alias +start_test "for a specific alias" run_test "ali -alias ${MH_TEST_DIR}/Mail/aliases rush" \ 'geddy@example.com, alex@example.com, neil@example.com' # check for a specific alias that doesn't exist +start_test "for a specific alias that doesn't exist" run_test "ali -alias ${MH_TEST_DIR}/Mail/aliases nonexistent" \ 'nonexistent' # check -list +start_test "-list" run_test "ali -alias ${MH_TEST_DIR}/Mail/aliases -list" \ 'me: me@example.com rush: geddy@example.com @@ -100,6 +109,7 @@ alex: alex@example.com neil: neil@example.com' # check -nolist, which is the default +start_test "-nolist, which is the default" run_test "ali -alias ${MH_TEST_DIR}/Mail/aliases -list -nolist" \ 'me: me@example.com rush: geddy@example.com, alex@example.com, neil@example.com @@ -108,15 +118,18 @@ alex: alex@example.com neil: neil@example.com' # check -user +start_test "-user" run_test "ali -alias ${MH_TEST_DIR}/Mail/aliases -user geddy@example.com" \ 'rush, geddy' # check -nouser +start_test "-nouser" run_test \ "ali -alias ${MH_TEST_DIR}/Mail/aliases -user -nouser geddy@example.com" \ 'geddy@example.com' # check expansion of first address of blind list [Bug #15604] +start_test "expansion of first address of blind list [Bug #15604]" cat >"${MH_TEST_DIR}/Mail/aliases" <"${MH_TEST_DIR}/Mail/aliases" <"$expected" <&1 | sed '/^$/,$d' >"$actual" check "$expected" "$actual" # check -version +start_test "-version" case `anno -v` in anno\ --*) ;; * ) printf '%s: anno -v generated unexpected output\n' "$0" >&2 @@ -70,11 +72,13 @@ case `anno -v` in esac # check unknown switch +start_test "unknown switch" run_test "anno -nonexistent" 'anno: -nonexistent unknown' cat "${MH_TEST_DIR}/Mail/inbox/1" >"${MH_TEST_DIR}/Mail/inbox/11" # check with no switches +start_test "with no switches" printf 'Nmh-test:\n' >"$expected" cat "${MH_TEST_DIR}/Mail/inbox/1" >>"$expected" folder -fast 1 >/dev/null @@ -85,18 +89,21 @@ check "$expected" "$actual" 'keep first' cp -f "${MH_TEST_DIR}/Mail/inbox/11" "${MH_TEST_DIR}/Mail/inbox/1" # check -component +start_test "-component" run_prog anno -component Nmh-test sed -e 's/^Nmh-test:.*/Nmh-test:/' "${MH_TEST_DIR}/Mail/inbox/1" >"$actual" check "$expected" "$actual" 'keep first' cp -f "${MH_TEST_DIR}/Mail/inbox/11" "${MH_TEST_DIR}/Mail/inbox/1" # check +folder +start_test "+folder" run_prog anno -component Nmh-test +inbox sed -e 's/^Nmh-test:.*/Nmh-test:/' "${MH_TEST_DIR}/Mail/inbox/1" >"$actual" check "$expected" "$actual" 'keep first' cp -f "${MH_TEST_DIR}/Mail/inbox/11" "${MH_TEST_DIR}/Mail/inbox/1" # check msg +start_test "msg" folder -fast 2 >/dev/null run_prog anno 1 -component Nmh-test sed -e 's/^Nmh-test:.*/Nmh-test:/' "${MH_TEST_DIR}/Mail/inbox/1" >"$actual" @@ -106,6 +113,7 @@ cp -f "${MH_TEST_DIR}/Mail/inbox/11" "${MH_TEST_DIR}/Mail/inbox/1" check_for_hard_links if [ $hard_links_supported -eq 1 ]; then # check -noinplace + start_test "-noinplace" # Hard link the message and verify that the new one doesn't get annotated. cp "${MH_TEST_DIR}/Mail/inbox/8" "${MH_TEST_DIR}/Mail/inbox/8.copy" ln "${MH_TEST_DIR}/Mail/inbox/8" "${MH_TEST_DIR}/Mail/inbox/8.link" @@ -115,6 +123,7 @@ if [ $hard_links_supported -eq 1 ]; then 'keep first' # check -inplace + start_test "-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" run_prog anno 8 -component Nmh-test -noinplace -inplace @@ -122,6 +131,7 @@ if [ $hard_links_supported -eq 1 ]; then fi # check -nodate. Without -text, it doesn't change the message. +start_test "-nodate. Without -text, it doesn't change the message." cp -f "${MH_TEST_DIR}/Mail/inbox/11" "$expected-nodate" run_prog anno 1 -component Nmh-test -nodate cp -f "${MH_TEST_DIR}/Mail/inbox/1" "$actual" @@ -129,12 +139,14 @@ check "$expected-nodate" "$actual" cp -f "${MH_TEST_DIR}/Mail/inbox/11" "${MH_TEST_DIR}/Mail/inbox/1" # check -date +start_test "-date" run_prog anno 1 -component Nmh-test -nodate -date sed -e 's/^Nmh-test:.*/Nmh-test:/' "${MH_TEST_DIR}/Mail/inbox/1" >"$actual" check "$expected" "$actual" 'keep first' cp -f "${MH_TEST_DIR}/Mail/inbox/11" "${MH_TEST_DIR}/Mail/inbox/1" # check -draft. +start_test "-draft." cp -f "${MH_TEST_DIR}/Mail/inbox/1" "${MH_TEST_DIR}/Mail/draft" run_prog anno -draft -component Nmh-test sed -e 's/^Nmh-test:.*/Nmh-test:/' "${MH_TEST_DIR}/Mail/draft" >"$actual" @@ -142,6 +154,7 @@ check "$expected" "$actual" rm "${MH_TEST_DIR}/Mail/draft" # check -append +start_test "-append" sed -e 's/\(Subject: Testing message 1\)/\1\ Nmh-test:/' <"${MH_TEST_DIR}/Mail/inbox/1" >"$expected" run_prog anno 1 -component Nmh-test -append @@ -150,15 +163,18 @@ check "$expected" "$actual" cp -f "${MH_TEST_DIR}/Mail/inbox/11" "${MH_TEST_DIR}/Mail/inbox/1" # check -list +start_test "-list" printf 'Nmh-test: test of anno -list\n' >"$expected" cat "${MH_TEST_DIR}/Mail/inbox/1" >>"$expected" run_prog anno 1 -component Nmh-test -nodate -text 'test of anno -list' run_test 'anno 1 -component Nmh-test -list' 'test of anno -list' # check -text +start_test "-text" check "$expected" "${MH_TEST_DIR}/Mail/inbox/1" cp -f "${MH_TEST_DIR}/Mail/inbox/11" "${MH_TEST_DIR}/Mail/inbox/1" # check -list -number +start_test "-list -number" printf 'Nmh-test: test of anno -list -number\n' >"$expected" cat "${MH_TEST_DIR}/Mail/inbox/1" >>"$expected" run_prog anno 1 -component Nmh-test -nodate -text 'test of anno -list -number' @@ -168,6 +184,7 @@ check "$expected" "${MH_TEST_DIR}/Mail/inbox/1" cp -f "${MH_TEST_DIR}/Mail/inbox/11" "${MH_TEST_DIR}/Mail/inbox/1" # check -delete +start_test "-delete" cp "${MH_TEST_DIR}/Mail/inbox/1" "$expected" run_prog anno 1 -component Nmh-test run_prog anno 1 -component Nmh-test -delete @@ -176,6 +193,7 @@ check "$expected" "$actual" cp -f "${MH_TEST_DIR}/Mail/inbox/11" "${MH_TEST_DIR}/Mail/inbox/1" # check -delete -number +start_test "-delete -number" printf 'Nmh-test: 1\nNmh-test: 3\n' >"$expected" cat "${MH_TEST_DIR}/Mail/inbox/1" >>"$expected" run_prog anno 1 -component Nmh-test -nodate -text 3 @@ -187,6 +205,7 @@ check "$expected" "$actual" cp -f "${MH_TEST_DIR}/Mail/inbox/11" "${MH_TEST_DIR}/Mail/inbox/1" # check -delete -all +start_test "-delete -all" cp "${MH_TEST_DIR}/Mail/inbox/1" "$expected" run_prog anno 1 -component Nmh-test -nodate -text 3 run_prog anno 1 -component Nmh-test -nodate -text 2 @@ -197,6 +216,7 @@ check "$expected" "$actual" cp -f "${MH_TEST_DIR}/Mail/inbox/11" "${MH_TEST_DIR}/Mail/inbox/1" # check -preserve +start_test "-preserve" touch -t '201210010000.00' "${MH_TEST_DIR}/Mail/inbox/1" ls -l "${MH_TEST_DIR}/Mail/inbox/1" >"$actual-ls1" run_prog anno 1 -component Nmh-test -preserve @@ -206,6 +226,7 @@ check "$actual-ls1" "$actual-ls2" cp -f "${MH_TEST_DIR}/Mail/inbox/11" "${MH_TEST_DIR}/Mail/inbox/1" # check -nopreserve +start_test "-nopreserve" touch -t '2012100100.00' "${MH_TEST_DIR}/Mail/inbox/1" ls -l "${MH_TEST_DIR}/Mail/inbox/1" >"$actual-ls1" run_prog anno 1 -component Nmh-test -preserve -nopreserve @@ -218,4 +239,5 @@ set -e rm "$actual-ls1" "$actual-ls2" +finish_test exit ${failed:-0} diff --git a/test/folder/test-packf b/test/folder/test-packf index 1db6965c..9a2932fd 100755 --- a/test/folder/test-packf +++ b/test/folder/test-packf @@ -23,6 +23,7 @@ actual="$MH_TEST_DIR/$$.actual" # check -help +start_test "-help" cat >"$expected" <&1 | sed '/^$/,$d' >"$actual" check "$expected" "$actual" # check -version +start_test "-version" case `packf -v` in packf\ --*) ;; * ) printf '%s: packf -v generated unexpected output\n' "$0" >&2 @@ -45,12 +47,14 @@ case `packf -v` in esac # check unknown switch +start_test "unknown switch" run_test "packf -nonexistent" 'packf: -nonexistent unknown' cd "${MH_TEST_DIR}" || exit 1 printf 'y\n' >Mail/yes # check with no switches +start_test "with no switches" run_prog packf /dev/null rm -f msgbox @@ -61,6 +65,7 @@ run_test "printf $i" '10' rmm +inbox2 -unlink `pick +inbox2` # check +folder +start_test "+folder" run_prog packf +inbox /dev/null rm -f msgbox @@ -71,6 +76,7 @@ run_test "printf $i" '10' rmm +inbox2 -unlink `pick +inbox2` # check msgs +start_test "msgs" run_prog packf +inbox 1 2 3 /dev/null rm -f msgbox @@ -81,6 +87,7 @@ run_test "printf $i" '3' rmm +inbox2 -unlink `pick +inbox2` # check -file +start_test "-file" run_prog packf +inbox -file msgbox2 /dev/null for i in `pick +inbox2`; do @@ -90,6 +97,7 @@ run_test "printf $i" '10' rmm +inbox2 -unlink `pick +inbox2` # check append to existing mbox file +start_test "append to existing mbox file" run_prog packf +inbox -file msgbox2 /dev/null rm -f msgbox2 @@ -105,6 +113,7 @@ run_test "printf $i" '20' rmm +inbox2 -unlink `pick +inbox2` # check -mbox +start_test "-mbox" run_prog packf +inbox -mbox /dev/null rm -f msgbox @@ -115,6 +124,7 @@ run_test "printf $i" '10' rmm +inbox2 -unlink `pick +inbox2` # check -mmdf +start_test "-mmdf" run_prog packf +inbox -mmdf /dev/null rm -f msgbox @@ -125,6 +135,7 @@ run_test "printf $i" '10' rmm +inbox2 -unlink `pick +inbox2` # check append to existing mmdf file +start_test "append to existing mmdf file" run_prog packf +inbox -mmdf /dev/null rm -f msgbox @@ -140,4 +151,5 @@ run_test "printf $i" '10' rmm +inbox2 -unlink `pick +inbox2` +finish_test exit ${failed:-0} diff --git a/test/folder/test-sortm b/test/folder/test-sortm index 491bf5cf..78355167 100755 --- a/test/folder/test-sortm +++ b/test/folder/test-sortm @@ -24,6 +24,7 @@ actual=$MH_TEST_DIR/$$.actual cd $MH_TEST_DIR # check -help +start_test "-help" cat >"$expected" <&1 | sed '/^$/,$d' >"$actual" check "$expected" "$actual" # check -version +start_test "-version" case `sortm -version` in sortm\ --*) ;; * ) echo "$0: sortm -v generated unexpected output" 1>&2 @@ -71,6 +73,7 @@ This is message number 12 EOF # check with no options +start_test "with no options" cat >"$expected" <> 2 09/29 Test1 Testing message 1<> @@ -91,6 +94,7 @@ scan -width 80 >"$actual" check "$expected" "$actual" # check +folder +start_test "+folder" cat >"$expected" <> 2+ 09/29 Test1 Testing message 1<> @@ -112,6 +116,7 @@ scan -width 80 >"$actual" check "$expected" "$actual" # check -verbose +start_test "-verbose" cat >"$expected" <>"$actual" check "$expected" "$actual" # check -noverbose +start_test "-noverbose" cat >"$expected" <> 2+ 09/29 Test1 Testing message 1<> @@ -167,6 +173,7 @@ scan -width 80 >>"$actual" check "$expected" "$actual" # check msgs +start_test "msgs" cat >"$expected" <> 2 09/29 Test2 Testing message 2<> @@ -188,6 +195,7 @@ scan -width 80 >"$actual" check "$expected" "$actual" # check -datefield +start_test "-datefield" cat >"$expected" <> 2 09/29 Test2 Testing message 2<> @@ -208,6 +216,7 @@ scan -width 80 >"$actual" check "$expected" "$actual" # check -textfield subject (datefield major, subjects grouped) +start_test "-textfield subject (datefield major, subjects grouped)" cat >"$expected" <> 2 09/29 Test11 Re: common subject<> @@ -228,6 +237,7 @@ scan -width 80 >"$actual" check "$expected" "$actual" # check -nolimit +start_test "-nolimit" cat >"$expected" <> 2 09/29 Test11 Re: common subject<> @@ -248,6 +258,7 @@ scan -width 80 >"$actual" check "$expected" "$actual" # check -textfield subject -limit 0 (subject sort) +start_test "-textfield subject -limit 0 (subject sort)" cat >"$expected" <> 2 09/28 Test12 common subject<> @@ -269,6 +280,7 @@ scan -width 80 >"$actual" check "$expected" "$actual" # check -textfield -limit 0 (text sort) +start_test "-textfield -limit 0 (text sort)" cat >"$expected" <> 2 09/29 Test11 Re: common subject<> @@ -290,6 +302,7 @@ scan -width 80 >"$actual" check "$expected" "$actual" # check -textfield with finite -limit that doesn't cover message 13 +start_test "-textfield with finite -limit that doesn't cover message 13" cat >$MH_TEST_DIR/Mail/inbox/13 < To: Some User @@ -321,6 +334,7 @@ scan -width 80 >"$actual" check "$expected" "$actual" # check -textfield with finite -limit that does cover message 13 +start_test "-textfield with finite -limit that does cover message 13" cat >"$expected" <> 2 09/29 Test11 Re: common subject<> @@ -343,6 +357,7 @@ scan -width 80 >"$actual" check "$expected" "$actual" # check -notextfield +start_test "-notextfield" cat >"$expected" <> 2 09/29 Test10 Testing message 10<> @@ -365,9 +380,11 @@ scan -width 80 >"$actual" check "$expected" "$actual" # check -noall +start_test "-noall" run_test 'sortm -noall' 'sortm: must specify messages to sort with -noall' # check -all +start_test "-all" cat >"$expected" <> 2+ 09/29 Test10 Testing message 10<> @@ -390,6 +407,7 @@ scan -width 80 >"$actual" check "$expected" "$actual" # check -check +start_test "-check" cat >"$expected" <"$actual" check "$expected" "$actual" # check -nocheck +start_test "-nocheck" cat >"$expected" <> 2+ 09/29 Test10 Testing message 10<> @@ -446,4 +465,5 @@ scan -width 80 >"$actual" check "$expected" "$actual" +finish_test exit ${failed:-0} diff --git a/test/format/test-dp b/test/format/test-dp index 09d47f8c..bf27d475 100755 --- a/test/format/test-dp +++ b/test/format/test-dp @@ -37,6 +37,7 @@ actual_err="$MH_TEST_DIR/$$.actual_err" # check -help +start_test "-help" cat >"$expected" <&1 | sed '/^$/,$d' >"$actual" check "$expected" "$actual" # check -version +start_test "-version" case `$dp -v` in dp\ --*) ;; * ) printf '%s: dp -v generated unexpected output\n' "$0" >&2 @@ -59,12 +61,15 @@ case `$dp -v` in esac # check unknown switch +start_test "unknown switch" run_test "$dp -nonexistent" 'dp: -nonexistent unknown' # check with no switches +start_test "with no switches" run_test "$dp" 'dp: usage: dp [switches] dates ...' # check with one valid date +start_test "with one valid date" cat >"$expected" < "$actual" 2>&1 check "$expected" "$actual" # check with two valid dates +start_test "with two valid dates" cat >"$expected" < "$actual" 2>&1 check "$expected" "$actual" # check with invalid date +start_test "with invalid date" cat >"$expected" <"$form" <<'EOF' %(day{text}) @@ -108,6 +116,7 @@ check $expected $actual rm -f "$form" # check -format +start_test "-format" cat >"$expected" <$actual 2>&1 check $expected $actual # check -width +start_test "-width" cat >"$expected" < "$actual" 2>&1 check "$expected" "$actual" +finish_test exit ${failed:-0} diff --git a/test/format/test-fmtdump b/test/format/test-fmtdump index eded0362..6cbdfe4f 100755 --- a/test/format/test-fmtdump +++ b/test/format/test-fmtdump @@ -49,6 +49,7 @@ actual_err=$MH_TEST_DIR/$$.actual_err # check -help +start_test "-help" cat >$expected <&2 @@ -70,9 +72,11 @@ case `$fmtdump -v` in esac # check unknown switch +start_test "unknown switch" run_test "$fmtdump -nonexistent" 'fmtdump: -nonexistent unknown' # check with no switches +start_test "with no switches" cat >$expected <$actual 2>&1 check $expected $actual # check -form +start_test "-form" cat >$expected <$actual 2>&1 check $expected $actual # check -format +start_test "-format" cat >$expected <' >$actual 2>&1 check $expected $actual +finish_test exit ${failed:-0} diff --git a/test/format/test-functions b/test/format/test-functions index 805ddfec..337da408 100755 --- a/test/format/test-functions +++ b/test/format/test-functions @@ -16,29 +16,35 @@ expected="$MH_TEST_DIR/test-functions$$.expected" actual="$MH_TEST_DIR/test-functions$$.actual" # check sday when day of week is specified +start_test "sday when day of week is specified" printf '1\n' >"$expected" fmttest -raw -format '%(sday{text})' 'Fri Sep 12 20:02 2014' >"$actual" check "$expected" "$actual" # check sday when day of week is not specified +start_test "sday when day of week is not specified" printf '0\n' >"$expected" fmttest -raw -format '%(sday{text})' 'Sep 12 20:02 2014' >"$actual" check "$expected" "$actual" # check negative number, without padding +start_test "negative number, without padding" printf '%s\n' ' -42' >"$expected" fmttest -raw -format '%4(minus -42)' 0 >"$actual" check "$expected" "$actual" # check negative number, with padding +start_test "negative number, with padding" # Output was "0-42" with nmh 1.6 and earlier. printf '%s\n' -042 >"$expected" fmttest -raw -format '%04(minus -42)' 0 >"$actual" check "$expected" "$actual" # check multiply +start_test "multiply" printf '%s\n' 42 >"$expected" fmttest -raw -format '%(void(num 7))%(multiply 6)' 0 >"$actual" check "$expected" "$actual" +finish_test exit $failed diff --git a/test/format/test-mymbox b/test/format/test-mymbox index 6185e388..ee5e7270 100755 --- a/test/format/test-mymbox +++ b/test/format/test-mymbox @@ -53,9 +53,11 @@ run_test "echo \ 1 "Local-Mailbox with Alternate-Mailbox test" # check getmymbox, without match +start_test "getmymbox, without match" run_test 'fmttest -message -format %(getmymbox{from}) first' '' # check getmyaddr, without match +start_test "getmyaddr, without match" run_test 'fmttest -message -format %(getmyaddr{from}) first' '' grep -v 'Alternate-Mailboxes: ' "$MH" > "$MH".new @@ -65,14 +67,17 @@ Alternate-Mailboxes: test1@example.com EOF # check getmymbox, with match +start_test "getmymbox, with match" run_test 'fmttest -message -format %(getmymbox{from}) first' \ 'Test1 ' # check getmyaddr, with match +start_test "getmyaddr, with match" run_test 'fmttest -message -format %(getmyaddr{from}) first' \ 'test1@example.com' # check getmymbox and getmyaddr, with match of other than first address in +start_test "getmymbox and getmyaddr, with match of other than first address in" # component cat >`mhpath new` <<'EOF' From: Test11 @@ -90,4 +95,5 @@ run_test 'fmttest -message -format %(getmymbox{cc}) last' \ run_test 'fmttest -message -format %(getmyaddr{cc}) last' \ 'test1@example.com' +finish_test exit $failed diff --git a/test/inc/test-inc-scanout b/test/inc/test-inc-scanout index 4dd5a265..70cb0ed8 100755 --- a/test/inc/test-inc-scanout +++ b/test/inc/test-inc-scanout @@ -200,6 +200,7 @@ run_test "scan -width 120 +inbox 11" \ " 11+ 03/01 Mr Nobody Who is on first?<"$MH_TEST_DIR/mess" <`mhpath new` <"$MH_TEST_DIR/mess" <"$expected" <> @@ -418,6 +423,7 @@ run_test "inc -width 80 -file $MH_TEST_DIR/msgbox -truncate" \ rm -f "$MH_TEST_DIR/msgbox" # check mbox with two blank lines between header and body +start_test "mbox with two blank lines between header and body" cat >>"$MH_TEST_DIR/msgbox" <>"$MH_TEST_DIR/msgbox" <>"$MH_TEST_DIR/msgbox" <>"$MH_TEST_DIR/msgbox" <>"$MH_TEST_DIR/msgbox" <"$expected" <&1 | head -9 >"$actual" check "$expected" "$actual" # check -version +start_test "-version" case `msgchk -v` in msgchk\ --*) ;; * ) printf '%s: msgchk -v generated unexpected output\n' "$0" >&2 @@ -52,9 +54,11 @@ case `msgchk -v` in esac # check unknown switch +start_test "unknown switch" run_test "msgchk -nonexistent" 'msgchk: -nonexistent unknown' # check with no arguments and no mail waiting +start_test "with no arguments and no mail waiting" run_test 'msgchk' "You don't have any mail waiting" # Use maildrop specified in mts.conf, i.e., @@ -63,6 +67,7 @@ run_test 'msgchk' "You don't have any mail waiting" "${MH_TEST_DIR}"/Mail/maildrop # check with no arguments and mail waiting +start_test "with no arguments and mail waiting" cat >"$expected" <"$actual" check "$expected" "$actual" # check -date +start_test "-date" cat >"$expected" < "$draft" < "$MH_TEST_DIR/Mail/oneline" < $expected < $expected <"$expected" < There are two blank lines below. And there is a trailing space: @@ -78,6 +79,7 @@ check "$expected" "$actual" # check rtrim +start_test "rtrim" cat >"$expected" < There are two blank lines below. And there is a trailing space: > And another trailing space: @@ -95,4 +97,5 @@ check "$expected" "$actual" rm -f "$MH_TEST_DIR/test.format" +finish_test exit $failed diff --git a/test/mhmail/test-mhmail b/test/mhmail/test-mhmail index cd85b95c..c3969578 100755 --- a/test/mhmail/test-mhmail +++ b/test/mhmail/test-mhmail @@ -68,6 +68,7 @@ actual_err=$MH_TEST_DIR/test-mhmail$$.actual_err # check -help +start_test "-help" # Verified behavior consistent with compiled sendmail. cat >$expected <"$actual" 2>"$actual_err" @@ -149,6 +154,7 @@ check "$expected_err" "$actual_err" # check -send +start_test "-send" # Not supported by compiled mhmail. cat > "$expected" < "$expected" < "$expected" < "$expected" < "$expected" < "$expected" < "$expected" < "$expected" < "$expected" < "$expected" < "$expected" < "$expected" < "$expected" < "$expected" < "$expected" < "$expected" < "$expected" < "$expected" < "$expected" < "$expected" < "$expected" < "$expected" < "$expected" < "$expected" < "$expected" < "$expected" < "$expected" < $expected <&1 | sed '/^$/,$d' >"$actual" check "$expected" "$actual" # check -version +start_test "-version" case `mhpath -v` in mhpath\ --*) ;; * ) echo "$0: mhpath -v generated unexpected output" 1>&2 @@ -42,16 +44,20 @@ case `mhpath -v` in esac # check + +start_test "+" run_test "mhpath +" "$MH_TEST_DIR/Mail" # check with no options +start_test "with no options" folder -fast +inbox > /dev/null run_test "mhpath" "$MH_TEST_DIR/Mail/inbox" # check +inbox +start_test "+inbox" run_test "mhpath +inbox" "$MH_TEST_DIR/Mail/inbox" # check all +start_test "all" cat > $expected < $actual 2>&1 check $expected $actual # check message number greater than highest +start_test "message number greater than highest" run_test "mhpath 11" "mhpath: message 11 out of range 1-10" run_test "mhpath 10 11" "mhpath: message 11 out of range 1-10" # check range with message number greater than highest +start_test "range with message number greater than highest" cat > $expected < $actual 2>&1 check $expected $actual # check new +start_test "new" run_test "mhpath new" "$MH_TEST_DIR/Mail/inbox/11" # check multiple msgs, including new +start_test "multiple msgs, including new" cat > $expected < $actual 2>&1 check $expected $actual # check invalid message list using names +start_test "invalid message list using names" run_test "mhpath last-new" "mhpath: bad message list last-new" # check cur +start_test "cur" folder +inbox 5 > /dev/null run_test "mhpath cur" "$MH_TEST_DIR/Mail/inbox/5" # check prev +start_test "prev" run_test "mhpath prev" "$MH_TEST_DIR/Mail/inbox/4" # check next +start_test "next" run_test "mhpath next" "$MH_TEST_DIR/Mail/inbox/6" # check invalid message list using numbers +start_test "invalid message list using numbers" rmm 1-2 run_test "mhpath 1-2" "mhpath: no messages in range 1-2" # check ignoring of out-of-range message numbers in ranges +start_test "ignoring of out-of-range message numbers in ranges" run_test "mhpath 1-3" "$MH_TEST_DIR/Mail/inbox/3" run_test "mhpath first-3" "$MH_TEST_DIR/Mail/inbox/3" run_test "mhpath 10-11" "$MH_TEST_DIR/Mail/inbox/10" run_test "mhpath last-11" "$MH_TEST_DIR/Mail/inbox/10" # check reference to existing messages +start_test "reference to existing messages" cat > $expected < $actual 2>&1 check $expected $actual # check reference to non-existent messages +start_test "reference to non-existent messages" cat > $expected < $actual 2>&1 check $expected $actual +finish_test exit $failed diff --git a/test/mhshow/test-msg-buffer-boundaries b/test/mhshow/test-msg-buffer-boundaries index ca1e7cd6..fcd83dad 100755 --- a/test/mhshow/test-msg-buffer-boundaries +++ b/test/mhshow/test-msg-buffer-boundaries @@ -21,6 +21,7 @@ expected="$MH_TEST_DIR/$$.expected" actual="$MH_TEST_DIR/$$.actual" # check a boundary condition in m_getfld(): its internal message +start_test "a boundary condition in m_getfld(): its internal message" # buffer holds exactly up to the end of a header field body in a # message part msgfile=`mhpath new` @@ -162,6 +163,7 @@ run_prog mhshow -part 1.1 -form mhl.null $msgnum >"$actual" 2>&1 check "$expected" "$actual" : check number 1 # check a boundary condition in m_getfld(): its internal message +start_test "a boundary condition in m_getfld(): its internal message" # buffer holds exactly up to the end of a header field name in a # message part msgfile=`mhpath new` @@ -303,6 +305,7 @@ run_prog mhshow -part 1.1 -form mhl.null $msgnum >"$actual" 2>&1 check "$expected" "$actual" : check number 2 # check a boundary condition in m_getfld(): its internal message +start_test "a boundary condition in m_getfld(): its internal message" # buffer holds exactly up to the end of a message part boundary msgfile=`mhpath new` msgnum=`basename $msgfile` @@ -445,4 +448,5 @@ run_prog mhshow -part 1.1 -form mhl.null $msgnum >"$actual" 2>&1 check "$expected" "$actual" : check number 3 +finish_test exit $failed diff --git a/test/mhshow/test-textcharset b/test/mhshow/test-textcharset index e0b154b9..c2e78022 100755 --- a/test/mhshow/test-textcharset +++ b/test/mhshow/test-textcharset @@ -26,6 +26,7 @@ expected="$MH_TEST_DIR"/$$.expected actual="$MH_TEST_DIR"/$$.actual # check charset conversion +start_test "charset conversion" msgfile=`mhpath new` msgnum=`basename $msgfile` cat >"$msgfile" <<'EOF' @@ -62,6 +63,7 @@ EOF # check expansion of %{charset} by itself +start_test "expansion of %{charset} by itself" msgfile=`mhpath new` msgnum=`basename $msgfile` cat >"$msgfile" <<'EOF' @@ -93,6 +95,7 @@ check "$expected" "$actual" : check %{charset} by itself # check expansion of empty %{charset} by itself +start_test "expansion of empty %{charset} by itself" msgfile=`mhpath new` omsgnum=$msgnum msgnum=`basename $msgfile` @@ -131,6 +134,7 @@ mhshow-show-text/plain: charset=%{charset}; echo ${charset:+-I $charset} EOF # check expansion of embedded %{charset} with no text following +start_test "expansion of embedded %{charset} with no text following" cat >"$expected" <"$expected" <"$MH.new" mv -f "$MH.new" "$MH" # check expansion of embedded %{charset} with text following +start_test "expansion of embedded %{charset} with text following" cat >"$expected" <"$expected" <"$MH.new" mv -f "$MH.new" "$MH" # check parameter value quoting +start_test "parameter value quoting" msgfile=`mhpath new` msgnum=`basename $msgfile` cat >"$msgfile" <<'EOF' @@ -241,6 +249,7 @@ sed -e 's/method/unknown/g' "$MH" >"$MH.new" mv -f "$MH.new" "$MH" # check that unknown parameter is not expanded +start_test "that unknown parameter is not expanded" msgfile=`mhpath new` msgnum=`basename $msgfile` cat >"$msgfile" <<'EOF' @@ -278,6 +287,7 @@ mhshow-show-text/plain: true '%F' %F EOF # check parameter value quoting with text following +start_test "parameter value quoting with text following" msgfile=`mhpath new` msgnum=`basename $msgfile` cat >"$msgfile" <<'EOF' @@ -306,6 +316,7 @@ run_prog mhshow last >"$actual" 2>&1 check "$expected" "$actual" : parameter value quoting with text following # check malicious parameter value quoting +start_test "malicious parameter value quoting" msgfile=`mhpath new` msgnum=`basename $msgfile` cat >"$msgfile" <<'EOF' @@ -1194,4 +1205,5 @@ EOF run_prog mhshow last >"$actual" 2>&1 check "$expected" "$actual" : large file conversion to UTF-8 +finish_test exit $failed diff --git a/test/mkstemp/test-mkstemp b/test/mkstemp/test-mkstemp index 2ff99f22..aec8baa8 100755 --- a/test/mkstemp/test-mkstemp +++ b/test/mkstemp/test-mkstemp @@ -29,6 +29,7 @@ cd "$MHTMPDIR" # check -help +start_test "-help" if [ $has_mkstemps -eq 1 ]; then cat >$expected <<-'EOF' Usage: mkstemp [switches] @@ -56,6 +57,7 @@ check "$expected" "$actual" # check -version +start_test "-version" # Verified same behavior as compiled mhmail. case `$mkstemp -v` in mkstemp\ --*) ;; @@ -65,6 +67,7 @@ esac # check with no switches +start_test "with no switches" tmpfile=`$mkstemp` if [ -f "$tmpfile" ]; then rm "$tmpfile" @@ -74,6 +77,7 @@ fi # check -directory +start_test "-directory" tmpfile=`$mkstemp -directory "$MHTMPDIR"` [ -f "$tmpfile" ] && rm "$tmpfile" || failed=`expr ${failed:-0} + 1` # Rely on exit status of grep to detect failure and terminate due to set -e: @@ -82,6 +86,7 @@ run_test 'eval echo $check_tmpfile' '' # check -prefix +start_test "-prefix" tmpfile=`$mkstemp -prefix mkstemptest` [ -f "$tmpfile" ] && rm "$tmpfile" || failed=`expr ${failed:-0} + 1` # Rely on exit status of grep to detect failure and terminate due to set -e: @@ -99,4 +104,5 @@ if [ $has_mkstemps -eq 1 ]; then fi +finish_test exit $failed diff --git a/test/post/test-messageid b/test/post/test-messageid index 92c72010..ff1e72f5 100755 --- a/test/post/test-messageid +++ b/test/post/test-messageid @@ -42,6 +42,7 @@ QUIT EOF # check invalid -messageid selection +start_test "invalid -messageid selection" run_test "send -draft -messageid invalid" \ "post: unsupported messageid \"invalid\" send: message not delivered to anyone" @@ -111,6 +112,7 @@ test_messageid () } # check -messageid localname (the default) +start_test "-messageid localname (the default)" cat > "${MH_TEST_DIR}/Mail/draft" < To: Somebody Else @@ -136,6 +138,7 @@ EOF test_messageid localname "${testname}.expected" # check -messageid random +start_test "-messageid random" cat > "${MH_TEST_DIR}/Mail/draft" < To: Somebody Else @@ -163,4 +166,5 @@ test_messageid random "${testname}.expected" rm -f ${MHMTSCONF} +finish_test exit ${failed:-0} diff --git a/test/post/test-post-aliases b/test/post/test-post-aliases index bd9123ec..fbec4bc0 100755 --- a/test/post/test-post-aliases +++ b/test/post/test-post-aliases @@ -74,6 +74,7 @@ test_alias () # check blind list +start_test "blind list" cat >"${MH_TEST_DIR}/Mail/draft" < To: blind_list @@ -122,6 +123,7 @@ test_post "${testname}.actual" "${testname}.expected" \ "-alias ${MH_TEST_DIR}/Mail/aliases" # check named list (alias followed by ;) +start_test "named list (alias followed by ;)" cat >"${MH_TEST_DIR}/Mail/draft" < To: named.list @@ -144,6 +146,7 @@ EOF test_alias sendmail/smtp "${testname}.expected" # check blind list with -mts sendmail/pipe, which should fail +start_test "blind list with -mts sendmail/pipe, which should fail" cat >"${MH_TEST_DIR}/Mail/draft" < To: blind_list @@ -160,6 +163,7 @@ EOF test_alias sendmail/pipe "${testname}.expected" # check that alias expansion happens in the From: line when doing a bcc +start_test "that alias expansion happens in the From: line when doing a bcc" cat >"${MH_TEST_DIR}/Mail/draft" <"$expected" <&1 | sed '/^$/,$d' >"$actual" check "$expected" "$actual" # check -version +start_test "-version" case `sendfiles -v` in sendfiles\ --*) ;; * ) printf '%s: sendfiles -v generated unexpected output\n' "$0" >&2 @@ -100,6 +102,7 @@ case `sendfiles -v` in esac # check unknown switch +start_test "unknown switch" run_test 'sendfiles -nonexistent' "Usage: sendfiles [switches] -to recipient \ -subject subject file1 [file2 ...] or @@ -112,6 +115,7 @@ run_test 'sendfiles -nonexistent' "Usage: sendfiles [switches] -to recipient \ Can use PERSON environment variable instead of -from switch." # check unknown compression method +start_test "unknown compression method" run_test 'sendfiles -compress unknown to subject file' \ 'sendfiles: unknown compression method "unknown"'" Usage: sendfiles [switches] -to recipient \ @@ -126,6 +130,7 @@ Usage: sendfiles [switches] -to recipient \ Can use PERSON environment variable instead of -from switch." # Check basic operation, using specified compression method. +start_test "basic operation, using specified compression method." # Don't check the mhlist output, by not creating an $expected file, # because it will vary with compression method and compressed file # size. @@ -137,6 +142,7 @@ Usage: sendfiles [switches] -to recipient \ [ "`findprog lzma`" ] && test_sendfiles 'lzma -cd' new -compress lzma # check with no compression +start_test "with no compression" cat >"$expected" <"$expected" <"$expected" <"$expected" <' # check PERSON environment variable +start_test "PERSON environment variable" cat >"$expected" <$expected <&1 | sed '/^$/,$d' >"$actual" check "$expected" "$actual" # check -version +start_test "-version" case `prompter -v` in prompter\ --*) ;; * ) printf '%s: prompter -v generated unexpected output\n' "$0" >&2 @@ -49,13 +51,16 @@ case `prompter -v` in esac # check unknown switch +start_test "unknown switch" run_test 'prompter -nonexistent' 'prompter: -nonexistent unknown' # check with no switches +start_test "with no switches" run_test 'prompter' 'prompter: usage: prompter [switches] file' # check with file +start_test "with file" cat >$expected <$MH_TEST_DIR/prompter-file <$MH_TEST_DIR/prompter-file <$MH_TEST_DIR/prompter-file <$MH_TEST_DIR/prompter-file <$expected <"$actual" $expected <$expected <"$actual" \ check "$expected" "$actual" # check -nobody. It's undocumented but looks like it removes the body. +start_test "-nobody. It's undocumented but looks like it removes the body." cat >$expected </dev/null check "$expected" "$MH_TEST_DIR/prompter-file" +finish_test exit ${failed:-0} diff --git a/test/rcv/test-rcvpack b/test/rcv/test-rcvpack index ebae2286..d52361ba 100755 --- a/test/rcv/test-rcvpack +++ b/test/rcv/test-rcvpack @@ -26,6 +26,7 @@ actual="$MH_TEST_DIR/$$.actual" # check -help +start_test "-help" cat >"$expected" <&1 | sed '/^$/,$d' >"$actual" check "$expected" "$actual" # check -version +start_test "-version" case `$rcvpack -v` in rcvpack\ --*) ;; * ) printf '%s: rcvpack -v generated unexpected output\n' "$0" >&2 @@ -47,17 +49,21 @@ case `$rcvpack -v` in esac # check unknown switch +start_test "unknown switch" run_test "$rcvpack -nonexistent" 'rcvpack: -nonexistent unknown' # check with no switches +start_test "with no switches" run_test "$rcvpack" 'rcvpack: rcvpack [switches] file' # check mbox creation +start_test "mbox creation" run_prog $rcvpack <${MH_TEST_DIR}/Mail/inbox/1 ${MH_TEST_DIR}/Mail/mbox inc -file ${MH_TEST_DIR}/Mail/mbox -silent check "${MH_TEST_DIR}/Mail/inbox/1" "${MH_TEST_DIR}/Mail/inbox/11" 'keep first' # check -mbox +start_test "-mbox" run_prog $rcvpack -mmdf -mbox ${MH_TEST_DIR}/Mail/mbox2 \ <${MH_TEST_DIR}/Mail/inbox/1 # Filter out "From " lines because their timestamps can differ by a second. @@ -66,19 +72,23 @@ grep -v '^From ' "${MH_TEST_DIR}/Mail/mbox2" >"${MH_TEST_DIR}/Mail/mbox2-filt" check "${MH_TEST_DIR}/Mail/mbox-filt" "${MH_TEST_DIR}/Mail/mbox2-filt" # check append to existing mbox file +start_test "append to existing mbox file" run_prog $rcvpack <${MH_TEST_DIR}/Mail/inbox/2 ${MH_TEST_DIR}/Mail/mbox inc -file ${MH_TEST_DIR}/Mail/mbox -silent check "${MH_TEST_DIR}/Mail/inbox/2" "${MH_TEST_DIR}/Mail/inbox/12" 'keep first' # check -mmdf +start_test "-mmdf" run_prog $rcvpack -mmdf <${MH_TEST_DIR}/Mail/inbox/3 ${MH_TEST_DIR}/Mail/mmdf inc -file ${MH_TEST_DIR}/Mail/mmdf -silent check "${MH_TEST_DIR}/Mail/inbox/3" "${MH_TEST_DIR}/Mail/inbox/12" 'keep first' # check append to existing mmdf file +start_test "append to existing mmdf file" run_prog $rcvpack -mmdf <${MH_TEST_DIR}/Mail/inbox/4 ${MH_TEST_DIR}/Mail/mmdf inc -file ${MH_TEST_DIR}/Mail/mmdf -silent check "${MH_TEST_DIR}/Mail/inbox/4" "${MH_TEST_DIR}/Mail/inbox/13" 'keep first' +finish_test exit ${failed:-0} diff --git a/test/rcv/test-rcvstore b/test/rcv/test-rcvstore index d2844df0..39250209 100755 --- a/test/rcv/test-rcvstore +++ b/test/rcv/test-rcvstore @@ -28,6 +28,7 @@ actual_err=$MH_TEST_DIR/$$.actual_err # check -help +start_test "-help" cat >$expected <&1 | sed '/^$/,$d' >"$actual" check "$expected" "$actual" # check -version +start_test "-version" case `$rcvstore -v` in rcvstore\ --*) ;; * ) printf '%s: rcvstore -v generated unexpected output\n' "$0" >&2 @@ -52,9 +54,11 @@ case `$rcvstore -v` in esac # check unknown switch +start_test "unknown switch" run_test "$rcvstore -nonexistent" 'rcvstore: -nonexistent unknown' # check with no switches and zero-length input message +start_test "with no switches and zero-length input message" cat >$expected <$actual 2>&1 check $expected $actual # check with no switches +start_test "with no switches" cat >$expected <$actual 2>&1 @@ -70,11 +75,13 @@ check $expected $actual 'keep first' check "${MH_TEST_DIR}/Mail/inbox/1" "${MH_TEST_DIR}/Mail/inbox/11" 'keep first' # check + of existing folder +start_test "+ of existing folder" run_prog $rcvstore +inbox <${MH_TEST_DIR}/Mail/inbox/1 >$actual 2>&1 check $expected $actual 'keep first' check "${MH_TEST_DIR}/Mail/inbox/1" "${MH_TEST_DIR}/Mail/inbox/11" 'keep first' # check + of new folder +start_test "+ of new folder" run_prog $rcvstore +newfolder <${MH_TEST_DIR}/Mail/inbox/1 >$actual 2>&1 check $expected $actual 'keep first' check "${MH_TEST_DIR}/Mail/inbox/1" "${MH_TEST_DIR}/Mail/newfolder/1" \ @@ -82,6 +89,7 @@ check "${MH_TEST_DIR}/Mail/inbox/1" "${MH_TEST_DIR}/Mail/newfolder/1" \ rmdir "${MH_TEST_DIR}/Mail/newfolder" # check -nocreate +start_test "-nocreate" cat >$expected_err <$actual 2>&1 check $expected $actual 'keep first' @@ -102,6 +111,7 @@ check "${MH_TEST_DIR}/Mail/inbox/1" "${MH_TEST_DIR}/Mail/newfolder/1" \ rmdir "${MH_TEST_DIR}/Mail/newfolder" # check addition to unseen sequence +start_test "addition to unseen sequence" printf 'Unseen-Sequence: unseen\n' >> $MH run_prog $rcvstore <${MH_TEST_DIR}/Mail/inbox/1 >$actual 2>&1 check $expected $actual 'keep first' @@ -112,24 +122,28 @@ touch "${MH_TEST_DIR}/Mail/inbox/11" rmm 11 # check -nounseen +start_test "-nounseen" run_prog $rcvstore -nounseen <${MH_TEST_DIR}/Mail/inbox/1 >$actual 2>&1 check $expected $actual 'keep first' run_test 'mark -sequence unseen -list' 'unseen: ' check "${MH_TEST_DIR}/Mail/inbox/1" "${MH_TEST_DIR}/Mail/inbox/11" 'keep first' # check -unseen +start_test "-unseen" run_prog $rcvstore -nounseen -unseen <${MH_TEST_DIR}/Mail/inbox/1 >$actual 2>&1 check $expected $actual 'keep first' run_test 'mark -sequence unseen -list' 'unseen: 11' check "${MH_TEST_DIR}/Mail/inbox/1" "${MH_TEST_DIR}/Mail/inbox/11" 'keep first' # check -sequence +start_test "-sequence" run_prog $rcvstore -sequence newseq <${MH_TEST_DIR}/Mail/inbox/1 >$actual 2>&1 check $expected $actual 'keep first' run_test 'mark -sequence newseq -list' 'newseq: 11' check "${MH_TEST_DIR}/Mail/inbox/1" "${MH_TEST_DIR}/Mail/inbox/11" 'keep first' # check that default is -nozero +start_test "that default is -nozero" mark -sequence newseq all run_prog $rcvstore -sequence newseq <${MH_TEST_DIR}/Mail/inbox/1 >$actual 2>&1 check $expected $actual 'keep first' @@ -137,6 +151,7 @@ run_test 'mark -sequence newseq -list' 'newseq: 1-11' check "${MH_TEST_DIR}/Mail/inbox/1" "${MH_TEST_DIR}/Mail/inbox/11" 'keep first' # check -zero +start_test "-zero" mark -sequence newseq all run_prog $rcvstore -sequence newseq -zero \ <${MH_TEST_DIR}/Mail/inbox/1 >$actual 2>&1 @@ -145,6 +160,7 @@ run_test 'mark -sequence newseq -list' 'newseq: 11' check "${MH_TEST_DIR}/Mail/inbox/1" "${MH_TEST_DIR}/Mail/inbox/11" 'keep first' # check -nozero +start_test "-nozero" mark -sequence newseq all run_prog $rcvstore -seq newseq -zero -nozero \ <${MH_TEST_DIR}/Mail/inbox/1 >$actual 2>&1 @@ -153,12 +169,14 @@ run_test 'mark -sequence newseq -list' 'newseq: 1-11' check "${MH_TEST_DIR}/Mail/inbox/1" "${MH_TEST_DIR}/Mail/inbox/11" 'keep first' # check that default is -public +start_test "that default is -public" run_prog $rcvstore -sequence pubseq <${MH_TEST_DIR}/Mail/inbox/1 >$actual 2>&1 check $expected $actual 'keep first' run_test 'mark -sequence pubseq -list' 'pubseq: 11' check "${MH_TEST_DIR}/Mail/inbox/1" "${MH_TEST_DIR}/Mail/inbox/11" 'keep first' # check -nopublic +start_test "-nopublic" run_prog $rcvstore -sequence privseq -nopublic \ <${MH_TEST_DIR}/Mail/inbox/1 >$actual 2>&1 check $expected $actual 'keep first' @@ -166,6 +184,7 @@ run_test 'mark -sequence privseq -nopublic -list' 'privseq (private): 11' check "${MH_TEST_DIR}/Mail/inbox/1" "${MH_TEST_DIR}/Mail/inbox/11" 'keep first' # check -public +start_test "-public" run_prog $rcvstore -sequence pubseq -nopublic -public \ <${MH_TEST_DIR}/Mail/inbox/1 >$actual 2>&1 check $expected $actual 'keep first' @@ -189,6 +208,7 @@ fi rm -f ${MH_TEST_DIR}/Mail/test-read-perms # check default Msg-Protect +start_test "default Msg-Protect" msgprot=`mhparam msgprot` run_prog $rcvstore <${MH_TEST_DIR}/Mail/inbox/1 >$actual 2>&1 check $expected $actual 'keep first' @@ -197,6 +217,7 @@ run_test "find ${MH_TEST_DIR}/Mail/inbox/11 -perm $msgprot" \ check "${MH_TEST_DIR}/Mail/inbox/1" "${MH_TEST_DIR}/Mail/inbox/11" 'keep first' # check Msg-Protect profile entry +start_test "Msg-Protect profile entry" msgprot=640 printf 'Msg-Protect: %s\n' "$msgprot" >>$MH run_prog $rcvstore <${MH_TEST_DIR}/Mail/inbox/1 >$actual 2>&1 @@ -206,4 +227,5 @@ run_test "find ${MH_TEST_DIR}/Mail/inbox/11 -perm $msgprot" \ check "${MH_TEST_DIR}/Mail/inbox/1" "${MH_TEST_DIR}/Mail/inbox/11" +finish_test exit ${failed:-0} diff --git a/test/rcv/test-rcvtty b/test/rcv/test-rcvtty index fdc74d44..d86b8dbf 100755 --- a/test/rcv/test-rcvtty +++ b/test/rcv/test-rcvtty @@ -26,6 +26,7 @@ actual="$MH_TEST_DIR/$$.actual" # check -help +start_test "-help" cat >"$expected" <&1 | sed '/^$/,$d' >"$actual" check "$expected" "$actual" # check -version +start_test "-version" case `$rcvtty -v` in rcvtty\ --*) ;; * ) printf '%s: rcvtty -v generated unexpected output\n' "$0" >&2 @@ -51,6 +53,7 @@ case `$rcvtty -v` in esac # check normal operation. Use -biff to avoid sending notification to +start_test "normal operation. Use -biff to avoid sending notification to" # each of the user's terminals. So this command shouldn't do # anything. It will write the notification(s) if the user actually # has actually enabled biff notification, or has set the exec bit of @@ -61,4 +64,5 @@ run_prog $rcvtty <${MH_TEST_DIR}/Mail/inbox/1 -biff >"$actual" 2>&1 check "$expected" "$actual" +finish_test exit ${failed:-0} diff --git a/test/refile/test-refile b/test/refile/test-refile index 6be4874c..d748ee0d 100755 --- a/test/refile/test-refile +++ b/test/refile/test-refile @@ -27,9 +27,11 @@ run_prog folder -create +other -fast >/dev/null run_prog folder -create +another -fast >/dev/null # check with no options and no current message +start_test "with no options and no current message" run_test 'refile' 'refile: no folder specified' # check with current message +start_test "with current message" run_prog folder +inbox 4 >/dev/null run_test 'refile +other' '' run_test 'folders -noheader' \ @@ -40,6 +42,7 @@ other has 1 message (1- 1). TOTAL = 10 messages in 3 folders.' # check with specified message +start_test "with specified message" run_prog folder +inbox 5 >/dev/null run_test 'refile 5 +other' '' run_test 'folders -noheader' \ @@ -50,6 +53,7 @@ other has 2 messages (1- 2). TOTAL = 10 messages in 3 folders.' # check multiple messages +start_test "multiple messages" run_test 'refile 6 7 +other' '' run_test 'folders -noheader' \ 'another has no messages. @@ -59,6 +63,7 @@ other has 4 messages (1- 4). TOTAL = 10 messages in 3 folders.' # check multiple folders +start_test "multiple folders" run_test 'refile 8 +other +another' '' run_test 'folders -noheader' \ 'another has 1 message (1- 1). @@ -68,10 +73,12 @@ other has 5 messages (1- 5). TOTAL = 11 messages in 3 folders.' # check message number greater than highest +start_test "message number greater than highest" run_test 'refile 11 +other' "refile: message 11 doesn't exist" run_prog folder -f +another >/dev/null # check -src +start_test "-src" run_test 'refile 9 -src +inbox +other' '' run_test 'folders -noheader' \ 'another has 1 message (1- 1). @@ -81,6 +88,7 @@ other has 6 messages (1- 6). TOTAL = 11 messages in 3 folders.' # check -file +start_test "-file" run_test "refile -file $MH_TEST_DIR/Mail/inbox/10 +other" '' run_test 'folders -noheader' \ 'another has 1 message (1-1). @@ -90,6 +98,7 @@ other has 7 messages (1-7). TOTAL = 11 messages in 3 folders.' # check -file -, which isn't supported +start_test "-file -, which isn't supported" run_test "refile -file - +other <$MH_TEST_DIR/Mail/inbox/9" \ 'refile: missing argument to -file' run_test 'folders -noheader' \ @@ -108,6 +117,7 @@ other+ has no messages. TOTAL = 11 messages in 3 folders.' # check -draft +start_test "-draft" mv $MH_TEST_DIR/Mail/another/1 $MH_TEST_DIR/Mail/draft rmdir $MH_TEST_DIR/Mail/another run_test 'refile -draft +other' '' @@ -138,6 +148,7 @@ else fi # check -nolink +start_test "-nolink" run_test 'refile 7 +other -link -nolink' '' run_test 'folders -noheader' \ 'inbox+ has 9 messages (1-10); cur=7. @@ -148,6 +159,7 @@ TOTAL = 12 messages in 2 folders.' run_test 'scan +inbox 7' "scan: message 7 doesn't exist" # check -preserve +start_test "-preserve" run_test 'refile 10 +other -preserve' '' run_test 'folders -noheader' \ 'inbox+ has 8 messages (1- 9). @@ -158,6 +170,7 @@ run_test 'scan +other last -format %(msg):%(decode{subject})' \ '10:Testing message 10' # check -nopreserve +start_test "-nopreserve" run_test 'refile 9 -src +inbox +other -preserve -nopreserve' '' run_test 'folders -noheader' \ 'inbox+ has 7 messages (1- 8). @@ -170,6 +183,7 @@ run_test 'scan +other last -format %(msg):%(decode{subject})' \ sbackup="`mhparam sbackup`" # check -unlink +start_test "-unlink" run_test 'refile 3 -src +inbox +other -unlink' '' run_test 'folders -noheader' \ 'inbox+ has 6 messages (1- 8); cur=3. @@ -182,6 +196,7 @@ if test -f "$MH_TEST_DIR/Mail/inbox/${sbackup}3"; then fi # check -nounlink +start_test "-nounlink" run_test 'refile 2 +other -unlink -nounlink' '' run_test 'folders -noheader' \ 'inbox+ has 5 messages (1- 8); cur=2. @@ -196,6 +211,7 @@ else fi # test folder creation when stdin is not a tty +start_test "folder creation when stdin is not a tty" refile first +newfolder "$expected" <&1 | sed '/^$/,$d' >"$actual" check "$expected" "$actual" # check -version +start_test "-version" case `$slocal -vers` in slocal\ --*) ;; * ) printf '%s: slocal -vers generated unexpected output\n' "$0" >&2 @@ -56,9 +58,11 @@ case `$slocal -vers` in esac # check unknown switch +start_test "unknown switch" run_test "$slocal -nonexistent" 'slocal: -nonexistent unknown' # check non-switch argument +start_test "non-switch argument" run_test "$slocal nonexistent" 'slocal: only switch arguments are supported' # If no mail spool, explicitly specify the mailbox. @@ -72,6 +76,7 @@ fi [ -x /usr/bin/tee ] && tee=/usr/bin/tee || tee=tee # check basic operation +start_test "basic operation" # Can't use rcvstore because slocal wipes out the environment. # So, it would put the message in the user's inbox, not the # test inbox. slocal also freopens stdout and stderr to @@ -93,22 +98,26 @@ if [ ${failed:-0} -eq 1 ]; then fi # check -debug +start_test "-debug" run_prog $slocal -debug -maildelivery "$md" $mbox <"$MH_TEST_DIR"/Mail/inbox/1 \ >"$actual2" 2>&1 run_test "grep ^retrieving $actual2" 'retrieving message from stdin' # check -verbose +start_test "-verbose" run_prog $slocal -verbose -maildelivery "$md" $mbox \ <"$MH_TEST_DIR"/Mail/inbox/1 >"$actual2" 2>&1 run_test "grep ^delivering $actual2" "delivering to pipe \"$tee\", success." # check -noverbose +start_test "-noverbose" run_prog $slocal -verbose -noverbose -maildelivery "$md" $mbox \ <"$MH_TEST_DIR"/Mail/inbox/1 >"$actual2" 2>&1 run_test "grep ^delivering $actual2" '' rm -f "$actual2" # check match of From +start_test "match of From" cat >"$md" <"$md" <"$md" <"$md" <"$md" <"$md" <"$md" <"$md" <"$md" <"$md" <"$md" <$expected <&1 | head -10 >$actual check $expected $actual # check -version +start_test "-version" case `whom -v` in whom\ --*) ;; * ) echo "$0: whom -v generated unexpected output" 1>&2 @@ -61,22 +63,27 @@ case `whom -v` in esac # check with no options +start_test "with no options" run_test 'whom' ' -- Network Recipients -- user at example.com' # check -nocheck +start_test "-nocheck" run_test 'whom -check -nocheck' ' -- Network Recipients -- user at example.com' # check with file specified +start_test "with file specified" run_test "whom $MH_TEST_DIR/Mail/draft" ' -- Network Recipients -- user at example.com' # check -draftmessage +start_test "-draftmessage" run_test "whom -draftm draft" ' -- Network Recipients -- user at example.com' # check -draftfolder with -draftmessage +start_test "-draftfolder with -draftmessage" folder +drafts -create >/dev/null folder +inbox -fast >/dev/null cp $MH_TEST_DIR/Mail/draft $MH_TEST_DIR/Mail/drafts/1 @@ -85,23 +92,27 @@ run_test "whom -draftfolder +drafts -draftm 1" \ user at example.com' # check -draftfolder with current draftmessage +start_test "-draftfolder with current draftmessage" folder +drafts 1 >/dev/null run_test "whom -draftfolder +drafts" \ ' -- Network Recipients -- user at example.com' # check -nodraftfolder +start_test "-nodraftfolder" run_test 'whom -draftfolder +nonexistent -nodraftfolder' \ ' -- Network Recipients -- user at example.com' # check -draft, though I'm not sure that it's useful. Note that it +start_test "-draft, though I'm not sure that it's useful. Note that it" # must appear after the file argument when run standalone. run_test "whom $MH_TEST_DIR/Mail/drafts/1 -draft" \ ' -- Network Recipients -- user at example.com' # check -alias +start_test "-alias" rm -f $MH_TEST_DIR/Mail/draft cat >$MH_TEST_DIR/Mail/draft <<'EOF' From: Test1 @@ -118,8 +129,10 @@ run_test 'whom -alias nmhaliases' ' -- Network Recipients -- user1 at example.com' # check -alias with nonexistent aliasfile +start_test "-alias with nonexistent aliasfile" run_test 'whom -alias nonexistent' \ "whom: aliasing error in nonexistent - unable to read 'nonexistent'" +finish_test exit $failed