]> diplodocus.org Git - nmh/blobdiff - test/anno/test-anno
mh-mkstemp.man: Detail exit status as 255 rather than -1.
[nmh] / test / anno / test-anno
index a655d2c39bf0c3d282d232ad8ecd1b7fa3b2c743..a7755ed7895c0205be0e1828bd0a9d27de8e3433 100755 (executable)
@@ -16,6 +16,8 @@ fi
 
 setup_test
 
 
 setup_test
 
+check_exit '-eq 1' anno - # gcov
+
 expected=$MH_TEST_DIR/$$.expected
 expected_err=$MH_TEST_DIR/$$.expected_err
 actual=$MH_TEST_DIR/$$.actual
 expected=$MH_TEST_DIR/$$.expected
 expected_err=$MH_TEST_DIR/$$.expected_err
 actual=$MH_TEST_DIR/$$.actual
@@ -39,7 +41,8 @@ Usage: anno [+folder] [msgs] [switches]
   -([no]p)reserve
 EOF
 
   -([no]p)reserve
 EOF
 
-anno -help >"$actual" 2>&1
+#### Skip nmh intro text.
+run_prog anno -help | sed '/^$/,$d' >"$actual" 2>&1
 check "$expected" "$actual"
 
 # check -version
 check "$expected" "$actual"
 
 # check -version
@@ -59,26 +62,26 @@ printf 'Nmh-test:\n' >"$expected"
 cat "${MH_TEST_DIR}/Mail/inbox/1" >>"$expected"
 folder -fast 1 >/dev/null
 
 cat "${MH_TEST_DIR}/Mail/inbox/1" >>"$expected"
 folder -fast 1 >/dev/null
 
-printf 'Nmh-test' | anno >/dev/null
+printf 'Nmh-test' | run_prog anno >/dev/null
 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 -component
 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 -component
-anno -component Nmh-test
+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
 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
-anno -component Nmh-test +inbox
+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
 folder -fast 2 >/dev/null
 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
 folder -fast 2 >/dev/null
-anno 1 -component Nmh-test
+run_prog anno 1 -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"
 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"
@@ -89,7 +92,7 @@ if [ $hard_links_supported -eq 1 ]; then
   # 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"
   # 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"
-  anno 8 -component Nmh-test -noinplace
+  run_prog anno 8 -component Nmh-test -noinplace
   mv -f "${MH_TEST_DIR}/Mail/inbox/8.copy" "${MH_TEST_DIR}/Mail/inbox/8"
   check "${MH_TEST_DIR}/Mail/inbox/8" "${MH_TEST_DIR}/Mail/inbox/8.link" \
     'keep first'
   mv -f "${MH_TEST_DIR}/Mail/inbox/8.copy" "${MH_TEST_DIR}/Mail/inbox/8"
   check "${MH_TEST_DIR}/Mail/inbox/8" "${MH_TEST_DIR}/Mail/inbox/8.link" \
     'keep first'
@@ -97,34 +100,34 @@ if [ $hard_links_supported -eq 1 ]; then
   # check -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"
   # check -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"
-  anno 8 -component Nmh-test -noinplace -inplace
+  run_prog anno 8 -component Nmh-test -noinplace -inplace
   check "${MH_TEST_DIR}/Mail/inbox/8" "${MH_TEST_DIR}/Mail/inbox/8.link"
 fi
 
 # check -nodate.  Without -text, it doesn't change the message.
 cp -f "${MH_TEST_DIR}/Mail/inbox/11" "$expected-nodate"
   check "${MH_TEST_DIR}/Mail/inbox/8" "${MH_TEST_DIR}/Mail/inbox/8.link"
 fi
 
 # check -nodate.  Without -text, it doesn't change the message.
 cp -f "${MH_TEST_DIR}/Mail/inbox/11" "$expected-nodate"
-anno 1 -component Nmh-test -nodate
+run_prog anno 1 -component Nmh-test -nodate
 cp -f "${MH_TEST_DIR}/Mail/inbox/1" "$actual"
 check "$expected-nodate" "$actual"
 cp -f "${MH_TEST_DIR}/Mail/inbox/11" "${MH_TEST_DIR}/Mail/inbox/1"
 
 # check -date
 cp -f "${MH_TEST_DIR}/Mail/inbox/1" "$actual"
 check "$expected-nodate" "$actual"
 cp -f "${MH_TEST_DIR}/Mail/inbox/11" "${MH_TEST_DIR}/Mail/inbox/1"
 
 # check -date
-anno 1 -component Nmh-test -nodate -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.
 cp -f "${MH_TEST_DIR}/Mail/inbox/1" "${MH_TEST_DIR}/Mail/draft"
 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.
 cp -f "${MH_TEST_DIR}/Mail/inbox/1" "${MH_TEST_DIR}/Mail/draft"
-anno -draft -component Nmh-test
+run_prog anno -draft -component Nmh-test
 sed -e 's/^Nmh-test:.*/Nmh-test:/' "${MH_TEST_DIR}/Mail/draft" >"$actual"
 check "$expected" "$actual"
 rm "${MH_TEST_DIR}/Mail/draft"
 
 # check -append
 sed -e 's/^Nmh-test:.*/Nmh-test:/' "${MH_TEST_DIR}/Mail/draft" >"$actual"
 check "$expected" "$actual"
 rm "${MH_TEST_DIR}/Mail/draft"
 
 # check -append
-awk --posix 'NR==6{print "Nmh-test:"}1' <"${MH_TEST_DIR}/Mail/inbox/1" \
-  >"$expected"
-anno 1 -component Nmh-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
 sed -e 's/^Nmh-test:.*/Nmh-test:/' "${MH_TEST_DIR}/Mail/inbox/1" >"$actual"
 check "$expected" "$actual"
 cp -f "${MH_TEST_DIR}/Mail/inbox/11" "${MH_TEST_DIR}/Mail/inbox/1"
 sed -e 's/^Nmh-test:.*/Nmh-test:/' "${MH_TEST_DIR}/Mail/inbox/1" >"$actual"
 check "$expected" "$actual"
 cp -f "${MH_TEST_DIR}/Mail/inbox/11" "${MH_TEST_DIR}/Mail/inbox/1"
@@ -132,7 +135,7 @@ cp -f "${MH_TEST_DIR}/Mail/inbox/11" "${MH_TEST_DIR}/Mail/inbox/1"
 # check -list
 printf 'Nmh-test: test of anno -list\n' >"$expected"
 cat "${MH_TEST_DIR}/Mail/inbox/1" >>"$expected"
 # check -list
 printf 'Nmh-test: test of anno -list\n' >"$expected"
 cat "${MH_TEST_DIR}/Mail/inbox/1" >>"$expected"
-anno 1 -component Nmh-test -nodate -text 'test of anno -list'
+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
 check "$expected" "${MH_TEST_DIR}/Mail/inbox/1"
 run_test 'anno 1 -component Nmh-test -list' 'test of anno -list'
 # check -text
 check "$expected" "${MH_TEST_DIR}/Mail/inbox/1"
@@ -141,7 +144,7 @@ cp -f "${MH_TEST_DIR}/Mail/inbox/11" "${MH_TEST_DIR}/Mail/inbox/1"
 # check -list -number
 printf 'Nmh-test: test of anno -list -number\n' >"$expected"
 cat "${MH_TEST_DIR}/Mail/inbox/1" >>"$expected"
 # check -list -number
 printf 'Nmh-test: test of anno -list -number\n' >"$expected"
 cat "${MH_TEST_DIR}/Mail/inbox/1" >>"$expected"
-anno 1 -component Nmh-test -nodate -text 'test of anno -list -number'
+run_prog anno 1 -component Nmh-test -nodate -text 'test of anno -list -number'
 run_test 'anno 1 -component Nmh-test -list -number' \
          '1    test of anno -list -number'
 check "$expected" "${MH_TEST_DIR}/Mail/inbox/1"
 run_test 'anno 1 -component Nmh-test -list -number' \
          '1    test of anno -list -number'
 check "$expected" "${MH_TEST_DIR}/Mail/inbox/1"
@@ -149,8 +152,8 @@ cp -f "${MH_TEST_DIR}/Mail/inbox/11" "${MH_TEST_DIR}/Mail/inbox/1"
 
 # check -delete
 cp "${MH_TEST_DIR}/Mail/inbox/1" "$expected"
 
 # check -delete
 cp "${MH_TEST_DIR}/Mail/inbox/1" "$expected"
-anno 1 -component Nmh-test
-anno 1 -component Nmh-test -delete
+run_prog anno 1 -component Nmh-test
+run_prog anno 1 -component Nmh-test -delete
 sed -e 's/^Nmh-test:.*/Nmh-test:/' "${MH_TEST_DIR}/Mail/inbox/1" >"$actual"
 check "$expected" "$actual"
 cp -f "${MH_TEST_DIR}/Mail/inbox/11" "${MH_TEST_DIR}/Mail/inbox/1"
 sed -e 's/^Nmh-test:.*/Nmh-test:/' "${MH_TEST_DIR}/Mail/inbox/1" >"$actual"
 check "$expected" "$actual"
 cp -f "${MH_TEST_DIR}/Mail/inbox/11" "${MH_TEST_DIR}/Mail/inbox/1"
@@ -158,20 +161,20 @@ cp -f "${MH_TEST_DIR}/Mail/inbox/11" "${MH_TEST_DIR}/Mail/inbox/1"
 # check -delete -number
 printf 'Nmh-test: 1\nNmh-test: 3\n' >"$expected"
 cat "${MH_TEST_DIR}/Mail/inbox/1" >>"$expected"
 # check -delete -number
 printf 'Nmh-test: 1\nNmh-test: 3\n' >"$expected"
 cat "${MH_TEST_DIR}/Mail/inbox/1" >>"$expected"
-anno 1 -component Nmh-test -nodate -text 3
-anno 1 -component Nmh-test -nodate -text 2
-anno 1 -component Nmh-test -nodate -text 1
-anno 1 -component Nmh-test -delete -number 2
+run_prog anno 1 -component Nmh-test -nodate -text 3
+run_prog anno 1 -component Nmh-test -nodate -text 2
+run_prog anno 1 -component Nmh-test -nodate -text 1
+run_prog anno 1 -component Nmh-test -delete -number 2
 cp -f "${MH_TEST_DIR}/Mail/inbox/1" "$actual"
 check "$expected" "$actual"
 cp -f "${MH_TEST_DIR}/Mail/inbox/11" "${MH_TEST_DIR}/Mail/inbox/1"
 
 # check -delete -all
 cp "${MH_TEST_DIR}/Mail/inbox/1" "$expected"
 cp -f "${MH_TEST_DIR}/Mail/inbox/1" "$actual"
 check "$expected" "$actual"
 cp -f "${MH_TEST_DIR}/Mail/inbox/11" "${MH_TEST_DIR}/Mail/inbox/1"
 
 # check -delete -all
 cp "${MH_TEST_DIR}/Mail/inbox/1" "$expected"
-anno 1 -component Nmh-test -nodate -text 3
-anno 1 -component Nmh-test -nodate -text 2
-anno 1 -component Nmh-test -nodate -text 1
-anno 1 -component Nmh-test -delete -number all
+run_prog anno 1 -component Nmh-test -nodate -text 3
+run_prog anno 1 -component Nmh-test -nodate -text 2
+run_prog anno 1 -component Nmh-test -nodate -text 1
+run_prog anno 1 -component Nmh-test -delete -number all
 cp -f "${MH_TEST_DIR}/Mail/inbox/1" "$actual"
 check "$expected" "$actual"
 cp -f "${MH_TEST_DIR}/Mail/inbox/11" "${MH_TEST_DIR}/Mail/inbox/1"
 cp -f "${MH_TEST_DIR}/Mail/inbox/1" "$actual"
 check "$expected" "$actual"
 cp -f "${MH_TEST_DIR}/Mail/inbox/11" "${MH_TEST_DIR}/Mail/inbox/1"
@@ -179,8 +182,8 @@ cp -f "${MH_TEST_DIR}/Mail/inbox/11" "${MH_TEST_DIR}/Mail/inbox/1"
 # check -preserve
 touch -t '201210010000.00' "${MH_TEST_DIR}/Mail/inbox/1"
 ls -l "${MH_TEST_DIR}/Mail/inbox/1" >"$actual-ls1"
 # check -preserve
 touch -t '201210010000.00' "${MH_TEST_DIR}/Mail/inbox/1"
 ls -l "${MH_TEST_DIR}/Mail/inbox/1" >"$actual-ls1"
-anno 1 -component Nmh-test -preserve
-anno 1 -component Nmh-test -preserve -delete
+run_prog anno 1 -component Nmh-test -preserve
+run_prog anno 1 -component Nmh-test -preserve -delete
 ls -l "${MH_TEST_DIR}/Mail/inbox/1" >"$actual-ls2"
 check "$actual-ls1" "$actual-ls2"
 cp -f "${MH_TEST_DIR}/Mail/inbox/11" "${MH_TEST_DIR}/Mail/inbox/1"
 ls -l "${MH_TEST_DIR}/Mail/inbox/1" >"$actual-ls2"
 check "$actual-ls1" "$actual-ls2"
 cp -f "${MH_TEST_DIR}/Mail/inbox/11" "${MH_TEST_DIR}/Mail/inbox/1"
@@ -188,8 +191,8 @@ cp -f "${MH_TEST_DIR}/Mail/inbox/11" "${MH_TEST_DIR}/Mail/inbox/1"
 # check -nopreserve
 touch -t '2012100100.00' "${MH_TEST_DIR}/Mail/inbox/1"
 ls -l "${MH_TEST_DIR}/Mail/inbox/1" >"$actual-ls1"
 # check -nopreserve
 touch -t '2012100100.00' "${MH_TEST_DIR}/Mail/inbox/1"
 ls -l "${MH_TEST_DIR}/Mail/inbox/1" >"$actual-ls1"
-anno 1 -component Nmh-test -preserve -nopreserve
-anno 1 -component Nmh-test -preserve -nopreserve -delete
+run_prog anno 1 -component Nmh-test -preserve -nopreserve
+run_prog anno 1 -component Nmh-test -preserve -nopreserve -delete
 ls -l "${MH_TEST_DIR}/Mail/inbox/1" >"$actual-ls2"
 set +e
 diff "$actual-ls1" "$actual-ls2" >/dev/null
 ls -l "${MH_TEST_DIR}/Mail/inbox/1" >"$actual-ls2"
 set +e
 diff "$actual-ls1" "$actual-ls2" >/dev/null