]> git.ipfire.org Git - thirdparty/automake.git/commitdiff
coverage: expose automake bug#10111 in the testsuite
authorStefano Lattarini <stefano.lattarini@gmail.com>
Tue, 22 Nov 2011 19:50:53 +0000 (20:50 +0100)
committerStefano Lattarini <stefano.lattarini@gmail.com>
Tue, 22 Nov 2011 20:23:48 +0000 (21:23 +0100)
* tests/remake-am-pr10111.test: New test, xfailing.
* tests/remake-m4-pr10111.test: Likewise.
* tests/Makefile.am (TESTS, XFAIL_TESTS): Add them.

ChangeLog
tests/Makefile.am
tests/Makefile.in
tests/remake-am-pr10111.test [new file with mode: 0644]
tests/remake-m4-pr10111.test [new file with mode: 0644]

index a828c217443165f1966e82d87efe75ce63b8cc6f..e3787bbbc68bff269c6c26f8888e67f1241406f8 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2011-11-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
+
+       coverage: expose automake bug#10111 in the testsuite
+       * tests/remake-am-pr10111.test: New test, xfailing.
+       * tests/remake-m4-pr10111.test: Likewise.
+       * tests/Makefile.am (TESTS, XFAIL_TESTS): Add them.
+
 2011-11-19  Stefano Lattarini  <stefano.lattarini@gmail.com>
 
        texinfo: work around Solaris 10 xpg4 shell bug in install rules
index dd3fb4615f25b142336cc01d3104ca65957f3acd..936b781ebce14457ed0de55fb45db994e45f389b 100644 (file)
@@ -26,6 +26,8 @@ gcj6.test \
 java-nobase.test \
 pr8365-remake-timing.test \
 lex-subobj-nodep.test \
+remake-am-pr10111.test \
+remake-m4-pr10111.test \
 vala-vpath.test \
 txinfo5.test
 
@@ -722,6 +724,8 @@ remake-subdir-gnu.test \
 remake-subdir.test \
 remake-subdir2.test \
 remake-subdir-long-time.test \
+remake-am-pr10111.test \
+remake-m4-pr10111.test \
 pr8365-remake-timing.test \
 regex.test \
 req.test \
index d2085c849cd74c2df20be91b21d164554c67f804..18983aea94bbba2a46219789166f73316364344d 100644 (file)
@@ -297,6 +297,8 @@ gcj6.test \
 java-nobase.test \
 pr8365-remake-timing.test \
 lex-subobj-nodep.test \
+remake-am-pr10111.test \
+remake-m4-pr10111.test \
 vala-vpath.test \
 txinfo5.test
 
@@ -1006,6 +1008,8 @@ remake-subdir-gnu.test \
 remake-subdir.test \
 remake-subdir2.test \
 remake-subdir-long-time.test \
+remake-am-pr10111.test \
+remake-m4-pr10111.test \
 pr8365-remake-timing.test \
 regex.test \
 req.test \
diff --git a/tests/remake-am-pr10111.test b/tests/remake-am-pr10111.test
new file mode 100644 (file)
index 0000000..a8c2dc6
--- /dev/null
@@ -0,0 +1,64 @@
+#! /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 <http://www.gnu.org/licenses/>.
+
+# Check that our remake rules doesn't give spurious successes in
+# some corner case situations where they should actually fail.
+# See automake bug#10111.
+# To be clear, we are speaking about *very* corner-case situations here,
+# and the fact that the remake rules might get confused in them is not a
+# big deal in practice (in fact, this test *currently fails*).  Still,
+# keeping the limitation exposed is a good idea anyway.
+
+. ./defs || Exit 1
+
+set -e
+
+cat >> configure.in <<'END'
+AC_OUTPUT
+END
+
+: > foobar.am
+
+cat > Makefile.am <<'END'
+include $(srcdir)/foobar.am
+$(srcdir)/foobar.am:
+## Creative quoring to avoid spurious matches in the grepping
+## of Makefile.in, later.
+       echo '#' 'foobar' 'was 'here' '#' > $@
+END
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+
+./configure
+
+# OK, so the developer wants to interactively try out how the
+# "distributed form" of his package behaves.
+$MAKE distdir
+cd $distdir
+# He's interested in trying out a VPATH build.
+mkdir build
+cd build
+../configure
+# He wants to verify that the rules he's written to rebuild a file
+# included by configure.in works also in VPATH builds.
+rm -f ../foobar.am
+$MAKE
+grep '# foobar was here #' ../Makefile.in
+$MAKE distcheck
+
+:
diff --git a/tests/remake-m4-pr10111.test b/tests/remake-m4-pr10111.test
new file mode 100644 (file)
index 0000000..2d89c25
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.
+
+# Check that our remake rules doesn't give spurious successes in
+# some corner case situations where they should actually fail.
+# See automake bug#10111.
+# To be clear, we are speaking about *very* corner-case situations here,
+# and the fact that the remake rules might get confused in them is not a
+# big deal in practice (in fact, this test *currently fails*).  Still,
+# keeping the limitation exposed is a good idea anyway.
+
+. ./defs || Exit 1
+
+set -e
+
+cat >> configure.in <<'END'
+m4_include([foobar.m4])
+AC_OUTPUT
+END
+
+: > foobar.m4
+
+cat > Makefile.am <<'END'
+$(srcdir)/foobar.m4:
+       echo ': foobar was here :' > $@
+END
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+
+./configure
+
+# OK, so the developer wants to interactively try out how the
+# "distributed form" of his package behaves.
+$MAKE distdir
+cd $distdir
+# He's interested in trying out a VPATH build.
+mkdir build
+cd build
+../configure
+# He wants to verify that the rules he's written to rebuild a file
+# included by configure.in works also in VPATH builds.
+rm -f ../foobar.m4
+$MAKE
+grep ': foobar was here :' ../configure
+$MAKE distcheck
+
+: