t


Log

Author Commit Date CI Message
Stefano Lattarini 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>
Stefano Lattarini 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>
Stefano Lattarini 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>
Stefano Lattarini 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>
Stefano Lattarini 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>
Stefano Lattarini 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>
Stefano Lattarini 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>
Stefano Lattarini 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>
Stefano Lattarini 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>
Stefano Lattarini 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>
Stefano Lattarini b0f45569 2012-10-27T14:23:40 Merge branch 'maint' * maint: tests: prepare to move ./defs to t/ax/test-init.sh
Stefano Lattarini 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>
Stefano Lattarini 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>
Stefano Lattarini 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>
Stefano Lattarini 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>
Stefano Lattarini 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>
Stefano Lattarini 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>
Jim Meyering 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.
Peter Rosin 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>
Stefano Lattarini 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>
Stefano Lattarini 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>
Jim Meyering 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/.
Stefano Lattarini 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>
Stefano Lattarini 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)
Stefano Lattarini 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>
Stefano Lattarini 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>
Stefano Lattarini 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>
Stefano Lattarini 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>
Stefano Lattarini 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>
Stefano Lattarini 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)
Stefano Lattarini 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>
Stefano Lattarini 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>
Stefano Lattarini 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>
Adam Sampson 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>
Peter Rosin 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>
Stefano Lattarini 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>
Stefano Lattarini 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>
Stefano Lattarini 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>
Stefano Lattarini 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>
Stefano Lattarini 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>
Stefano Lattarini 917d0959 2012-08-13T11:08:43 typofix: in a test diagnostic * t/cscope.tap: Here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 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
Stefano Lattarini 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>
Stefano Lattarini 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>
Stefano Lattarini 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>
Stefano Lattarini 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
Stefano Lattarini 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>
Stefano Lattarini 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>
Stefano Lattarini 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
Stefano Lattarini 670b3bd5 2012-08-05T11:03:40 Merge branch 'maint' * maint: tests: cater to OpenSolaris 'zip'
Stefano Lattarini 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>
Stefano Lattarini 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
Stefano Lattarini 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>
Stefano Lattarini 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>
Stefano Lattarini 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>
Stefano Lattarini 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>
Stefano Lattarini 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>
Stefano Lattarini 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>
Stefano Lattarini 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>
Stefano Lattarini 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>
Stefano Lattarini 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' ...
Stefano Lattarini 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>
Stefano Lattarini 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>
Stefano Lattarini 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>
Stefano Lattarini 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>
Stefano Lattarini 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>
Stefano Lattarini 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>
Stefano Lattarini 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>
Stefano Lattarini 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>
Stefano Lattarini 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>
Stefano Lattarini 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>
Stefano Lattarini 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>
Stefano Lattarini 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>
Stefano Lattarini 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>
Stefano Lattarini 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>
Stefano Lattarini 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>
Stefano Lattarini 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>
Stefano Lattarini 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>
Stefano Lattarini 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>
Stefano Lattarini 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>
Stefano Lattarini 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>
Stefano Lattarini 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>
Stefano Lattarini 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>
Stefano Lattarini 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>
Stefano Lattarini 06143bdb 2012-07-24T23:51:44 Merge branch 'maint' * maint: tests: avoid non-textual output in a '.log' file
Stefano Lattarini 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>
Stefano Lattarini 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
Stefano Lattarini 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>
Stefano Lattarini 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>
Stefano Lattarini 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>
Stefano Lattarini 15fa9fba 2012-07-23T10:51:48 Merge branch 'fix-pr11909' into maint * fix-pr11909: self tests: avoid spurious failures on older bash
Stefano Lattarini 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>
Stefano Lattarini 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>
Stefano Lattarini 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>
Stefano Lattarini 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>
Stefano Lattarini 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>
Stefano Lattarini 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>
Stefano Lattarini 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>
Stefano Lattarini 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>
Jack Kelly 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>