tests: expose automake bug#14441
authorStefano Lattarini <stefano.lattarini@gmail.com>
Sun, 26 May 2013 23:02:05 +0000 (01:02 +0200)
committerStefano Lattarini <stefano.lattarini@gmail.com>
Mon, 27 May 2013 09:21:59 +0000 (11:21 +0200)
* t/suffix-custom-pr14441.sh: New test, still failing.
* t/list-of-tests.mk (handwritten_TESTS, XFAIL_TESTS): Add it.

Helped-by: Felix Salfelder <felix@salfelder.org>
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
THANKS
t/list-of-tests.mk
t/suffix-custom-pr14441.sh [new file with mode: 0644]

diff --git a/THANKS b/THANKS
index 66b3270..dbcb1ab 100644 (file)
--- a/THANKS
+++ b/THANKS
@@ -119,6 +119,7 @@ Esben Haabendal Soerensen       bart@kom.aau.dk
 Ezra Peisach                    epeisach@MED-XTAL.BU.EDU
 Fabian Alenius                  fabian.alenius@gmail.com
 Federico Simoncelli             fsimonce@redhat.com
+Felix Salfelder                 felix@salfelder.org
 Flavien Astraud                 flav42@yahoo.fr
 Florian Briegel                 briegel@zone42.de
 Francesco Salvestrini           salvestrini@gmail.com
index 89f7c87..8407cf8 100644 (file)
@@ -41,6 +41,7 @@ t/remake-timing-bug-pr8365.sh \
 t/lex-subobj-nodep.sh \
 t/remake-am-pr10111.sh \
 t/remake-m4-pr10111.sh \
+t/suffix-custom-pr14441.sh \
 $(perl_fake_XFAIL_TESTS)
 
 perl_TESTS = \
@@ -1060,6 +1061,7 @@ t/suffix9.sh \
 t/suffix10.tap \
 t/suffix11.tap \
 t/suffix-chain.tap \
+t/suffix-custom-pr14441.sh \
 t/suffix-custom-subobj.sh \
 t/suffix-custom-subobj-and-specflg.sh \
 t/symlink.sh \
diff --git a/t/suffix-custom-pr14441.sh b/t/suffix-custom-pr14441.sh
new file mode 100644 (file)
index 0000000..508f2e0
--- /dev/null
@@ -0,0 +1,56 @@
+#! /bin/sh
+# Copyright (C) 2002-2013 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 for bug#14441: the same user-defined suffix being transformed into
+# different automake-known suffixes in different Makefiles was confusing
+# Automake.
+
+. test-init.sh
+
+cat >>configure.ac <<EOF
+AC_PROG_CC
+AC_PROG_CXX
+AC_CONFIG_FILES([sub/Makefile])
+EOF
+
+mkdir sub
+
+cat > Makefile.am <<'END'
+SUBDIRS = sub
+bin_PROGRAMS = one
+one_SOURCES = one.ext
+.ext.cc:
+       whatever
+END
+
+cat > sub/Makefile.am <<'END'
+bin_PROGRAMS = two
+two_SOURCES = two.ext
+.ext.c:
+       do something
+END
+
+$ACLOCAL
+$AUTOMAKE -a
+
+$FGREP '.c' Makefile.in sub/Makefile.in # For debugging.
+
+grep '^\.cc\.o:' Makefile.in
+LC_ALL=C $EGREP '\.c[^a-z]' Makefile.in && exit 1
+grep '^\.c\.o:' sub/Makefile.in
+$FGREP '.cc' sub/Makefile.in && exit 1
+
+: