]> diplodocus.org Git - nmh/blobdiff - test/folder/test-sortm
It looks like some systems also need curses.h as well as term.h
[nmh] / test / folder / test-sortm
index 0e331544abce8bc2615d4832b2f98e42ee7c0941..ac0f8421fe9e1bb27b5705809362c231597318de 100755 (executable)
@@ -7,7 +7,7 @@
 
 set -e
 
-if test -z "${MH_OBJ_DIR}"; then
+if test -z "$MH_OBJ_DIR"; then
     srcdir=`dirname $0`/../..
     MH_OBJ_DIR=`cd $srcdir && pwd`; export MH_OBJ_DIR
 fi
@@ -32,11 +32,12 @@ Usage: sortm [+folder] [msgs] [switches]
   -nolimit
   -[no]verbose
   -[no]all
+  -[no]check
   -version
   -help
 EOF
 
-sortm -help >"$actual" 2>&1
+run_prog sortm -help >"$actual" 2>&1
 check "$expected" "$actual"
 
 # check -version
@@ -82,7 +83,7 @@ cat >"$expected" <<EOF
   12  09/29 Test11             Re: common subject<<This is message number 11 >>
 EOF
 
-sortm
+run_prog sortm
 scan >"$actual"
 check "$expected" "$actual"
 
@@ -103,7 +104,7 @@ cat >"$expected" <<EOF
 EOF
 
 refile first +inbox; folder -pack >/dev/null
-sortm +inbox
+run_prog sortm +inbox
 scan >"$actual"
 check "$expected" "$actual"
 
@@ -137,7 +138,7 @@ message 1 becomes message 2
 EOF
 
 refile first +inbox; folder -pack >/dev/null
-sortm -verbose >"$actual"
+run_prog sortm -verbose >"$actual"
 scan >>"$actual"
 check "$expected" "$actual"
 
@@ -158,7 +159,7 @@ cat >"$expected" <<EOF
 EOF
 
 refile first +inbox; folder -pack >/dev/null
-sortm -verbose -noverbose >"$actual"
+run_prog sortm -verbose -noverbose >"$actual"
 scan >>"$actual"
 check "$expected" "$actual"
 
@@ -179,7 +180,7 @@ cat >"$expected" <<EOF
 EOF
 
 refile first +inbox; folder -pack >/dev/null
-sortm first last
+run_prog sortm first last
 scan >"$actual"
 check "$expected" "$actual"
 
@@ -199,7 +200,7 @@ cat >"$expected" <<EOF
   12+ 09/29 Test1              Testing message 1<<This is message number 1 >>
 EOF
 
-sortm -datefield Alt-Date 1 11
+run_prog sortm -datefield Alt-Date 1 11
 scan >"$actual"
 check "$expected" "$actual"
 
@@ -219,7 +220,7 @@ cat >"$expected" <<EOF
   12+ 09/29 Test1              Testing message 1<<This is message number 1 >>
 EOF
 
-sortm -textfield subject
+run_prog sortm -textfield subject
 scan >"$actual"
 check "$expected" "$actual"
 
@@ -239,7 +240,7 @@ cat >"$expected" <<EOF
   12+ 09/29 Test1              Testing message 1<<This is message number 1 >>
 EOF
 
-sortm -textfield subject -limit 0 -nolimit
+run_prog sortm -textfield subject -limit 0 -nolimit
 scan >"$actual"
 check "$expected" "$actual"
 
@@ -260,7 +261,7 @@ cat >"$expected" <<EOF
 EOF
 
 refile 2-7 +inbox; refile 1 +inbox; folder -pack last >/dev/null
-sortm -textfield subject -limit 0
+run_prog sortm -textfield subject -limit 0
 scan >"$actual"
 check "$expected" "$actual"
 
@@ -281,7 +282,7 @@ cat >"$expected" <<EOF
 EOF
 
 refile 2-7 +inbox; refile 1 +inbox; folder -pack last >/dev/null
-sortm -textfield from -limit 0
+run_prog sortm -textfield from -limit 0
 scan >"$actual"
 check "$expected" "$actual"
 
@@ -312,7 +313,7 @@ cat >"$expected" <<EOF
 EOF
 
 refile 2-7 +inbox; refile 1 +inbox; folder -pack last >/dev/null
-sortm -textfield subject -limit 10
+run_prog sortm -textfield subject -limit 10
 scan >"$actual"
 check "$expected" "$actual"
 
@@ -334,7 +335,7 @@ cat >"$expected" <<EOF
 EOF
 
 refile 2-7 +inbox; refile 1 +inbox; folder -pack last >/dev/null
-sortm -textfield subject -limit 60
+run_prog sortm -textfield subject -limit 60
 scan >"$actual"
 check "$expected" "$actual"
 
@@ -356,7 +357,7 @@ cat >"$expected" <<EOF
 EOF
 
 refile 2-7 +inbox; refile 1 +inbox; folder -pack last >/dev/null
-sortm -textfield subject -limit 60 -notextfield
+run_prog sortm -textfield subject -limit 60 -notextfield
 scan >"$actual"
 check "$expected" "$actual"
 
@@ -381,7 +382,63 @@ cat >"$expected" <<EOF
 EOF
 
 refile first +inbox; folder -pack >/dev/null
-sortm -noall -all
+run_prog sortm -noall -all
+scan >"$actual"
+check "$expected" "$actual"
+
+# check -check
+cat >"$expected" <<EOF
+sortm: can't parse date field in message 14, will use file modification time
+sortm: errors found, no messages sorted
+EOF
+
+sed -e 's/Sep//' $MH_TEST_DIR/Mail/inbox/7 > $MH_TEST_DIR/Mail/inbox/14
+set +e
+run_prog sortm -check >"$actual" 2>&1
+set -e
+check "$expected" "$actual"
+
+cat >"$expected" <<EOF
+   1  09/28 Test12             common subject<<This is message number 12 >>
+   2+ 09/29 Test10             Testing message 10<<This is message number 10 >>
+   3  09/29 Test5              Testing message 5<<This is message number 5 >>
+   4  09/29 Test6              Testing message 6<<This is message number 6 >>
+   5  09/29 Test7              Testing message 7<<This is message number 7 >>
+   6  09/29 Test8              Testing message 8<<This is message number 8 >>
+   7  09/29 Test9              Testing message 9<<This is message number 9 >>
+   8  09/29 Test1              Testing message 1<<This is message number 1 >>
+   9  09/29 Test2              Testing message 2<<This is message number 2 >>
+  10  09/29 Test3              Testing message 3<<This is message number 3 >>
+  11  09/29 Test4              Testing message 4<<This is message number 4 >>
+  12  09/29 Test11             Re: common subject<<This is message number 11 >>
+  13  10/31 Test13             Re: common subject<<This is message number 13 >>
+  14  01/00 Test9              Testing message 9<<This is message number 9 >>
+EOF
+scan >"$actual"
+check "$expected" "$actual"
+
+# check -nocheck
+cat >"$expected" <<EOF
+   1  09/28 Test12             common subject<<This is message number 12 >>
+   2+ 09/29 Test10             Testing message 10<<This is message number 10 >>
+   3  09/29 Test5              Testing message 5<<This is message number 5 >>
+   4  09/29 Test6              Testing message 6<<This is message number 6 >>
+   5  09/29 Test7              Testing message 7<<This is message number 7 >>
+   6  09/29 Test8              Testing message 8<<This is message number 8 >>
+   7  09/29 Test9              Testing message 9<<This is message number 9 >>
+   8  09/29 Test1              Testing message 1<<This is message number 1 >>
+   9  09/29 Test2              Testing message 2<<This is message number 2 >>
+  10  09/29 Test3              Testing message 3<<This is message number 3 >>
+  11  09/29 Test4              Testing message 4<<This is message number 4 >>
+  12  09/29 Test11             Re: common subject<<This is message number 11 >>
+  13  10/31 Test13             Re: common subject<<This is message number 13 >>
+  14  01/00 Test9              Testing message 9<<This is message number 9 >>
+EOF
+
+sed -e 's/Sep//' $MH_TEST_DIR/Mail/inbox/7 > $MH_TEST_DIR/Mail/inbox/14
+run_test 'sortm -check -nocheck' \
+         "sortm: can't parse date field in message 14, will use file \
+modification time"
 scan >"$actual"
 check "$expected" "$actual"