Oops, meant to use $failed (number of failed checks) as the exit code.
[mmh] / test / tests / bad-input / test-header
1 #!/bin/sh
2 ######################################################
3 #
4 # Test bogus headers (no blank line before body).
5 #
6 ######################################################
7
8 # TODO: Move to a common file tests can source; need more framework...
9 failed=0
10 check() {
11     diff -u $expected $actual
12     if [ $? -ne 0 ]; then
13         failed=$((failed + 1))
14     fi
15 }
16
17 expected=$MH_TEST_DIR/$$.expected
18 actual=$MH_TEST_DIR/$$.actual
19
20 # Write message with bogus header field (missing blank line, really).
21 msgfile=$(mhpath new)
22 msgnum=$(basename $msgfile)
23 cat > $msgfile <<EOF
24 Date: Sun, 18 Dec 2005 00:52:39 +0100
25 From: foo@example.edu
26 To: bar@example.edu
27 Subject: test
28 This is a multi-part message in MIME format.
29
30 I am a stupid spammer.
31 EOF
32
33 # check scan
34 cat > $expected <<EOF
35   11  12/18 foo@example.edu    test<<This is a multi-part message in MIME forma
36 EOF
37 scan $msgnum > $actual 2>&1
38 check
39
40 # check show (mhl)
41 cat > $expected <<EOF
42 (Message inbox:11)
43
44 Date:    Sun, 18 Dec 2005 00:52:39 +0100
45 To:      bar@example.edu
46 From:    foo@example.edu
47 Subject: test
48
49
50 This is a multi-part message in MIME format.
51
52
53 I am a stupid spammer.
54 EOF
55 show $msgnum > $actual 2>&1
56 check
57
58 # check mhshow
59 cat > $expected <<EOF
60 Date:    Sun, 18 Dec 2005 00:52:39 +0100
61 To:      bar@example.edu
62 From:    foo@example.edu
63 Subject: test
64
65
66 part       text/plain                  70
67
68 This is a multi-part message in MIME format.
69
70 I am a stupid spammer.
71 EOF
72 mhshow -nopause $msgnum > $actual 2>&1
73 check
74
75 exit $failed