summaryrefslogtreecommitdiff
path: root/gen-testsuite-part
Commit message (Collapse)AuthorAgeFilesLines
* maint: make update-copyrightMike Frysinger2023-01-041-1/+1
|
* maint: make update-copyrightJim Meyering2022-01-121-1/+1
|
* maint: make update-copyrightJim Meyering2021-07-111-1/+1
|
* maint: make update-copyrightJim Meyering2020-01-011-1/+1
|
* maint: make update-copyrightPaul Eggert2019-10-141-1/+1
|
* maint: Update copyright years to 2018Mathieu Lirzin2018-01-041-1/+1
| | | | This update has been made with 'make update-copyright'.
* Prefer https: URLsPaul Eggert2017-09-191-1/+1
| | | | | | | | | | | | | | | | | | | | | In Gnulib, Emacs, etc. we are changing ftp: and http: URLs to use https:, to discourage man-in-the-middle attacks when downloading software. The attached patch propagates these changes upstream to Automake. This patch does not affect files that Automake is downstream of, which I'll patch separately. Althouth the resources are not secret, plain HTTP is vulnerable to malicious routers that tamper with responses from GNU servers, and this sort of thing is all too common when people in some other countries browse US-based websites. See, for example: Aceto G, Botta A, Pescapé A, Awan MF, Ahmad T, Qaisar S. Analyzing internet censorship in Pakistan. RTSI 2016. https://dx.doi.org/10.1109/RTSI.2016.7740626 HTTPS is not a complete solution here, but it can be a significant help. The GNU project regularly serves up code to users, so we should take some care here.
* maint: Update copyright years to 2017.Mathieu Lirzin2017-03-021-1/+1
| | | | This update has been made with 'make update-copyright'.
* maint: update copyright years to 2015 (branch 'micro')Stefano Lattarini2015-01-051-1/+1
| | | | Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* Merge branch 'micro' into minorStefano Lattarini2014-12-221-3/+5
|\ | | | | | | | | | | | | | | | | | | | | * micro: cleanup: refactor code to initialize DIST_COMMON dist: ordering of files in DIST_COMMON is deterministic now tests: refactor some tests on DIST_COMMON maint: make output of 'gen-testsuite-part' deterministic When computing lispdir, don't load emacs site wide init file. PATH: quote $(PATH_SEPARATOR) as well Improve detection of GNU make, avoiding "Arg list too long" errors.
| * maint: make output of 'gen-testsuite-part' deterministicStefano Lattarini2014-12-221-3/+5
| | | | | | | | | | | | | | | | | | | | So that diffs displayed by the 'compare-autodiffs' target are less spurious and more useful. * gen-testsuite-part: Sort keys of %deps_extractor, %wrapper_setups and %depmodes before iterating on them. 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>
* | TAP driver: remove perl implementation (move it into contrib/)Stefano Lattarini2013-12-241-14/+0
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | That implementation was only meant as a standard against which the portable awk+shell implementation was to be measured. Now, since Automake 1.12, the latter implementation is fully functional and already used in the wild, and in fact feature-par with the perl implementation. So the perl implementation is now just slowing down and complicating our testsuite. Let's move it to 'contrib/' (we don't want to remove it, in case someone is actually using it in the wild). * lib/tap-driver.pl: Move it ... * contrib/tap-driver.pl: ... here. While at it, convert quoting `like this' to quoting 'like this', and remove an obsolescent FIXME comment. * lib/Makefile.inc (dist_script_DATA): Drop '%D%/tap-driver.pl'. * Makefile.am (EXTRA_DIST): Add 'contrib/tap-driver.pl'. * doc/automake.texi: Remove one stray reference to 'tap-driver.pl', and reference 'tap-driver.sh' instead, as intended. * t/ax/am-test-lib.sh ($am_tap_implementation): Delete definition and uses. (fetch_tap_driver): Simplify to unconditionally assume the shell+awk implementation of the TAP driver is used. (get_shell_script): Make more flexible so that it can cater to the needs of 'fetch_tap_driver()'. * t/tap-bad-prog.tap: Likewise. * t/tap-bailout-leading-space.sh: Likewise. * t/tap-signal.tap: Likewise. * t/tap-test-number-0.sh: Likewise. * t/test-driver-cond.sh: Use 'tap-driver.sh' instead of 'tap-driver.pl'. * gen-testsuite-part (%test_generators): Do not generate sister tests that use the perl TAP driver rather than the shell+awk one. * NEWS: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* tests: some tests make no sense if "$CC -c -o" doesn't workStefano Lattarini2013-05-241-1/+1
| | | | | | | | | | | | | So just skip them, to avoid spurious failures when running "make check-no-cc-c-o". * t/ax/am-test-lib.sh (require_tool): New requirement '-c-o'. * t/subobj10.sh ($required): Add it. * gen-testsuite-part (%depmodes): Adjust so that tests that use 'makedepend' will be skipped if the compiler is being forced not to grasp "-c -o". Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* tests: remove exec bit from all of them ('micro' branch)Stefano Lattarini2013-05-161-2/+2
| | | | | | | | | | | | | | | | | | 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>
* 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 'maint'Stefano Lattarini2012-12-141-0/+5
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * maint: docs: fixlet about xz compression levels and command line options maint: more files excluded in 'update-copyright' maint: adapt 'update-copyright' recipe to the new $(FETCHFILES) format HACKING: update instructions to update the manuals at www.gnu.org maint: add an explicative comment in Makefile maint: factor out the name of the dir where web manuals are generated maint: rename rules to build/upload web manuals cosmetic: minor variable and rules reordering in Makefile.am docs: build the web manuals for CVS in the builddir, not in the srcdir release: automate uploading of web manuals in CVS docs: AM_CFLAGS: remove reference to non-existing "more detailed" desc tests: avoid two spurious failures on FreeBSD tests: improve 'pkg-config' requirement
| * tests: improve 'pkg-config' requirementStefano Lattarini2012-12-131-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This improves (and unifies among different tests) the detection of both the 'pkg-config' program and m4 macros provided by it; they are needed in particular by tests on Vala support. Before this, some Vala-related tests were failing spuriously when the pkg-config program was available but the macros from pkg.m4 were not made explicitly available in ACLOCAL_PATH. These tests were: vala-mix vala-mix2 vala-parallel vala-vapi vala-vpath See also similar commit 'v1.11-581-gb7d67d5' of 2011-12-22, "tests: better handling of gettext and libtool requirements". * t/ax/am-test-lib.sh (process_requirements): If a requirement matches the 'pkg-config*' wildcard, try to make available to it the pkg-config m4 macros, and skip it if it's not possible. This is done by sourcing the 'get.sh' fragment generated by ... * t/pkg-config-macros.sh: ... this new test, which looks in advance for the 'pkg-config' program and the m4 macros that comes with it. * t/list-of-tests.mk: Add the new test. * gen-testsuite-part (%deps_extractor): Tests requiring pkg-config will need the m4 macros coming with it; so these tests should be run after the 'pkg-config-macros.sh' test. Automatically generate proper declarations for such dependencies. * t/vala-header.sh: No need to explicitly check that the macro PKG_CHECK_MODULES has been expanded by autoconf. * t/vala-libs.sh: Likewise. * t/vala-non-recursive-setup.sh: Likewise. * t/vala-per-target-flags.sh: Likewise. * t/vala-recursive-setup.sh: Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | 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>
* depcomp: improve comments about the 'gcc' depmodeStefano Lattarini2012-10-271-2/+5
| | | | | | | | | | | It is not only needed by obsolescent gcc compilers (pre-3.x), but also by modern compiler like IBM C/C++. State that ... * lib/depcomp: ... here... * gen-testsuite-part: ... and here, where we generate the 'depcomp*.tap' tests. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* tests: ensure generation of wrapper tests matching multiple conditionsStefano Lattarini2012-10-261-17/+35
| | | | | | | | | | | | | | | | | * gen-testsuite-part: Our old code to generate wrapper tests had a severe limitation, in that if a test matched two or more conditions calling for generation of wrapper tests, still only one wrapper test was generated, instead of the three that would have been expected -- that is, one using the setup code triggered by the first condition, one using the setup code triggered by the second condition, and one using both this setup code fragments. Admittedly, this was only a theoretical limitation for the moment, since since so far no test exists that matches two or more conditions for wrapping. Still, this might change in the future, and easily in an unnoticed way, so better fix the issue now, before it might become a real problem. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* tests: simplify a loop in gen-testsuite-partStefano Lattarini2012-10-261-1/+1
| | | | | | | | * gen-testsuite-part: No need to loop on the (key, value) entries of the %test_generators has: we only use the value, and never the key. So loop simply on the values. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* gen-tests: simplify sourcing of helper shell filesStefano Lattarini2012-07-261-1/+2
| | | | | | | | | | | | | | | This is a follow-up on commit v1.12.2-49-g42fb45b, for an occurrence of '. "$am_testauxdir"/foo.sh' that wasn't in a test script, but rather in 'gen-testsuite-part' (ending up in the tests generated by that script). * gen-testsuite-part: In the generated 'depcomp*.tap' tests, use simply: . depcomp.sh rather than: . "$am_testauxdir/depcomp.sh" Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* tests: never source test-defs.sh directly, source test-lib.sh insteadStefano Lattarini2012-07-261-1/+1
| | | | | | | | | | | | | | | 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>
* test defs: move in 't/ax/test-defs.sh'Stefano Lattarini2012-07-261-1/+1
| | | | | | | | | | | | | | | | | | | 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>
* gen-tests: $testdir/ax -> $testauxdirStefano Lattarini2012-07-261-8/+8
| | | | | | | | * gen-testsuite-part ($testauxdir): New, defined to "$testdir/ax". Use it throughout, for better encapsulation and less duplication. ($auxdir): Remove as unneeded. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* gen-tests: less hard-coding of 't' as the test directoryStefano Lattarini2012-07-261-15/+18
| | | | | | | | | | | | | | This will make life easier for us in case we decide to rename the testsuite directory in the future (perhaps to something like 'tests', which is somewhat less cryptic than the current 't'). * gen-testsuite-part ($testdir): New variable, used throughout instead of hard-coding the name of the test directory to 't'. All the script adjusted to make proper use of '$testdir'. ($auxdir): Move its definition earlier, for consistency with the one of '$testdir'. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* tests: remove obsolete hacks around maintainer-check false positivesStefano Lattarini2012-06-281-2/+2
| | | | | | * gen-testsuite-part, t/test-trs-recover.sh: Here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* tests: simpler workaround for shells losing the exit status in exit trapStefano Lattarini2012-06-251-5/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* tests: use 'parallel-tests' Automake option by defaultStefano Lattarini2012-05-181-22/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This will help our transition from 'serial-tests' to 'parallel-tests' as the default test suite driver enabled by a TESTS assignment in the input Makefile.am. Note that that change of default will only take place in master, though. * defs: Pass the 'parallel-tests' option to the AM_INIT_AUTOMAKE invocation in the created 'configure.ac' stub, unless the variable 'am_serial_tests' is set to "yes". Don't pay attention anymore to the 'am_parallel_tests' variable, that's obsolete now. * defs-static.in: Warn if the 'am_serial_tests' variable is set in the environment; conversely, don't warn anymore about 'am_parallel_tests' being set in the environment. * Makefile.am (AM_TESTS_ENVIRONMENT): Nullify the 'am_serial_tests' variable instead of the now-obsolete 'am_parallel_tests' one. * syntax-checks.mk (sc_tests_obsolete_variables): Also warn against uses of 'am_parallel_tests', which is now deprecated in favor of 'am_serial_tests'. Similarly, if a use of 'parallel_tests' is seen, suggest using 'am_serial_tests' instead, not 'am_parallel_tests'. * gen-testsuite-part: Now that we use the 'parallel-tests' by default in our tests, we need to completely change the logic and semantics of generation of sibling tests for those tests that check the Automake generated testsuite harness itself. Do that, and give a complete explanation of the new logic and semantics in the relevant comments. * t/README: Update. * Lots of test cases: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* maint: no more make recursion in Automake's build systemStefano Lattarini2012-04-061-0/+415
We finally merge testsuite-related part of the Automake build system with the top-level one. See also yesterday's commit 'v1.11-2124-ga4b0f4b', "maint: remove most recursion in automake's own build system". * t/gen-testsuite-part: Move ... * gen-testsuite-part: ... here, with required adjustments. * t/defs-static.in: Move ... * defs-static.in: ... here, with required adjustments. In particular ... ($testsrcdir, $testbuilddir): Removed. ($top_testsrcdir): Renamed ... ($am_top_srcdir): ... to this. ($top_testbuilddir): Renamed ... ($am_top_builddir): ... to this. * t/defs: Move ... * defs: ... here, and adjust as required. * t/Makefile.am: Merge ... * Makefile.am: ... in here, with related adjustments and simplifications. * bootstrap: Adjust as required. * syntax-checks.mk: Likewise. * .gitignore: Likewise. * t/ax/tap-setup.sh: Likewise. * t/get-sysconf.sh: Likewise. * t/help-multilib.sh: Likewise. * t/multlib.sh: Likewise. * t/parallel-tests2.sh: Likewise. * t/self-check-cleanup.tap: Likewise. * t/self-check-exit.tap: Likewise. * t/self-check-dir.tap: Likewise. * t/self-check-explicit-skips.sh: Likewise. * t/self-check-reexec.tap: Likewise. * t/self-check-sanity.sh: Likewise. * t/yacc-d-cxx.sh: Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>