|
6d4ffd83
|
2013-05-27T11:14:22
|
|
suffix rules: better distinction between builtin and user-derived
Fixes automake bug#14441.
* lib/Automake/Rule.pm ($_suffix_rules_default): Remove, superseded by ...
(%suffix_rules_builtin): ... this lexical variable.
($suffix_rules): Remove, superseded by ...
(%suffix_rules): ... this lexical variable.
(suffix_rules, suffix_rules_count): Adjust.
(register_suffix_rule): Update '%suffix_rules_builtin' rather than
'%suffix_rules' if the location (as passed by the '$where' argument)
is an "internal" one (doesn't come from user-provided Makefile.am).
(reset): Simplify resetting of '%suffix_rules' to the default ones
accordingly.
* t/list-of-tests.mk (XFAIL_TESTS): Drop test 'suffix-custom-pr14441.sh'.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
4ba95192
|
2013-05-27T01:02:05
|
|
tests: expose automake bug#14441
* 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>
|
|
d432f067
|
2013-04-30T23:55:47
|
|
Merge branch 'fix-pr12554' into branch-1.13.2
* fix-pr12554:
tests: avoid a spurious error with Solaris make
subdirs: don't return false positives for the '-k' option's presence
header-vars: recognize more make flags ('-k' in particular)
header-vars: simplify how make flags are determined
tests: remove dead code from t/make-dryrun.tap
header-vars: new variable $(am__running_with_option)
tests: expose bug#12554 (false positives for presence of '-k' make option)
|
|
2a40fa71
|
2013-04-30T14:48:45
|
|
Merge branch 'fix-pr13588-pax-hangs' into branch-1.13.2
* fix-pr13588-pax-hangs:
tar: format 'ustar' cannot support UID/GID longer than 21 bits
|
|
02ead48e
|
2013-04-29T16:12:34
|
|
subdirs: don't return false positives for the '-k' option's presence
This change fixes automake bug#12554.
The old implementation of the code descending into $(SUBDIRS)
entries used the following snippet to decide whether make is running
with the '-k' a.k.a. '--keep-going' option, and thus whether a failure
in a subdirectory should prevent the descent in the following ones:
fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
*k*) failcom='fail=yes';; \
esac; \
done
It's clear that the second pattern in the 'case' construct could possibly
match false positives, for examples in these two cases:
make check TESTS="x.test k.test"
make -I /usr/local/kool-fragments
which are somewhat unusual, but not invalid. So we need a more resilient
implementation, as we did for the detection of the '-n' flag.
This implementation is now provided by the new private macro
'$(am__make_keepgoing)' (introduced in recent commits); so we can
just us that to fix the bug.
* lib/am/subdirs.am ($(am__recursive_targets)): Use '$(am__make_keepgoing)'
instead of ad-hoc and more brittle checks.
* t/list-of-tests.mk (XFAIL_TESTS): Remove the now-passing test case
't/subdir-keep-going-pr12554.sh'.
Reported-by: Michael Daniels <mdaniels@rim.com>
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
69f77915
|
2013-04-29T15:22:10
|
|
header-vars: recognize more make flags ('-k' in particular)
* lib/am/header-vars.am (am__running_with_option): Here.
Few improvements to comments, while at it.
(am__make_keepgoing): New, tell whther make is being runt with
the '-k' option.
* t/make-keepgoing.tap: New test.
* t/list-of-tests.mk: Add it.
* t/make-dryrun.tap: Minor edits to keep it more in sync with
the new test.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
cbf23ceb
|
2012-10-02T21:27:28
|
|
tests: expose bug#12554 (false positives for presence of '-k' make option)
The current implementation of the code descending into $(SUBDIRS)
entries uses the following snippet to decide whether make is running
with the '-k' a.k.a. '--keep-going' option, and thus whether a failure
in a subdirectory should prevent the descent in the following ones:
fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
*k*) failcom='fail=yes';; \
esac; \
done
It's clear that the second pattern in the 'case' construct can possibly
match false positives, for examples in these two cases:
make check TESTS="x.test k.test"
make -I /usr/local/kool-fragments
which are somewhat unusual, but not invalid. So we need a more resilient
implementation, as we did for the detection of the '-n' flag.
But alas, such an implementation seems quite tricky to obtain in portable
make. So for the moment we content ourselves with exposing the bug, with
the hope of being able to fix soon enough.
* t/subdir-keep-going-pr12554.sh: New test.
* t/list-of-tests.mk (handwritten_TESTS, XFAIL_TESTS): Add it.
* THANKS: Update
Reported-by: Michael Daniels <mdaniels@rim.com>
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
edfd3bc4
|
2013-02-17T16:42:46
|
|
tar: format 'ustar' cannot support UID/GID longer than 21 bits
See automake bug#8343 and bug#13588.
POSIX 1988 'ustar' format is defined with *fixed-size* fields. There
is notably a 21 bits limit (2097151) for the UID and the GID.
Tom Rini tom_rini@mentor.com says (in bug#8343):
When the user has a UID or GID that is larger than the ustar format
supports, pax does not error out gracefully in some cases (FC13).
Marc Herbert <marc.herbert@intel.com> adds (in bug#8343):
When "configure" is run by a user with an UID bigger than 21 bits,
BSD pax 3.4 aborts when trying to create the 'conftest.tar' test
archive and leaves an empty or corrupted conftest.tar file behind.
In the next step, pax tries to extract this incomplete or corrupted
archive and this *** hangs the whole ./configure script ***.
Note: GNU cpio 2.9 pretends to pass the test but it is a LIE: it
silently truncates any big UID to its lower 21 bits. I don't know
what can be the consequences of this lie.
I think there is currently a design issue in automake/m4/tar.m4
considering that a ustar archive should should *never* succeed when
./configure is run from a big user ID.
Months later, Petr Hracek <phracek@redhat.com> reports a similar issue
(in bug#13588) for Fedora 17:
I am trying to solve problem in case a user is created with big
UID and during configuration pax hangs with message
ATTENTION! pax archive volume change required.
Ready for archive volume: 1
Input archive name or "." to quit pax.
Archive name >
and needs user interaction.
Reference: <https://bugzilla.redhat.com/show_bug.cgi?id=843376>
Time to fix this issue, on the line of a preliminary patch provided by
Petr Hracek in bug#13588. The final patch ended up being remarkably
different from that original proposition, though.
* m4/tar.m4 (_AM_PROG_TAR): If the UID or GID of the current user is
too high (> 2097151), the 'ustar' format cannot work. Adjust checks
accordingly. Some related code reordering and clean-up.
* t/tar-ustar-id-too-high.sh: New test.
* t/list-of-tests.mk: Add it.
* t/tar.sh: While at it, tweak and enhance a little.
* t/tar2.sh: Likewise.
* t/tar3.sh: Likewise.
* t/tar-override.sh: Likewise.
* NEWS: Update.
* THANKS: Likewise.
Helped-by: Pavel Raiskup <praiskup@redhat.com>
Helped-by: Petr Hracek <phracek@redhat.com>
Helped-by: Marc Herbert <marc.herbert@intel.com>
Helped-by: Tom Rini <tom_rini@mentor.com>
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
3de27839
|
2013-04-22T14:53:14
|
|
header vars: can determine whether we are running under GNU make
This is mostly a preparatory patch in view of future changes.
* lib/am/header-vars.am (am__is_gnu_make): New, contains shell code that
determines whether we are running under GNU make.
* t/make-is-gnu.sh: New test.
* t/list-of-tests.mk: Add it.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
eada7ef7
|
2013-01-18T13:13:30
|
|
compat: reinstate AM_CONFIG_HEADER and AM_PROG_CC_STDC
Make them give runtime warnings in the obsolete category, but apart
from that, make them behave as they did in Automake 1.12.x and earlier.
While removing those macros seemed quite harmless, because it didn't put
a real burden on the developers (requiring them just to do a quick edit
to configure.ac), it turned out to place an unsustainable burden (or at
least, a burden perceived as such) on distro packagers who use the latest
Automake to bootstrap existing packages. Many of those packages, while
having likely updated to AC_CONFIG_HEADERS in their development version,
still used AM_CONFIG_HEADER in their existing released versions, and the
removal of this macro would have thus forced the Fedora packagers to
patch all of them. References:
<http://www.mail-archive.com/devel@lists.fedoraproject.org/msg52840.html>
<http://www.spinics.net/lists/fedora-devel/msg175922.html>
<http://blog.flameeyes.eu/2013/01/autotools-mythbuster-automake-pains>
In addition, the Fedora packagers have already decided to patch their
Automake 1.13.1 to reinstate the AM_CONFIG_HEADER and AM_PROG_CC_STDC
macros (plus other macros that I don't believe it's worth worrying about):
<http://www.spinics.net/lists/fedora-devel/msg176098.html>
<http://www.mail-archive.com/devel@lists.fedoraproject.org/msg53030.html>
<http://pkgs.fedoraproject.org/cgit/automake.git/commit/?id=ffe6bc39>
So, rather than having one more incompatibility floating around, we
better mirror that change (or, actually, its relevant parts) in the
upstream.
* m4/obsolete-err.m4 (AM_CONFIG_HEADER, AM_PROG_CC_STDC): Revert to the
older semantics, plus a runtime warning in the 'obsolete' category.
* t/backcompat6.sh: Use AM_CONFIG_HEADER once again.
* t/am-config-header-no-more.sh: Rename ...
* t/am-config-header.sh: ... like this, and adjust.
* t/am-prog-cc-stdc-no-more.sh: Rename ...
* t/am-prog-cc-stdc.sh: ... like this, and adjust.
* t/list-of-tests.mk: Adjust.
* NEWS: Update.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
fe05207b
|
2013-01-02T14:29:46
|
|
tests: reorganize tests on backslash issues
* t/backsl.sh, t/backsl2.sh, t/backsl3.sh: Merge ...
* t/backslash-issues.sh: ... into this test.
* t/backsl4.sh: Rename ...
* t/backslash-before-trailing-whitespace.sh: ... like this.
* t/list-of-tests.mk: Adjust.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
17fb9bd1
|
2013-01-02T13:35:58
|
|
tests: tweak tests on obsolete EXTRA_DATA variable
* t/extra3.sh, t/extra4.sh: Merge ....
* t/extra-data.sh: ... into this, with updated comments.
* t/list-of-tests.mk: Adjust. Also Tweak the order in
which some other tests are listed.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
5fbe39b5
|
2013-01-02T13:31:31
|
|
tests: more significant names for some tests
* t/extra5.sh: Rename ....
* t/extra-dist-vpath-dir.sh: ... like this.
* t/extra6.sh: Rename ....
* t/extra-dist-dirs-and-subdirs.sh: ... like this.
* t/extra7.sh: Rename ....
* t/extra-dist-vpath-dir-merge.sh: ... like this.
* t/extra8.sh: Rename ....
* t/extra-programs-misc.sh: ... like this.
* t/extra9.sh: Rename ....
* t/extra-programs-and-libs.sh: ... like this.
* t/extra10.sh: Rename ....
* t/extra-dist-wildcards.sh: ... like this.
* t/extra11.sh: Rename ....
* t/extra-dist-wildcards-gnu.sh: ... like this.
* t/extra12.sh: Rename ....
* t/extra-dist-wildcards-vpath.sh: ... like this.
* t/extradep.sh: Rename ....
* t/extra-deps.sh: ... like this, and adjust heading comments.
* t/extradep2.sh: Rename ....
* t/extra-deps-lt.sh: ... like this, and adjust heading comments.
* t/list-of-tests.mk: Adjust.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
a2e9a713
|
2013-01-01T00:32:34
|
|
coverage: test CONFIGURE_DEPENDENCIES
* t/remake-configure-dependencies.sh: New test.
* t/list-of-tests.mk: Add it.
* doc/automake.texi: Reference it in comments.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
f3e8d1cd
|
2012-12-31T23:29:24
|
|
coverage: test CONFIG_STATUS_DEPENDENCIES
* t/remake-config-status-dependencies.sh: New test.
* t/list-of-tests.mk: Add it.
* doc/automake.texi: Reference it in comments.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
9c287816
|
2012-12-31T19:18:42
|
|
tests: some enhancements to texinfo tests (from Automake-NG)
* t/txinfo-many-output-formats.sh: Backport improvements, almost verbatim,
from Automake-NG commit 'v1.13-768-gb434acc' (plus minor tweaks for the
sake of non-GNU make implementation).
* t/txinfo-many-output-formats-vpath.sh: New test, backported almost
verbatim from that same Automake-NG commit (again, with minor tweaks for
the sake of non-GNU make implementations).
* t/lsit-of-tests.mk: Adjust.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
7df8b28c
|
2012-12-31T18:18:37
|
|
maint: update copyright year for 2013 (in branch maint)
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
5470c2dd
|
2012-12-31T13:57:29
|
|
tests: some more renames for texinfo tests
* t/txinfo.sh: Rename ...
* t/txinfo-tex-dist.sh: ... like this.
* t/txinfo10.sh: Rename ...
* t/txinfo-dvi-recurs.sh: ... like this.
* t/txinfo20.sh: Rename ...
* t/txinfo-makeinfo-error-no-clobber.sh: ... like this.
* t/txinfo-setfilename-suffix-match.sh: Rename ...
* t/txinfo-setfilename-suffix-strip.sh: ... like this.
* t/txinfo-suffix-less-info.sh: Rename ...
* t/txinfo-without-info-suffix.sh: ... like this.
* t/vtexi.sh: Rename ...
* t/txinfo-vtexi.sh: ... like this.
* t/vtexi2.sh: Rename ...
* t/txinfo-vtexi2.sh: ... like this.
* t/vtexi3.sh: Rename ...
* t/txinfo-vtexi3.sh: ... like this, and adjust heading comments.
* t/vtexi4.sh: Rename ...
* t/txinfo-vtexi4.sh: ... like this, and adjust heading comments.
* t/list-of-tests.mk: Adjust.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
162f61c8
|
2012-12-31T12:58:59
|
|
tests: remove a redundant texinfo test
* t/txinfo-add-missing.sh: This one, its checks being already covered
by the more extensive 't/add-missing.tap' test.
* t/txinfo-add-missing2.sh: Rename ...
* t/txinfo-add-missing-and-dist.sh: Like this.
* t/list-of-tests.mk: Adjust.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
506f6ce8
|
2012-12-31T12:49:27
|
|
tests: don't list a removed tests in XFAIL_TESTS
* t/list-of-tests.mk (XFAIL_TESTS): No longer list 't/txinfo5.sh' here,
it has been removed together with the Cygnus support.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
767f8320
|
2012-12-31T12:48:36
|
|
tests: more explicative names for some tests
Do so for several Texinfo-related tests. Note that some of such tests
with suboptimal names are *not* renamed; that's because they are going
to be removed in the master branch anyway (since they check from some
soon-to-be-removed features), so renaming them would be wasted work,
and could even create useless merge conflicts.
* t/txinfo2.sh: Rename ...
* t/txinfo-no-extra-dist.sh: ... like this.
* t/txinfo3.sh: Rename ...
* t/txinfo-suffix-less-info.sh: ... like this.
* t/txinfo4.sh: Rename ...
* t/txinfo-unrecognized-info-suffix.sh: ... like this.
* t/txinfo6.sh: Rename ...
* t/txinfo-other-suffixes.sh: ... like this.
* t/txinfo7.sh: Rename ...
* t/txinfo-add-missing.sh: ... like this.
* t/txinfo8.sh: Rename ...
* t/txinfo-add-missing2.sh: ... like this.
* t/txinfo9.sh: Rename ...
* t/txinfo-no-repeated-targets.sh: ... like this.
* t/txinfo17.sh: Rename ...
* t/txinfo-setfilename-repeated.sh: ... like this.
* t/txinfo13.sh: Rename ...
* t/txinfo-subdir-pr343.sh: ... like this.
* t/txinfo16.sh: Rename ...
* t/txinfo-info-in-srcdir.sh: ... like this.
* t/txinfo21.sh: Rename ...
* t/txinfo-many-output-formats.sh: ... like this.
* t/txinfo22.sh: Rename ...
* t/txinfo-override-texinfo-tex.sh: ... like this.
* t/txinfo26.sh: Rename ...
* t/txinfo-absolute-srcdir-pr408.sh: ... like this.
* t/txinfo27.sh: Rename ...
* t/txinfo-no-installinfo.sh: ... like this.
* t/txinfo29.sh: Rename ...
* t/txinfo-override-infodeps.sh: ... like this.
* t/txinfo31.sh: Rename ...
* t/txinfo-setfilename-suffix-match.sh: ... like this.
* t/txinfo32.sh: Rename ...
* t/txinfo-bsd-make-recurs.sh: ... like this.
* t/txinfo33.sh: Rename ...
* t/txinfo-clean.sh: ... like this.
* t/list-of-tests.mk: Adjust.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
9c07d892
|
2012-12-30T11:04:39
|
|
obsolete: better error message if AM_PROG_CC_STDC is used
In Automake 1.13, the long-deprecated (since 2002) macro AM_PROG_CC_STDC
has been removed. Such a removal, albeit sensible and justified, was
probably done in a too-abrupt way, since it didn't turn the pre-existing
warning messages into fatal error messages, but simply dropped the macro
definition, so that remaining usages of it would cause unclear error
messages, e.g.:
configure.ac:4: warning: macro 'AM_PROG_CC_STDC' not found in library
from aclocal, and:
configure.ac:4: error: possibly undefined macro: AM_PROG_CC_STDC
If this token and others are legitimate, please use m4_pattern_allow.
See the Autoconf documentation.
from autoconf.
In an attempt to mitigate this issue, we re-add an AM_PROG_CC_STDC
definition that simply raises a *clear* error message when the macro
is used.
* t/am-prog-cc-stdc-no-more.sh: New test.
* t/list-of-tests.mk: Add it.
* m4/obsolete-err.m4: Add the new "error-raising" definition for
AM_PROG_CC_STDC; the error message is a variation of the one already
present in the older version of this macro, before it got removed in
commit 'v1.12-15-gd2ca168'.
* NEWS: Update.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
8e921bf8
|
2012-12-30T10:33:23
|
|
obsolete: better error message if AM_CONFIG_HEADER is used
In Automake 1.13, the long-deprecated macro AM_CONFIG_HEADER (deprecated
since 2002) has been removed in favour of AC_CONFIG_HEADERS. However,
the removal was done without a proper deprecation period, and that
caused packages upgrading to Automake 1.13 to fail with very unclear
error messages, e.g.:
configure.ac:4: warning: macro 'AM_CONFIG_HEADER' not found in library
from aclocal, and:
configure.ac:4: error: possibly undefined macro: AM_CONFIG_HEADER
If this token and others are legitimate, please use m4_pattern_allow.
See the Autoconf documentation.
from autoconf.
In an attempt to mitigate this issue, we re-add an AM_CONFIG_HEADER
definition that simply raises a *clear* error message when the macro
is used.
Report by Paolo Bonzini:
<http://lists.gnu.org/archive/html/automake/2012-12/msg00039.html>
* t/am-config-header-no-more.sh: New test.
* t/list-of-tests.mk: Add it.
* m4/obsolete-err.m4: New file, contain the new AM_CONFIG_HEADER
"error-raising" definition, as well as the definition of the
similarly obsolete macros 'AM_C_PROTOTYPES' and 'fp_C_PROTOTYPES',
moved in from ...
* m4/protos.m4: ... this file, which has thus been removed.
* Makefile.am (dist_automake_ac_DATA): Adjust.
* t/ansi2knr-no-more.sh: Likewise.
* NEWS: Update.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
de736a22
|
2012-12-14T10:43:21
|
|
Merge branch 'maint'
* maint:
docs: fixlet about xz compression levels and command line options
maint: more files excluded in 'update-copyright'
maint: adapt 'update-copyright' recipe to the new $(FETCHFILES) format
HACKING: update instructions to update the manuals at www.gnu.org
maint: add an explicative comment in Makefile
maint: factor out the name of the dir where web manuals are generated
maint: rename rules to build/upload web manuals
cosmetic: minor variable and rules reordering in Makefile.am
docs: build the web manuals for CVS in the builddir, not in the srcdir
release: automate uploading of web manuals in CVS
docs: AM_CFLAGS: remove reference to non-existing "more detailed" desc
tests: avoid two spurious failures on FreeBSD
tests: improve 'pkg-config' requirement
|
|
7a4e1937
|
2012-12-13T09:46:18
|
|
tests: improve 'pkg-config' requirement
This improves (and unifies among different tests) the detection of
both the 'pkg-config' program and m4 macros provided by it; they are
needed in particular by tests on Vala support.
Before this, some Vala-related tests were failing spuriously when the
pkg-config program was available but the macros from pkg.m4 were not
made explicitly available in ACLOCAL_PATH. These tests were:
vala-mix vala-mix2 vala-parallel vala-vapi vala-vpath
See also similar commit 'v1.11-581-gb7d67d5' of 2011-12-22,
"tests: better handling of gettext and libtool requirements".
* t/ax/am-test-lib.sh (process_requirements): If a requirement
matches the 'pkg-config*' wildcard, try to make available to it
the pkg-config m4 macros, and skip it if it's not possible.
This is done by sourcing the 'get.sh' fragment generated by ...
* t/pkg-config-macros.sh: ... this new test, which looks in
advance for the 'pkg-config' program and the m4 macros that
comes with it.
* t/list-of-tests.mk: Add the new test.
* gen-testsuite-part (%deps_extractor): Tests requiring pkg-config
will need the m4 macros coming with it; so these tests should be
run after the 'pkg-config-macros.sh' test. Automatically generate
proper declarations for such dependencies.
* t/vala-header.sh: No need to explicitly check that the macro
PKG_CHECK_MODULES has been expanded by autoconf.
* t/vala-libs.sh: Likewise.
* t/vala-non-recursive-setup.sh: Likewise.
* t/vala-per-target-flags.sh: Likewise.
* t/vala-recursive-setup.sh: Likewise.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
10ebd158
|
2012-11-27T20:46:32
|
|
Merge branch 'maint'
* maint:
news: we'll remove AM_PROG_MKDIR in 1.14, not 1.13
tests: give few vala tests more significant names
vala tests: don't use the 'posix' profile, it's no longer supported
news: fixup: bug#8847 is fixed in 1.12.6, not in 1.12.5
news: document the fix for automake bug#10227
tests: fix a spurious testsuite failure on Solaris
python: make installed modules find by default on Debian and Ubuntu
|
|
b4896ce4
|
2012-11-26T15:15:11
|
|
tests: give few vala tests more significant names
* t/vala.sh: Rename ...
* t/vala-grepping.sh: ... like this.
* t/vala2.sh: Rename ...
* t/vala-recursive-setup.sh: ... like this.
* t/vala3.sh: Rename ...
* t/vala-non-recursive-setup.sh: ... like this.
* t/vala4.sh: Rename ...
* t/vala-configure.sh: ... like this.
* t/vala5.sh: Rename ...
* t/vala-per-target-flags.sh: ... like this, and slightly
improve heading comments.
* t/list-of-tests.mk: Adjust.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
27954741
|
2012-11-25T12:48:36
|
|
tests: give few aclocal tests more significant names
* t/dirlist-abspath.sh: Rename ...
* t/aclocal-dirlist-abspath.sh: ... like this.
* t/dirlist.sh: Rename ...
* t/aclocal-dirlist.sh: ... like this.
* t/dirlist2.sh: Rename ...
* t/aclocal-dirlist-globbing.sh: ... like this.
* t/list-of-tests.mk: Adjust.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
a55591f3
|
2012-11-24T14:32:06
|
|
tests: give some tests more significant names
* t/req.sh: Rename ...
* t/aclocal-req.sh: ... like this.
* t/reqd.sh: Rename ...
* t/add-missing-multiple.sh: ... like this.
* t/block.sh: Rename ...
* t/comment-block.sh: ... like this.
* t/list-of-tests.mk: Adjust.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
cb6a19d9
|
2012-11-21T14:13:02
|
|
Merge branch 'maint'
* maint:
tests: fix a spurious failure when $PYTHON is in the environment
python tests: support PEP-3147 installation layout
python: uninstall cater to PEP-3147
tests: improve a comment
tests: honour $PYTHON override
tests: typofix in message
news: document fix for bug#8847 (PEP-3147, __pycache__)
python: improve support for modern python (CPython 3.2 and PyPy)
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
e1acf4a0
|
2012-11-19T22:19:21
|
|
python tests: support PEP-3147 installation layout
This fixes several spurious testsuite failures with python >= 3.2,
introduced by recent commit v1.12.4-43-ge0e99ed, "python: improve
support for modern python (CPython 3.2 and PyPy)".
* t/ax/am-test-lib.sh (python_has_pep3147, pyc_location, py_installed):
New functions.
($am_pep3147_tag): New variable.
* t/py-compile-basic2.sh: Deleted, too difficult to adapt for the
gain it would offer; move the still relevant parts ...
* t/py-compile-basic.sh: ... here. Adapt and adjust the rest of
the test as well.
* t/nobase-python.sh: Adapt and adjust.
* t/py-compile-basedir.sh: Likewise.
* t/py-compile-destdir.sh: Likewise.
* t/py-compile-option-terminate.sh: Likewise.
* t/python-pr10995.sh: Likewise.
* t/python-virtualenv.sh: Likewise.
* t/python10.sh: Likewise.
* t/python12.sh: Likewise.
* t/python3.sh: Likewise.
* t/list-of-tests.mk: Adjust list of tests.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
ab49d2bc
|
2012-11-18T01:38:09
|
|
tests: more explicative names for few aclocal tests
* t/aclocal3.sh: Rename ...
* t/aclocal-missing-macros.sh: ... like this.
* t/aclocal4.sh: Rename ...
* t/aclocal-deps.sh: ... like this.
* t/aclocal5.sh: Rename ...
* t/aclocal-deps-subdir.sh: ... like this.
* t/aclocal6.sh: Rename ...
* t/aclocal-remake-misc.sh: ... like this.
* t/aclocal7.sh: Rename ...
* t/aclocal-no-force.sh: ... like this.
* t/acloca8.sh: Rename ...
* t/aclocal-no-unused-required.sh: ... like this.
* t/acloca9.sh: Rename ...
* t/aclocal-I-order-1.sh: ... like this.
* t/acloca11.sh: Rename ...
* t/aclocal-I-order-2.sh: ... like this, and update heading comments.
* t/acloca12.sh: Rename ...
* t/aclocal-I-order-3.sh: ... like this, and update heading comments.
* t/acloca13.sh: Rename ...
* t/aclocal-m4-sinclude.sh: ... like this, and update heading comments.
* t/acloca14.sh: Rename ...
* t/aclocal-m4-include-are-scanned.sh: ... like this.
* t/acloca14.sh: Rename ...
* t/aclocal-m4-include-are-scanned-aclocal-amflags.sh: ... like this,
and update heading comments.
* t/acloca15.sh: Rename ...
* t/aclocal-scan-configure-ac-pr319.sh: ... like this.
* t/acloca16.sh: Rename ...
* t/aclocal-no-extra-scan.sh: ... like this, and enhance slightly.
* t/acloca18.sh: Rename ...
* t/aclocal-serial.sh: ... like this.
* t/acloca19.sh: Rename ...
* t/aclocal-pr450.sh: ... like this.
* t/acloca20.sh: Rename ...
* t/aclocal-no-symlinked-overwrite.sh: ... like this.
* t/acloca21.sh: Rename ...
* t/aclocal-comments-respected.sh: ... like this.
* t/acloca22.sh: Rename ...
* t/aclocal-deleted-header.sh: ... like this.
* t/acloca22b.sh: Rename ...
* t/aclocal-deleted-header-aclocal-amflags.sh: ... like this.
* t/acloca23.sh: Rename ...
* t/aclocal-underquoted-defun.sh: ... like this.
* t/list-of-tests.mk: Update.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
256659b0
|
2012-11-03T11:30:04
|
|
aclocal: avoid spurious warnings from autom4te with AC_CONFIG_MACRO_DIRS
When some macro expanded in configure.ac calls AC_REQUIRE on another
macro that is defined in one of the local m4 macro dirs specified
with AC_CONFIG_MACRO_DIRS, aclocal prints spurious warnings like:
configure.ac:4: warning: MY_BAR is m4_require'd but not m4_defun'd
configure.ac:3: MY_FOO is expanded from...
Such warnings come from autom4te, and are due to the fact that the
*first* autom4te invocation issued by aclocal is not yet able to
"see" the m4 macro definitions in the local m4 dirs (because they
can be looked for only after the AC_CONFIG_MACRO_DIRS call has been
traced, and tracing it requires running autom4te).
To allow us to work around this issue, autom4te has introduced a new
"witness" macro 'm4_require_silent_probe', that, when defined, allows
us to silence that particular kind of warnings (and only it).
Reported by Nick Bowler; see point (4) of:
<http://lists.gnu.org/archive/html/autoconf-patches/2012-11/msg00000.html>
* aclocal.in (trace_used_macros): Pre-define the special macro
'm4_require_silent_probe' when invoking autom4te.
* t/aclocal-macrodirs.tap ("AC_CONFIG_MACRO_DIR interaction with
AC_REQUIRE"): This test passes now: remove the "TODO" directive.
* t/aclocal-macrodir.tap ("AC_CONFIG_MACRO_DIRS interaction with
AC_REQUIRE"): Likewise.
* t/acloca17.sh: Remove.
* t/list-of-tests.mk: Adjust.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
d2155d50
|
2012-07-04T15:23:50
|
|
aclocal: multiple local m4 macro dirs with AC_CONFIG_MACRO_DIRS
A new macro 'AC_CONFIG_MACRO_DIRS' has been recently introduced in
autoconf (and is expected to appear in the autoconf 2.70 release),
allowing us to declare several local m4 macro directories for a
package.
It can be done either passing several arguments to a single invocation:
AC_CONFIG_MACRO_DIRS([dir1 dir2])
or issuing more invocations:
AC_CONFIG_MACRO_DIRS([dir1])
AC_CONFIG_MACRO_DIRS([dir2])
or a combination of the two:
AC_CONFIG_MACRO_DIRS([dir1 dir2])
AC_CONFIG_MACRO_DIRS([dir3])
This will allow projects to use several m4 macro local dirs, without the
need to use ACLOCAL_AMFLAGS (which we want to make obsolete and finally
remove). This is especially important for projects that are used as
nested subpackages of larger projects.
For more information and rationales, refer to these past discussions:
<http://lists.gnu.org/archive/html/autoconf/2011-12/msg00037.html>
<http://lists.gnu.org/archive/html/automake-patches/2012-07/msg00010.html>
<http://lists.gnu.org/archive/html/autoconf-patches/2012-07/msg00000.html>
<http://lists.gnu.org/archive/html/autoconf-patches/2012-07/msg00012.html>
<http://thread.gmane.org/gmane.comp.sysutils.autoconf.patches/8037/>
<http://thread.gmane.org/gmane.comp.sysutils.autoconf.patches/8087>
<http://thread.gmane.org/gmane.comp.sysutils.automake.patches/8956>
as well as to Automake commit v1.12.1-165-gcd1a9cc of 2012-07-03,
"aclocal: deprecate ACLOCAL_AMFLAGS, trace AC_CONFIG_MACRO_DIR instead",
autoconf commit v2.69-42-gd73770f of 2012-10-17, "AC_CONFIG_MACRO_DIRS:
new macro, mostly for aclocal".
* aclocal.in ($ac_config_macro_dir): Turn this global scalar it into ...
(@ac_config_macro_dirs): ... this global array.
(trace_used_macros): Update '@ac_config_macro_dirs' instead of
re-defining '$ac_config_macro_dir'. Cater to calls the now-preferred
macro 'AC_CONFIG_MACRO_DIRS' in addition to the "obsolescent" one
AC_CONFIG_MACRO_DIR.
(main loop): Append '@ac_config_macro_dirs', not '$ac_config_macro_dir',
to '@user_includes'.
* t/subpkg-macrodir.sh: New test.
* t/aclocal-macrodirs.tap: Likewise.
* t/list-of-tests.mk: Add them.
* t/aclocal-macrodir.tap: Adjust and extend a little to keep it more in
sync with 'aclocal-macrodirs.tap'.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
696f44c0
|
2012-11-07T23:40:59
|
|
tests: remove mostly-redundant tests on silent rules
We used to have several couples of tests named like 'silent-foo-gcc.sh'
and 'silent-foo-generic.sh'. Differently from what the names suggest,
the first test in such a couple (that is, "silent-foo-gcc.sh") was not
meant to check specific GCC-related features, but rather to check how
the silent rules behave in combination with automatic dependency tracking
when the 'gcc' depmode (that targets GCC versions before the 3.x and 4.x
release series) is forced.
Such depmode forcing was done exclusively to cover the code paths in
'lib/am/depend2.am' that actually invoke the 'depcomp' script, rather
than using the inlined, GCC-specific compiler invocation (the so-called
"fastdep" mode), which is the default with modern GCC or with other
modern compilers that can emulate the GCC command-line interface (e.g.,
clang 3.0).
But whenever we run the silent-*-generic.sh" tests with other supported
compilers which have an associated depmode different from 'gcc3', these
same "non-fastdep" code paths are covered, since in those tests we run
./configure with the '--enable-dependency-tracking' option, which causes
slower depmodes not to be rejected. Examples of such compilers are the
Sun C and C++ compilers (at least since version 5.9, a.k.a. Sun Studio
12.1), and the Tiny C Compiler (from version 0.9.26); and I run the
Automake testsuite quite regularly with those compilers.
So, the "silent-*-gcc.sh" test cases don't offer any real coverage
enhancements, while still using testsuite runtime and causing some
(admittedly minor, but still annoying) synchronization headaches with
the sister tests "silent-foo-general.sh" tests. So let's just remove
these "silent-*-gcc.sh" tests.
* t/silent-c-gcc.sh: Remove.
* t/silent-cxx-gcc.sh: Likewise.
* t/silent-lt-gcc.sh: Likewise.
* t/silent-many-gcc.sh: Likewise.
* t/silent-c-generic.sh: Rename ...
* t/silent-c.sh: ... like this, and adjust heading comments.
* t/silent-cxx-generic.sh: Rename ...
* t/silent-cxx.sh: ... like this, and adjust heading comments.
* t/silent-lt-generic.sh: Rename ...
* t/silent-lt.sh: ... like this, and adjust heading comments.
* t/silent-many-generic.sh: Rename ...
* t/silent-many-languages.sh: ... like this, and adjust heading
comments.
* t/list-of-tests.mk: Adjust.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
dd3fb7ed
|
2012-11-07T20:39:19
|
|
tests: rename few tests (on silent-rules support)
Either to more informative names, or to names more consistent with the
ones of similar/related tests.
* t/silent.sh: Rename ...
* t/silent-c-generic.sh: ... like this, and adjust heading comments.
* t/silent2.sh: Rename ...
* t/silent-c-gcc.sh: ... like this, and adjust heading comments.
* t/silent3.sh: Rename ...
* t/silent-lt-generic.sh: ... like this, and adjust heading comments.
* t/silent4.sh: Rename ...
* t/silent-lt-gcc.sh: ... like this, and adjust heading comments.
* t/silentcxx.sh: Rename ...
* t/silent-cxx-generic.sh: ... like this, and adjust heading comments.
* t/silentcxx-gcc.sh: Rename ...
* t/silent-cxx-gcc.sh: ... like this, and adjust heading comments.
* t/silentf77.sh: Rename ...
* t/silent-f77.sh: ... like this, and adjust heading comments.
* t/silentf90.sh: Rename ...
* t/silent-f90.sh: ... like this, and adjust heading comments.
* t/silent7.sh: Rename ...
* t/silent-gen.sh: ... like this, and adjust heading comments.
* t/silent6.sh: Rename ...
* t/silent-custom.sh: ... like this.
* t/silent8.sh: Rename ...
* t/silent-texi.sh: ... like this.
* t/list-of-tests.mk: Adjust.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
7dbf3d6a
|
2012-11-07T19:56:24
|
|
tests: merge two tests on silent-rules with libtool
This helps to reduce code duplication, and also to (marginally)
speed up the involved tests.
Before this change, we had:
$ diff -u t/silent3.sh t/silent9.sh
--- t/silent3.sh 2012-11-07 19:38:05.000000000 +0100
+++ t/silent9.sh 2012-11-07 19:27:54.000000000 +0100
@@ -14,9 +14,9 @@
# 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 silent-rules mode, with libtool, standard depmode case.
+# Check silent-rules mode, with libtool, nodep case.
-# Please keep this file in sync with 'silent4.sh' and 'silent9.sh'.
+# Please keep this file in sync with 'silent3.sh' and 'silent4.sh'.
required='cc libtoolize'
. test-init.sh
@@ -26,8 +26,8 @@
cat >>configure.ac <<'EOF'
AC_CONFIG_FILES([sub/Makefile])
AC_PROG_CC
-AM_PROG_AR
AM_PROG_CC_C_O
+AM_PROG_AR
AC_PROG_LIBTOOL
AC_OUTPUT
EOF
@@ -61,7 +61,7 @@
$AUTOMAKE --add-missing
$AUTOCONF
-./configure --enable-silent-rules
+./configure --disable-dependency-tracking --enable-silent-rules
$MAKE >stdout || { cat stdout; exit 1; }
cat stdout
$EGREP ' (-c|-o)' stdout && exit 1
* t/silent9.sh: Remove, merge ...
* t/silent3.sh: ... in here.
* t/list-of-tests.mk: Adjust.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
153f861b
|
2012-10-31T12:41:13
|
|
Merge branch 'maint'
* maint:
vala tests: source test-init.sh, not ./defs
tests: fix a spurious typo-related failure
tests: remove spurious leftover use of 'Exit'
tests: can check our recipes avoid trailing backslashes
vala: improve comments to AM_PROG_VALAC
news: update w.r.t. recent vala changes
vala: if no proper compiler found, set $(VALAC) to 'valac'
vala: AM_PROG_VALAC should not produce an error for tool-old valac
docs: document recent changes to AM_PROG_VALAC
tests: enhance tests on AM_PROG_VALAC
vala: style fixes in vala.m4
vala: add action arguments, for when no proper vala compiler is found
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
aecd1be6
|
2012-10-28T14:02:46
|
|
tests: can check our recipes avoid trailing backslashes
This is related to commit v1.11-1704-g254227b of 2012-05-01,
"parallel-tests: avoid trailing backslashes in make recipes",
and automake bug#10436.
Recipes with a trailing backslash character (possibly followed by
blank characters only) can cause spurious syntax errors with at
least older bash versions (e.g., bash 2.05b), and can be potentially
be unportable to other weaker shells.
So provide a target that runs the testsuite looking for this kind
of breakage (without requiring a real bugged shell).
* t/ax/shell-no-trail-bslash.in: New, a "shell" that chokes on '-c'
commands having a trailing '\' (possibly followed by whitespace only).
* Makefile (t/ax/shell-no-trail-bslash): Generate this script from it.
(noinst_SCRIPTS, CLEANFILES): Add it.
(EXTRA_DIST): Add 't/ax/shell-no-trail-bslash.in'.
(check-no-trailing-backslash-in-recipes): New target, runs the testsuite
with 'shell-no-trail-bslash' as the CONFIG_SHELL, to catch possible
recipes having a trailing backslash character (possibly followed by
* .gitignore: Update.
* t/self-check-shell-no-trail-bslash.sh: New testsuite self-check.
* t/parallel-tests-trailing-bslash.sh: Remove as obsolete.
* t/list-of-tests.mk: Adjust.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
f897907b
|
2012-10-27T16:15:04
|
|
Merge branch 'maint'
* maint:
tests: merge, tweak and modernize few test scripts
tests: move coverage about BUILT_SOURCES
tests: more meaningful names for some test cases
tests: merge some grepping tests on Yacc support
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
9a2796ad
|
2012-06-09T20:49:09
|
|
tests: merge, tweak and modernize few test scripts
Basically an adjusted-and-improved cherry-pick from Automake-NG
commit v1.12.1-343-gff30f83.
* t/specflg.sh, t/specflg2.sh, t/specflg3.sh: Merged into ...
* t/per-target-flags.sh: ... this test.
* t/fo.sh: Remove, its weak grepping checks well superseded by
the semantic checks in 't/fort4.sh'.
* t/cxxo.sh: Remove, its weak grepping checks well superseded
by the semantic checks in 't/cxx-demo.sh'.
* t/cxxcpp.sh: Enhance a little.
* t/empty.sh: Renamed ...
* t/empty-data-primary.sh: ... to this. Add trailing ':' command.
* t/empty2.sh, t/empty3.sh, t/empty4.sh: Merged ...
* t/empty-sources-primary.tap: ... into this new test.
* t/no-outdir-option.sh: Remove. A test to check than an obsolete
and now deleted option ("--output-dir") stays deleted is way too
much even for the most test-infected person ;-)
* t/list-of-tests.mk: Adjust.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
44d20253
|
2012-10-27T15:38:46
|
|
tests: move coverage about BUILT_SOURCES
Basically a backport of some tests from Automake-NG.
* t/built-sources-check.sh: Sync it with the version in the ng/master
branch. Accordingly, move part of the checks out ...
* t/built-sources-install.sh: ... into this new test, synced from
ng/master as well.
* t/built-sources-subdir.sh: Minor tweaks and enhancements to sync it
with the version in ng/master.
* t/built-sources-cond.sh: New test, synced from ng/master.
* t/built-sources.sh: Likewise, with minor edits to avoid a spurious
failure.
* t/built-sources-fork-bomb.sh: Likewise.
* t/list-of-tests.mk: Update.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
7a3e5c7c
|
2012-10-27T15:26:50
|
|
tests: more meaningful names for some test cases
* t/yacc5.sh: Renamed ...
* t/yacc-grepping2.sh: ... like this.
* t/yacc7.sh: Renamed ...
* t/yacc-headers-and-pr47.sh: ... like this.
* t/yacc8.sh: Renamed ...
* t/yacc-subdir.sh: ... like this.
* t/subdir10.sh: Rename ...
* t/subdir-env-interference.sh: ... like this.
* t/specflg10.sh: Rename ...
* t/am-default-source-ext.sh: ... like this.
* t/suffix12.sh: Rename ...
* t/suffix-custom-subobj.sh: ... like this.
* t/suffix13.sh: Rename ...
* t/suffix-custom-subobj-and-specflg.sh: ... like this.
* t/check3.sh: Rename ...
* t/built-sources-check.sh: ... like this.
* t/subdirbuiltsources.sh: Rename ...
* t/built-sources-subdir.sh: ... like this.
* t/bsource.sh: Rename ...
* t/no-spurious-install-recursive.sh: ... like this.
* t/list-of-tests.mk: Adjust.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
d26ddc82
|
2012-10-27T14:45:51
|
|
tests: merge some grepping tests on Yacc support
* t/yacc.sh, t/yacc2.sh: Merge ...
* t/yacc-grepping.sh: ... into this test.
* t/list-of-tests.mk: Adjust.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
26b78559
|
2012-10-27T11:57:43
|
|
Merge branch 'maint'
* maint:
depcomp: avoid potential interferences from the environment
depcomp: improve comments about the 'gcc' depmode
sync: update files from upstream with "make fetch"
maintcheck: remove an obsolescent check
tests: rename some tests to more expressive names, again
tests: remove an obsolescent grepping check
tests: merge two tests on automatic remake functionality
tests: rename some test to more expressive names
news: 'compile' supports libfoo.a naming when wrapping Microsoft tools
tests: ensure generation of wrapper tests matching multiple conditions
tests: simplify a loop in gen-testsuite-part
compile: support libfoo.a naming when wrapping Microsoft tools
NEWS: fix wording and grammaros, re-wrap text accordingly
cosmetics: fix typo in 'lib/depcomp' comments
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
2990f48d
|
2012-10-26T14:50:46
|
|
tests: rename some tests to more expressive names, again
* t/parallel-tests.sh: Rename ...
* t/parallel-tests-basics.sh: ... like this.
* t/parallel-tests3.sh: Rename ...
* t/parallel-tests-concurrency.sh: ... like this.
* t/parallel-tests5.sh: Rename ...
* t/parallel-tests-concurrency-2.sh: ... like this.
* t/parallel-tests6.sh: Rename ...
* t/parallel-tests-empty.sh: ... like this. Adjust comments.
* t/parallel-tests8.sh: Rename ...
* t/parallel-tests-generated-and-distributed.sh: ... like this.
* t/parallel-tests9.sh: Rename ...
* t/parallel-tests-recheck.sh: ... like this.
* t/parallel-tests10.sh: Rename ...
* t/parallel-tests-trailing-whitespace.sh: ... like this.
* t/remake3a.sh: Rename ...
* t/remake-subdir-no-makefile.sh: ... like this.
* t/remake4.sh: Rename ...
* t/remake-not-after-make-dist.sh: ... like this.
* t/remake5.sh: Rename ...
* t/remake-maintainer-mode.sh: ... like this.
* t/remake6.sh: Rename ...
* t/remake-subdir3.sh: ... like this.
* t/remake7.sh: Rename ...
* t/remake-fail.sh: ... like this.
* t/remake11.sh: Rename ...
* t/remake-deeply-nested.sh: ... like this
* t/remake12.sh: Rename ...
* t/remake-mild-stress.sh: ... like this
* t/pr8365-remake-timing.sh: Rename ...
* t/remake-timing-bug-pr8365.sh: ... like this.
* t/list-of-tests.mk: Adjust.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
042a2279
|
2012-10-26T14:16:05
|
|
tests: remove an obsolescent grepping check
* t/remake3.sh: This one, superseded by ...
* t/remake3a.sh: ... this semantic test, whose comments have been
djusted accordingly.
* t/list-of-tests.mk: Adjust.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
b025bb83
|
2012-10-26T14:13:25
|
|
tests: merge two tests on automatic remake functionality
* t/remake2.sh: Merge ...
* t/remake-subdir-grepping.sh: ... in here.
* t/list-of-tests.mk: Adjust.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
926ab5b4
|
2012-10-26T12:52:35
|
|
tests: rename some test to more expressive names
* t/remake.sh: Rename ...
* t/remake-subdir-grepping.sh: ... like this.
* t/remake8a.sh: Rename ...
* t/remake-makefile-intree.sh: ... like this, and adjust comments.
* t/remake8b.sh: Rename ...
* t/remake-makefile-vpath.sh: ... like this, and adjust comments.
* t/remake9a.sh: Rename ...
* t/remake-after-configure-ac.sh: ... like this, and adjust comments.
* t/remake9b.sh: Rename ...
* t/remake-after-makefile-am.sh: ... like this, and adjust comments.
* t/remake9c.sh: Rename ...
* t/remake-after-acinclude-m4.sh: ... like this, and adjust comments.
* t/remake9d.sh: Rename ...
* t/remake-after-aclocal-m4.sh: ... like this, and adjust comments.
* t/remake10a.sh: Rename ...
* t/remake-include-configure.sh: ... like this, and adjust comments.
* t/remake10b.sh: Rename ...
* t/remake-include-makefile.sh: ... like this, and adjust comments.
* t/remake10c.sh: Rename ...
* t/remake-include-aclocal.sh: ... like this, and adjust comments.
* t/list-of-tests.mk: Adjust.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
df23dafc
|
2012-10-22T16:14:49
|
|
compat: reinstate AM_PROG_MKDIR_P, for gettext
Do not remove AM_PROG_MKDIR_P just yet.
gettext (latest from git) still AC_REQUIRE's AM_PROG_MKDIR_P via its
intl.m4 and po.m4 files, which are pulled into *many* projects.
When I try to build one of those projects (coreutils) using the latest
from automake.git/master, I see this failure:
$ aclocal -I m4
configure.ac:477: warning: AM_PROG_MKDIR_P is m4_require'd \
but not m4_defun'd
m4/po.m4:23: AM_PO_SUBDIRS is expanded from...
m4/gettext.m4:57: AM_GNU_GETTEXT is expanded from...
configure.ac:477: the top level
That is because AM_PROG_MKDIR_P was removed (via commit
v1.12-20-g8a1c64f) in preparation for the next release of automake.
* NEWS: Remove the paragraph that announced the removal of
AM_PROG_MKDIR_P.
* Makefile.am (dist_automake_ac_DATA): Add m4/mkdirp.m4.
* m4/mkdirp.m4: Re-add file.
* t/mkdirp-deprecation.sh: Likewise.
* t/list-of-tests.mk: Add it.
* automake.in: Restore removed code, and adjust comments, s/1.13/1.14/
to reflect new plan for removal.
* doc/automake.texi (Obsolete Macros): Restore the section, but
now with only one entry: the one for AM_PROG_MKDIR_P.
|
|
7411adcd
|
2012-10-02T20:34:47
|
|
Merge branch 'maint'
* maint:
config headers: remove stale comment in makefile fragment
NEWS: wording and quoting fixlets in few older entries
config headers: don't emit rules for headers not generated by autoheader
docs: fix minor typo: s/expending/expanding/
sync: update files from upstream with "make fetch"
maint: post-release minor version bump
maint: typo fixes s/lies into/lies in/
release: stable release 1.12.4
NEWS: minor fix
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
25ffe7d5
|
2012-09-28T21:27:41
|
|
config headers: don't emit rules for headers not generated by autoheader
This change fixed automake bug#12495.
Even if an AC_CONFIG_HEADERS invocation is passed a list of several files
as the first argument, only the first one of those file is considered by
autoheader for automatic generation of the corresponding '.in' template.
This is done on purpose, and is clearly documented in the Autoconf manual,
which (as of the 2.69 version) reads something like this:
The autoheader program searches for the first invocation of
AC_CONFIG_HEADERS in configure sources to determine the name of
the template. If the first call of AC_CONFIG_HEADERS specifies
more than one input file name, autoheader uses the first one.
That is, an invocation like:
AC_CONFIG_HEADERS([config.h config2.h])
should cause autoheader to generate only a 'config.h.in' template,
and not also a 'config2.h.in' one.
Accordingly, automake, when tracing AC_CONFIG_HEADERS, should generate
remake rules only for the template associated to the first input file
name passed to that macro. In some situations, however, automake failed
to properly limit itself in this way; for example, with an input like:
AC_CONFIG_HEADERS([config.h sub/foo.h])
in configure.ac, and with the 'sub' directory listed in the SUBDIRS
variable of the top-level Makefile, automake would erroneously generate
in 'sub/Makefile.in' a rule to remake the 'foo.h.in' template by
invoking autoheader.
This issue was likely introduced in commit 'Release-1-8-23-g262bb92'
of 2004-01-05.
* NEWS: Update.
* doc/automake.texi (Optional): Improve wording in the description of
hat rules automake generates in response to an 'AC_CONFIG_HEADERS'
invocation.
* lib/am/remake-hdr.am: Only emit autoheader-invoking remake rules for
the %CONFIG_HIN% template if that corresponds to the first argument of
AC_CONFIG_HEADERS, as explaned above. Do so using the automake-time
conditional %?FIRST-HDR%, that is properly passed ...
* automake.in (handle_configure): ... from a 'file_contents' invocation
in here.
* t/autohdr-subdir-pr12495.sh: New test.
* t/list-of-tests.mk: Add it.
* THANKS: Update.
Helped-by: Hib Eris <hib@hiberis.nl>
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
c1b83e1a
|
2012-09-11T11:31:20
|
|
tags: automake bug bug#12372 is fixed
It has been fixed as a side effect of the overhauling of tags support.
* t/list-of-tests.mk (XFAIL_TESTS): No longer list 'tags-pr12372.sh'.
* NEWS: Update.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
f25f4bfc
|
2012-09-11T11:24:51
|
|
Merge branch 'maint'
* maint:
coverage: better exposure for automake bug#12372 (tags-related)
coverage: expose automake bug#12372 (tags-related)
|
|
9c4ad697
|
2012-09-11T11:15:41
|
|
coverage: better exposure for automake bug#12372 (tags-related)
Alas, in contrast with what is said in the commit message of previous
commit 'v1.12.3-14-g94b7b8e', that bug is still present also in the
current maint branch (which will become automake version 1.12.4); it
is just that it only triggers when a _SOURCES variable contains only
files with custom extension.
* t/tags-pr12372.sh: Extend.
* t/list-of-tests.mk: Add it.
Suggested-by: Юрий Пухальский <aikipooh@gmail.com>
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
94b7b8ec
|
2012-09-07T10:42:42
|
|
coverage: expose automake bug#12372 (tags-related)
That bug is somehow already been fixed in the latest automake
version (1.12.4); but exercise it anyway in the testsuite, to
ensure we won't regress.
* t/tags-pr12372.sh: New test.
* t/list-of-tests.mk: Add it.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
076e8fa2
|
2012-09-05T14:40:52
|
|
Merge branch 'maint'
* maint:
sync: update files from upstream with "make fetch"
news: cygnus will be removed in automake 1.13
news: some changes for 1.13 has been "de-planned"
news: report that the have seen fixlets after 1.12.3
warns: enable category 'obsolete' by default
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
cf41f5af
|
2012-09-04T14:50:49
|
|
warns: enable category 'obsolete' by default
No surprise that our users were bitten by backward-incompatible changes
especially hard: the warnings in the 'obsolete' category, that might
have informed them of the upcoming incompatibilities, and help them to
prepare for the transition, where not enabled by default!
* NEWS, doc/automake.texi: Update.
* lib/Automake/ChannelDefs.pm: Enable warnings in the category 'obsolete'
by default.
* t/warnings-obsolete-default.sh: New test.
* t/list-of-tests.mk: Add it.
* t/backcompat.sh: Use 'configure.ac' rather than 'configure.in' as
autoconf input file, to avoid spurious aclocal errors.
* t/backcompat2.sh: Likewise.
* t/backcompat3.sh: Likewise.
* t/backcompat5.sh: Add '-Wno-obsolete' when invoking aclocal. Adjust
heading comments.
* t/backcompat6.sh: Likewise.
* t/cygnus-imply-foreign.sh: Add '-Wno-obsolete' when invoking automake.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
cb60ae36
|
2012-08-28T10:00:45
|
|
Merge branch 'maint'
* maint:
sync: update files from upstream with "make fetch"
automake: don't define many identical 'lang_*_rewrite' subroutines
coverage: bugs #8844 and #9933 (already fixed by Akim's work on ylwrap)
|
|
c433a17c
|
2012-08-26T19:25:02
|
|
coverage: bugs #8844 and #9933 (already fixed by Akim's work on ylwrap)
* t/flex-header.sh: New test, show that automake bug#8844 and bug#9933
have already been fixed by the recent-ish improvements to ylwrap (merged
with commit v1.12.2-27-gec5cb49 of 2012-07-16, "Merge branch 'yacc-work'
into maint").
* t/list-of-tests.mk: Update.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
2abe1833
|
2012-08-24T10:47:17
|
|
AM_INIT_AUTOMAKE: allow obsolescent two-args invocation once again
This partially reverts commit 'v1.12-67-ge186355' of 2012-05-25,
"init: obsolete usages of AM_INIT_AUTOMAKE not supported anymore"
Some users still need to be able to define the version number for
their package dynamically, at configure runtime.
Their user case is that, for development snapshots, they want to be
able to base the complete version of the package on the VCS revision
ID (mostly Git or Mercurial). They could of course do so by
specifying such version dynamically in their call to AC_INIT, as is
done by several GNU packages. But then they would need to regenerate
and re-run the configure script before each snapshot, which might be
very time-consuming for complex packages, to the point of slowing
down and even somewhat impeding development.
The situation should truly be solved in Autoconf, by allowing a way
to specify the version dynamically in a way that doesn't force the
configure script to be regenerated and re-run every time the package
version changes. But until Autoconf has been improved to allow
this, Automake will have to support the obsolescent two-arguments
invocation for AM_INIT_AUTOMAKE, to avoid regressing the suboptimal
but working solution for the use case described above.
See also:
<http://lists.gnu.org/archive/html/automake/2012-08/msg00025.html>
* NEWS: Update.
* m4/init.m4 (AM_INIT_AUTOMAKE): Support once again invocation with
two or three arguments.
* t/aminit-moreargs-no-more.sh: Renamed ...
* t/aminit-moreargs-deprecated.sh: ... like this, and updated.
* t/nodef.sh: Recovered test, with minor adjustments.
* t/backcompat.sh: Likewise.
* t/backcompat2.sh: Likewise.
* t/backcompat3.sh: Likewise.
* t/backcompat6.sh: Likewise.
* t/list-of-tests.mk: Adjust.
Suggested-by: Bob Friesenhahn n<bfriesen@simple.dallas.tx.us>
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
c6cc3802
|
2012-08-13T14:05:40
|
|
Merge branch 'maint'
* maint:
tests: rework tests on AM_PATH_PYTHON
cosmetics: fix typos and references in comments
typofix: in a test diagnostic
readme: fixlets to HACKING
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
daeca29a
|
2012-08-13T13:16:49
|
|
tests: rework tests on AM_PATH_PYTHON
* t/python8.sh, t/python9.sh: Merge into ...
* t/python-am-path-iftrue.sh: ... this new test, with minor adjustments.
* t/python4.sh, t/python5.sh, t/python6.sh, t/python7.sh: Merge into ...
* t/python-missing.sh: ... this new test.
* t/python5b.sh: Rename ...
* t/python-too-old.sh: ... like this, and adjust/extend.
* t/list-of-tests.mk: Adjust.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
03b7cf99
|
2012-08-10T12:51:40
|
|
Merge branch 'maint'
* maint:
cleanup: remove two almost-unused global variables: {am,in}_file_name
cleanup: remove almost-unused global var 'topsrcdir'
automake: remove an unused variable
tests: make a test script more semantic
tests: remove an obsolete, no-op test script
tests: remove an obsolete test script
|
|
7de7d19e
|
2012-08-08T19:08:11
|
|
tests: remove an obsolete, no-op test script
* t/info.sh: This: it tried to operate by checking the contents of the
variable '$(INFOS)', but that is not even defined (and probably has been
obsolete for quite a long time). Since other tests already do thorough
testing of the Texinfo support, just remove this test.
* t/list-of-tests.mk: Adjust.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
c3e7ee62
|
2012-08-08T19:02:13
|
|
tests: remove an obsolete test script
* t/scripts.sh: This: it used to check that the 'AC_PROG_INSTALL' macro
was not uselessly required, but today that macro is AC_REQUIRE'd by
'AM_INIT_AUTOMAKE' anyway, so that the test is no more significant.
* t/list-of-tests.mk: Adjust.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
3e472de1
|
2012-08-05T11:06:16
|
|
Merge branch 'elisp-work'
* elisp-work:
news: document all the recent elisp-related changes and improvements
coverage: byte-compiling elisp files in different subdirectories
elisp: honour AM_ELCFLAFS and ELCFLAGS in byte-compilation
elisp: --batch implies -q, remove -q
elisp: support elisp files in subdirectories properly
elisp: simplify suffix rules using emacs '-L' option
elisp: no need to "absolutize" $(srcdir) and $(builddir) ...
elisp: prefer $(builddir) files over $(srcdir) ones
elisp: use suffix rules, get rid of 'elisp-comp' script (mostly a rewrite)
coverage: elisp path contains $(srcdir) and $(builddir)
coverage: emacs lisp files in subdirectories
|
|
48e99a7e
|
2012-08-04T15:29:21
|
|
coverage: byte-compiling elisp files in different subdirectories
Where a '.el' file in a subdirectory might require a '.el' file in
another one. This does not work out of the box, but can be made to
work with a judicious use of $(AM_ELCFLAGS) (just introduced in the
previous commit).
* t/lisp-subdir-mix.sh: New test.
* t/list-of-tests.mk: Add it.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
56cd2dda
|
2012-08-04T14:56:27
|
|
elisp: honour AM_ELCFLAFS and ELCFLAGS in byte-compilation
* lib/am/lisp.am (.el.elc): Add "$(AM_ELCFLAFS) $(ELCFLAGS)"
to the emacs command line.
* t/lisp-flags.sh: New test.
* t/list-of-tests.mk: Add it.
* doc/automake.texi (Emacs Lisp): Update.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
106428fe
|
2012-07-26T18:16:47
|
|
Merge branch 'maint'
* maint: (38 commits)
maintcheck: fixup list of files in $(xdefs)
tests: never source test-defs.sh directly, source test-lib.sh instead
runtest: sanitize test environment
tests: remove an obsolescent self test
tests: "am_using_tap=yes" -> "am_test_protocol=tap"
tests: protect test libs against multiple inclusion
configure: testsuite shell can return early from "dot-sourced" files
tests: move sanitization and "Bournification" in the generic test lib
tests: source test defs in the generic test lib
test defs: no need to re-add $srcdir/t/ax to $PATH
tests: split test libs into "generic" and "automake-specific"
test setup: move actual calling of testsuite setup in ./defs
test setup: merge definitions of function for simple tests
test init: refactor: new function 'am_test_setup'
test init: refactor: move displaying of debugging info later
test init: refactor: new function 'am_setup_testdir'
test init: refactor: new function 'am_set_exit_traps'
configure: testsuite shell set exit traps in shell functions
test init: refactor: new function 'am_exit_trap'
test init: refactor: new function 'process_requirements'
...
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
db188c29
|
2012-07-26T11:04:31
|
|
runtest: sanitize test environment
* runtest.in: Here, similarly to what is done by AM_TESTS_ENVIRONMENT
in Makefile.am, unset variables that should be under the complete control
of the test framework, and that could create havoc if inherited from the
environment. This remove the need to check against possible environment
"pollution" ...
* t/ax/test-defs.in: ... in here.
* Makefile.am (AM_TESTS_ENVIRONMENT): Add a comment about the need of
synchronization with 'runtest.in'.
* t/self-check-env-sanitize.tap: Remove as obsolete.
* t/list-of-tests.mk: Adjust.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
253e3eb7
|
2012-07-26T10:45:43
|
|
tests: remove an obsolescent self test
* t/self-check-tap.sh: This. The recent reorganization and code
moving between 'test-defs.sh' and 'test-lib.sh' has made it
brittle and prone to failures. Since the usefulness of this self
check is extremely limited, it's not worth trying to fix it. Just
remove it.
* t/list-of-tests.mk: Adjust.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
42d9439d
|
2012-07-25T19:06:22
|
|
perf tests: reorganize
* t/list-of-tests.mk (handwritten_TESTS): Don't list ($perf_TESTS) in
here anymore.
* Makefile.am (EXTRA_DIST): Add them explicitly.
(perf): New target, run the performance tests and save the logs of
the ones with unexpected results in the file 't/perf/test-suite.log',
which is thus ...
(PERF_TEST_SUITE_LOG): ... defined in this variable ...
(CLEANFILES): ... and added to this.
(test_subdirs): Remove 't/perf': the tests in there are no more
listed in $(TESTS).
* t/ax/test-init.sh: Don't explicitly skip "perf" test here.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
f3af1eb0
|
2012-07-24T18:43:50
|
|
Merge branches 'tags-simplify-recursion' and 'color-tests-always'
* tags-simplify-recursion:
tags: unify recursion for tags targets with that of "usual" targets
* color-tests-always:
tests: better name for a couple of tests
check: support colorized testsuite output by default
|
|
47388dbc
|
2012-07-23T12:27:15
|
|
Merge branch 'maint'
* maint:
self tests: avoid spurious failures on older bash
tests: remove t/parallel-tests-many.sh (fixes spurious failure)
typofix: in a comment in the automake script
news: minor fixlets and reordering
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
587e0c6b
|
2012-07-23T10:37:17
|
|
tests: remove t/parallel-tests-many.sh (fixes spurious failure)
That test was checking for automake#7868 "parallel-tests and command-line
length limit issue". That bug is still open, and the tests was xfailing.
What concerns us is that the test was also causing an annoying problem.
On Solaris 10, it produced a '.log' file with two overly-long lines (more
than 1 million characters long!) and that was causing the test harness to
experience spurious failures, with Solaris XPG4 awk complaining that:
/usr/xpg4/bin/awk: line 0 (NR=734): Record too long (LIMIT: 19999 bytes)
A little consideration shows that the bug#7868 checked by the culprit
test cannot be solved "by accident", e.g., by another bug fix or some
simple refactoring, so there is little added value in keeping the xfailing
test for it, if this causes other problems (and we've seen it does).
So we just remove the test. In case we ever manage to fix the bug in
mainline automake, we can copy over the similar test(s) from Automake-NG,
which has actually managed to fix the bug (and have simpler test cases
for it).
* t/parallel-tests-many.sh: Delete.
* t/list-of-tests.mk (XFAIL_TESTS, handwritten_TESTS): Remove it.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
3ffce624
|
2012-07-22T17:06:04
|
|
tests: better name for a couple of tests
* t/color.sh: Rename ...
* t/color-tests.sh: ... like this.
* t/color2.sh: Rename ...
* t/color-tests2.sh: ... like this.
* t/list-of-tests.mk: Adjust.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
2d5571e7
|
2012-07-22T16:38:47
|
|
check: support colorized testsuite output by default
Fixes automake bug#11855.
With this change, we make the 'color-tests' option enabled by default.
That option remains still silently accepted as a no-op, for backward
compatibility.
The developer of a package is still free to disable testsuite coloring on
a per-makefile basis (by adding "AM_COLOR_TESTS = no" to the Makefile.am)
or on a whole-project basis (by AC_SUBST'ing AM_COLOR_TESTS to "no" in
configure.ac). But now the user will be able to request the testsuite
output to be colorized, if he really wants to:
# With GNU make:
make AM_COLOR_TESTS=yes check
# With non-GNU make:
make AM_COLOR_TESTS=yes AM_MAKEFLAGS=AM_COLOR_TESTS=yes check
* NEWS: Update.
* doc/automake.texi: Updated, and some related minor reformatting
and rewording.
* automake.in (handle_tests): No need to pass the transform '%COLOR%'
when processing "check.am".
* lib/am/parallel-tests.am: Remove use of the '%?COLOR%' transform;
just act as if it were unconditionally TRUE.
* t/color.sh: No need to specify 'color-tests' in 'AUTOMAKE_OPTIONS'
nor in 'AM_INIT_AUTOMAKE'.
* t/ax/testsuite-summary-checks.sh: Likewise.
* t/ax/tap-summary-aux.sh: Likewise.
* t/color2.sh: Likewise. Also, ensure that colorized testsuite output
can be disabled by default by calling "AC_SUBST([AM_COLOR_TESTS], [no])".
* t/tap-realtime.sh: Define 'AM_COLOR_TESTS' to "no" in Makefile.am, to
avoid spurious colorization of the output due to the use of the 'expect'
program.
* t/color-tests-opt.sh: New test, check that the 'color-tests' option is
still recognized as a no-op.
* t/list-of-tests.mk: Add the new test.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
094b83a6
|
2012-07-16T11:16:15
|
|
Merge branch 'maint'
* maint:
fixup: delete "# serial" line in m4/amversion.in
news: update about recent ylwrap changes and fixes
m4: get rid of "# serial" lines
configure: ${#param} must be supported by the shell for the testsuite
yacc tests: fix a spurious failure with parallel make
ylwrap: use proper quoting inside a `...` substitution
ylwrap: don't uselessly reset the exit status in case of failure
ylwrap: fix C++ support for Bison
ylwrap: refactor: move loop invariant
ylwrap: refactoring: don't rely on the file order
tests: upgrade and fix Bison test case
tests: fix bison input file
ylwrap: comment changes
ylwrap: modernize idioms
ylwrap: rename header inclusion in generated parsers
ylwrap: simplify the list of renamings
ylwrap: refactor: less duplication
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
3645d0ff
|
2012-07-14T23:14:45
|
|
elisp: support elisp files in subdirectories properly
For more reference, see:
<http://lists.gnu.org/archive/html/automake/2009-10/msg00013.html>
<http://thread.gmane.org/gmane.comp.sysutils.automake.bugs/4772>
* lib/am/lisp.am (.el.elc): If the file being byte-compiled is in
a subdirectory, add that (both as a subdirectory of the builddir
and the srcdir) to the emacs load path. While we are at it (and
for consistency), drop quoting of $(srcdir) and $(builddir), since
those variables are ensured (by configure-time checks) not to
contain white space nor shell metacharacters.
* t/list-of-tests.mk (XFAIL_TESTS): Add 't/lisp-subdir.sh' and
't/lisp-subdir2.sh', since they now passes.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
7cd72e5d
|
2012-07-14T22:33:40
|
|
elisp: prefer $(builddir) files over $(srcdir) ones
* lib/am/lisp.am (.el.elc): Here. This better respects VPATH spirit.
Adjust and extends comments.
* t/list-of-tests.mk (XFAIL_TESTS): Remove 't/lisp-loadpath.sh', which
now passes.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
9bed1c10
|
2012-07-14T21:54:03
|
|
coverage: elisp path contains $(srcdir) and $(builddir)
* t/lisp-loadpath.sh: Check that. Also check that, in true VPATH
spirit, elisp files in the build directory are preferred to those
in the source directory. This test currently fails.
* t/list-of-tests.mk (handwritten_TESTS): Add the new test.
(XFAIL_TESTS): Likewise.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
2f88456d
|
2012-07-14T20:55:30
|
|
coverage: emacs lisp files in subdirectories
* t/lisp-subdir.sh, t/lisp-subdir2.sh: New tests, still failing.
* t/list-of-files.mk (handwritten_TESTS, XFAIL_TESTS): Add them.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
fa104579
|
2012-07-14T16:57:02
|
|
ylwrap: fix C++ support for Bison
Fixes automake bug#7648.
The current logic of ylwrap is to call yacc in a sub directory, and
pull out of it all the files that were requested on its command line.
Reverse this approach: export *all* the files created in the
subdirectory, but rename them according to what the command says.
This way, extra files, such as position.hh, location.hh and stack.hh
for C++ parsers, but also parser.xml or parser.dot if XML or Dot
output is enabled, will be preserved.
* lib/ylwrap (pairlist): Remove.
(main loop): Don't loop over pairlist, but over the files in the
temporary directory.
* t/list-of-tests.mk (XFAIL_TESTS): Fixes t/yacc-bison-skeleton-cxx.sh.
* THANKS (James Bostock): Add, he reported bug#7648.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
be2bb639
|
2012-07-13T14:32:22
|
|
ylwrap: rename header inclusion in generated parsers
Some types of Bison parsers, such as the GLR ones, generate a header
file that they include. ylwrap, which renames the generated files,
does not rename the included file. Fix this shortcoming, reported
for instance here:
<http://lists.gnu.org/archive/html/bug-bison/2012-06/msg00033.html>.
Fixes t/yacc-bison-skeleton.sh, see Automake bug#7648 and PR automake/491.
* lib/ylwrap (quote_for_sed): Accept arguments.
Catch more special characters.
(rename_sed): New.
Improve the previous renaming sed commands using quote_for_sed.
Suggested by Stefano Lattarini here:
<http://lists.gnu.org/archive/html/automake-patches/2012-07/msg00095.html>.
(main loop): Use rename_sed to rename the dependencies to other files.
* t/yacc-d-basic.sh: Exercise this case, even if bison/yacc was
not issuing such an include.
* t/list-of-tests.mk (XFAIL_TESTS): Adjust.
|
|
cbd1a604
|
2012-07-07T11:54:28
|
|
Merge branch 'maint'
* maint:
cosmetics: rename t/ax/test-runner => t/ax/runtest
fixup: another "make recheck" failure with BSD make
test runner: work correctly in VPATH setups
compat: automake should define $(mkdir_p), for backward compatibility
coverage: test that AM_PROG_MKDIR_P and $(mkdir_p) still works
tests init: don't automatically re-execute tests with a POSIX shell
yacc tests: fix spurious failure with parallel make
tests: ignore minor 'recheck' regression for BSD make
tests: don't clutter the top-level dir with temporary test directories
tests: avoid spurious failures when @MKDIR_P@ points to "install-sh -d"
lisp: better support of VPATH builds
news: fixlets and updates
+ Extra non-trivial edits:
* NEWS: State that $(mkdir_p) is still provided as an alias to
$(MKDIR_P), for (partial) backward-compatibility.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
fc21a888
|
2012-07-06T21:29:52
|
|
Merge branch 'fix-pr11806' into maint
* fix-pr11806:
lisp: better support of VPATH builds
|
|
b6e6409a
|
2012-07-06T12:24:33
|
|
tests init: don't automatically re-execute tests with a POSIX shell
I've unwittingly broken support for that feature *again* in some of
my recent testsuite tweaking. In this case, the re-execution code
works correctly when the tests are executed with a POSIX shells, but
breaks when they are invoked by an old-style Bourne shells (e.g.,
/bin/sh on Solaris).
It's time to face it: that feature is too much brittle, and too seldom
used (because the Makefile takes care of running the tests with the
correct shell anyway, so that a breakage is only experienced when
running the tests by hand). It just don't remain working for long, not
when we often touch the testsuite setup (which we are going to do again
when we'll try to move part of our testsuite framework to Gnulib, or a
similar project).
So, instead of trying to be extra-smart and automatically re-execute the
tests with the correct shell, we now offer a simple wrapper script that
the user can employ to run the test scripts with the proper shell. And
while we are at it, we write this wrapper to also deal with TAP tests in
a better way, running them through the prove(1) utility, so that their
results are correctly recognized and reported.
* t/ax/test-runner.in: New file; the wrapper script we were talking about.
* configure.ac (AC_CONFIG_FILES): Process it into 't/ax/test-runner'.
* .gitignore: Add 't/ax/test-runner'.
* defs: Remove code for automatic re-execution of the scripts with the
correct shell. This file now just a very thin layer around 'defs-static'
and 't/ax/test-init.sh'.
* t/README: Adjust, and remove or fix some imprecise or outdated text in
the process (like "... test scripts are written with portability in mind,
so that they should run with any decent Bourne-compatible shell ..." ).
* Makefile.am (AM_TESTS_ENVIRONMENT): No need to export 'AM_TESTS_REEXEC'
to "no" anymore.
* t/self-check-explicit-skips.sh: Likewise.
* t/self-check-exit.tap: Likewise.
* t/self-check-me.tap: Likewise.
* t/self-check-dir.tap: Likewise.
* t/self-check-reexec.tap: Remove as obsolete.
* t/list-of-tests.mk: Adjust.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
56333a70
|
2012-07-06T15:16:12
|
|
tests: avoid spurious failures when @MKDIR_P@ points to "install-sh -d"
* t/self-check-cleanup.tap: Several checks in this test were failing on
NetBSD 5.1. That happened because on that system, '@MKDIR_P@' expands to
an "install-sh -d" invocation that references the $(builddir), and the
code trying to duplicate some of the Automake testsuite infrastructure
in the test subdirectory of this self test wasn't smart enough to cater
to that situation. Granted, we could tweak the test case once more to
fix this Yet Another Spurious Failure, but at this point it has become
clear that the extra coverage offered by this test is not worth all the
hassle. Just remove the test. Since the testsuite is regularly run on
several systems and with different setups, most issues with the testsuite
framework will reveal themselves anyway; no actual need to unit-test them
in our testsuite, if that's too tricky.
* t/list-of-tests.mk: Adjust.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
cca42634
|
2012-07-06T10:12:30
|
|
compat: automake should define $(mkdir_p), for backward compatibility
That has been unwittingly broken by commit 'v1.12-19-g7a1eb9f'
of 2012-04-28, "AM_PROG_MKDIR_P: deprecate, to be removed in
Automake 1.13".
Report from Benoit Sigoure and Diego Elio Pattenò:
<http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
* lib/am/header-vars.am (mkdir_p): Define as an alias for $(MKDIR_P).
* t/list-of-tests.mk (XFAIL_TESTS): Remove 't/mkdir_p.sh'.
* NEWS: Update.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
2634d5d8
|
2012-07-06T09:59:23
|
|
coverage: test that AM_PROG_MKDIR_P and $(mkdir_p) still works
They are deprecated, but should continue to work in the 1.12.x
release series. Report from Benoit Sigoure and Diego Elio Pattenò:
<http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
* t/mkdirp-deprecation.sh: Enhance.
* t/mkdir_p.sh: New test, check that AM_INIT_AUTOMAKE still defines
the $(mkdir_p) make variable. Currently xfailing.
* t/list-of-tests.mk (handwritten_TESTS, XFAIL_TESTS): Add the new
test.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
0451b0bc
|
2012-07-05T18:50:37
|
|
lisp: better support of VPATH builds
Fixes automake bug#11806.
* lib/am/lisp.am: Pass the value of '$(abs_srcdir)' to the
elisp-compile script in the environment.
* lib/elisp-comp: Add the vale of '$abs_srcdir' to the emacs
load-path.
* t/lisp-pr11806.sh: New test.
* t/list-of-tests.mk: Add it.
Copyright-paperwork-exempt: yes
Co-authored-by: Stefano Lattarini <stefano.lattarini@gnu.org>
Reported-by: Makoto Fujiwara <makoto@ki.nu>
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
5e0539a3
|
2012-07-03T21:15:33
|
|
Merge branch 'aclocal-trace-macrodir'
* aclocal-trace-macrodir:
aclocal: deprecate ACLOCAL_AMFLAGS, trace AC_CONFIG_MACRO_DIR instead
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
cd1a9ccc
|
2010-10-05T17:14:00
|
|
aclocal: deprecate ACLOCAL_AMFLAGS, trace AC_CONFIG_MACRO_DIR instead
Maintaining ACLOCAL_AMFLAGS in the Makefile.am to pass extra flags
to aclocal is (and have always been) quite of an hack. For example,
autoreconf is forced to grep Makefile.am to honour those flags. But
this is a bad obsolescent behaviour; in fact, the autotools have moved
consistently in the past years from custom grepping of Makefile.am and
configure.ac to tracing of m4 macro calls, which is more consistent,
more reliable and more flexible.
And when autoreconf is not used, the developer is forced to add *by hand*
the flags specified by ACLOCAL_AMFLAGS to the aclocal calls not triggered
by make rebuild rules; here lie again more duplication and more chances
for errors.
Moreover, ACLOCAL_AMFLAGS has only two typical use cases:
- to instruct aclocal to look for extra macro definition in a local
directory (as with "ACLOCAL_AMFLAGS = -I m4"); and
- to further instruct aclocal to copy in that local directory the
required third-party .m4 files found in the system-wide directory
(as with "ACLOCAL_AMFLAGS = -I m4 --install").
The first use case can be better covered if aclocal can instead trace and
honours call to the AC_CONFIG_MACRO_DIR autoconf macro; and the second
use case shouldn't be considered really legitimate, as it is quite (and
subtly) brittle (see automake bug#9037).
Thus we now make aclocal trace AC_CONFIG_MACRO_DIR macro, and act
accordingly. For backward compatibility, we continue to support the
ACLOCAL_AMFLAGS special variable (although removing any mention of it
from the documentation). Future Automake releases will likely start
to warn about the use of that variable, and eventually remove support
for it altogether.
From a suggestion by Eric Blake.
This is a much simplified (and IMHO saner) version of the patch series
discussed in the threads:
<http://lists.gnu.org/archive/html/automake-patches/2010-10/msg00045.html>
<http://lists.gnu.org/archive/html/automake-patches/2010-12/msg00156.html>
* aclocal.in ($ac_config_macro_dir): New global variable.
(trace_used_macros): Also trace the macro 'AC_CONFIG_MACRO_DIR',
and set the '$ac_config_macro_dir' variable accordingly.
(parse_arguments): Code for diagnosis of '--install' used without
any user-specified include directory moved ...
(while (1)): .. into the main loop. Which now also updates the
list of user-specified include directories to include the directory
given as argument to the call (if any) of 'AC_CONFIG_MACRO_DIR'.
* lib/am/configure.am: Update comments.
* NEWS: Updated.
* doc/automake.texi: Likewise. Also, stop advising the use of the
'--install' in ACLOCAL_AMFLAGS (see automake bug#9037 for a rationale),
and remove any reference to ACLOCAL_AMFLAGS (which is now considered
obsolescent).
* t/aclocal-path-install.sh: Adjust grepping check in the aclocal
error messages.
* t/subpkg.sh: Updated: add 'AC_CONFIG_MACRO_DIR' call to configure.ac,
remove setting of 'ACLOCAL_AMFLAGS' in Makefile.am and use of aclocal
command line arguments.
* t/subpkg2.sh: Likewise.
* t/subdir8.sh: Likewise.
* t/remake10c.sh: Likewise.
* t/remake8a.sh: Likewise.
* t/remake8b.sh: Likewise.
* t/aclocal4.sh: Likewise.
* t/aclocal6.sh: Likewise.
* t/acloca14.sh: Likewise.
* t/acloca22.sh: Likewise.
* t/aclocal5.sh: Likewise, and do not not invade the Automake
namespace (this avoids spurious failures).
* t/acloca14b.sh: New test, identical to the previous version of
'acloca14.test'; it is kept to verify backwards compatibility with
the use of ACLOCAL_AMFLAGS.
* t/acloca22b.sh: Likewise (but for 'acloca22.test').
* t/aclocal-amflags.sh: New test, check for backwards
compatibility that ACLOCAL_AMFLAGS still works.
* t/remake-macrodir.sh: New test, checking that aclocal's honoring of
AC_CONFIG_MACRO_DIR interacts nicely with automatic rebuild rules.
* t/list-of-tests.mk: Add the new tests.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
d7d983b0
|
2012-07-02T17:24:24
|
|
tests: tests for stuff in contrib goes in 'contrib/t'
* t/help-multilib.sh: Move ...
* contrib/t/help-multilib.sh: .. here. Remove a now-obsolete
"FIXME" comment.
* t/multlib.sh: Move ...
* contrib/t/multilib.sh: .. here. Remove a now-obsolete
"FIXME" comment.
* t/parallel-test2.sh: Move ...
* contrib/t/parallel-tests-html.sh: .. here. Remove a
now-obsolete "FIXME" comment.
* contrib/t/local.am: New, basically defining the list of
tests for stuff in 'contrib/'.
* t/list-of-tests.mk, Makefile.am: Adjust.
* .gitignore: Update.
* syntax-checks.mk (xtests): Likewise.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
22786e46
|
2012-07-02T15:04:12
|
|
Merge branch 'user-recursive-targets'
* user-recursive-targets:
recursion: support user-defined recursive targets
tests: rename 'recurs*.sh' to 'var-recurs*.sh'
tests: minor improvements to 'recurs*.sh'
|
|
3da1457d
|
2012-06-12T14:48:12
|
|
recursion: support user-defined recursive targets
The user can now define his own recursive targets that recurse
in the directories specified in $(SUBDIRS). That can be done by
specifying the name of such targets in invocations of the new
'AM_EXTRA_RECURSIVE_TARGETS' m4 macro.
The API goes like this:
$ cat configure.ac
AC_INIT([pkg-name], [1.0]
AM_INIT_AUTOMAKE
AM_EXTRA_RECURSIVE_TARGETS([foo])
AC_CONFIG_FILES([Makefile sub/Makefile])
AC_OUTPUT
$ cat Makefile.am
SUBDIRS = sub
foo-local:
@echo This will be run by "make foo".
$ cat sub/Makefile.am
foo-local:
@echo This too will be run by a "make foo" issued either in
@echo the 'sub/' directory or in the top-level directory.
Like for the "default" recursive targets (e.g., 'all' and 'check'),
the user-defined recursive targets descend in the $(SUBDIRS) in a
depth-first fashion, and process '.' last (unless that is explicitly
specified in $(SUBDIRS)).
* NEWS, doc/automake.texi: Document the new feature.
* automake.in (@extra_recursive_targets): New global variable.
(scan_autoconf_traces): Trace macro '_AM_EXTRA_RECURSIVE_TARGETS'.
(handle_user_recursion): New subroutine; among other things, it defines
the new internal '$(am__extra_recursive_targets)' make variable, and
the '*-am', '*-local' and '*-recursive' targets associated with the
user-specified user recursive targets.
(generate_makefile): Call the new subroutine.
* lib/am/subdirs.am (am__recursive_targets): New internal make variable,
listing all of '$(RECURSIVE_TARGETS)', '$(RECURSIVE_CLEAN_TARGETS)' and
'$(am__extra_recursive_targets)' together.
(AM_RECURSIVE_TARGETS): Adjust the definition of this variable ...
(.PHONY, .MAKE): ... and the list of dependencies of these special targets
to take advantage of the new '$(am__recursive_targets)' variable.
($(am__recursive_targets)): New targets, superseding ...
($(RECURSIVE_TARGETS), $(RECURSIVE_CLEAN_TARGETS)): ... these, and
inheriting their rules. This way, the rules to handle recursion for
built-in recursive targets (e.g., 'all', 'dvi', 'clean') and for user
defined recursive targets are the same.
* m4/extra-recurs.m4: New file, contain definition of new macro
'AM_EXTRA_RECURSIVE_TARGETS' and '_AM_EXTRA_RECURSIVE_TARGETS'.
These macros are basically dummy, only used for tracing by automake.
* m4/Makefile.am (dist_automake_ac_DATA): Update.
* t/recurs-user.sh: New test.
* t/recurs-user2.sh: Likewise.
* t/recurs-user-deeply-nested.sh: Likewise.
* t/recurs-user-indir.sh: Likewise.
* t/recurs-user-keep-going.sh: Likewise.
* t/recurs-user-many.sh: Likewise.
* t/recurs-user-no-subdirs.sh: Likewise.
* t/recurs-user-no-top-level.sh: Likewise.
* t/recurs-user-override.sh: Likewise.
* t/recurs-user-phony.sh: Likewise.
* t/recurs-user-wrap.sh: Likewise.
* t/remake-recurs-user.sh: Likewise.
* t/list-of-tests.mk: Update.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
09793005
|
2012-06-12T10:11:35
|
|
tests: rename 'recurs*.sh' to 'var-recurs*.sh'
* t/recurs.sh: Rename ...
* t/var-recurs.sh: ... to this.
* t/recurs2.sh: Rename ...
* t/var-recurs2.sh: ... to this.
* tests/list-of-tests.mk: Adjust.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
e18ac4b8
|
2012-06-30T21:32:20
|
|
Merge branch 'maint'
* maint:
parallel-tests: "recheck" behaves better in case of compilation failures
scripts: quote 'like this', not `like this'
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
c4947504
|
2012-06-30T20:20:22
|
|
Merge branch 'recheck-fix' into maint
* recheck-fix:
parallel-tests: "recheck" behaves better in case of compilation failures
scripts: quote 'like this', not `like this'
|