From: Stefano Lattarini Date: Thu, 6 Oct 2011 11:26:58 +0000 (+0200) Subject: coverage: expose automake bug#9651 X-Git-Tag: v1.11.1b~17^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e8082fb643b8ecd5997b9d8ca52204a81d60ea10;p=thirdparty%2Fautomake.git coverage: expose automake bug#9651 * tests/dist-auxfile.test: New test, xfailing. * tests/dist-auxfile-2.test: Likewise. * tests/Makefile.am (TESTS, XFAIL_TESTS): Add them. --- diff --git a/ChangeLog b/ChangeLog index 7d2265576..b1951569f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2011-10-06 Stefano Lattarini + + coverage: expose automake bug#9651 + * tests/dist-auxfile.test: New test, xfailing. + * tests/dist-auxfile-2.test: Likewise. + * tests/Makefile.am (TESTS, XFAIL_TESTS): Add them. + 2011-10-01 Stefano Lattarini parallel-tests: automake error our on invalid TEST_EXTENSIONS diff --git a/tests/Makefile.am b/tests/Makefile.am index f9b8d6cef..bf17aeafc 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -20,6 +20,8 @@ XFAIL_TESTS = \ all.test \ auxdir2.test \ cond17.test \ +dist-auxfile.test \ +dist-auxfile-2.test \ gcj6.test \ java-nobase.test \ pr8365-remake-timing.test \ @@ -316,6 +318,8 @@ destdir.test \ dirlist.test \ dirlist2.test \ discover.test \ +dist-auxfile.test \ +dist-auxfile-2.test \ dist-included-parent-dir.test \ distcleancheck.test \ distcom2.test \ diff --git a/tests/Makefile.in b/tests/Makefile.in index adfac58e0..f66a9c77a 100644 --- a/tests/Makefile.in +++ b/tests/Makefile.in @@ -291,6 +291,8 @@ XFAIL_TESTS = \ all.test \ auxdir2.test \ cond17.test \ +dist-auxfile.test \ +dist-auxfile-2.test \ gcj6.test \ java-nobase.test \ pr8365-remake-timing.test \ @@ -600,6 +602,8 @@ destdir.test \ dirlist.test \ dirlist2.test \ discover.test \ +dist-auxfile.test \ +dist-auxfile-2.test \ dist-included-parent-dir.test \ distcleancheck.test \ distcom2.test \ diff --git a/tests/dist-auxfile-2.test b/tests/dist-auxfile-2.test new file mode 100755 index 000000000..08daa6caa --- /dev/null +++ b/tests/dist-auxfile-2.test @@ -0,0 +1,62 @@ +#! /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 . + +# Files specified by AC_REQUIRE_AUX_FILE must exist, and if a Makefile +# is present in the build-aux directory, they correctly get automatically +# distributed. +# Related to automake bug#9651. + +am_create_testdir=empty +. ./defs || Exit 1 + +set -e + +cat > configure.in < Makefile.am <<'END' +SUBDIRS = sub +test: distdir + ls -l $(distdir) $(distdir)/* ;: For debugging. + test -f $(distdir)/sub/zardoz +.PHONY: test +check-local: test +END + +mkdir sub +: > sub/Makefile.am + +echo dummy > sub/zardoz + +$ACLOCAL +$AUTOCONF +$AUTOMAKE -a +test -f sub/install-sh +# Should work also without `--add-missing'. +$AUTOMAKE + +./configure + +$MAKE test +$MAKE distcheck + +: diff --git a/tests/dist-auxfile.test b/tests/dist-auxfile.test new file mode 100755 index 000000000..2776a250f --- /dev/null +++ b/tests/dist-auxfile.test @@ -0,0 +1,96 @@ +#! /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 . + +# Files specified by AC_REQUIRE_AUX_FILE must exist, and they get +# automatically distributed by the top-level Makefile.am. +# Automake bug#9651 reported that this didn't happen when the build-aux +# directory was set to `.' by AC_CONFIG_AUX_DIR. + +am_create_testdir=empty +. ./defs || Exit 1 + +set -e + +i=0 +for auxdir in build-aux ''; do + + echo "*** Testing with auxdir '$auxdir' ***" + + i=`expr $i + 1` + mkdir T$i.d + cd T$i.d + + unindent > configure.in < Makefile.am + unindent >> Makefile.am <<'END' + SUBDIRS = subdir + test: distdir + ls -l $(distdir) $(distdir)/* ;: For debugging. + @echo DIST_COMMON = $(DIST_COMMON) ;: Likewise. + echo ' ' $(DIST_COMMON) ' ' | grep '[ /]$(auxdir)foo.txt ' + echo ' ' $(DIST_COMMON) ' ' | grep '[ /]$(auxdir)bar.sh ' + echo ' ' $(DIST_COMMON) ' ' | grep '[ /]$(auxdir)zardoz ' + test -f $(distdir)/$(auxdir)foo.txt + test -f $(distdir)/$(auxdir)bar.sh + test -f $(distdir)/$(auxdir)zardoz + .PHONY: test + check-local: test +END + + mkdir subdir + : > subdir/Makefile.am + + test -z "$auxdir" || mkdir "$auxdir" || Exit 99 + + if test -z "$auxdir"; then + auxdir=. + auxdir_rx='\.' + else + auxdir_rx=$auxdir + fi + + $ACLOCAL + $AUTOCONF + + AUTOMAKE_fails + grep "^configure\\.in:4:.* required file.*$auxdir_rx/foo\\.txt" stderr + grep "^configure\\.in:5:.* required file.*$auxdir_rx/bar\\.sh" stderr + grep "^configure\\.in:6:.* required file.*$auxdir_rx/zardoz" stderr + + touch $auxdir/foo.txt $auxdir/bar.sh $auxdir/zardoz + cp "$testsrcdir"/../lib/missing "$testsrcdir"/../lib/install-sh $auxdir + $AUTOMAKE + ./configure + $MAKE test + $EGREP '(foo\.txt|bar\.sh|zardoz)' subdir/Makefile.in && Exit 1 + + $MAKE distcheck + + cd .. + +done + +: