From: Stefano Lattarini Date: Mon, 20 Dec 2010 15:30:10 +0000 (+0100) Subject: Add more tests about AUTOMAKE_OPTIONS. X-Git-Tag: v1.11b~416^2~2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=2bc047b1d6ba46439219979634a999c3e3be41ce;p=platform%2Fupstream%2Fautomake.git Add more tests about AUTOMAKE_OPTIONS. In view of soon-to-follow refactorings (still in the pursuit of a fix for Automake bug#7669 a.k.a. PR/547), add some more tests on AUTOMAKE_OPTIONS support, to prevent obvious regressions. * tests/amopts-variable-expansion.test: New test. * tests/amopts-location.test: Likewise. * tests/Makefile.am (TESTS): Update. --- diff --git a/ChangeLog b/ChangeLog index a25f400..fbe930a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,13 @@ 2011-01-15 Stefano Lattarini + Add more tests about AUTOMAKE_OPTIONS. + In view of soon-to-follow refactorings (still in the pursuit of a + fix for Automake bug#7669 a.k.a. PR/547), add some more tests on + AUTOMAKE_OPTIONS support, to prevent obvious regressions. + * tests/amopts-variable-expansion.test: New test. + * tests/amopts-location.test: Likewise. + * tests/Makefile.am (TESTS): Update. + For PR automake/547: Warnings win over strictness in AM_INIT_AUTOMAKE. This change ensures that, for what concerns the options specified diff --git a/tests/Makefile.am b/tests/Makefile.am index 0523add..68c1767 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -134,6 +134,8 @@ alpha2.test \ amassign.test \ ammissing.test \ amopt.test \ +amopts-location.test \ +amopts-variable-expansion.test \ amsubst.test \ ansi.test \ ansi2.test \ diff --git a/tests/Makefile.in b/tests/Makefile.in index 72fdeec..1a244ac 100644 --- a/tests/Makefile.in +++ b/tests/Makefile.in @@ -397,6 +397,8 @@ alpha2.test \ amassign.test \ ammissing.test \ amopt.test \ +amopts-location.test \ +amopts-variable-expansion.test \ amsubst.test \ ansi.test \ ansi2.test \ diff --git a/tests/amopts-location.test b/tests/amopts-location.test new file mode 100755 index 0000000..23b75c0 --- /dev/null +++ b/tests/amopts-location.test @@ -0,0 +1,83 @@ +#! /bin/sh +# Copyright (C) 2011 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 . + +# Check that errors about AUTOMAKE_OPTIONS refers to correct +# locations. + +. ./defs || Exit 1 + +cat > Makefile.am <<'END' +# comment \ +# continued +include Makefile0.am +END + +cat > Makefile0.am <<'END' +#1 +#2 +#3 +include Makefile1.am +END + +cat > Makefile1.am <<'END' +AUTOMAKE_OPTIONS = tar-pax +# comment +END + +cat > Makefile2.am <<'END' +## automake comment +bar: + : +line = \ +continued +AUTOMAKE_OPTIONS = tar-ustar +END + +cat > Makefile3.am <<'END' +quux = a +AUTOMAKE_OPTIONS = +quux += b +AUTOMAKE_OPTIONS += tar-v7 +zardoz = 1 +END + +cat >>configure.in <<'END' +AC_CONFIG_FILES([Makefile2 Makefile3]) +END + +$ACLOCAL +# Automake options 'tar-v7', 'tar-ustar' and 'tar-pax' can only be used +# as argument to AM_INIT_AUTOMAKE, and not in AUTOMAKE_OPTIONS. +AUTOMAKE_fails + +# Check that all the expected line numbers are correctly reported +# in automake warning/error messages. +grep '^Makefile1\.am:1:.*tar-pax' stderr +grep '^Makefile2\.am:6:.*tar-ustar' stderr +grep '^Makefile3\.am:2:.*tar-v7' stderr +grep '^Makefile\.am:3:.*Makefile0\.am.*included from here' stderr +grep '^Makefile0\.am:4:.*Makefile1\.am.*included from here' stderr + +# And also check that no botched line number is reported. +cat stderr \ + | grep -v '^Makefile\.am:3:' \ + | grep -v '^Makefile0\.am:4:' \ + | grep -v '^Makefile1\.am:1:' \ + | grep -v '^Makefile2\.am:6:' \ + | grep -v '^Makefile3\.am:2:' \ + | grep . && Exit 1 + +: diff --git a/tests/amopts-variable-expansion.test b/tests/amopts-variable-expansion.test new file mode 100755 index 0000000..7a746ea --- /dev/null +++ b/tests/amopts-variable-expansion.test @@ -0,0 +1,52 @@ +#! /bin/sh +# Copyright (C) 2011 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 . + +# Check that AUTOMAKE_OPTIONS support variable expansion. + +. ./defs || Exit 1 + +# We want complete control over automake options. +AUTOMAKE=$original_AUTOMAKE + +cat > configure.in < Makefile.am <<'END' +# The following should expand to `-Wnone -Wno-error foreign -Wportability'. +AUTOMAKE_OPTIONS = $(foo) foreign +AUTOMAKE_OPTIONS += ${bar} +foo = $(foo1) +foo1 = ${foo2} +foo2 = -Wnone +foo2 += $(foo3) +foo3 = -Wno-error +bar = -Wportability +## This will give a warning with `-Wportability' +zardoz := +## This would give a warning with `-Woverride'. +install: +END + +$ACLOCAL +AUTOMAKE_run 0 +grep '^Makefile\.am:.*:=.*not portable' stderr +grep README stderr && Exit 1 +$EGREP '(install|override)' stderr && Exit 1 + +: