# ENVTEST(name,kw,args,output) m4_pushdef([ENVTEST], [AT_SETUP([$1]) AT_KEYWORDS([envop $2]) AT_CHECK([envtest $3], [0], [$4]) AT_CLEANUP ]) dnl ############################# dnl Start tests dnl ############################# AT_BANNER([Environment modification framework]) ENVTEST([default environment],[defenv],[], [HOME="/home/user" LC_ALL="C" LC_CTYPE="C" LC_MESSAGES="C" LC_NUMERIC="C" LOGIN="user" PATH="/usr/local/bin:/usr/bin:/bin" PWD="/home" USER="user" ]) ENVTEST([clear],[clear],[-clear]) ENVTEST([keep name],[keep],[-clear -keep HOME USER], [HOME="/home/user" USER="user" ]) ENVTEST([keep name=value],[keep],[-clear -keep USER=user], [USER="user" ]) ENVTEST([keep name=value (mismatch)],[keep],[-clear -keep USER=gray]) ENVTEST([keep wildcard],[keep],[-clear -keep 'LC_*'], [LC_ALL="C" LC_CTYPE="C" LC_MESSAGES="C" LC_NUMERIC="C" ]) ENVTEST([keep wildcard (2)],[keep],[-clear -keep 'LC_*A*'], [LC_ALL="C" LC_MESSAGES="C" ]) ENVTEST([keep wildcard (mismatch)],[keep],[-clear -keep 'LC_*A*R']) ENVTEST([set],[set],[-set FOO=bar BAR=bar], [BAR="bar" FOO="bar" HOME="/home/user" LC_ALL="C" LC_CTYPE="C" LC_MESSAGES="C" LC_NUMERIC="C" LOGIN="user" PATH="/usr/local/bin:/usr/bin:/bin" PWD="/home" USER="user" ]) ENVTEST([set (variable expansion)],[set],[-set 'PATH=${PATH}${PATH:+:}$HOME'], [HOME="/home/user" LC_ALL="C" LC_CTYPE="C" LC_MESSAGES="C" LC_NUMERIC="C" LOGIN="user" PATH="/usr/local/bin:/usr/bin:/bin:/home/user" PWD="/home" USER="user" ]) ENVTEST([unset name],[unset],[-unset HOME], [LC_ALL="C" LC_CTYPE="C" LC_MESSAGES="C" LC_NUMERIC="C" LOGIN="user" PATH="/usr/local/bin:/usr/bin:/bin" PWD="/home" USER="user" ]) ENVTEST([unset wildcard],[unset],[-unset 'LC_*'], [HOME="/home/user" LOGIN="user" PATH="/usr/local/bin:/usr/bin:/bin" PWD="/home" USER="user" ]) ENVTEST([unset with value],[unset],[-unset 'LOGIN=user'], [HOME="/home/user" LC_ALL="C" LC_CTYPE="C" LC_MESSAGES="C" LC_NUMERIC="C" PATH="/usr/local/bin:/usr/bin:/bin" PWD="/home" USER="user" ]) ENVTEST([unset with value (mismatch)],[unset],[-unset 'LOGIN=another'], [HOME="/home/user" LC_ALL="C" LC_CTYPE="C" LC_MESSAGES="C" LC_NUMERIC="C" LOGIN="user" PATH="/usr/local/bin:/usr/bin:/bin" PWD="/home" USER="user" ]) m4_popdef([ENVTEST])