bc7818610ae413370e7a052af1ede0aeadc3da76
[platform/upstream/automake.git] / t / self-check-env-sanitize.tap
1 #! /bin/sh
2 # Copyright (C) 2011-2012 Free Software Foundation, Inc.
3 #
4 # This program is free software; you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License as published by
6 # the Free Software Foundation; either version 2, or (at your option)
7 # any later version.
8 #
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12 # GNU General Public License for more details.
13 #
14 # You should have received a copy of the GNU General Public License
15 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
16
17 # Sanity check for the automake testsuite.
18 # Make sure that the testsuite initialization code complains when
19 # some testsuite-influential variables are set in the environment.
20
21 am_create_testdir=no
22 . ./defs || Exit 1
23
24 set -x
25 exec 5>&1
26
27 plan_ 18 # Two times the number of variable names in $vars.
28
29 vars='
30   me
31   required
32   am_parallel_tests
33   am_using_tap
34   am_create_testdir
35   am_tap_implementation
36   am_test_prefer_config_shell
37   am_original_AUTOMAKE
38   am_original_ACLOCAL
39 '
40
41 do_run ()
42 {
43   env "$1=foo" $AM_TEST_RUNNER_SHELL -c '. ./defs' foo.test
44 }
45
46 do_grep ()
47 {
48   env "$1=foo" $AM_TEST_RUNNER_SHELL -c '. ./defs' foo.test 2>&1 1>&5 \
49     | grep "foo\.test:.* variable '$1'.* in the environment.*unsafe"
50 }
51
52 for var in $vars; do
53   command_ok_ "$var [err status]" not do_run $var
54   command_ok_ "$var [err message]" do_grep $var
55 done
56
57 :