From c8668e07d0dfa0ad17634f36fda26eeecd2d770d Mon Sep 17 00:00:00 2001 From: Stefano Lattarini Date: Sun, 8 Aug 2010 16:45:17 +0200 Subject: [PATCH] PR tests: add excerpts from original bug reports, for clarity. * tests/pr2.test: Ditto. * tests/pr9.test: Likewise. * tests/pr72.test: Likewise. * tests/pr87.test: Likewise. * tests/pr211.test: Likewise. * tests/pr220.test: Likewise. * tests/pr224.test: Likewise. * tests/pr229.test: Likewise. * tests/pr243.test: Likewise. * tests/pr266.test: Likewise. * tests/pr279.test: Likewise, and tell to keep it in sync with its sister test. * tests/pr279-2.test: Likewise. --- ChangeLog | 17 +++++++++++++++++ tests/pr2.test | 12 ++++++++++++ tests/pr211.test | 11 +++++++++++ tests/pr220.test | 6 ++++++ tests/pr224.test | 9 ++++++++- tests/pr229.test | 1 + tests/pr243.test | 10 ++++++++++ tests/pr266.test | 1 + tests/pr279-2.test | 8 ++++++++ tests/pr279.test | 8 ++++++++ tests/pr307.test | 14 ++++++++++++++ tests/pr72.test | 2 ++ tests/pr87.test | 1 + tests/pr9.test | 7 +++++++ 14 files changed, 106 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 6eb364f07..bfc7f91d5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,20 @@ +2010-08-09 Stefano Lattarini + + Tests for PR: add excerpts from original bug report, for clarity. + * tests/pr2.test: Ditto. + * tests/pr9.test: Likewise. + * tests/pr72.test: Likewise. + * tests/pr87.test: Likewise. + * tests/pr211.test: Likewise. + * tests/pr220.test: Likewise. + * tests/pr224.test: Likewise. + * tests/pr229.test: Likewise. + * tests/pr243.test: Likewise. + * tests/pr266.test: Likewise. + * tests/pr279.test: Likewise, and tell to keep it in sync + with its sister test. + * tests/pr279-2.test: Likewise. + 2010-08-08 Stefano Lattarini Tweak, extend and improve tests `cond[a-z]*.test'. diff --git a/tests/pr2.test b/tests/pr2.test index 258a8efbb..833033171 100755 --- a/tests/pr2.test +++ b/tests/pr2.test @@ -16,11 +16,23 @@ # along with this program. If not, see . # Test for bug reported in PR 2. +# "make dist" fails for AC_OUTPUT(README.foo:templ/README.foo.in). +# +# == Report == +# When my AC_OUTPUT macro in configure.in contains something +# like the following (among the Makefiles) +# README.foo:templ/README.foo.in +# the generated dist target in the Makefile.in fails, +# because DIST_COMMON will contain templ/README.foo.in +# and the dist target will try to copy templ/README.foo.in +# to the distribution directory before it creates a templ +# subdirectory in the distribution directory. . ./defs || Exit 1 set -e +# Please keep this underquoted and old-style. cat > configure.in << 'END' AC_INIT AM_INIT_AUTOMAKE(nonesuch, nonesuch) diff --git a/tests/pr211.test b/tests/pr211.test index 9344fd2dc..f29797a75 100755 --- a/tests/pr211.test +++ b/tests/pr211.test @@ -15,6 +15,17 @@ # along with this program. If not, see . # Test for PR 211. +# +# == Description == +# Suppose you have a library and an ltlibrary in the same +# directory which use the same source: +# +# libfoo_la_SOURCES = foo.c +# libbar_a_SOURCES = foo.c +# +# In this case foo.c will be compiled twice but using different +# compilers. This is a conflict. In this case the user should +# rename one of the `foo.o's. required=libtoolize . ./defs || Exit 1 diff --git a/tests/pr220.test b/tests/pr220.test index 25e1f0e5f..9525694c8 100755 --- a/tests/pr220.test +++ b/tests/pr220.test @@ -15,6 +15,12 @@ # along with this program. If not, see . # Test for PR automake/220. +# Test for problems when conditionals are not actually defined. +# Check that the problems is diagnosed by configure. +# This isn't perfect (ideally we'd like an error from autoconf), +# but it is the best we can do. It certainly makes it easier +# to debug the problem. +# Note that this should be also in the documentation. required=gcc . ./defs || Exit 1 diff --git a/tests/pr224.test b/tests/pr224.test index fdcb997bf..63f78f1c6 100755 --- a/tests/pr224.test +++ b/tests/pr224.test @@ -14,7 +14,14 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -# Test for $(top_srcdir) with dependencies. +# Test for PR automake/224: $(top_srcdir) w.r.t. dependencies. +# +# == Description == +# Dependency tracking data should be stored in in the relative path +# of the source file, as opposed the object file. +# I.e., for `foo.c' in `$(top_srcdir)/bar', being built in +# `$(top_srcdir)/build', the location of the `.deps' directory +# should be `$(top_builddir)/bar/.deps'. required=gcc . ./defs || Exit 1 diff --git a/tests/pr229.test b/tests/pr229.test index a97ef4f62..3efa6ed9d 100755 --- a/tests/pr229.test +++ b/tests/pr229.test @@ -14,6 +14,7 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . +# Test for PR automake/229. # Make sure AC_CYGWIN requires config.{sub,guess}. # Reported by James Youngman. diff --git a/tests/pr243.test b/tests/pr243.test index a5e869edf..cf39b880d 100755 --- a/tests/pr243.test +++ b/tests/pr243.test @@ -15,6 +15,16 @@ # along with this program. If not, see . # Test for PR 243. +# AM_OUTPUT_DEPENDENCY_COMMANDS doesn't handle +# `Makefile:Makefile.in:tail.mk' in AC_OUTPUT. +# +# == Report == +# If configure.in has something like: +# AC_OUTPUT(Makefile:Makefile.in:tail.mk) +# then config.status cannot parse the Makefile to build the +# dependency files in the .deps directory. This is because +# the AM_OUTPUT_DEPENDENCY_COMMANDS macro cannot cope with +# the colon in the CONFIG_FILES variable. . ./defs || Exit 1 diff --git a/tests/pr266.test b/tests/pr266.test index a1cd2fed2..f2b54dd06 100755 --- a/tests/pr266.test +++ b/tests/pr266.test @@ -15,6 +15,7 @@ # along with this program. If not, see . # Test for PR 266. +# Dependency tracking -vs- nonstandard Makefile names . ./defs || Exit 1 diff --git a/tests/pr279-2.test b/tests/pr279-2.test index 286e33a51..5bc9f8532 100755 --- a/tests/pr279-2.test +++ b/tests/pr279-2.test @@ -15,6 +15,14 @@ # along with this program. If not, see . # Another test related to PR 279. +# Multiple DEPENDENCIES on conditionals. +# Please keep this in sync with sister test pr279.test. +# +# == Report == +# When defining xxx_LDADD and xxx_DEPENDENCIES variables where the +# xxx_LDADD one contains values set in conditionals, automake will +# fail with messages like: +# foo_DEPENDENCIES was already defined in condition TRUE, ... . ./defs || Exit 1 diff --git a/tests/pr279.test b/tests/pr279.test index 50dff53e5..ba11b2dfc 100755 --- a/tests/pr279.test +++ b/tests/pr279.test @@ -15,6 +15,14 @@ # along with this program. If not, see . # Test for PR 279. +# Multiple DEPENDENCIES on conditionals. +# Please keep this in sync with sister test pr279-2.test. +# +# == Report == +# When defining xxx_LDADD and xxx_DEPENDENCIES variables where the +# xxx_LDADD one contains values set in conditionals, automake will +# fail with messages like: +# foo_DEPENDENCIES was already defined in condition TRUE, ... . ./defs || Exit 1 diff --git a/tests/pr307.test b/tests/pr307.test index 0091415dd..9890289e4 100755 --- a/tests/pr307.test +++ b/tests/pr307.test @@ -17,6 +17,20 @@ # Test for PR 307: depcomp with depmode=dashmstdout libtool race condition # Report from Laurent Morichetti. # (Also exercises check_LTLIBRARIES.) +# +# == Report == +# The dashmstdout depmode calls libtool in parallel to generate the +# dependencies (with -M flag) and to build the objfile (both have +# --mode=compile and -o). +# The process with 'libtool --mode=compile .* -M' can corrupt the objfile +# as none is generated by the compiler. Since --mode=compile and -o are +# set libtool assumes that a objfile should be generated and will execute +# invalid $mv & $LN_S. +# +# == Fix == +# Now 'depcomp' never compute dependencies in the background, as this can +# cause races with libtool. Compute the dependencies after the actual +# compilation. required='libtoolize gcc' . ./defs || Exit 1 diff --git a/tests/pr72.test b/tests/pr72.test index d67c17b78..767b5d275 100755 --- a/tests/pr72.test +++ b/tests/pr72.test @@ -15,6 +15,8 @@ # along with this program. If not, see . # Test for PR 72 +# Empty _SOURCES results in $(LINK) undefined. + required=libtool . ./defs || Exit 1 diff --git a/tests/pr87.test b/tests/pr87.test index 369849b44..187d5ea1b 100755 --- a/tests/pr87.test +++ b/tests/pr87.test @@ -15,6 +15,7 @@ # along with this program. If not, see . # Test for PR automake/87. +# "make distcheck" fails when two source dirs exist. required=gcc . ./defs || Exit 1 diff --git a/tests/pr9.test b/tests/pr9.test index dab973480..788fd64c3 100755 --- a/tests/pr9.test +++ b/tests/pr9.test @@ -15,6 +15,13 @@ # along with this program. If not, see . # Test for bug in PR 9. +# "make dist" incorrect when AC_CONFIG_AUX_DIR is present. +# +# == Report == +# When AC_CONFIG_AUX_DIR is set (in my case to `support'), make dist +# no longer automatically includes config.guess, config.sub, install-sh, +# ltconfig, ltmain.sh, mdate-sh, missing, and mkinstalldirs. In fact, +# the entire `support/' directory is omitted. required=gzip . ./defs || Exit 1 -- 2.47.2