]> diplodocus.org Git - nmh/blob - test/burst/test-burst
mh-mkstemp.man: Detail exit status as 255 rather than -1.
[nmh] / test / burst / test-burst
1 #!/bin/sh
2 #
3 # Tests to see if bursting messages works correctly.
4 #
5
6 if test -z "${MH_OBJ_DIR}"; then
7 srcdir=`dirname "$0"`/../..
8 MH_OBJ_DIR=`cd "$srcdir" && pwd`; export MH_OBJ_DIR
9 fi
10
11 . "${MH_OBJ_DIR}/test/common.sh"
12
13 setup_test
14
15 check_exit '-eq 1' burst - # gcov
16
17 #
18 # Create a test message that we can burst
19 #
20
21 cat > "${MH_TEST_DIR}/Mail/inbox/11" <<EOF
22 From: Test Burst Message <burst1@example.com>
23 To: Test Recipient <recipient@example.com>
24 Date: Friday, 29 Sep 2006 00:00:00
25 Subject: Test digest
26
27 ------- Message one
28
29 From: Mister Burster <burst2@example.com>
30 To: Nobody 1 <nobody1@example.com>
31 Date: Thursday, 28 Sep 2006 00:01:00
32 Subject: Message one
33
34 This is message one
35
36 ------- Message two
37
38 From: Mister Burster <burst3@example.com>
39 To: Nobody 2 <nobody2@example.com>
40 Date: Thursday, 28 Sep 2006 00:02:00
41 Subject: Message two
42
43 This is message two
44 For real.
45
46 -------
47
48 End of all messages
49 EOF
50
51 run_prog burst 11 || exit
52
53 run_test 'scan -width 80 11-last' "\
54 11 09/29 Test Burst Messag Test digest<<------- Message one From: Mister Bur
55 12+ 09/28 Mister Burster Message one<<This is message one >>
56 13 09/28 Mister Burster Message two<<This is message two For real. >>"
57
58 #
59 # Create another test message that stresses the boundary checker a bit
60 #
61
62 cat > "${MH_TEST_DIR}/Mail/inbox/14" <<EOF
63 From: Test Burst Message <burst1@example.com>
64 To: Test Recipient <recipient@example.com>
65 Date: Friday, 29 Sep 2006 00:00:00
66 Subject: Test digest
67
68 This is a preamble
69 ------- Message one
70
71 From: Mister Burster <burst2@example.com>
72 To: Nobody 1 <nobody1@example.com>
73 Date: Thursday, 28 Sep 2006 00:01:00
74 Subject: Message one
75
76 - -This is message one
77
78 ------- Message two
79 From: Mister Burster <burst3@example.com>
80 To: Nobody 2 <nobody2@example.com>
81 Date: Thursday, 28 Sep 2006 00:02:00
82 Subject: Message two
83
84 This is message two
85 - For real.
86 ------- Message three
87
88
89
90 From: Mister Burster <burst4@example.com>
91 To: Nobody 3 <nobody3@example.com>
92 Date: Thursday, 28 Sep 2006 00:03:00
93 Subject: Message three
94
95 Will this one work?
96
97
98 ------ Message three
99 End of all messages
100 EOF
101
102 run_prog burst 14 || exit
103
104 run_test 'scan -width 80 14-last' "\
105 14 09/29 Test Burst Messag Test digest<<This is a preamble ------- Message o
106 15+ 09/28 Mister Burster Message one<<-This is message one >>
107 16 09/28 Mister Burster Message two<<This is message two For real. >>
108 17 09/28 Mister Burster Message three<<Will this one work? >>"
109
110 #
111 # Check to see if each message is what we expect
112 #
113
114 run_test 'show -noheader -noshow 15' \
115 "From: Mister Burster <burst2@example.com>
116 To: Nobody 1 <nobody1@example.com>
117 Date: Thursday, 28 Sep 2006 00:01:00
118 Subject: Message one
119
120 -This is message one"
121
122 run_test 'show -noheader -noshow 16' \
123 "From: Mister Burster <burst3@example.com>
124 To: Nobody 2 <nobody2@example.com>
125 Date: Thursday, 28 Sep 2006 00:02:00
126 Subject: Message two
127
128 This is message two
129 For real."
130
131 #
132 # Backticks used by run_test can consume blank lines at the end of the
133 # command output, so use check for this one.
134 #
135
136 expected="${MH_TEST_DIR}/$$.expected"
137 cat > "${expected}" <<EOF
138 From: Mister Burster <burst4@example.com>
139 To: Nobody 3 <nobody3@example.com>
140 Date: Thursday, 28 Sep 2006 00:03:00
141 Subject: Message three
142
143 Will this one work?
144
145 EOF
146
147 check "${expected}" `mhpath 17`
148
149 exit $failed