ali.at 2.92 KB
# This file is part of GNU Mailutils. -*- Autotest -*-
# Copyright (C) 2010-2012, 2014-2016 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