]>
diplodocus.org Git - nmh/blob - test/anno/test-anno
2 ######################################################
6 ######################################################
10 if test -z "${MH_OBJ_DIR}"; then
11 srcdir
=`dirname $0`/..
/..
12 MH_OBJ_DIR
=`cd $srcdir && pwd`; export MH_OBJ_DIR
15 .
"$MH_OBJ_DIR/test/common.sh"
19 check_exit
'-eq 1' anno
-
20 check_exit
'-eq 1' anno
-comp
21 check_exit
'-eq 1' anno
-comp foo
-comp bar
22 check_exit
'-eq 1' anno
-text
23 check_exit
'-eq 1' anno
-text foo
-text bar
24 check_exit
'-eq 1' anno
-number 0
25 check_exit
'-eq 1' anno
-number -number
26 check_exit
'-eq 1' anno
+ @
27 check_exit
'-eq 1' anno
-draft 42
28 check_exit
'-eq 1' anno
-draft -list </dev
/null
29 check_exit
'-eq 1' anno
-draft -list -comp foo
30 check_exit
'-eq 1' anno
-draft -comp f.o
:
31 check_exit
'-eq 1' anno
-draft -comp ''
36 check_exit
'-eq 1' anno
-draft -comp $d$c$c$c$c$l$x$x$x${x}123456789
38 expected
=$MH_TEST_DIR/$$.expected
39 expected_err
=$MH_TEST_DIR/$$.expected_err
40 actual
=$MH_TEST_DIR/$$.actual
41 actual_err
=$MH_TEST_DIR/$$.actual_err
44 cat >"$expected" <<EOF
45 Usage: anno [+folder] [msgs] [switches]
61 #### Skip nmh intro text.
62 run_prog anno
-help | sed '/^$/,$d' >"$actual" 2>&1
63 check
"$expected" "$actual"
68 * ) printf '%s: anno -v generated unexpected output\n' "$0" >&2
69 failed
=`expr ${failed:-0} + 1`;;
72 # check unknown switch
73 run_test
"anno -nonexistent" 'anno: -nonexistent unknown'
75 cat "${MH_TEST_DIR}/Mail/inbox/1" >"${MH_TEST_DIR}/Mail/inbox/11"
77 # check with no switches
78 printf 'Nmh-test:\n' >"$expected"
79 cat "${MH_TEST_DIR}/Mail/inbox/1" >>"$expected"
80 folder
-fast 1 >/dev
/null
82 printf 'Nmh-test' | run_prog anno
>/dev
/null
83 sed -e 's/^Nmh-test:.*/Nmh-test:/' "${MH_TEST_DIR}/Mail/inbox/1" >"$actual"
84 check
"$expected" "$actual" 'keep first'
85 cp -f "${MH_TEST_DIR}/Mail/inbox/11" "${MH_TEST_DIR}/Mail/inbox/1"
88 run_prog anno
-component Nmh
-test
89 sed -e 's/^Nmh-test:.*/Nmh-test:/' "${MH_TEST_DIR}/Mail/inbox/1" >"$actual"
90 check
"$expected" "$actual" 'keep first'
91 cp -f "${MH_TEST_DIR}/Mail/inbox/11" "${MH_TEST_DIR}/Mail/inbox/1"
94 run_prog anno
-component Nmh
-test +inbox
95 sed -e 's/^Nmh-test:.*/Nmh-test:/' "${MH_TEST_DIR}/Mail/inbox/1" >"$actual"
96 check
"$expected" "$actual" 'keep first'
97 cp -f "${MH_TEST_DIR}/Mail/inbox/11" "${MH_TEST_DIR}/Mail/inbox/1"
100 folder
-fast 2 >/dev
/null
101 run_prog anno
1 -component Nmh
-test
102 sed -e 's/^Nmh-test:.*/Nmh-test:/' "${MH_TEST_DIR}/Mail/inbox/1" >"$actual"
103 check
"$expected" "$actual" 'keep first'
104 cp -f "${MH_TEST_DIR}/Mail/inbox/11" "${MH_TEST_DIR}/Mail/inbox/1"
107 if [ $hard_links_supported -eq 1 ]; then
109 # Hard link the message and verify that the new one doesn't get annotated.
110 cp "${MH_TEST_DIR}/Mail/inbox/8" "${MH_TEST_DIR}/Mail/inbox/8.copy"
111 ln "${MH_TEST_DIR}/Mail/inbox/8" "${MH_TEST_DIR}/Mail/inbox/8.link"
112 run_prog anno
8 -component Nmh
-test -noinplace
113 mv -f "${MH_TEST_DIR}/Mail/inbox/8.copy" "${MH_TEST_DIR}/Mail/inbox/8"
114 check
"${MH_TEST_DIR}/Mail/inbox/8" "${MH_TEST_DIR}/Mail/inbox/8.link" \
118 # Hard link the message and verify that the new one does get annotated.
119 ln "${MH_TEST_DIR}/Mail/inbox/8" "${MH_TEST_DIR}/Mail/inbox/8.link"
120 run_prog anno
8 -component Nmh
-test -noinplace -inplace
121 check
"${MH_TEST_DIR}/Mail/inbox/8" "${MH_TEST_DIR}/Mail/inbox/8.link"
124 # check -nodate. Without -text, it doesn't change the message.
125 cp -f "${MH_TEST_DIR}/Mail/inbox/11" "$expected-nodate"
126 run_prog anno
1 -component Nmh
-test -nodate
127 cp -f "${MH_TEST_DIR}/Mail/inbox/1" "$actual"
128 check
"$expected-nodate" "$actual"
129 cp -f "${MH_TEST_DIR}/Mail/inbox/11" "${MH_TEST_DIR}/Mail/inbox/1"
132 run_prog anno
1 -component Nmh
-test -nodate -date
133 sed -e 's/^Nmh-test:.*/Nmh-test:/' "${MH_TEST_DIR}/Mail/inbox/1" >"$actual"
134 check
"$expected" "$actual" 'keep first'
135 cp -f "${MH_TEST_DIR}/Mail/inbox/11" "${MH_TEST_DIR}/Mail/inbox/1"
138 cp -f "${MH_TEST_DIR}/Mail/inbox/1" "${MH_TEST_DIR}/Mail/draft"
139 run_prog anno
-draft -component Nmh
-test
140 sed -e 's/^Nmh-test:.*/Nmh-test:/' "${MH_TEST_DIR}/Mail/draft" >"$actual"
141 check
"$expected" "$actual"
142 rm "${MH_TEST_DIR}/Mail/draft"
145 sed -e 's/\(Subject: Testing message 1\)/\1\
146 Nmh-test:/' <"${MH_TEST_DIR}/Mail/inbox/1" >"$expected"
147 run_prog anno
1 -component Nmh
-test -append
148 sed -e 's/^Nmh-test:.*/Nmh-test:/' "${MH_TEST_DIR}/Mail/inbox/1" >"$actual"
149 check
"$expected" "$actual"
150 cp -f "${MH_TEST_DIR}/Mail/inbox/11" "${MH_TEST_DIR}/Mail/inbox/1"
153 printf 'Nmh-test: test of anno -list\n' >"$expected"
154 cat "${MH_TEST_DIR}/Mail/inbox/1" >>"$expected"
155 run_prog anno
1 -component Nmh
-test -nodate -text 'test of anno -list'
156 run_test
'anno 1 -component Nmh-test -list' 'test of anno -list'
158 check
"$expected" "${MH_TEST_DIR}/Mail/inbox/1"
159 cp -f "${MH_TEST_DIR}/Mail/inbox/11" "${MH_TEST_DIR}/Mail/inbox/1"
161 # check -list -number
162 printf 'Nmh-test: test of anno -list -number\n' >"$expected"
163 cat "${MH_TEST_DIR}/Mail/inbox/1" >>"$expected"
164 run_prog anno
1 -component Nmh
-test -nodate -text 'test of anno -list -number'
165 run_test
'anno 1 -component Nmh-test -list -number' \
166 '1 test of anno -list -number'
167 check
"$expected" "${MH_TEST_DIR}/Mail/inbox/1"
168 cp -f "${MH_TEST_DIR}/Mail/inbox/11" "${MH_TEST_DIR}/Mail/inbox/1"
171 cp "${MH_TEST_DIR}/Mail/inbox/1" "$expected"
172 run_prog anno
1 -component Nmh
-test
173 run_prog anno
1 -component Nmh
-test -delete
174 sed -e 's/^Nmh-test:.*/Nmh-test:/' "${MH_TEST_DIR}/Mail/inbox/1" >"$actual"
175 check
"$expected" "$actual"
176 cp -f "${MH_TEST_DIR}/Mail/inbox/11" "${MH_TEST_DIR}/Mail/inbox/1"
178 # check -delete -number
179 printf 'Nmh-test: 1\nNmh-test: 3\n' >"$expected"
180 cat "${MH_TEST_DIR}/Mail/inbox/1" >>"$expected"
181 run_prog anno
1 -component Nmh
-test -nodate -text 3
182 run_prog anno
1 -component Nmh
-test -nodate -text 2
183 run_prog anno
1 -component Nmh
-test -nodate -text 1
184 run_prog anno
1 -component Nmh
-test -delete -number 2
185 cp -f "${MH_TEST_DIR}/Mail/inbox/1" "$actual"
186 check
"$expected" "$actual"
187 cp -f "${MH_TEST_DIR}/Mail/inbox/11" "${MH_TEST_DIR}/Mail/inbox/1"
190 cp "${MH_TEST_DIR}/Mail/inbox/1" "$expected"
191 run_prog anno
1 -component Nmh
-test -nodate -text 3
192 run_prog anno
1 -component Nmh
-test -nodate -text 2
193 run_prog anno
1 -component Nmh
-test -nodate -text 1
194 run_prog anno
1 -component Nmh
-test -delete -number all
195 cp -f "${MH_TEST_DIR}/Mail/inbox/1" "$actual"
196 check
"$expected" "$actual"
197 cp -f "${MH_TEST_DIR}/Mail/inbox/11" "${MH_TEST_DIR}/Mail/inbox/1"
200 touch -t '201210010000.00' "${MH_TEST_DIR}/Mail/inbox/1"
201 ls -l "${MH_TEST_DIR}/Mail/inbox/1" >"$actual-ls1"
202 run_prog anno
1 -component Nmh
-test -preserve
203 run_prog anno
1 -component Nmh
-test -preserve -delete
204 ls -l "${MH_TEST_DIR}/Mail/inbox/1" >"$actual-ls2"
205 check
"$actual-ls1" "$actual-ls2"
206 cp -f "${MH_TEST_DIR}/Mail/inbox/11" "${MH_TEST_DIR}/Mail/inbox/1"
209 touch -t '2012100100.00' "${MH_TEST_DIR}/Mail/inbox/1"
210 ls -l "${MH_TEST_DIR}/Mail/inbox/1" >"$actual-ls1"
211 run_prog anno
1 -component Nmh
-test -preserve -nopreserve
212 run_prog anno
1 -component Nmh
-test -preserve -nopreserve -delete
213 ls -l "${MH_TEST_DIR}/Mail/inbox/1" >"$actual-ls2"
215 diff "$actual-ls1" "$actual-ls2" >/dev
/null
216 run_test
'printf 1' "$?"
218 rm "$actual-ls1" "$actual-ls2"