| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| |
| | |
* master:
maint: update copyright years to 2015 (branch 'master')
maint: update copyright years to 2015 (branch 'micro')
|
| |
| |
| |
| | |
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
| |
| |
| |
| |
| |
| | |
We've been in 2014 already for few months now...
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| | |
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* 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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* 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>
|
| |
| |
| |
| | |
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|\ \
| |/
| |
| |
| |
| | |
* master:
maint: update copyright year for 2013 (in branch master)
maint: update copyright year for 2013 (in branch maint)
|
| |
| |
| |
| | |
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| |
| | |
* 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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* 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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* 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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| | |
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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>
|
|
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>
|