Hash :
e36003d0
Author :
Date :
2011-03-14T12:44:53
maintcheck: look for problematic names of testcases The configure.in stub created by default by `tests/defs' obtains the first argument of AC_INIT from the test name, and this can cause some supported autoconf versions to fail with a spurious error if that test name contains the name of an m4 or m4sugar builtin or macro (e.g., `defn' or `m4_undefine'). See for example the bug fixed by commit v1.11-287-g1325a8a. This change add a maintainer check that warns about test names which are possibly problematic in this regard. * Makefile.am (sc_test_names): New maintainer-check target. (syntax_check_rules): Add it. (m4_builtins): New helper variable. (TESTS): Updated according to the following renamings. * tests/include.test: Renamed ... * tests/hdr-vars-defined-once.test: ... to this. * tests/sinclude.test: Renamed ... * tests/m4-inclusion.test: ... to this, and simplified accordingly. * tests/include2.test: Renamed ... * tests/dist-included-parent-dir.test: ... to this, for consistency.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
#! /bin/sh
# Copyright (C) 1999, 2001, 2002, 2005, 2006 Free Software Foundation, Inc.
#
# This program 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 2, or (at your option)
# any later version.
#
# This program 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 this program. If not, see <http://www.gnu.org/licenses/>.
# Test to make sure header vars defined only once when including.
# Report from Marcus G. Daniels.
. ./defs || Exit 1
echo AC_OUTPUT >> configure.in
cat > Makefile.am << 'END'
include foo
END
: > foo
$ACLOCAL || Exit 1
$AUTOMAKE || Exit 1
len="`grep '^srcdir' Makefile.in | wc -l`"
echo "len = $len"
test $len -eq 1 || Exit 1
# Also make sure include file is distributed.
(sed -n -e '/^DIST_COMMON =.*\\$/ {
:loop
p
n
t clear
:clear
s/\\$/\\/
t loop
p
n
}' -e '/^DIST_COMMON =/ p' Makefile.in | grep foo)