Rearranged test suite environment variables so that individual tests
[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 test -z "${MH_OBJ_DIR}"; then
9     srcdir=`dirname $0`/../..
10     MH_OBJ_DIR=`cd $srcdir && pwd`; export MH_OBJ_DIR
11 fi
12
13 . "$MH_OBJ_DIR/test/common.sh"
14
15 setup_test
16
17 # TODO: Move to a common file tests can source; need more framework...
18 failed=0
19 check() {
20     diff -u $expected $actual
21     if [ $? -ne 0 ]; then
22         failed=$((failed + 1))
23     fi
24 }
25
26 expected=$MH_TEST_DIR/$$.expected
27 actual=$MH_TEST_DIR/$$.actual
28
29 # Write message with bogus header field (missing blank line, really).
30 msgfile=$(mhpath new)
31 msgnum=$(basename $msgfile)
32 cat > $msgfile <<EOF
33 Date: Sun, 18 Dec 2005 00:52:39 +0100
34 From: foo@example.edu
35 To: bar@example.edu
36 Subject: test
37 This is a multi-part message in MIME format.
38
39 I am a stupid spammer.
40 EOF
41
42 # check scan
43 cat > $expected <<EOF
44   11  12/18 foo@example.edu    test<<This is a multi-part message in MIME forma
45 EOF
46 scan $msgnum > $actual 2>&1
47 check
48
49 # check show (mhl)
50 cat > $expected <<EOF
51 (Message inbox:11)
52
53 Date:    Sun, 18 Dec 2005 00:52:39 +0100
54 To:      bar@example.edu
55 From:    foo@example.edu
56 Subject: test
57
58
59 This is a multi-part message in MIME format.
60
61
62 I am a stupid spammer.
63 EOF
64 show $msgnum > $actual 2>&1
65 check
66
67 # check mhshow
68 cat > $expected <<EOF
69 Date:    Sun, 18 Dec 2005 00:52:39 +0100
70 To:      bar@example.edu
71 From:    foo@example.edu
72 Subject: test
73
74
75 part       text/plain                  70
76
77 This is a multi-part message in MIME format.
78
79 I am a stupid spammer.
80 EOF
81 mhshow -nopause $msgnum > $actual 2>&1
82 check
83
84 exit $failed