|
57770a2c
|
2012-10-27T18:31:21
|
|
tests: get rid of ./defs, it's no longer used.
* defs: Delete.
* configure.ac (AC_CONFIG_LINKS): No longer link it.
* t/ax/tap-setup.sh: Don't look for a file named 'defs' in
the grandparent directory of the current test directory to
decide whether we're running in the correct directory.
* syntax-check.mk (xdefs): Remove '$(srcdir)/defs'.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
9fed1c81
|
2012-10-27T17:34:50
|
|
tests: remove spurious leftover use of 'Exit'
* t/per-target-flags.sh: Here, and simply use 'exit' instead.
Issue revealed by the 'sc_tests_Exit_not_exit' maintainer check.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
50d533cd
|
2012-10-27T17:09:55
|
|
tests: remove an obsolete, and probably now wrong, comment
* t/dirlist.sh: Here.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
55ea5e0f
|
2012-10-27T17:08:28
|
|
tests: remove obsolescent references to './defs'
* t/distcom-subdir.sh, t/distcom2.sh, t/ax/depcomp.sh, t/conff2.sh,
t/ccnoco3.sh, t/ccnoco.sh, t/self-check-dir.tap, t/self-check-exit.tap,
t/self-check-me.tap: Here. Instead, refer to "am-test-lib.sh",
"test-init.sh", or simply "the testsuite setup", as appropriate.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
5ddf1007
|
2012-10-27T16:41:39
|
|
tests: prefer including 'test-init.sh' rather than './defs'
This is a follow-up to today's commit v1.12.4-22-g0610fc8,
"tests: prepare to move ./defs to t/ax/test-init.sh"
* All tests: To run the common setup, use the command:
. test-init.sh
instead of the older, "historical" one:
. ./defs || exit 1
Note that the "|| exit 1" wasn't really useful, since the 'errexit'
shell flag is in effect in both './defs' and 'test-init.sh', and all
the known shells that are good enough to run the automake testsuite
do automatically exit with error when a sourced file cannot be found
(at least, they do so in non-interactive mode, which is the only
mode that concerns us in the testsuite).
* t/ax/tap-summary-aux.sh, t/ax/testsuite-summary-checks.sh: Likewise.
* gen-testsuite-part: Do the same in the generated tests.
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>
|
|
b0f45569
|
2012-10-27T14:23:40
|
|
Merge branch 'maint'
* maint:
tests: prepare to move ./defs to t/ax/test-init.sh
|
|
0610fc8e
|
2012-10-27T12:59:41
|
|
tests: prepare to move ./defs to t/ax/test-init.sh
We don't do this in a sweeping passage, because that would cause
endless headaches in the synchronization between the maint, master
and ng/master branches. Instead, we setup our framework to allow
test scripts to work by sourcing either './defs' or 'test-init.sh',
so that we'll be able to make the transition gradual and painless.
* t/ax/test-init.sh: New, copied from the previous ./defs file.
* defs: Simply work by sourcing the new file.
* Makefile.am (dist_noinst_DATA): List the new file.
* t/README: Adjust to mandate the sourcing of 'test-init.sh' rather
than of './defs'.
* t/c-demo.sh: Source 'test-init.sh' instead of ./defs. This is
done to verify our new setup actually works.
* t/ac-output-old.tap: Likewise.
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.
|
|
3c5c9394
|
2012-10-04T00:08:26
|
|
compile: support libfoo.a naming when wrapping Microsoft tools
There is a future plan to provide some means to have Automake
create static libraries that are named differently depending
on the system [1].
The background is that everyone has always named static libraries
libfoo.a, except the Redmond crowd who names them foo.lib, and
you have to jump through hoops to have Automake create libraries
named foo.lib in the land of non-GNU Windows while still creating
libfoo.a everywhere else.
However, there is probably no sane way to accomplish that system
dependent naming discussed in [1] without user intervention,
which makes it necessary to support the classic libfoo.a naming
when using Microsoft tools in the best possible way, for the
benefit of all projects today and for future projects not
opting in to whatever scheme is selected for the problem at
hand.
[1] http://lists.gnu.org/archive/html/automake/2012-09/msg00028.html
* lib/compile (func_cl_dashl): As a last resort, match -lfoo with
libfoo.a, if that file exist on the library search path.
* t/compile4.sh: Remove obsolescent workaround for the above.
* t/compile6.sh: Extend to check that libbaz.a is indeed found
when baz.lib and baz.dll.lib does not exist and that bar.lib
and bar.dll.lib are preferred over libbar.a.
Signed-off-by: Peter Rosin <peda@lysator.liu.se>
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
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>
|
|
154fedbd
|
2012-09-12T17:31:24
|
|
fix typos in mk-dirp.m4
* t/gettext-macros.sh: Fix typo in name of macro emitted into
mk-dirp.m4: s/AM_MKDIR_P/AM_PROG_MKDIR_P/,
and as Stefano Lattarini noted, also fix this typo:
s/AC_MKDIR_P/AC_PROG_MKDIR_P/.
|
|
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>
|
|
23a4376f
|
2012-08-28T10:58:37
|
|
tests: fix a maintainer-check failure ('Exit' used instead of 'exit')
* t/lisp-loadpath.sh: Here.
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>
|
|
97998210
|
2012-08-26T12:55:38
|
|
Merge branch 'maint'
* maint:
docs: don't suggest to use recursive makefile setup
tests: fix a timestamp race in python tests
tests: fixup: make distcheck-override-infodir pass again
sync: update files from upstream with "make fetch"
maint: post-release minor version bump
release: stable release 1.12.3
maintcheck: fix spurious warnings
docs: fix typo: s/make install-info/make uninstall-info/
tests: fixup: make a couple of tests executable
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>
|
|
1be71fc8
|
2012-08-16T18:54:41
|
|
tests: fix a timestamp race in python tests
Fixes automake bug#12210.
* t/python-missing.sh: Call aclocal and autoconf with the "--force"
option. We need this because, on fast machines, it's possible for
'mypy.m4' and 'aclocal.m4' to end up with the same timestamp as configure,
so autoconf (without the "--force" options) wouldn't bother to rebuild it,
and would just rerun the previous AM_PATH_PYTHON test, succeeding rather
than failing as expected.
* t/python-am-path-iftrue.sh: Likewise.
Co-authored-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Copyright-paperwork-exempt: yes
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
2bb6c94e
|
2012-08-14T19:34:10
|
|
tests: fixup: make distcheck-override-infodir pass again
Fixes Automake bug#12198.
* t/distcheck-override-infodir.sh (main.texi): Remove all leading
cruft added by commit v1.12.2-96-g133307b "maintcheck: fix spurious
warnings".
Signed-off-by: Peter Rosin <peda@lysator.liu.se>
|
|
af1ac94a
|
2012-08-13T18:00:57
|
|
maintcheck: fix spurious warnings
* t/distcheck-override-infodir.sh: Be sure that valid occurences
of the "aclocal" and "automake" strings, which can confuse the
'sc_tests_plain_automake' check, are protected by leading "#"
characters.
* t/ax/test-lib.sh: Always use '$(...)' for command subtitution,
to avoid triggering the 'sc_tests_command_subst' check; there was
still once place where `...` was used. While at it, fix a related
comment.
* t/ax/test-defs.in ($sleep): Use creative quoting to avoid
spuriously triggering the 'sc_tests_plain_sleep' check.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
fd189a05
|
2012-08-13T14:38:02
|
|
tests: fixup: make a couple of tests executable
* t/python-am-path-iftrue.sh: This.
* t/python-missing.sh: And this.
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>
|
|
cbc0fc85
|
2012-08-13T12:10:46
|
|
cosmetics: fix typos and references in comments
* lib/am/check.am: Here.
* doc/automake.texi: And here.
* t/*.sh: And in several of these tests.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
917d0959
|
2012-08-13T11:08:43
|
|
typofix: in a test diagnostic
* t/cscope.tap: Here.
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
|
|
6fd3e230
|
2012-08-08T19:18:44
|
|
tests: make a test script more semantic
This is mostly useful for Automake-NG, that is heavily overhauling the
generated Makefiles and thus is prone to break grepping checks (which
can sometimes end up causing false negatives in the testsuite, sadly).
But this is not a reason not to strengthen the test for mainline
Automake as well.
* t/noinstdir.sh: Add semantic checks.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
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>
|
|
2a7c9aea
|
2012-08-05T17:45:07
|
|
Merge branch 'maint'
* maint:
tests: avoid spurious failures with older Texinfo
tests: avoid tons of spurious failures on NetBSD
runtest: avoid spurious failures on NetBSD
news: dependency tracking for Portland Group Compilers is now supported
|
|
706f26b7
|
2012-08-05T17:11:51
|
|
tests: avoid spurious failures with older Texinfo
* t/distcheck-override-infodir.sh (main.texi): Add explicit calls to
'@dircategory' and '@direntry', to ensure a 'dir' file will be created
also by 'install-info' coming with Texinfo 4.8.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
5b1dae57
|
2012-08-05T12:14:19
|
|
tests: avoid tons of spurious failures on NetBSD
* t/ax/am-test-lib.sh (process_requirements): Set the '$am_tool' variable
to the empty string before trying to unset it; otherwise, we might be
attempting to unset an already-unset variable, which (together with the
presence of the 'errexit' shell flag) causes spurious failures at least
with the /bin/sh shell from NetBSD 5.1. This was actually causing the
great majority of the Automake tests (all those not using a "required=..."
declaration) to fail spuriously on that platform!
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
|
|
670b3bd5
|
2012-08-05T11:03:40
|
|
Merge branch 'maint'
* maint:
tests: cater to OpenSolaris 'zip'
|
|
9158d39d
|
2012-08-05T10:32:15
|
|
tests: cater to OpenSolaris 'zip'
* t/dist-formats.tap: Here: OpenSolaris zip do not accept the
'--version' option, but accept the '-v' one with a similar
meaning (if no further arguments are given).
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
12f0caf6
|
2012-08-04T23:45:39
|
|
Merge branch 'maint'
* maint:
tests: fix a spurious XPASS on OpenIndiana
tests: avoid spurious failure of 't/vala-vapi.sh' on OpenIndiana
tests: avoid spurious failure of 't/uninstall-fail.sh' on OpenIndiana
tests: reimplement wrappers for automake and aclocal in perl
tests: work around a ksh bug w.r.t. ${1+"$@"}
depcomp: style changes to Portland Group Compilers support
depcomp: initial support for Portland Group Compilers
|
|
70b503ae
|
2012-08-04T23:03:46
|
|
tests: fix a spurious XPASS on OpenIndiana
* t/instspc.tap: Here, by isolating the $(DESTDIR) used by runs with
different "problematic strings" to prevent them to unduly interfering
with each other. With this, the Automake testsuite finally run cleanly
on the OpenIndiana and Solaris 10 systems I have access to.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
f989c7e1
|
2012-08-04T20:38:31
|
|
tests: avoid spurious failure of 't/vala-vapi.sh' on OpenIndiana
* t/vala-vapi.sh: Use 'printf', not 'echo', to print strings containing
substrings like '\n', that can be interpreted like escape strings. That
because the /bin/sh and the /bin/bash shell from OpenIndiana actually
interpret them that way:
$ /bin/sh -c 'echo "foo\nbar"'
foo
bar
$ /bin/bash -c 'echo "foo\nbar"'
foo
bar
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
3632e7d8
|
2012-08-04T20:06:28
|
|
tests: avoid spurious failure of 't/uninstall-fail.sh' on OpenIndiana
On current OpenIndiana (based on what once was OpenSolaris 11), the shell
/bin/sh (which, differently from what happens on Solaris, is a true POSIX
shell, thus worthy of consideration) somehow manages to "eat" the
error message from 'rm' when that fails to remove a file due to lacking
permission on the parent directory:
$ /bin/sh -c "cd unwritable-dir || { echo OOPS; exit 1; }; rm -f foo"
$ echo rc = $?
rc = 1
$ /bin/bash -c "cd unwritable-dir || { echo OOPS; exit 1; }; rm -f foo"
rm: foo not removed: Permission denied
$ echo rc = $?
rc = 2
$ /bin/sh -c "cd unwritable-dir || { echo OOPS; exit 1; }; env rm -f foo"
rm: foo not removed: Permission denied
$ echo rc = $?
rc = 2
That is probably due to an improper optimization, that is, the shell tries
to be smart and remove the file itself instead of invoking 'rm', but fails
spectacularly in the attempt.
* t/uninstall-fail.sh: The just-described bug was causing a spurious
failure in this test case. Cater to thus situation, by relaxing the
test when a faulty shell is detected. And while at it, fix and improve
an unrelated comment.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
96afe638
|
2012-08-04T18:36:24
|
|
tests: reimplement wrappers for automake and aclocal in perl
This will allow us to avoid one extra shell invocation per automake
and aclocal invocation in our testsuite, and, more importantly, will
allow us not to worry about potential shell portability issues, at
least in those wrappers. For an example of such a portability issue,
refer to the recent commit v1.12.2-80-g65dadf6 "tests: work around a
ksh bug w.r.t. ${1+"$@"}".
* t/wrap/automake.in, t/wrap/aclocal.in: Rewritten in perl.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
65dadf65
|
2012-08-04T16:54:30
|
|
tests: work around a ksh bug w.r.t. ${1+"$@"}
Fixes automake bug#10898. See also the older (much older) thread:
<http://lists.gnu.org/archive/html/automake-patches/2009-12/msg00036.html>
At least the AT&T and OpenSolaris versions of the Korn shell, as well
as the /bin/sh from OpenIndiana 11, have a strange bug regarding the
expansion of ${1+"$@"}: when exactly *one empty* argument is passed to
a script run by one of this shells, inside that script ${1+"$@"} will
expand to *nothing*, rather than to to the single empty string, as
one would expect (OTOH, $# will correctly expand to 1). This buggy
behaviour was causing a spurious failure in our testsuite (test 6 in
't/automake-cmdline.tap'). Work around it.
* t/wrap/automake.in: Here.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
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>
|
|
7d6b2743
|
2012-07-26T18:14:18
|
|
Merge branch 'testsuite-refactor' into maint
* testsuite-refactor: (33 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'
...
|
|
f2b8b765
|
2012-07-26T12:50:32
|
|
tests: never source test-defs.sh directly, source test-lib.sh instead
After the recent re-organization, sourcing 'test-defs.sh' directly might
not work well and cause spurious failures or other unexpected behaviours.
We should source 'test-lib.sh' instead, which contains not more direct
code execution (only definition of shell variables/functions, or sourcing
of other '*.sh' with the same property), is protected against multiple
inclusions, and sources 'test-defs.sh' automatically in in a proper way.
* t/testsuite-summary-count.sh, t/tap-summary.sh, t/tap-summary-color.sh,
t/testsuite-summary-color.sh: Source 'test-lib.sh', not 'test-defs.sh'.
* gen-testsuite-part: Likewise, in the generated wrapper scripts.
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>
|
|
e82c9156
|
2012-07-26T10:35:09
|
|
tests: "am_using_tap=yes" -> "am_test_protocol=tap"
And similarly, "am_using_tap=no" -> "am_test_protocol=none".
The new '$am_test_protocol' name is clearer, and will allow the easy
addition of further test protocols in the future. This is not truly
relevant for automake, but we are trying to make some parts of our
testsuite framework as general as possible, in view of a future move
to a more generic project like Gnulib.
* Makefile.am, t/ax/am-test-lib.sh, t/ax/test-defs.in, t/ax/test-lib.sh,
t/self-check-env-sanitize.tap, t/self-check-tap.sh: Adjust.
* syntax-checks.mk (sc_tests_obsolete_variables): Add 'am_using_tap' to
the list of obsolete variables to check against.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
d8b3c5e4
|
2012-07-26T12:21:40
|
|
tests: protect test libs against multiple inclusion
* t/ax/test-lib.sh, t/ax/am-test-lib.sh: Return early if already sourced.
Use the witness variables '$test_lib_sourced' and '$am_test_lib_sourced',
respectively, for this purpose.
* runtest.in, Makefile.am (AM_TESTS_ENVIRONMENT): Unset 'test_lib_sourced'
and 'am_test_lib_sourced', to avoid interferences from the environment.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
1ab1f546
|
2012-07-26T10:22:52
|
|
tests: move sanitization and "Bournification" in the generic test lib
* t/ax/test-defs.sh: From here ...
* t/ax/test-lib.sh: ... to here. Also move the initialization of
'$argv0' and '$me'.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
4fcf43cd
|
2012-07-26T10:09:04
|
|
tests: source test defs in the generic test lib
* t/ax/test-lib.sh: That is, here ...
* defs: ... rather than here.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
7a42af01
|
2012-07-26T10:03:51
|
|
test defs: no need to re-add $srcdir/t/ax to $PATH
* t/ax/test-defs.sh: Here. That is already done by both 'runtest' and
AM_TESTS_ENVIRONMENT, and the presence of '$srcdir/t/ax' in $PATH is
anyway required, after the recent changes, for our testsuite framework
to work at all.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
55fb7140
|
2012-07-25T22:49:02
|
|
tests: split test libs into "generic" and "automake-specific"
This is the first step in the quest to merge the generically useful
parts of our test suite framework in a more generic project, like
Gnulib. Time will tell if we'll succeed, and whether the success will
be worth the extra hassle.
* t/ax/test-init.sh: Split out ...
* t/ax/am-test-lib.sh, t/ax/test-lib.sh: ... into these two tests.
* defs, Makefile.am: Adjust.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
feab5c26
|
2012-07-25T21:12:30
|
|
test setup: move actual calling of testsuite setup in ./defs
* t/ax/test-init.sh: Move call to 'am_test_setup' ...
* defs: ... here.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
3bb5a901
|
2012-07-25T21:04:30
|
|
test setup: merge definitions of function for simple tests
* t/ax/plain-functions.sh: Delete, moving the definitions of ...
($stderr_fileno_): ... this variable ...
(warn_, fail_, skip_, skip_all_, fatal_, framework_failure_): ... and
these functions ...
* t/ax/test-init.sh: ... in here. This allow us to use those functions
earlier in this file (instead of having to duplicate their behaviour
with inlined code). The TAP-based tests are still able to override these
functions later to their TAP-enhanced equivalents when 'tap-functions.sh'
is sourced.
* Makefile.am (dist_noinst_DATA): Remove 't/ax/plain-functions.sh'.
* t/ax/tap-functions.sh: Adjust a comment.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
1f4d8c22
|
2012-07-25T20:20:09
|
|
test init: refactor: new function 'am_setup_testdir'
* t/ax/test-init.sh (am_setup_testdir): Here.
Use it instead of inlining its contents in the main code.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
d9686f93
|
2012-07-25T20:17:46
|
|
test init: refactor: new function 'am_set_exit_traps'
* t/ax/test-init.sh (am_set_exit_traps): Here.
(trap): Use it instead of inlining the cleanup/finalization code.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
472e4e47
|
2012-07-25T20:31:47
|
|
test init: refactor: new function 'am_test_setup'
* t/ax/test-init.sh (am_test_setup): Here.
Call it from the main code. Remove other calls of functions and
settings that are now duly called by 'am_test_setup'.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
22443fe7
|
2012-07-25T20:25:55
|
|
test init: refactor: move displaying of debugging info later
* t/ax/test-init.sh: Here, about the values of $PATH, $am_using_tap
and $am_running_installcheck.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
7f3690db
|
2012-07-25T19:45:31
|
|
test init: refactor: new function 'am_exit_trap'
* t/ax/test-init.sh (am_exit_trap): Here.
(trap): Use it instead of inlining the cleanup/finialization code.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
1a915b9a
|
2012-07-25T19:41:57
|
|
test init: refactor: new function 'process_requirements'
* t/ax/test-init.sh (process_requirements): Here.
Use it in to check that the tools in $required are present.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
42bd480c
|
2012-07-25T19:23:29
|
|
test init: refactor: new function 'require_tool'
* t/ax/test-init.sh (require_tool): Here.
Use it in the loop in the prerequisites in $required.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
2bb312c8
|
2012-07-25T18:49:50
|
|
test init: remove a couple of paranoid sanity checks
* t/ax/test-init.sh: Here, about 'am_top_srcdir' and 'am_top_builddir';
the values of those variables are AC_SUBST'd, so it's nigh impossible
for the to be wrong or get "messed up".
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
42fb45b7
|
2012-07-26T00:20:03
|
|
tests: simplify sourcing of helper shell files
Now that the early $PATH setup in both 'runtest' and AM_TESTS_ENVIRONMENT
allow the '.' built-in to find to-be-sourced shell scripts in the 't/ax/'
directory automatically, we can simplify several usages like:
. "$am_testauxdir"/foo.sh
to just:
. foo.sh
Also, because our test scripts run with the 'errexit' flag active, and
because POSIX mandates that, when the '.' built-in is used,
... if no readable file is found, a non-interactive shell shall abort ...
we can further simplify usages like:
. "$am_testauxdir"/foo.sh || fatal_ "sourcing foo.sh"
once again to to just:
. foo.sh
* ./defs, several tests: Adjusted.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
ecbceb3e
|
2012-07-25T18:14:23
|
|
test defs: move in 't/ax/test-defs.sh'
We can do so with minimal churn, now that the early setup of $PATH in
both 'runtest' and AM_TESTS_ENVIRONMENT allow the '.' built-in to find
to-be-sourced shell scripts in 't/ax' automatically, both in in-tree
and VPATH builds.
With this change, we take another step forward a more rational and
"segregated" organization of our testsuite framework.
* defs-static.in: Rename ...
* t/ax/test-defs.in: ... like this, and adjust.
* Makefile.am, syntax-checks.mk, t/README, gen-testsuite-part,
t/tests-init.sh, t/ax/tap-setup.sh, t/tap-summary.sh, .gitignore,
t/testsuite-summary-color.sh, t/testsuite-summary-count.sh,
t/self-check-tap.sh, defs: 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>
|
|
d1a7148c
|
2012-07-25T12:40:10
|
|
tests: avoid spurious failure when running as root
Fixes automake bug#12041.
* t/primary-prefix-couples-force-valid.sh: If run as root, don't expect
a "test -x" on a non-executable files to fail: for root, all files are
executable (as well as readable and writable), and at least on Solaris
10 that causes "test -x" to succeed also on non-executable files.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
06143bdb
|
2012-07-24T23:51:44
|
|
Merge branch 'maint'
* maint:
tests: avoid non-textual output in a '.log' file
|
|
fd252417
|
2012-07-24T22:56:01
|
|
tests: avoid non-textual output in a '.log' file
* t/dist-formats.tap: Here. Otherwise, some inferior awk implementations,
like OpenIndiana /usr/xpg4/bin/awk, could be confused and cause spurious
errors in the testsuite harness.
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
|
|
43619a0f
|
2012-07-23T13:35:28
|
|
tests: avoid a spurious failure with Solaris /bin/sh
The /bin/sh shell on Solaris is dumb enough not to set the exit
status to 127 after the execution of a non-existing command is
attempted:
$ /bin/sh -c 'nonesuch'; echo stat = $?
/bin/sh: nonesuch: not found
stat = 1
This means that the missing script, when run through that shell,
cannot discriminate between a real failure of a maintainer tool
and a failure due to its absence. This is not a big deal in
practice (especially because all the 'missing' invocations in
our Makefiles are done with $(SHELL), and that is almost surely
set by configure to a proper POSIX shell), but was causing an
annoying failure in our testsuite. Fix it.
* t/missing3.sh: If 'missing' is run with a /bin/sh shell suffering
from the just-described bug, skip the check that would spuriously
fail due to that bug.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
54a47b07
|
2012-07-23T13:15:13
|
|
tests: fix buglet in t/missing3.sh
* t/missing3.sh: Be sure to use 'run_cmd' also in the first invocation
of 'missing', to ensure the stderr will actually be saved in a file we
can later grep.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
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>
|
|
15fa9fba
|
2012-07-23T10:51:48
|
|
Merge branch 'fix-pr11909' into maint
* fix-pr11909:
self tests: avoid spurious failures on older bash
|
|
7519d263
|
2012-07-14T13:56:34
|
|
self tests: avoid spurious failures on older bash
Fixes automake bug#11909.
* t/self-check-explicit-skips.sh: Remove or rework few checks for use
cases that are no more relevant nor supported now that we've got rid
of the need to use the 'Exit' function explicitly. Make the other
existing checks stricter.
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>
|
|
158b46f2
|
2012-07-22T11:07:22
|
|
tags: unify recursion for tags targets with that of "usual" targets
This change has a side effect: now any failure of the 'tags', 'ctags',
'cscope' and 'cscopelist' targets in a subdirectory will cause the
recursive command issued from the top directory to fail. We believe
that this behavioural change is not only justified by the simplification
this patch entails, but actually offers better semantics: ignoring
failures by default is never a good idea, and with make, the user can
anyway order the completion of commands in the face of possible failures
with the '-k' option.
* NEWS: Update.
* automake.in (%required_targets): Add keys 'cscopelist-am', 'tags-am'
and 'ctags-am'.
(handle_tags): Greatly simplified, the major part of the handling of
recursion for the 'tags', 'ctags' and 'cscopelist' now moved out to ...
* lib/am/tags.am: ... this file, that has been adjusted and extended
accordingly.
* t/maken3.sh: Remove testing of the 'TAGS' target, that is now just
an alias to 'tags'. Without this change, this test would spuriously
fail.
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>
|
|
226be35f
|
2012-07-14T21:52:43
|
|
elisp: use suffix rules, get rid of 'elisp-comp' script (mostly a rewrite)
Motivated by automake bug#11806.
Traditionally, automake byte-compiled emacs-lisp '.el' files by invoking
'elisp-comp' on all of them in a bulk; this involved complex timestamping
and file-locking logic. It was also brittle in any slightly-unusual
setup, because 'elisp-comp' operated by copying all of the elisp files
to be compiled into a temporary sub-directory and compiling them in there,
the copying the resulting byte-compile files back in the build directory.
This patch removes all of that juggling and chicanery in favour of
defining a much simpler '.el.elc' suffix rule. Not only this is simpler,
but it also interacts better with "make -jN" calls, which are becoming
more and more common and useful on today's increasingly multicore systems.
* Makefile.am (dist_script_DATA): Remove 'elisp-comp'.
* automake.in (@common_files): Likewise.
(handle_emacs_lisp): Do not require 'elisp-comp'.
* doc/automake.texi: Remove references to 'elisp-comp'.
* lib/am/lisp.am: Define elisp compilation via a suffix rule; this
basically amounts to a complete re-write of the lisp byte-compilation
rules.
* lib/elisp-comp: Remove.
* t/add-missing.tap: Remove elisp-comp test.
* t/dist-auxdir-many-subdirs.sh: Remove reference to elisp-comp.
* t/primary-prefix-invalid-couples.tap: Likewise.
* t/primary-prefix-valid-couples.sh: Likewise.
* t/lisp4.sh: Remove reference to elc-stamp.
* t/lisp5.sh: Likewise.
* t/lisp6.sh: Likewise.
* t/lisp3.sh: Likewise. Also remove the recompilation check that
involves a (message) call.
* t/lisp7.sh: Remove check for "Warnings can be ignored". Remove
reference to elc-stamp.
* t/lisp8.sh: Likewise.
* t/lispdry.sh: Remove references to elc-stamp.
Acked-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|