summaryrefslogtreecommitdiff
path: root/t/insthook.sh
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'master' into ng/masterStefano Lattarini2015-01-051-1/+1
|\ | | | | | | | | | | * master: maint: update copyright years to 2015 (branch 'master') maint: update copyright years to 2015 (branch 'micro')
| * maint: update copyright years to 2015 (branch 'micro')Stefano Lattarini2015-01-051-1/+1
| | | | | | | | Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| * maint: update copyright yearsStefano Lattarini2014-04-211-1/+1
| | | | | | | | | | | | We've been in 2014 already for few months now... Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| * tests: better idiom to override make macro defs on the cmdlineStefano Lattarini2013-05-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We now do so with a new wrapper shell function 'run_make()', which relies on the use of AM_MAKEFLAGS, avoiding the use of the '-e' make option. The use of that option (that causes the environment variables to take precedence over the macro definitions in the Makefile) has proved to be quite brittle in the past, causing annoying and sometimes problematic spurious failures. This has worsened in some still unpublished work going on in development branches. It's time to solve the issue once and for all. Note that we do not convert all uses of $MAKE in the testsuite right away; we might do so in follow-up changes, with leisure, to avoid a "patch bomb" effect (this commit is already too much of a bomb itself). What we do in this commit is to get rid of all "$MAKE -e" invocations. We admit that the implementation and feature-set of 'run_make()' are far from perfect, but good enough for our current purposes. We'll improve 'run_make()' if and when the need arises. * syntax-checks.mk (sc_tests_no_make_e): New syntax check, guard against the use of "$MAKE -e". (syntax_check_rules): Add it. (sc_tests_overriding_macros_on_cmdline): Adjust. (lint): New, alias for 'maintainer-check', for lazy typists. Idea backported from the 'maint' branch (Automake 1.13a). * t/ax/am-test-lib.sh (run_make): New function. Run $MAKE with the given command-line arguments, handling command-line override of variable definitions in a smart way (using AM_MAKEFLAGS if a non-GNU make implementation is detected to be in use). (useless_vpath_rebuild): Adjust to use 'run_make', to avoid a spurious maintainer check failure. (yl_distcheck): Use 'run_make' rather than bare '$MAKE'. (single_quote, append_single_quoted, is_valid_varname): New auxiliary function, used, directly or indirectly, by it. * Many tests: Adjust to avoid the use of "$MAKE -e", and prefer the use of 'run_make' in few other contexts as well, where it makes sense. Other minor fixlets while at it. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | update copyright years in all filesStefano Lattarini2014-12-191-1/+1
| | | | | | | | Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | Merge branch 'master' into ng/masterStefano Lattarini2013-05-201-0/+0
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * master: tests: fix a spurious failure on NetBSD 5.1 texi: build version.texi and stamp-vti in srcdir tests: fix a botched heading comment tests: fix another spurious with FreeBSD make tests: fix a spurious failure with FreeBSD make tests: fix a spurious failure with FreeBSD make lisp: fix a failure with Solaris /usr/xpg4/bin/sh tests: sanitize 'unset' usages tests: fix some botched/outdated comments tests: use perl, not find+rm, to remove temporary directories depend: reduce code duplication, de-uglify make verbose output tests: remove remaining exec bits ('master' branch) tests: remove remaining exec bits ('maint' branch) tests: remove exec bit from all of them ('micro' branch) maint: tests no longer need to have executable bit set PLANS: subdir-objects: various updates depend: prefer $(...) over `...` in Cygwin-specific recipes depend: reduce code duplication depend: a preparatory refactoring depend: refactor and remove code duplication Automake::Language: drop unused fields 'compile_flag' and 'output_flag' depend: assume '-c' compiler flag always means to produce object files depend: assume we can always pass '-o' to the C compiler cleanup: having subdir-objects mandatory allow us some simplifications subdir-objects: enable unconditionally + Non-trivial extra changes (excerpt): * bin/automake.in: remove few remaining subroutine prototypes. * lib/am/depend2.am: Drop uses of '%-o%' and '%-c%' transforms; just assume they expand to '-o' and '-c' unconditionally. Be sure to always use a space after the '%SOURCEFLAG%' transform. Drop obsolete comments. * t/: Make those *.sh and *.tap tests that are only present for Automake-NG and not mainline Automake non-executable (as it has already been done for the tests in mainline Automake). Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| * tests: remove exec bit from all of them ('micro' branch)Stefano Lattarini2013-05-161-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It gives the impression that they are directly runnable, as with "./t/foo.sh", but it has been a while since that was the case. Today, tests are runnable only through "make check" or "./runtest". This change is for the 'micro' branch (automake 1.13.2a). It will soon be followed by similar patches for the 'maint' branch (automake 1.13a) and the 'master' branch (automake 1.99a). * t/*.sh, t/*.tap: Remove executable bit. * maint.mk (sc_tests_executable): Remove. (syntax_check_rules): Adjust. * gen-testsuite-part: Set permissions of generated tests to '444' (-r--r--r--), rather than 555 (-r-xr-xr-x). Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | Merge branch 'master' into ng/masterStefano Lattarini2013-04-211-8/+8
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * master: INSTALL: regen sync: update files from upstream with "make fetch" tests: tweaks and minimal improvements to t/insthook.sh typofix: in comments in t/extra2.sh tests: fix botched cross-reference in a heading comment compat: reinstate support for obsolete $(INCLUDES) variable automake: refactoring: factor out common cpp-like flags NEWS (mint): reflect new Automake versioning scheme NEWS (master): reflect new Automake versioning scheme Add missing '$' for variable expansion in depout.m4 maintcheck: avoid spurious failure perl: perl subroutine prototypes are problematic, don't use them fixup: one stray reference to older versioning scheme preproc: enhance and extend tests preproc: add support for relative names in included fragments + Non-trivial extra changes: * automake.in (@cpplike_flags): Use $(AM_DEFAULT_INCLUDES), not $(DEFAULT_INCLUDES). Do not support $(INCLUDES). (generate_makefile): User definition of $(INCLUDES) causes a fatal error, not a warning. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| * tests: tweaks and minimal improvements to t/insthook.shStefano Lattarini2013-04-201-8/+8
| | | | | | | | Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | Merge branch 'master' into ng/masterStefano Lattarini2012-12-311-1/+1
|\ \ | |/ | | | | | | | | * master: maint: update copyright year for 2013 (in branch master) maint: update copyright year for 2013 (in branch maint)
| * maint: update copyright year for 2013 (in branch maint)Stefano Lattarini2012-12-311-1/+1
| | | | | | | | Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | Merge branch 'master' into ng/masterStefano Lattarini2012-10-271-1/+1
|\ \ | |/ | | | | | | | | | | | | | | | | * master: tests: remove spurious leftover use of 'Exit' tests: remove an obsolete, and probably now wrong, comment tests: remove obsolescent references to './defs' tests: prefer including 'test-init.sh' rather than './defs' Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| * tests: prefer including 'test-init.sh' rather than './defs'Stefano Lattarini2012-10-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Merge branch 'master' into ng/masterStefano Lattarini2012-06-281-1/+1
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * master: cosmetics: remove trailing whitespace in some files coverage: enhance tests in 'missing' script a little coverage: tests AM_MISSING_PROG usage docs: document AM_MISSING_PROG tests: fix a spurious failure with Solaris make tests: simpler workaround for shells losing the exit status in exit trap tests: avoid several spurious failures on Solaris tests: avoid a spurious failure on NetBSD + Extra non-trivial edits: * Several tests: Adjusted to use 'exit' rather than 'Exit'. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| * tests: simpler workaround for shells losing the exit status in exit trapStefano Lattarini2012-06-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now that we can assume our tests are run by a decent POSIX shell, we can simplify our workaround aimed at having the exit status propagated correctly to the code in the exit trap. Unfortunately, we cannot dispense with such a workaround altogether, because it's still required by some shells we need to support (at least Solaris 10 /bin/ksh and /usr/xpg4/bin/sh). For more information about the need of that workaround, see the entry about 'trap' in the section "Limitations of Shell Builtins" in the Autoconf manual: <http://www.gnu.org/software/autoconf/manual/autoconf.html#trap> The new workaround has been tested successfully with the following shells: - Bash 4.1 - Bash 3.2 - Bash 3.0 - Bash 2.05b - dash 0.5.5.1 - dash 0.5.2 - AT&T Ksh 93u (from official Debian package) - MirBSD Korn Shell 40.2 (from official Debian package) - Solaris 9, 10 and 11 /bin/ksh - Solaris 9, 10 and 11 /usr/xpg4/bin/sh - NetBSD 5.1 /bin/sh - NetBSD 5.1 /bin/ksh * t/ax/test-init.sh (Exit): Rename ... (_am_exit): ... like this. (exit): New alias for '_am_exit'. We cannot simply redefine 'exit' as a shell function, because some shells (dash 0.5.5.1, Solaris 10 /bin/ksh and /usr/xpg4/bin/sh) do not allow it. (_am_exit, trap): Add extra escaping for 'exit' calls, to ensure we really invoke the 'exit' builtin and not our alias with the same name. * configure.ac: Check that the shell selected to run our testsuite supports aliases named like shell builtins. * t/REAMDE: Adjust. * All tests: Adjust, by simply using 'exit' instead of 'Exit'. * t/self-check-explicit-skips.sh: Adjust: the first usage of 'exit' after it has been redefined as an alias must be on a new line w.r.t. that where the alias is defined, in order for the redefinition to be honored. * syntax-checks.mk (sc_tests_Exit_not_exit): Delete. (sc_tests_exit_not_Exit): New. (syntax_check_rules): Adjust. (sc_tests_automake_fails): Simplify the recipe a little. * Several tests: Remove now useless spurious quoting once required to placate the 'sc_tests_Exit_not_exit' maintainer check. * gen-testsuite-part: Likewise. Also, avoid uses of 'Exit' in the generated scripts. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | Merge branch 'master' into ng/masterStefano Lattarini2012-06-221-1/+1
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | * master: tests: prefer using 'is_newest' over 'ls -t' hacks tests: implement is_newest as an auxiliary script, not shell function tests: fix some spurious failures in VPATH setup tests: work in VPATH setup again tests: automatic re-execution works for non-POSIX shells too tests: use more POSIX shell features our test scripts docs: avoid failures with development version of Texinfo (4.13.90) typofix: s/test derivers/test drivers/ in check.am comments typofix: s/env/even/ in comments in GNUmakefile Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| * tests: use more POSIX shell features our test scriptsStefano Lattarini2012-06-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit 'v1.12-36-g2d68fd9' of 2012-05-07, "configure: search a sturdy POSIX shell to be used in the testsuite", the shell running our test script is assured to be a POSIX-conforming shell, so we can use the more modern and flexible idioms and features that we couldn't use when we also aimed at compatibility with non-POSIX Bourne shells, like Solaris /bin/sh. * t/README: Suggest to use POSIX shell features liberally in test cases, with possible exception of Makefile recipes and configure shell code. * Several tests: Adjust to use more POSIX shell features; e.g., $(...) rather than `...`, $((...)) rather than `expr ...`, "if ! CMD; then ..." instead of "if CMD; then :; else ...", and so on. In several places, when using the 'test' built-in, prefer '-eq' over '=' for numeric comparisons, and prefer "grep -c PATTERN FILE" over "grep PATTERN FILE | wc -l". Throw in other low-hanging easy improvements and fixlets while we are at it. * t/ax/depcomp.sh, t/ax/tap-summary-aux.sh, t/ax/tap-functions.sh, defs, defs-static.in: Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | [ng] cosmetics: remove trailing whitespace from few filesStefano Lattarini2012-06-101-1/+1
| | | | | | | | Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | Merge branch 'master' into ng/masterStefano Lattarini2012-04-111-1/+1
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * master: vala tests: force the use of automatic dependency tracking tests: avoid spurious failures in tests on C++ and lex tests: avoid spurious failures with non-flex 'lex' programs and C++ tests: avoid a spurious failures for shells with busted 'set -e' maint: simplify generation of files with @substed@ stuff tests: remove redundant requirement tests: make two test scripts executable t/README: update w.r.t. recent overhaul (non-recursive build system) docs: fix names of relevant test cases in comments NEWS: automake build systems avoids make recursion maint: no more make recursion in Automake's build system tests: rename 'tests/' => 't/', '*.test' => '*.sh' tests: remove recipes that run tests with 'prove' tests: move most helper scripts and files into the 'ax' subdirectory maint: remove most recursion in automake's own build system tests: fix a spurious failures with non-GNU make + Extra non-trivial edits: * Makefile.am: Remove new uses of 'AM_MAKEFLAGS' throughout. (dist_automake_ac_DATA): Do not list 'm4/depout.m4' nor 'm4/make.m4'. * syntax-checks.m4: Use '$(xdefs)' instead of hard-coding the older paths of 'defs' and 'defs-static.in'. Use 't/README' instead of 'tests/README'. * t/instdir-no-empty.sh: Remove uses of 'AM_MAKEFLAGS'. * tests/depcomp-recover.test: Renamed ... * t/depcomp-recover.sh: ... to this. * tests/gmake-vars.test: Renamed ... * t/gmake-vars.sh: ... to this. * tests/interp3.test: Renamed ... * t/interp3.sh: ... to this. * tests/objdir.test: Renamed ... * t/objdir.sh: ... to this. * tests/spy-vpath-rewrite.test: Renamed ... * t/spy-vpath-rewrite.sh: ... to this. * tests/vpath-rewrite.test: Renamed ... * t/vpath-rewrite.sh: ... to this. * tests/yacc-subobj-nodep.test: Renamed ... * t/yacc-subobj-nodep.sh: ... to this. * tests/depcomp-shuffle.sh: Renamed ... * t/ax/depcomp-shuffle.sh: ... to this, and removed executable bit. * t/depcomp-shuffle-sub-vpath.sh: Adjust. * t/depcomp-shuffle-sub.sh: Likewise. * t/depcomp-shuffle-vpath.sh: Likewise. * t/depcomp-shuffle.sh: Likewise. * gen-testsuite-part: Likewise. * t/list-of-tests.mk: Do not list tests that had been already removed from the Automake-NG testsuite. Take into account the renames above. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* tests: rename 'tests/' => 't/', '*.test' => '*.sh'Stefano Lattarini2012-04-061-0/+77
When we (soon) convert the Automake testsuite to a non-recursive make setup, we'll have to fix the entries of $(TESTS) to be prepended with the subdirectory they are in; this will increase the length of $(TESTS), and thus increase the possibility of exceeding the command-line length limits on some systems (most notably, MinGW/MSYS). See automake bug#7868 for more information. Thus we rename the 'tests/' subdirectory to 't/', and each 'x.test' script in there to 'x.sh'; this way, the $(TESTS) entry 'foo.test' will become 't/foo.sh', which have the same number of characters. * tests/: Rename ... * t/: ... to this. * t/*.test: Rename ... * t/*.sh: ... to this. * t/.gitignore: Removed as obsolete. * t/defs: Adjust. * t/gen-testsuite-part: Likewise. * t/list-of-tests.mk: Likewise. * t/ccnoco.sh: Likewise. * t/ccnoco3.sh: Likewise. * t/self-check-cleanup.tap: Likewise. * t/self-check-dir.tap: Likewise. * t/self-check-me.tap: Likewise. * t/self-check-reexec.tap: Likewise. * README: Likewise. * bootstrap: Likewise * configure.ac: Likewise. * Makefile.am: Likewise. * .gitignore: Likewise. * syntax-check.mk: Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>