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