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