35d680a63c821e33f52e45fe43c71f961bd6706b
[mmh] / test / bad-input / test-header
1 #!/bin/sh
2 ######################################################
3 #
4 # Test bogus headers (no blank line before body).
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 expected=$MH_TEST_DIR/$$.expected
26 actual=$MH_TEST_DIR/$$.actual
27
28 # Write message with bogus header field (missing blank line, really).
29 msgfile=$(mhpath new)
30 msgnum=$(basename $msgfile)
31 cat > $msgfile <<EOF
32 Date: Sun, 18 Dec 2005 00:52:39 +0100
33 From: foo@example.edu
34 To: bar@example.edu
35 Subject: test
36 This is a multi-part message in MIME format.
37
38 I am a stupid spammer.
39 EOF
40
41 # check scan
42 cat > $expected <<EOF
43   11  12/18 foo@example.edu    test<<This is a multi-part message in MIME forma
44 EOF
45 scan $msgnum > $actual 2>&1
46 check
47
48 # check show (mhl)
49 cat > $expected <<EOF
50 (Message inbox:11)
51
52 Date:    Sun, 18 Dec 2005 00:52:39 +0100
53 To:      bar@example.edu
54 From:    foo@example.edu
55 Subject: test
56
57
58 This is a multi-part message in MIME format.
59
60
61 I am a stupid spammer.
62 EOF
63 show $msgnum > $actual 2>&1
64 check
65
66 # check mhshow
67 cat > $expected <<EOF
68 Date:    Sun, 18 Dec 2005 00:52:39 +0100
69 To:      bar@example.edu
70 From:    foo@example.edu
71 Subject: test
72
73
74 part       text/plain                  70
75
76 This is a multi-part message in MIME format.
77
78 I am a stupid spammer.
79 EOF
80 mhshow -nopause $msgnum > $actual 2>&1
81 check
82
83 exit $failed