X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/880ff2a4f8f33fede426b21858dda31b58ffd27a..7540f02725475698a47046ebf4e55b3e8dea5ab6:/test/rcv/test-rcvstore diff --git a/test/rcv/test-rcvstore b/test/rcv/test-rcvstore index 0f0ab0fe..39250209 100755 --- a/test/rcv/test-rcvstore +++ b/test/rcv/test-rcvstore @@ -19,6 +19,8 @@ setup_test # Use proper program, likely not the first one on PATH. rcvstore="${MH_LIBEXEC_DIR}/rcvstore" +check_exit '-eq 1' $rcvstore - + expected=$MH_TEST_DIR/$$.expected expected_err=$MH_TEST_DIR/$$.expected_err actual=$MH_TEST_DIR/$$.actual @@ -26,6 +28,7 @@ actual_err=$MH_TEST_DIR/$$.actual_err # check -help +start_test "-help" cat >$expected <"$actual" 2>&1 +run_prog "$rcvstore" -help 2>&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 @@ -50,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 @@ -68,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" \ @@ -80,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' @@ -100,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' @@ -110,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' @@ -135,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 @@ -143,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 @@ -151,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' @@ -164,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' @@ -181,14 +202,13 @@ if [ "`find ${MH_TEST_DIR}/Mail/test-read-perms -perm 600`"x = ''x ]; then if [ ${failed:-0} -eq 0 ]; then echo "$Test $0 SKIP (cannot remove read permission on plain files)" exit 77 - else - exit $failed fi -else - rm -f ${MH_TEST_DIR}/Mail/test-read-perms + exit $failed 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}