# check -help
+start_test "-help"
cat >$expected <<EOF
Usage: rcvstore [+folder] [switches]
switches are:
check "$expected" "$actual"
# check -version
+start_test "-version"
case `$rcvstore -v` in
rcvstore\ --*) ;;
* ) printf '%s: rcvstore -v generated unexpected output\n' "$0" >&2
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 <<EOF
rcvstore: empty file
EOF
check $expected $actual
# check with no switches
+start_test "with no switches"
cat >$expected <<EOF
EOF
run_prog $rcvstore <${MH_TEST_DIR}/Mail/inbox/1 >$actual 2>&1
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" \
rmdir "${MH_TEST_DIR}/Mail/newfolder"
# check -nocreate
+start_test "-nocreate"
cat >$expected_err <<EOF
rcvstore: folder ${MH_TEST_DIR}/Mail/newfolder doesn't exist
EOF
check $expected_err $actual_err
# check -create
+start_test "-create"
run_prog $rcvstore +newfolder -nocreate -create <${MH_TEST_DIR}/Mail/inbox/1 \
>$actual 2>&1
check $expected $actual 'keep first'
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'
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'
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
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
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'
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'
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'
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
check "${MH_TEST_DIR}/Mail/inbox/1" "${MH_TEST_DIR}/Mail/inbox/11"
+finish_test
exit ${failed:-0}