ali.at
2.92 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
# This file is part of GNU Mailutils. -*- Autotest -*-
# Copyright (C) 2010-2012, 2014 Free Software Foundation, Inc.
#
# GNU Mailutils is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
# published by the Free Software Foundation; either version 3, or (at
# your option) any later version.
#
# GNU Mailutils is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with GNU Mailutils. If not, see <http://www.gnu.org/licenses/>.
AT_BANNER(ali)
m4_pushdef([MH_KEYWORDS],[ali])
MH_CHECK([ali: simple aliases],[ali00],[
AT_DATA([mh_aliases],[
devel: gray, polak
admin: gray, jeff
])
ali -a ./mh_aliases devel
],
[0],
[gray, polak
])
MH_CHECK([ali: recursive aliases],[ali01],[
AT_DATA([mh_aliases],[
devel: gray, polak, admin
admin: gray, jeff
])
ali -a ./mh_aliases devel
],
[0],
[gray, polak, gray, jeff
])
MH_CHECK([ali: file inlcusion],[ali02 ali-include],[
AT_DATA([Mail/mh_aliases2],[
admin: gray, jeff
])
AT_DATA([mh_aliases],[
devel: gray, polak, admin
<mh_aliases2
])
ali -a ./mh_aliases devel
],
[0],
[gray, polak, gray, jeff
])
MH_CHECK([ali: recursive inlcusion],[ali03 ali-include-recursive],[
AT_DATA([Mail/mh_aliases2],[
<mh_aliases
])
AT_DATA([Mail/mh_aliases],[
devel: gray, polak, admin
<mh_aliases2
])
ali -a ./Mail/mh_aliases devel 2>errout
code=$?
dir=`cd Mail;pwd`
sed "s|$dir/||g" errout >&2
exit $code
],
[0],
[gray, polak, admin
],
[ali: mh_aliases2:2: recursive inclusion
ali: mh_aliases2:2: `mh_aliases' already included at top level
])
MH_CHECK([ali: group name],[ali04 ali-group-name],[
cat /etc/group | awk -F : '/^#/ { next } $4!="" { print $1; print $4; exit 0 }' > tmpout
test -s tmpout || AT_SKIP_TEST
sed -n '1s/.*/korzen: =&/p' tmpout > mh_aliases
sed '1d' tmpout | tr -d ' ' > expout
ali -a ./mh_aliases korzen | tr -d ' '
],
[0],
[expout])
MH_CHECK([ali: group id],[ali05 ali-group-id ali-gid],[
cat /etc/passwd | awk -F : '/^#/ { next } $4==0 { print $1 }' > expout
test -s expout || AT_SKIP_TEST
name=`awk -F : '/^#/ { next } $3==0 { print $1 }' /etc/group < /dev/null`
test -z "$name" && AT_SKIP_TEST
echo "korzen: +$name" > mh_aliases
# FIXME: Do I need to sort the output?
ali -list -a ./mh_aliases korzen
],
[0],
[expout])
MH_CHECK([ali: everybody],[ali06 ali-everybody],[
lu 200 > expout
test -s expout || AT_SKIP_TEST
AT_DATA([mh_aliases],[
everybody: *
])
ali -list -a ./mh_aliases everybody
],
[0],
[expout])
MH_CHECK([ali: executable file inlcusion],[ali02 ali-xinclude],[
AT_DATA([Mail/ali.sh],[#! /bin/sh
echo "admin: gray, jeff"
])
chmod +x Mail/ali.sh
AT_DATA([mh_aliases],[
devel: gray, polak, admin
<ali.sh
])
ali -a ./mh_aliases devel
],
[0],
[gray, polak, gray, jeff
])
m4_popdef[MH_KEYWORDS])
# End of ali.at