X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/8a87f7b5fd5622dcde0fc4b48d93157616b496f0..4829d096feb337a55e2b866adb19acab9617b071:/test/refile/test-refile?ds=inline diff --git a/test/refile/test-refile b/test/refile/test-refile index 128ebd44..d748ee0d 100755 --- a/test/refile/test-refile +++ b/test/refile/test-refile @@ -16,19 +16,23 @@ fi setup_test +check_exit '-eq 1' refile - + expected=$MH_TEST_DIR/$$.expected actual=$MH_TEST_DIR/$$.actual cd $MH_TEST_DIR -folder -create +other -fast >/dev/null -folder -create +another -fast >/dev/null +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 -folder +inbox 4 >/dev/null +start_test "with current message" +run_prog folder +inbox 4 >/dev/null run_test 'refile +other' '' run_test 'folders -noheader' \ 'another has no messages. @@ -38,7 +42,8 @@ other has 1 message (1- 1). TOTAL = 10 messages in 3 folders.' # check with specified message -folder +inbox 5 >/dev/null +start_test "with specified message" +run_prog folder +inbox 5 >/dev/null run_test 'refile 5 +other' '' run_test 'folders -noheader' \ 'another has no messages. @@ -48,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. @@ -57,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). @@ -66,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" -folder -f +another >/dev/null +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). @@ -79,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). @@ -88,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' \ @@ -106,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' '' @@ -115,19 +127,28 @@ other+ has 1 message (1- 1). TOTAL = 11 messages in 2 folders.' -# check -link -run_test 'refile 7 -src +inbox +other -link' '' -run_test 'folders -noheader' \ -'inbox+ has 10 messages (1-10); cur=7. +check_for_hard_links +if [ $xdir_links_supported -eq 1 ]; then + # check -link + run_test 'refile 7 -src +inbox +other -link' '' + run_test 'folders -noheader' \ + 'inbox+ has 10 messages (1-10); cur=7. other has 2 messages (1- 2). TOTAL = 12 messages in 2 folders.' -# inbox/7 and other/2 are linked. Modify one and verify -# that the other changes as well. -echo '' >>$MH_TEST_DIR/Mail/other/2 -run_test "cmp $MH_TEST_DIR/Mail/inbox/7 $MH_TEST_DIR/Mail/other/2" '' + # inbox/7 and other/2 are linked. Modify one and verify + # that the other changes as well. + echo '' >>$MH_TEST_DIR/Mail/other/2 + run_test "cmp $MH_TEST_DIR/Mail/inbox/7 $MH_TEST_DIR/Mail/other/2" '' +else + # Hard links are not supported. Skip the -link test but emulate + # what it would have done using a copy instead of a link. + cp -p Mail/inbox/7 Mail/other/2 + folder -f +inbox 7 >/dev/null +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. @@ -138,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). @@ -148,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). @@ -157,31 +180,38 @@ TOTAL = 12 messages in 2 folders.' run_test 'scan +other last -format %(msg):%(decode{subject})' \ '11:Testing message 9' +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. other has 6 messages (1-12). TOTAL = 12 messages in 2 folders.' -if test -f $MH_TEST_DIR/Mail/inbox/,3; then +if test -f "$MH_TEST_DIR/Mail/inbox/${sbackup}3"; then echo "$0: refile -unlink failed" 1>&2 failed=`expr ${failed:-0} + 1` 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. other has 7 messages (1-13). TOTAL = 12 messages in 2 folders.' -if ! test -f $MH_TEST_DIR/Mail/inbox/,2; then +if test -f "$MH_TEST_DIR/Mail/inbox/${sbackup}2"; then + : +else echo "$0: refile -nounlink failed" 1>&2 failed=`expr ${failed:-0} + 1` fi # test folder creation when stdin is not a tty +start_test "folder creation when stdin is not a tty" refile first +newfolder