]> diplodocus.org Git - nmh/blob - test/ali/test-ali
More setup_test() and test-ali attempts on Solaris.
[nmh] / test / ali / test-ali
1 #!/bin/sh
2 ######################################################
3 #
4 # Test ali
5 #
6 ######################################################
7
8 # Not tested:
9 # -normalize, -nonormalize
10
11 # ???? temporary set -e
12
13 if test -z "${MH_OBJ_DIR}"; then
14 srcdir=`dirname $0`/../..
15 MH_OBJ_DIR=`cd $srcdir && pwd`; export MH_OBJ_DIR
16 fi
17
18 . "$MH_OBJ_DIR/test/common.sh"
19
20 setup_test
21
22 scan +inbox # ???? temporary
23
24 expected=$MH_TEST_DIR/$$.expected
25 expected_err=$MH_TEST_DIR/$$.expected_err
26 actual=$MH_TEST_DIR/$$.actual
27 actual_err=$MH_TEST_DIR/$$.actual_err
28
29
30 # check -help
31 cat >$expected <<EOF
32 Usage: ali [switches] aliases ...
33 switches are:
34 -alias aliasfile
35 -[no]list
36 -[no]normalize
37 -[no]user
38 -version
39 -help
40 EOF
41
42 ali -help >$actual 2>&1
43 check $expected $actual
44
45 # check -version
46 case `ali -v` in
47 ali\ --*) ;;
48 * ) echo "$0: ali -v generated unexpected output" 1>&2
49 failed=`expr ${failed:-0} + 1`;;
50 esac
51
52 # check unknown option
53 run_test 'ali -nonexistent' 'ali: -nonexistent unknown'
54
55 # check with no arguments and no AliasFile profile component
56 run_test 'ali' ''
57
58 # check with nonexistent alias file
59 run_test 'ali -alias nonexistent' \
60 "ali: aliasing error in nonexistent - unable to read 'nonexistent'"
61
62 cat >"${MH_TEST_DIR}/Mail/aliases" <<EOF
63 me: me@example.com
64 rush: geddy, alex, neil
65 geddy: geddy@example.com
66 alex: alex@example.com
67 neil: neil@example.com
68 EOF
69
70 # check -alias
71 run_test "ali -alias ${MH_TEST_DIR}/Mail/aliases" \
72 'me: me@example.com
73 rush: geddy@example.com, alex@example.com, neil@example.com
74 geddy: geddy@example.com
75 alex: alex@example.com
76 neil: neil@example.com'
77
78 # check for a specific alias
79 run_test "ali -alias ${MH_TEST_DIR}/Mail/aliases rush" \
80 'geddy@example.com, alex@example.com, neil@example.com'
81
82 # check for a specific alias that doesn't exist
83 run_test "ali -alias ${MH_TEST_DIR}/Mail/aliases nonexistent" \
84 'nonexistent'
85
86 # check -list
87 run_test "ali -alias ${MH_TEST_DIR}/Mail/aliases -list" \
88 'me: me@example.com
89 rush: geddy@example.com
90 alex@example.com
91 neil@example.com
92 geddy: geddy@example.com
93 alex: alex@example.com
94 neil: neil@example.com'
95
96 # check -nolist, which is the default
97 run_test "ali -alias ${MH_TEST_DIR}/Mail/aliases -list -nolist" \
98 'me: me@example.com
99 rush: geddy@example.com, alex@example.com, neil@example.com
100 geddy: geddy@example.com
101 alex: alex@example.com
102 neil: neil@example.com'
103
104 # check -user
105 run_test "ali -alias ${MH_TEST_DIR}/Mail/aliases -user geddy@example.com" \
106 'rush, geddy'
107
108 # check -nouser
109 run_test \
110 "ali -alias ${MH_TEST_DIR}/Mail/aliases -user -nouser geddy@example.com" \
111 'geddy@example.com'
112
113 # check expansion of first address of blind list [Bug #15604]
114 cat >"${MH_TEST_DIR}/Mail/aliases" <<EOF
115 rush: Rush: geddy, alex, neil
116 geddy: geddy@example.com
117 alex: alex@example.com
118 neil: neil@example.com
119 EOF
120
121 run_test "ali -alias ${MH_TEST_DIR}/Mail/aliases rush" \
122 'Rush: geddy@example.com, alex@example.com, neil@example.com'
123
124 # check that aliases followed by ; are not expanded [Bug #15604]
125 cat >"${MH_TEST_DIR}/Mail/aliases" <<EOF
126 rush: Rush: geddy, alex, neil;
127 geddy: geddy@example.com
128 alex: alex@example.com
129 neil: neil@example.com
130 EOF
131
132 run_test "ali -alias ${MH_TEST_DIR}/Mail/aliases rush" \
133 'Rush: geddy@example.com, alex@example.com, neil;'
134
135
136 exit $failed