Re-work the test suite so it now works with Automake (via "make check").
[mmh] / test / mhbuild / test-forw
1 #!/bin/sh
2 ######################################################
3 #
4 # Test forwarding messages (including RFC-934 mode).
5 #
6 ######################################################
7
8 if [ -z "${MH_TEST_COMMON}" ]; then
9     echo "MH_TEST_COMMON not set; try running via 'make check'"
10 fi
11
12 . ${MH_TEST_COMMON}
13
14 setup_test
15
16 # TODO: Move to a common file tests can source; need more framework...
17 failed=0
18 check() {
19     diff -u $expected $actual
20     if [ $? -ne 0 ]; then
21         failed=$((failed + 1))
22     fi
23 }
24
25 # Make a draft file forwarding two messages.
26 mkdraft() {
27     cat > $draft <<EOF
28 To:
29 cc:
30 Fcc: +outbox
31 Subject:
32 --------
33 #forw [forwarded messages] +inbox 1 2
34 EOF
35 }
36
37 # Munge the Content-Id from the draft after mhbuild, so we have a reliable
38 # value to check.
39 mungedraft() {
40     sed 's/\(Content-ID:\) <[^>][^>]*>/\1 <TESTID>/' $draft > $actual
41 }
42
43 draft=$MH_TEST_DIR/$$.draft
44 expected=$MH_TEST_DIR/$$.expected
45 actual=$MH_TEST_DIR/$$.actual
46
47 # check mhbuild
48 cat > $expected <<EOF
49 To:
50 cc:
51 Fcc: +outbox
52 Subject:
53 MIME-Version: 1.0
54 Content-Type: multipart/digest; boundary="----- =_aaaaaaaaaa0"
55 Content-ID: <TESTID>
56 Content-Description: forwarded messages
57
58 ------- =_aaaaaaaaaa0
59 Content-Type: message/rfc822
60
61 From: Test1 <test1@example.com>
62 To: Some User <user@example.com>
63 Date: Fri, 29 Sep 2006 00:00:00
64 Subject: Testing message 1
65
66 This is message number 1
67
68 ------- =_aaaaaaaaaa0
69 Content-Type: message/rfc822
70
71 From: Test2 <test2@example.com>
72 To: Some User <user@example.com>
73 Date: Fri, 29 Sep 2006 00:00:00
74 Subject: Testing message 2
75
76 This is message number 2
77
78 ------- =_aaaaaaaaaa0--
79 EOF
80 mkdraft
81 mhbuild $draft
82 mungedraft
83 check
84
85 # check mhbuild -rfc934
86 cat > $expected <<EOF
87 To:
88 cc:
89 Fcc: +outbox
90 Subject:
91 MIME-Version: 1.0
92 Content-Type: multipart/digest; boundary="----- =_aaaaaaaaaa0"
93 Content-ID: <TESTID>
94 Content-Description: forwarded messages
95
96
97 ------- =_aaaaaaaaaa0
98
99 From: Test1 <test1@example.com>
100 To: Some User <user@example.com>
101 Date: Fri, 29 Sep 2006 00:00:00
102 Subject: Testing message 1
103
104 This is message number 1
105
106 ------- =_aaaaaaaaaa0
107
108 From: Test2 <test2@example.com>
109 To: Some User <user@example.com>
110 Date: Fri, 29 Sep 2006 00:00:00
111 Subject: Testing message 2
112
113 This is message number 2
114
115 ------- =_aaaaaaaaaa0--
116 EOF
117 mkdraft
118 mhbuild -rfc934 $draft
119 mungedraft
120 check
121
122 exit $failed