diff options
Diffstat (limited to 'tests/envglobal.at')
-rw-r--r-- | tests/envglobal.at | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/tests/envglobal.at b/tests/envglobal.at new file mode 100644 index 0000000..9b89ce2 --- /dev/null +++ b/tests/envglobal.at @@ -0,0 +1,86 @@ +# This file is part of GNU pies testsuite. -*- autotest -*- +# Copyright (C) 2020-2023 Sergey Poznyakoff +# +# GNU pies 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 pies 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 pies. If not, see <http://www.gnu.org/licenses/>. +dnl ENVTEST(NAME,KW,ENV,OUT) +m4_pushdef([ENVTEST], +[AT_SETUP([$1]) +AT_KEYWORDS([env $2]) +AT_CHECK([ +PIES_XFAIL_CHECK +PIES_CONTROL_INIT +cat > envtest.conf <<_EOT +env { + $3 +} +component envtest { + command "$abs_builddir/envtest -clone"; + chdir $PWD; + stdout file "$PWD/log"; + return-code 0 { + action disable; + exec "$abs_top_builddir/src/piesctl --url unix:///$PWD/pies.ctl --config-file=/dev/null --no-netrc shutdown"; + } +} +_EOT + +to 5 \ + envtest -exec \ + $abs_top_builddir/src/pies --no-preprocessor --foreground --stderr \ + --config-file control.conf --config-file envtest.conf --debug 1 2>errlog +cat log +], +[0], +[$4]) +AT_CLEANUP]) + +dnl ############################# +dnl Start tests +dnl ############################# + +AT_BANNER([Global environment statement]) + +ENVTEST([clear],[clear],[clear;],[]) + +ENVTEST([keep],[keep],[keep "LC_*";], +[LC_ALL="C" +LC_CTYPE="C" +LC_MESSAGES="C" +LC_NUMERIC="C" +]) + +ENVTEST([set],[set],[set "FOO=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" +PIES_INSTANCE="pies" +PWD="/home" +USER="user" +]) + +ENVTEST([unset],[unset],[unset "LC_*"; unset PWD;], +[HOME="/home/user" +LOGIN="user" +PATH="/usr/local/bin:/usr/bin:/bin" +PIES_INSTANCE="pies" +USER="user" +]) + +m4_popdef([ENVTEST]) + |