]> diplodocus.org Git - nmh/blob - test/ali/test-ali
Cleaned up message_id().
[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]normalize
35 -[no]user
36 -version
37 -help
38 EOF
39
40 ali -help >$actual 2>&1
41 check $expected $actual
42
43 # check -version
44 case `ali -v` in
45 ali\ --*) ;;
46 * ) echo "$0: ali -v generated unexpected output" 1>&2
47 failed=`expr ${failed:-0} + 1`;;
48 esac
49
50 # check unknown option
51 run_test 'ali -nonexistent' 'ali: -nonexistent unknown'
52
53 # check with no arguments and no AliasFile profile component
54 run_test 'ali' ''
55
56 # check with nonexistent alias file
57 run_test 'ali -alias aliases' \
58 "ali: aliasing error in aliases - unable to read 'aliases'"
59
60 cat >${MH_TEST_DIR}/Mail/aliases <<EOF
61 me: me@example.com
62 rush: geddy@example.com, alex@example.com, neil@example.com
63 EOF
64
65 # check -alias
66 run_test "ali -alias ${MH_TEST_DIR}/Mail/aliases" \
67 'me: me@example.com
68 rush: geddy@example.com, alex@example.com, neil@example.com'
69
70 # check for a specific alias
71 run_test "ali -alias ${MH_TEST_DIR}/Mail/aliases rush" \
72 'geddy@example.com, alex@example.com, neil@example.com'
73
74 # check for a specific alias that doesn't exist
75 run_test "ali -alias ${MH_TEST_DIR}/Mail/aliases nonexistent" \
76 'nonexistent'
77
78 # check -list
79 run_test "ali -alias ${MH_TEST_DIR}/Mail/aliases -list" \
80 'me: me@example.com
81 rush: geddy@example.com
82 alex@example.com
83 neil@example.com'
84
85 # check -nolist, which is the default
86 run_test "ali -alias ${MH_TEST_DIR}/Mail/aliases -list -nolist" \
87 'me: me@example.com
88 rush: geddy@example.com, alex@example.com, neil@example.com'
89
90 # check -user
91 run_test "ali -alias ${MH_TEST_DIR}/Mail/aliases -user geddy@example.com" \
92 'rush'
93
94 # check -nouser
95 run_test \
96 "ali -alias ${MH_TEST_DIR}/Mail/aliases -user -nouser geddy@example.com" \
97 'geddy@example.com'
98
99
100 exit $failed