t


Log

Author Commit Date CI Message
Stefano Lattarini d89da9c2 2012-05-12T08:42:37 tests: fix spurious failure due to i18n issue Fixes automake bug#11452. * t/parallel-tests-fork-bomb.sh: Export LANG, LANGUAGE and LC_ALL to 'C', to ensure error messages will be in English, and thus avoiding possible false negatives in our grepping of them. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 9c86ba6b 2012-05-10T14:32:27 tests: add few missing 'cc' and 'c++' requirements Without that requirements, the configure-time overrides of CC and CXX wouldn't be honored in the affected tests. * t/silent-yacc.sh ($required): Require 'cc'. * t/silent-yacc-headers.sh: Likewise. * t/silent-lex.sh: Likewise. * t/lex-clean.sh: Likewise. * t/lex-depend.sh: Likewise. * t/lex-line.sh: Likewise. * t/lex-depend.sh: Likewise. * t/lex-pr204.sh: Likewise. * t/yacc-deleted-headers.sh: Likewise. * t/yacc-line.sh: Likewise. * t/yacc-depend.sh: Likewise. * t/yacc-depend2.sh: Likewise. * t/yacc-dist-nobuild-subdir.sh: Likewise. * t/yacc-bison-skeleton.sh: Likewise. * t/yacc-bison-skeleton-cxx.sh ($required): Require 'c++'. * t/yacc-clean-cxx.sh: Likewise. * t/yacc-d-cxx.sh: Likewise. * t/yacc-cxx.sh: Likewise. * t/yacc-mix-c-cxx.sh ($required): Require 'cc' and 'c++'. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 33c59ec5 2012-05-07T22:11:28 Merge branch 'testsuite-saner-shell' into maint * testsuite-saner-shell: tests: fix a spurious failure with dash test defs: fix indentation (cosmetic change) tests: remove obsolete uses of $sh_errexit_works configure: search a sturdy POSIX shell to be used in the testsuite tests: shell running test scripts is now named AM_TEST_RUNNER_SHELL
Stefano Lattarini f974da70 2012-04-23T19:03:33 tests: fix a spurious failure with dash The dash shell, at least version 0.5.5.1, doesn't always bail out with a syntax error when a stray "fi" in encountered: $ dash -c ":; fi"; echo stat = $? stat = 0 See also the relevant bug report: <http://permalink.gmane.org/gmane.comp.shells.dash/717> This behaviour was causing a spurious error in our testsuite. Fix it. * t/self-check-exit.tap: Use a stray parentheses rather than a stray 'fi' to trigger a syntax error. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 6b641de5 2011-12-28T13:23:31 tests: remove obsolete uses of $sh_errexit_works After the last changes, configure will ensure that the shell selected to run the test scripts can correctly propagate exit status to the exit trap when 'set -e' is in effect. * configure.ac (sh_errexit_works): Do not AC_SUBST it anymore. * defs-static.in (sh_errexit_works): Do not initialize from the AC_SUBST value anymore. * defs (trap): Trap the EXIT signal unconditionally. * t/self-check-explicit-skips.sh: Do not skip the test if '$sh_errexit_works' is != "yes", this check doesn't make sense anymore. * t/self-check-cleanup.tap: Likewise. * t/self-check-exit.tap: Assume the exit trap is always installed by ./defs. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 21d1b934 2011-12-28T13:23:31 tests: shell running test scripts is now named AM_TEST_RUNNER_SHELL This is just a preparatory refactoring for future changes. * configure.ac (AM_TEST_RUNNER_SHELL): New variable, defined to $SHELL', and AC_SUBST'd. * Makefile.am (LOG_COMPILER): Redefine from $(SHELL) to $(AM_TEST_RUNNER_SHELL). * defs: Adjust to use $AM_TEST_RUNNER_SHELL instead of $CONFIG_SHELL and/or $SHELL, where appropriate. Minor opportunistic changes. * t/self-check-explicit-skips.sh: Likewise. * t/self-check-sanity.sh: Likewise. * t/self-check-tap.sh: Likewise. * t/self-check-cleanup.tap: Likewise. * t/self-check-dir.tap: Likewise. * t/self-check-env-sanitize.tap: Likewise. * t/self-check-exit.tap: Likewise. * t/self-check-me.tap: Likewise. * t/self-check-reexec.tap: Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 27136dfe 2012-03-31T16:39:32 init: warn against obsolete usage of AM_INIT_AUTOMAKE Support for the two- and three-arguments invocation forms of the AM_INIT_AUTOMAKE macro, as in: AM_INIT_AUTOMAKE($PACKAGE, $VERSION) or: AM_INIT_AUTOMAKE($PACKAGE, $VERSION, NODEFINE) will be removed in the next major Automake release (1.13). Such usages have already been deprecated in the documentation starting from commit v1.11-2015-ge99690a of 23-02-2012 "docs, news: document planned removal of obsolete macros and features". We now start giving runtime warnings as well (in the 'obsolete' category). * NEWS: Update. * m4/init.m4 (AM_INIT_AUTOMAKE): Report the two- and three-arguments form invocation. * automake.in (scan_autoconf_traces): Likewise. * doc/automake.texi: Minor adjustments. Add an @anchor to the location where it's described how to modernize outdated invocation of AM_INIT_AUTOMAKE, so that it can be referenced from automake warning/error messages. * t/aminit-moreargs-deprecation.sh: New test. * tests/list-of-tests.mk: Add it. * tests/ac-output-old.tap: Adjust by calling automake with the warnings in the 'obsolete' category disabled. * t/backcompat.test: Likewise. * t/backcompat3.test: Likewise. * t/backcompat5.test: Likewise. * t/backcompat6.test: Likewise. * t/version.test: Likewise. * t/version2.test: Likewise. * t/pr2.test: Modernize style of AC_INIT and AM_INIT_AUTOMAKE invocations, and use proper m4 quoting. * t/pr87.test: Likewise. * t/confsub.test: Likewise. * t/install2.test: Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 45c1fcd9 2012-05-05T19:22:40 tests: use append mode to capture parallel make output This should fix the spurious failure reported in automake bug#11413. This is due to the fact that the redirected output of parallel make can racily loose lines. For example, if GNU make (3.82) is run on a Makefile like this: all = 0 1 2 3 4 5 6 7 8 9 default: $(all) $(all): @sleep 0.$$(($RANDOM % 10)); echo $@ and has its standard output redirected in overwrite-mode to a regular file, it looses a line of that output every 15 runs or so on a Fedora 17 system with 64 ppc64 cores and Linux 3.3.1. Redirection in append mode does not suffer of this problem. See also similar commit 'Release-1-10-280-g6426999' of 2009-03-10, "Use append mode to capture parallel test output", which tackled a similar problem for 't/parallel-tests3.sh' and 't/lisp8.sh'. * t/tap-more.sh: Use append mode for output from "make -j", to avoid dropped lines. * t/parallel-tests3.sh, t/lisp8.sh: Enhance comments. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 5677e1d4 2012-05-04T18:09:02 maintcheck: avoid a couple of spurious failures * t/objcxx-deps.sh, t/objcxx-minidemo.sh: In C++ files, use "std::cout <<", not "cout <<", to avoid triggering a spurious failure by the syntax check 'sc_tests_here_document_format'. Cherry-picked from yesterday's commit v1.12-81-g7f3f467, that had erroneously been applied to 'master' only rather than to 'maint'. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 67b86e08 2012-05-05T02:01:20 maintcheck: reduce code duplication, increase coverage * syntax-checks.mk: Move ... (sc_tests_plain_aclocal, sc_tests_plain_autoconf, sc_tests_plain_perl, sc_tests_plain_autoupdate, sc_tests_plain_automake, sc_tests_plain_make, sc_tests_plain_autoheader, sc_tests_plain_autoreconf, sc_tests_plain_autom4te): ... all these targets ... (sc_tests_plain_egrep_fgrep): ... and part of this target ... (sc_tests_plain_check_rules): ... into this variable, and reimplement their recipes ... ($(sc_tests_plain_check_rules)): ... with this static pattern rule. Enhance the coverage they offer a little since we are at it. (sc_m4_am_plain_egrep_fgrep): New rule, the part of the old 'sc_tests_plain_egrep_fgrep' rule that checked for use of 'fgrep' and 'egrep' in *.am and *.m4 fragments (rather than in test scripts). (syntax_check_rules): Update. * t/dist-formats.tap: Fix bad use of "make" instead of "$MAKE" revealed by the extra coverage. * t/cond5.sh, t/auxdir-autodetect.sh: Cosmetic changes to avoid spuriously triggering the maintainer checks due to the enhanced coverage. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 33f4f7d3 2012-05-04T17:32:08 Merge branch 'objc++' into maint * objc++: tests: avoid spurious failure on missing Obj C/C++ compiler
Stefano Lattarini 8450f187 2012-05-04T17:31:06 tests: avoid spurious failure on missing Obj C/C++ compiler * t/objc-megademo.sh: Arrange the test to SKIP, not FAIL, if there is no Objective C or no Objective C++ compiler. Since we are at it, remove some checks that were actually testing Autoconf (not Automake) behaviour. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 75b91149 2012-05-04T13:24:23 Merge branch 'objc++' into maint * objc++: objc, objc++: test support for compilation flags objc, objc++: add stress test objc, objc++: test automatic dependency tracking objc: reorganize basic tests objc++, objc: add first semantic tests objc++: add first basic test news: announce initial support for Objective C++ objc++: test support for '.mm' suffix in _SOURCES entries objc++: add documentation objc++: initial support for Objective C++ Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini a66cd033 2012-05-02T17:47:56 tests: fix spurious failure due to autom4te caching Reported by Peter Breitenlohner : <http://lists.gnu.org/archive/html/automake-patches/2012-05/msg00045.html> * t/suffix.sh: Remove stale autom4te.cache directories, to prevent racy, spurious failures (using 'aclocal --force' was not enough, since the cache was still picked up by the following automake call). Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 679d8a84 2012-05-01T15:04:37 objc, objc++: test support for compilation flags * t/objc-flags.sh, t/objcxx-flags.sh: New tests. * t/list-of-tests.mk: Add them. Co-authored-by: Peter Breitenlohner <peb@mppmu.mpg.de> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Peter Breitenlohner 49aa6e01 2012-04-30T16:11:03 objc, objc++: add stress test * t/objc-megademo.sh: New test, trying out a package using all of C, C++, Objective C and Objective C++ at the same time. * t/list-of-tests.mk: Add it. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 3434a649 2012-04-30T15:17:13 objc, objc++: test automatic dependency tracking * t/objc-deps.sh, t/objcxx-deps.sh: New tests. * t/list-of-tests.mk: Add them. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 8e6c0c51 2012-04-30T14:30:42 objc: reorganize basic tests * t/objc.sh, t/objc2.sh: Removed, merged into ... * t/objc-basic.sh: ... this new test. * t/objcxx-basic.sh: Add reference to new sister test. * t/list-of-tests.mk: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini fe2037a2 2012-04-30T14:17:44 objc++, objc: add first semantic tests * t/objcxx-minidemo.sh: New test. * t/objc-minidemo.sh: Likewise. * t/list-of-tests.mk: Add them. Co-authored-by: Peter Breitenlohner <peb@mppmu.mpg.de> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Peter Breitenlohner 23197cff 2012-04-27T01:00:27 objc++: add first basic test * t/objcxx-basic.sh: New test. * t/list-of-tests.mk: Add it. Signed-off-by: Peter Breitenlohner <peb@mppmu.mpg.de> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini f9dbb0a6 2012-05-02T12:51:09 Merge branch 'parallel-tests-performance' into maint * parallel-tests-performance: parallel-tests: save few forks when possible parallel-tests: optimize global log creation parallel-tests: optimize 'recheck' target for speed coverage: add performance tests on some parallel-tests aspects
Stefano Lattarini 18015811 2012-05-02T00:13:10 aclocal: error out again on unrecognized arguments Starting from commit v1.11-662-g52246cc of 2102-02-18, "cmdline parsing: move into a dedicated perl module", aclocal has been silently ignoring non-option arguments instead of correctly reporting them. Fix this regression. * t/aclocal.sh: Update to catch the regression. * aclocal.in (parse_arguments): Explicitly reject non-option arguments. * NEWS: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini e7745eaa 2012-05-02T09:59:46 Merge branch 'cygnus-deprecate' into maint * cygnus-deprecate: cygnus: warn when it's used (flagged as 'obsolete' now) Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 5bcc8fa1 2012-04-30T23:25:18 fixup: remove leftover "TERM=ansi" definition in 't/color.sh' It should have actually be removed in commit 'v1.12-23-gb105d40'. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini b105d40d 2012-04-30T20:44:50 color-tests: coloring can be forced on non-ANSI terminals as well Before this change, colorization of testsuite output was suppressed whenever the terminal was recognized to be a "dumb" one, incapable of handling ANSI coloring (i.e., when the environment variable TERM had a value of "dumb"). This happened even when the AM_COLOR_TESTS variable was set to a value of "always". Such a behaviour was suboptimal and slightly confusing; in fact, if a user wants to force coloring of testsuite output that is being redirected to a regular file, he should be able to do so even if his terminal is not capable of handling ANSI colors -- in fact, such terminal wouldn't be involved with the testsuite output in any way, so why should it be allowed to influence it? Thus, we now enable coloring of test output whenever AM_COLOR_TESTS is set to "always", irrespective of the value of the TERM environment variable. * NEWS: Update. * lib/am/check.am [%?COLOR%] (am__tty_colors): Activate colorization of testsuite output whenever AM_COLOR_TESTS has the value of "always". * t/ax/tap-summary-aux.sh: Export the TERM environment variable to "dumb" when forcing colorization of the testsuite output; this should *not* prevent such colorization from taking place, and we want to check that this expectation really holds. * t/ax/testsuite-summary-checks.sh: Likewise. * t/color.sh: Likewise, and adjust some grepping checks. * t/tap-color.sh: Likewise. Also, remove redundant "make check" invocation since we are at it. * t/color2.sh: Likewise, and check that exporting TERM=dumb actually prevents testsuite output colorization when AM_COLOR_TESTS is unset. * t/parallel-tests-reset-term.sh: Relax, to prevent it from failing spuriously due to the new semantic. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 71cc0e09 2012-03-31T14:53:24 cygnus: warn when it's used (flagged as 'obsolete' now) Support for "Cygnus-style" tree as enabled by the 'cygnus' option is now reported as obsolete when the warnings in the 'obsolete' category are enabled. See automake bug#11034. * automake.in (check_cygnus): Report the use of 'cygnus' mode as obsolete. * NEWS: Update. * docs/automake.texi: Minor adjustments. * t/cygnus-deprecation.sh: New test. * t/list-of-tests.mk: Add it. * tests/cygnus-check-without-all.sh: Adjust by calling automake with the warnings in the 'obsolete' category disabled. * t/cygnus-requires-maintainer-mode.sh: Likewise. * t/cygnus-dependency-tracking.sh: Likewise. * t/cygnus-imply-foreign.sh: Likewise. * t/cygnus-no-installinfo.sh: Likewise. * t/cygnus-no-dist.sh: Likewise. * t/clean2.sh: Likewise. * t/flavor.sh: Likewise. * t/txinfo5.sh: Likewise. * t/txinfo5b.sh: Likewise. * t/library.sh: Remove use of 'cygnus' and 'dejagnu' options, and of AM_MAINTAINER_MODE macro. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 5eeb3660 2012-02-26T00:30:18 parallel-tests: optimize global log creation With this change, the time required to execute the test case 'testsuite-summary-speed.sh' has dropped as follows: + Slow Debian i686 system, 1 core x 1.5 GHz, 768 MB of RAM, GNU make 3.81: - 1 run: 4 minutes => 30/40 seconds + Fast Solaris 10 i686 system, 4 cores x 3 GHz, 20 GB of RAM, Solaris CCS make: - 2 runs: 6 minutes => 30 seconds + Very fast Fedora ppc64 system, 64 cores x 3.5 GHz, 64 GB of RAM, GNU make 3.82: - 5 runs: 7 minutes => 1 minute and 10 seconds * lib/am/check.am ($(TEST_SUITE_LOG)): Optimize for speed, by avoiding lots of forks with the help of ... (am__create_global_log): ... this new internal variable, basically defining a smart awk program, and ... (am__global_test_result_rx, am__copy_in_global_log_rx): ... these new internal variables, used by the one above. (am__rst_section): Remove as obsolete * t/rst-formatting.trs: Remove. * t/list-of-tests.mk: Update. * t/testsuite-summary-count-many.sh: Improve its stress testing by using 1 million tests rather than just 5 thousands: we can afford this with our new optimization, and still have the test completed in a reasonable time. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini f5733aab 2012-04-26T22:25:35 parallel-tests: optimize 'recheck' target for speed With this change, the time required to execute the test case 'testsuite-recheck-speed.sh' has dropped as follows: + Slow Debian i686 system, 1 core x 1.5 GHz, 768 MB of RAM, GNU make 3.81: - 1 run: 6 minutes => 40 seconds + Fast Solaris 10 i686 system, 4 cores x 3 GHz, 20 GB of RAM, Solaris CCS make: - 4 runs: 3 minutes => 1 minute + Very fast Fedora ppc64 system, 64 cores x 3.5 GHz, 64 GB of RAM, GNU make 3.82: - 5 runs: 4 minutes => 1 minute 30 seconds * lib/am/check.am (recheck): Optimize for speed, by avoiding lots of forks with the help of ... (am__list_recheck_tests): ... this new internal variable, basically defining a proper awk program, and ... (am__recheck_rx): ... this other new internal variable, used by the one above. * t/test-trs-recover2.sh: Relax by not checking for a very corner case ('.log' and '.trs' files both unreadable) that we don't handle anymore. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Peter Breitenlohner 401d4119 2012-04-26T15:12:39 objc++: test support for '.mm' suffix in _SOURCES entries * t/ext.sh: Enhance by adding a file with the '.mm' suffix in the 'foo_SOURCES' definition. * t/nodep2.sh: Likewise. Co-authored-by: Stefano Lattarini <stefano.lattarini@gmail.com> Signed-off-by: Peter Breitenlohner <peb@mppmu.mpg.de> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 6e5b4441 2012-02-26T09:42:11 coverage: add performance tests on some parallel-tests aspects * t/testsuite-recheck-speed.sh: New test. * t/testsuite-summary-speed.sh: Likewise. * t/list-of-tests.mk: Update. The new tests are not meant to PASS/FAIL, but rather to help us to obtain quantitative measurements of the performance improvements offered by soon-to-appear optimization patches. Timing before the optimizations implemented by following patches: + Slow Debian i686 system, 1 core x 1.5 GHz, 768 MB of RAM, GNU make 3.81: - testsuite-recheck-speed.sh: 1 run, ~ 6 minutes - testsuite-summary-speed.sh: 1 run, ~ 4 minutes + Fast Solaris 10 i686 system, 4 cores x 3 GHz, 20 GB of RAM, Solaris CCS make: - testsuite-recheck-speed.sh: 4 runs, ~ 3 minutes - testsuite-summary-speed.sh: 2 runs, ~ 6 minutes + Very fast Fedora ppc64 system, 64 cores x 3.5 GHz, 64 GB of RAM, GNU make 3.82: - testsuite-recheck-speed.sh: 5 runs, ~ 4 minutes - testsuite-summary-speed.sh: 5 runs, ~ 7 minutes Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini d6294a12 2012-04-29T22:35:16 Merge branch 'mkdirp-deprecate' into maint * mkdirp-deprecate: AM_PROG_MKDIR_P: deprecate, to be removed in Automake 1.13
Stefano Lattarini d3303684 2012-04-28T23:18:45 tests: root can write on files without write perms; cater for this Fixes last part of automake bug#11369. * t/dist-readonly.sh ($required): Add 'non-root'. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 807f3cf6 2012-04-28T21:36:42 tests: require lex, not yacc, in a lex test case See automake bug#11369. * t/lex-clean.sh ($required): Require 'lex', not 'yacc'. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 7a1eb9ff 2012-04-02T17:05:42 AM_PROG_MKDIR_P: deprecate, to be removed in Automake 1.13 Support for the obsolescent 'AM_PROG_MKDIR_P' macro (and its output variable '$(mkdir_p)') has already been deprecated in the documentation. It's now time to make its use actively emit warnings in the 'obsolete' category as well. * automake.in (scan_autoconf_traces): Warn about 'AM_PROG_MKDIR_P' obsolescent if that macro is seen. * m4/mkdirp.m4 (AM_PROG_MKDIR_P): Warn about its own obsolescence. * m4/init.m4: Require 'AC_PROG_MKDIR_P', not 'AM_PROG_MKDIR_P'. * t/mkdirp-deprecation.sh: New test. * t/list-of-tests.mk: Add it. * syntax-check.mk (sc_mkdir_p): Delete this check as obsolete. (syntax_check_rules): Remove it. * t/gettext-macros.sh: Ensure the gettext-requiring tests will call aclocal and automake with the 'obsolete' warnings disabled, since even recent versions of gettext used the now-deprecated 'AM_PROG_MKDIR_P' m4 macro. * NEWS: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini ae3d5dfc 2012-04-26T17:14:34 Merge branch 'fix-pr11345-lex' into maint * fix-pr11345-lex: tests: fix a failure in Lex/C++ tests on Mac OS X
Stefano Lattarini e25a41fa 2012-04-26T12:34:51 Merge branch 'fix-pr11346-timestamp' into maint * fix-pr11346-timestamp: tests: fix a spurious failure due to truncated timestamps
Thien-Thi Nguyen f31fe4f0 2012-04-26T12:30:10 tests: avoid yet another spurious environment influence * t/remake11.sh: Unset 'd' before first use. Copyright-paperwork-exempt: yes Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini eb7e8f33 2012-04-26T10:29:42 tests: fix a failure in Lex/C++ tests on Mac OS X The <cstdio> header from Xcode-4.3.2 on Mac OS X 10.7.3 declares a 'isatty' function with C++ linkage, that conflicts with our dummy definition of the same function, which in turn is required to work around the absence of the unistd.h header on MinGW (see commit 'v1.11-2138-gfeea090' of 11-04-2012). So we tweak the affected tests to work around this new problem as well. This fixes automake bug#11345. * t/lex-clean-cxx.sh ($required): Since we are at it, add an explicit 'c++' requirement. * t/lex-depend-cxx.sh ($required): Likewise. (my-hdr.hxx): Don't include <cstdio>. The "using namespace" directive should still be enough to ensure the content of this header is not valid C, albeit being of course valid C++. Fix unrelated typos in comments. (joe.ll): Adjust, by removing the call to 'printf'. * THANKS: Add entry for reporter "Adam Mercer". Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 63e07a9c 2012-04-26T10:52:48 tests: fix a spurious failure due to truncated timestamps Fixes automake bug#11346. * t/self-check-is_newest.tap: Apparently, on some systems (or file systems), "touch -r" can truncate timestamps :-( Work around that. Co-authored-by: Peter Breitenlohner <peb@mppmu.mpg.de> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 80526828 2012-04-25T13:11:08 Merge branches 'fix-pr11302-opensuse' and 'fix-pr11306-macosx' * fix-pr11302-opensuse: tests: cater to systems installing libs in /lib64 * fix-pr11306-macosx: tests: fix spurious failure on Mac OS X
Stefano Lattarini f450cd19 2012-04-23T22:56:52 coverage: test the internal $(am__relativize) variable This new coverage might turn out be useful for the planned changes in Automake-NG. Even if it eventually doesn't, we gen an improved testsuite exposure of some non-trivial internals, so it's always a win for us. * t/relativize.tap: New test. * t/list-of-tests.mk: Add it. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini f357bed8 2012-04-23T15:51:25 tests: cater to systems installing libs in /lib64 See automake bug#11302. On at least OpenSUSE 12.1, "make install" will install libraries in the '${prefix}/lib64' directory by default. This is due to the $CONFIG_SITE set by /etc/profile.d/site.sh, which sets a libdir that ends in '/lib64' rather than '/lib' if it finds that the compiler is generating 64-bit code. This behaviour was causing some spurious failures in our testsuite. Fix them. * t/posixsubst-libraries.sh: Assume the libraries are installed in '$(libdir)' rather than in '$(prefix)/lib'. * t/posixsubst-ltlibraries.sh: Likewise. * t/posixsubst-scripts.sh: Similarly, don't assume that '$(bindir)', '$(sbindir)' and '$(libexedir)' always defaults to respectively '$(prefix)/bin', '$(prefix)/sbin' and '$(prefix)/libexec'. * t/transform3.test: Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 1837e206 2012-04-23T12:47:43 tests: fix spurious failure on Mac OS X See automake bug#11306. * t/lex-libobj.sh: We used to pass LEXLIB='-L /lib' to the ./configure invocation, to prevent it from explicitly searching for a "lex library". But the linker on MacOS X 10.5 apparently chokes on that: cc -g -O2 -o foo foo.o -L /lib yywrap.o ld: file not found: /lib collect2: ld returned 1 exit status So, we now instead pass LEXLIB=' ', which being non-empty is enough to prevent the search of a "lex library". And since we are at it, enhance comments on this non-obvious usage. Co-authored-by: Bruno Haible <bruno@clisp.org> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 509b2311 2012-04-22T11:00:04 coverage: parallel make with vala * t/vala-parallel.sh: New test. * t/list-of-tests.mk: Add it. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 001db089 2012-04-21T15:51:09 vala: configure exit with status 77, not 1, if valac version is too old From a report by Bruno Haible in automake bug#1193. This change should also automatically avoid spurious testsuite failures with older vala versions. * m4/vala.m4 (AM_PROG_VALAC): Exit with status 77, rather than 1, if the Vala compiler found older than the minimal required version (if any). This is more consistent with what is done by other macros like AM_PROG_UPC or AC_PROG_CC. * NEWS: Update. * t/vala-headers.sh: Adjust, so that the test is only skipped of the vala compiler is too old or the required PKG_CHECK_MODULES third-party macro is not found by aclocal, and not if a generic error happens in the configure script. * t/vala-libs.sh: Likewise. * t/vala2.sh: Likewise. * t/vala3.sh: Likewise. * t/vala5.sh: Likewise. * t/vala-vpath.sh: Likewise (but don't check for the potential error with PKG_CHECK_MODULES, as that macro is not used in any way here). * t/vala4.sh: Adjust, to avoid the new semantic causing this test to skip instead of failing. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 89ba2a73 2012-04-20T10:23:35 tests: fix spurious failure with non-ANSI terminals * t/ax/tap-summary-aux.sh: When checking colored testsuite output, be sure to export the TERM variable to the value "ansi"; otherwise the automake testsuite driver will not display colored output, not even if AM_COLOR_TESTS is exported to "always". Failure revealed by NixOS Hydra. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 5679da20 2012-04-18T18:09:58 tests: remove redundant 'set -e' calls * t/aclocal-install-fail.sh: Do not set the 'errexit' shell flag, as it is already set by './defs'. * t/aclocal-install-mkdir.sh: Likewise. * t/aclocal-no-install-no-mkdir.sh: Likewise. * t/aclocal-verbose-install.sh: Likewise. * t/instdir-no-empty.sh: Likewise. * t/link_cond.sh: Likewise. * t/python-pr10995.sh: Likewise. * t/vala-vapi.sh: Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 97f2a6db 2012-04-18T18:04:12 tests: avoid spurious failures when cross-compiling * t/parallel-tests-recheck-depends-on-all.sh: Skip the test when cross-compiling. * t/vala-vapi.sh: Skip tests that do not make sense when cross-compiling. * t/yacc-basic.sh: Likewise. * t/yacc-cxx.sh: Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini f46359b4 2012-04-18T11:40:15 parallel-tests: 'recheck' must depend on 'all' Fixes automake bug#11252. When a developer experience one or more failures in the testsuite, a good workflow is for him to modify its program's sources to fix the bug thus revealed, run "make recheck" to verify that the change has indeed solved the testsuite failures previously experienced, and then run "make check" to verify that the change has not introduced any new failure or regression. Unfortunately, this apparently natural workflow couldn't have worked until now, since the Automake-provided 'recheck' target (which didn't depend on 'all') wouldn't have causes the program to be recompiled, and the failed tests would have thus been run with the older, buggy version of the program, failing the same way as before. * lib/am/check.am (recheck): Depend on 'all'. * t/parallel-tests-recheck-depends-on-all.sh: New test. * t/list-of-tests.mk: Add it. * NEWS: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 0c2cc2c9 2012-04-17T01:07:23 vala tests: building libraries, and more on '.vapi' files * t/vala1.sh: Remove, turned into ... * t/vala-libs.sh: ... this functional test instead. * t/list-of-tests.mk: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 1153b2be 2012-04-16T23:42:41 vala: cleanup rules are better and more complete now * automake.in (lang_vala_finish_target): Ensure Vala-generated C sources and header files and our custom stamp files are correctly cleaned. * t/vala-headers.sh, t/vala-vpath.sh: Enhance. * NEWS: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 789a7723 2012-04-16T23:10:50 vala tests: check headers generation * t/vala-headers.sh: New test, checking use of 'valac' options for header generation (e.g., '-H', '--vapi', ...) in '$(..._VALAFLAGS)'. * t/list-of-tests.mk: Add it. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 36f9451e 2012-04-16T23:16:22 vala tests: remove redundant libtool requirements and usages * t/vala2.sh: Don't require libtool m4 macros, don't run libtoolize, don't invoke AC_PROG_LIBTOOL: none of there is really needed. * t/vala3.test: Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini e31e6b51 2012-04-16T22:35:18 vala tests: some enhancements * t/vala-vpath.sh, t/vala2.sh, t/vala3.sh, t/vala5.sh: Enhance a little. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 6f12912a 2012-04-16T19:18:08 vala tests: few adjustments and improvements * t/vala4.sh: Don't run 'libtoolize', it's not truly required. ($required): Don't require 'libtoolize'. (configure.ac): Don't invoke 'AC_PROG_LIBTOOL'. * t/vala-mix.sh ($required): Require 'cc'. Avoid some calls to 'framework_failure_', they were only useful when this test was xfailing (to ensure it wasn't failing for the wrong reasons). Ensure the stamp file is created in the source directory. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini c5a1ec04 2012-04-13T18:56:24 dist tests: fix reduced coverage due to typo * t/dist-formats.tap: Append to 'Makefile.am', not to 'Makefil.am'. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 9414efaf 2012-04-13T17:57:12 tests: avoid spurious failure when 'install-info' program is unavailable From a report by Dmitry V. Levin: <http://lists.gnu.org/archive/html/automake-patches/2012-04/msg00085.html> * t/install-info-dir.sh : When 'install-info' is unavailable, create a dummy '${infodir}/dir' file by hand when that file is required by later checks. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 326ff45b 2012-04-12T18:04:19 Merge branch 'maint' * maint: vala: fix distcheck with c/vala mixed projects vala: fix vapi files handling vala: test vapi files handling (still failing) Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini af779b87 2012-04-11T22:02:37 self checks: avoid spurious failures when keep_testdirs=yes * t/self-check-cleanup.tap, t/self-check-dir.tap: Unset the 'keep_testdirs' environment variable, to avoid spurious errors when the testsuite is run with "keep_testdirs=yes make check". Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini ecd851d1 2012-04-11T21:21:39 fixup: some weaknesses in a self-check test case * t/self-check-cleanup.tap: This test contained several buglets introduced in the recent row of commits that converted the Automake build system to a non-recursive setup. Fix them. Since we are at it, enhance the test to cover also the use of the 'keep_testdirs' environment variable in order to keep the temporary test directories around. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini b35dca6b 2012-04-11T20:38:39 maintcheck: avoid yet more spurious failures (1) The 'sc_tests_makefile_variable_order' maintainer check is too strict sometimes, blaming automake for outputting out-of-order variables when this is in fact due to the result of post-processing of third-party tools or custom test code. * t/tap-doc2.sh: Ensure the final Makefile.in (that we hack by hand) is removed, to avoid a spurious maintainer-check failure. * t/gettext-macros.sh: Ensure that any leftover Makefile.in (that is generated by gettext/autopoint) is removed, to avoid a spurious maintainer-check failure. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 3d5d5eac 2012-04-11T17:31:04 vala tests: avoid spurious failure with older GObject * t/vala2.sh: In the 'PKG_CHECK_MODULES' call in 'configure.ac', don't require gobject >= 2.10, but just >= 2.4: that is enough in order for the test to pass. * t/vala3.sh: Likewise. * t/vala5.sh: Likewise. Also, skip the test instead of failing if the ./configure invocation fails: that is likely due to the fact that the GObject library is too old or missing, and that is not automake's fault. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini e306fb5d 2012-04-11T15:37:04 vala tests: force the use of automatic dependency tracking * t/vala-mix2.sh: Invoke ./configure with the option '--enable-dependency-tracking', so that slower dependency extractors are not rejected. This avoids a spurious failure at least on Solaris when the Sun C compiler is used. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini feea0902 2012-04-11T15:25:37 tests: avoid spurious failures in tests on C++ and lex This is a follow-up to commit v1.11-2128-g7f2bc63 of 09-04-2012, "tests: avoid spurious failures with non-flex 'lex' programs and C++". It is required to avoid a couple of spurious failures on Solaris and NetBSD systems (at least). See also automake bug#11185. * t/lex-clean-cxx.sh (parsefoo.lxx): Do not declared the provided dummy 'isatty' function as 'static', since that might conflict with a declaration of it as 'extern' pulled in through other system * t/lex-depend-cxx.sh (joe.ll): Likewise. * t/README: Update advice, to avoid similar issues in the future. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 76f0605a 2012-04-11T11:04:56 Merge branch 'rmch' * rmch: maint: simplify generation of files with @substed@ stuff 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
Stefano Lattarini c38a2e62 2012-04-06T17:40:52 t/README: update w.r.t. recent overhaul (non-recursive build system) And other miscellaneous improvements since we are at it. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 8e02441b 2012-04-06T15:20:54 maint: no more make recursion in Automake's build system 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>
Stefano Lattarini 8a5096d1 2012-04-06T13:12:25 tests: rename 'tests/' => 't/', '*.test' => '*.sh' 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>