test defs: move in 't/ax/test-defs.sh'
[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_ 16 # Two times the number of variable names in $vars.
28
29 vars='
30   required
31   am_serial_tests
32   am_using_tap
33   am_create_testdir
34   am_tap_implementation
35   am_test_prefer_config_shell
36   am_original_AUTOMAKE
37   am_original_ACLOCAL
38 '
39
40 do_run ()
41 {
42   env "$1=foo" $AM_TEST_RUNNER_SHELL -c '. ./defs' foo.test
43 }
44
45 do_grep ()
46 {
47   env "$1=foo" $AM_TEST_RUNNER_SHELL -c '. ./defs' foo.test 2>&1 1>&5 \
48     | grep "foo\.test:.* variable '$1'.* in the environment.*unsafe"
49 }
50
51 for var in $vars; do
52   command_ok_ "$var [err status]" not do_run $var
53   command_ok_ "$var [err message]" do_grep $var
54 done
55
56 :