The attached patch is based off of maint, and intended for master. OK to apply?
Regards, Stefano -*-*-*- Improve and extend tests on `:=' variable assignments. * tests/colneq.test: Avoid useless use of wildcards and extra variable assignments in Makefile.am. Use command-line automake options instead of editing AUTOMAKE_OPTIONS in Makefile.am. Make grepping of the generated Makefile.in slightly stricter. Add a trailing `:' command. * tests/colneq.test: Avoid useless use of EXTRA_DIST special variable in Makefile.am. Do not create dummy files which are not needed anymore. Also run autoconf, ./configure and make. Add a trailing `:' command. * tests/colneq3.test: New test, similar to colneq.test, but running ./configure and make. * tests/Makefile.am (TESTS): Update. --- ChangeLog | 16 ++++++++++++++++ tests/Makefile.am | 1 + tests/Makefile.in | 1 + tests/colneq.test | 13 +++++++------ tests/colneq2.test | 19 ++++++++++++++----- tests/colneq3.test | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 6 files changed, 85 insertions(+), 11 deletions(-) create mode 100755 tests/colneq3.test
From f40de139c765d5f7d83c586feb5f95462a98b85a Mon Sep 17 00:00:00 2001 From: Stefano Lattarini <stefano.lattar...@gmail.com> Date: Thu, 25 Nov 2010 14:33:54 +0100 Subject: [PATCH] Improve and extend tests on `:=' variable assignments. * tests/colneq.test: Avoid useless use of wildcards and extra variable assignments in Makefile.am. Use command-line automake options instead of editing AUTOMAKE_OPTIONS in Makefile.am. Make grepping of the generated Makefile.in slightly stricter. Add a trailing `:' command. * tests/colneq.test: Avoid useless use of EXTRA_DIST special variable in Makefile.am. Do not create dummy files which are not needed anymore. Also run autoconf, ./configure and make. Add a trailing `:' command. * tests/colneq3.test: New test, similar to colneq.test, but running ./configure and make. * tests/Makefile.am (TESTS): Update. --- ChangeLog | 16 ++++++++++++++++ tests/Makefile.am | 1 + tests/Makefile.in | 1 + tests/colneq.test | 13 +++++++------ tests/colneq2.test | 19 ++++++++++++++----- tests/colneq3.test | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 6 files changed, 85 insertions(+), 11 deletions(-) create mode 100755 tests/colneq3.test diff --git a/ChangeLog b/ChangeLog index 2cbce3b..ace57fb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,19 @@ +2010-11-25 Stefano Lattarini <stefano.lattar...@gmail.com> + + Improve and extend tests on `:=' variable assignments. + * tests/colneq.test: Avoid useless use of wildcards and extra + variable assignments in Makefile.am. Use command-line automake + options instead of editing AUTOMAKE_OPTIONS in Makefile.am. + Make grepping of the generated Makefile.in slightly stricter. + Add a trailing `:' command. + * tests/colneq.test: Avoid useless use of EXTRA_DIST special + variable in Makefile.am. Do not create dummy files which are + not needed anymore. Also run autoconf, ./configure and make. + Add a trailing `:' command. + * tests/colneq3.test: New test, similar to colneq.test, but + running ./configure and make. + * tests/Makefile.am (TESTS): Update. + 2010-11-21 Stefano Lattarini <stefano.lattar...@gmail.com> Tests: consistently use "|| Exit 1" after ". ./defs". diff --git a/tests/Makefile.am b/tests/Makefile.am index 5f1ab9e..d36bf88 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -138,6 +138,7 @@ clean.test \ clean2.test \ colneq.test \ colneq2.test \ +colneq3.test \ colon.test \ colon2.test \ colon3.test \ diff --git a/tests/Makefile.in b/tests/Makefile.in index 140b178..f545e6c 100644 --- a/tests/Makefile.in +++ b/tests/Makefile.in @@ -405,6 +405,7 @@ clean.test \ clean2.test \ colneq.test \ colneq2.test \ +colneq3.test \ colon.test \ colon2.test \ colon3.test \ diff --git a/tests/colneq.test b/tests/colneq.test index 59d2414..66dbb8b 100755 --- a/tests/colneq.test +++ b/tests/colneq.test @@ -1,5 +1,6 @@ #! /bin/sh -# Copyright (C) 1996, 2001, 2002, 2003 Free Software Foundation, Inc. +# Copyright (C) 1996, 2001, 2002, 2003, 2010 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 @@ -21,14 +22,14 @@ set -e cat > Makefile.am << 'END' -ICONS := $(wildcard *.xbm) -data_DATA = $(ICONS) +FOOBAR := zardoz END $ACLOCAL AUTOMAKE_fails grep ':=.*not portable' stderr -echo 'AUTOMAKE_OPTIONS = -Wno-portability' >> Makefile.am -$AUTOMAKE -grep 'ICONS :=' Makefile.in +$AUTOMAKE -Wno-portability +grep '^FOOBAR *:= *zardoz *$' Makefile.in + +: diff --git a/tests/colneq2.test b/tests/colneq2.test index e454c46..0c05899 100755 --- a/tests/colneq2.test +++ b/tests/colneq2.test @@ -20,14 +20,23 @@ set -e +cat >> configure.in << 'END' +AC_OUTPUT +END + cat > Makefile.am << 'END' t = a b c -EXTRA_DIST = $(t:=.test) +FOO = $(t:=.test) +.PHONY: test +test: + test x'$(FOO)' = x'a.test b.test c.test' END -: > a.test -: > b.test -: > c.test - $ACLOCAL +$AUTOCONF $AUTOMAKE + +./configure +$MAKE test + +: diff --git a/tests/colneq3.test b/tests/colneq3.test new file mode 100755 index 0000000..4c2afaa --- /dev/null +++ b/tests/colneq3.test @@ -0,0 +1,46 @@ +#! /bin/sh +# Copyright (C) 2010 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 that := definitions work as expected at make time. + +required=GNUmake +. ./defs || Exit 1 + +set -e + +cat >> configure.in << 'END' +AC_OUTPUT +END + +cat > Makefile.am << 'END' +BAR := $(FOO) +BAZ = $(FOO) +FOO := foo +.PHONY: test +test: + test x'$(FOO)' = x'foo' + test x'$(BAZ)' = x'foo' + test x'$(BAR)' = x +END + +$ACLOCAL +$AUTOCONF +$AUTOMAKE -Wno-portability + +./configure +$MAKE test + +: -- 1.7.1