t/ax/test-defs.in

Branch


Log

Author Commit Date CI Message
Richard Hansen 0e480388 2025-04-09T10:00:05 test: force Autoconf config.site to /dev/null. From https://bugs.gnu.org/76622 (automake-patches). * t/ax/test-defs.in: Set `CONFIG_SITE' to `/dev/null' to avoid the local system's Autoconf site defaults from breaking the test environment. Original report from Nelson Beebe, 26 Feb 2025. * NEWS: mention this.
Paul Eggert 61075eab 2025-01-01T14:31:02 maint: make update-copyright
Karl Berry cef4dc71 2024-07-09T15:35:13 test: explanation of MTIME_RESOLUTION resetting. * t/ax/test-defs.in (MTIME_RESOLUTION): separate the case where am_cv_filesystem_timestamp_resolution is not set for more explanations, but still reset MTIME_RESOLUTION to 1 even if it is already set. Which it should be when running tests, because config.status is sourced. But it's too late in the release process to change this now; after the release, can try keeping a non-empty MTIME_RESOLUTION.
Bruno Haible 715ce1e6 2024-07-03T08:27:02 automake: display whether sleep supports fractional seconds as yes/no. https://lists.gnu.org/archive/html/automake/2024-07/msg00003.html * m4/sanity.m4 (_AM_SLEEP_FRACTIONAL_SECONDS): Set am_cv_sleep_fractional_seconds to yes/no, not true/false, for consistency with other results. Also "quote" this and other $am_cv values. (_AM_FILESYSTEM_TIMESTAMP_RESOLUTION): Test for yes/no. * t/ax/test-defs.in: Set am_cv_sleep_fractional_seconds to 'no', not 'false'.
Karl Berry c09ff1df 2024-06-19T09:01:51 doc: original purpose of $sleep is when AC_OUTPUT is not used. * t/ax/test-defs.in (sleep): mention original purpose of $sleep, namely when AC_OUTPUT is not used and hence the sleep done in AC_CONFIG_COMMANDS_* is not done: https://lists.gnu.org/archive/html/bug-automake/2010-10/msg00000.html Discovered by Bruno in his rearch on the "sleep" history: https://lists.gnu.org/archive/html/automake/2024-06/msg00054.html
Paul Eggert 1d35638b 2024-06-07T08:41:45 maint: spelling and whitespace fixes Most of these spelling fixes are just to comments and documentation. However, some affect tests as follows: * t/cond36.sh (tparse.h): Fix misspelling of dependency. * t/disthook.sh: Fix misspelling of file. * t/help3.sh: Fix misspelling of long option. * t/instdir-ltlib.sh: Fix misspellings of macro names. This causes the test to fail, so someone with libtool expertise needs to look into this. * t/tap-no-spurious-numbers.sh (highno): Fix misspelling of shell var.
Karl Berry 23e69f6e 2024-05-27T12:34:35 test: check that subsecond mtime works with make. Trying to fix https://bugs.gnu.org/68808. * m4/sanity.m4 (_AM_FILESYSTEM_TIMESTAMP_RESOLUTION): check that make works with subsecond mtimes, as well as sleep and ls. (Known to fail with the make 3.81 that ships with macOS.) * configure.ac (MTIME_RESOLUTION): notice if it erroneously expands to the empty string, i.e., fall back to 1 if $am_cv_filesystem_timestamp_resolution ended up being unset. * t/ax/test-defs.in (MTIME_RESOLUTION): also fall back to 1 if the variable to not set, with a message. Fix other typos en passant. * HACKING: tweak.
Karl Berry 70127e61 2024-02-03T08:38:49 test: make bug-reporting message on test failure more explicit. From https://bugs.gnu.org/68855. * NEWS: mention this. * lib/am/check.am ($(TEST_SUITE_LOG)) <please_report>: new fn, new wording. * t/ax/test-defs.in (failure_footer_text): new wording. (failure_footer_text_colorized): add red. * t/ax/tap-summary-aux.sh (failure_footer): use failure_footer_text*. * t/tap-doc2.sh: change grep. * t/testsuite-summary-color.sh: likewise. * t/testsuite-summary-count-many.sh: likewise. * t/testsuite-summary-count.sh: likewise. * t/testsuite-summary-reference-log.sh: likewise.
Paul Eggert b80b5c47 2024-01-01T11:29:06 maint: make update-copyright
Karl Berry 0249be1e 2023-12-25T15:38:15 test: force long sleep with explicit cache variable setting. From https://bugs.gnu.org/67670. * t/ax/test-defs.in: when MTIME_RESOLUTION is set to 1 because automake/autom4te do not support subsecond-mtime, also set am_cv_sleep_fractional_seconds=false. Otherwise the random parallel test failures from given bug and others return. * m4/sanity.m4 (_AM_SLEEP_FRACTIONAL_SECONDS): reformat. (_AM_FILESYSTEM_TIMESTAMP_RESOLUTION): elide "the" in AC_CACHE_CHECK. * t/amassign.sh: end with :. * HACKING: more on debugging tests. * NEWS: update.
Zack Weinberg cfdb83d4 2023-12-10T09:50:51 automake: again revise file mtime resolution support. This patch is from https://bugs.gnu.org/67670. In order for the Automake testsuite to be able to use sub-second delays to control whether certain files are considered newer than others, five(!) separate pieces of software all need to cooperate: automake itself, autoconf's internal `autom4te' utility, the Perl interpreter and its libraries, the sleep(1) shell utility, and finally the filesystem hosting the build directory. The existing tests for this are a combination of inadequate and incorrect. This patch, in conjunction with a patch just committed to Autoconf trunk, https://git.savannah.gnu.org/cgit/autoconf.git/commit/?id=39d96e6fff7ceae63b823872602caf4d255a38c8 should make everything much more robust, as follows: - _AM_FILESYSTEM_TIMESTAMP_RESOLUTION is completely rewritten. It no longer looks for autom4te at all, because this macro is invoked unconditionally from AM_INIT, so *every* project that uses Automake would get this test that's only relevant to Automake's own testsuite. Also, it tries sleeping for as little as one millisecond (smaller delays consistently get rounded up to 1ms on my computer and I expect that's universal), it should accurately detect FAT's two-second resolution now, and it should not be tripped up anymore by running at precisely the moment that will make a 0.1s sleep cross a 1s boundary (this may sound unlikely but it used to cause a couple of test failures *every time* I ran the automake testsuite on a network filesystem that only supported 1s resolution). - In support of the above, the test for working ls -t moved from AM_SANITY_CHECK to _AM_FILESYSTEM_TIMESTAMP_RESOLUTION. This allowed me to simplify the test for $srcdir/configure being older than a freshly created file. - If automake is capable of reading high-resolution file modification timestamps from the operating system, it prints `Features: subsecond-mtime' as the second line of --version output. (We can't just assume this works for sufficiently new automake, because it depends on whether the Perl interpreter provides this capability, and that's not a simple question of which version of Perl you have, either.) - The Autoconf patch mentioned above adds the same annotation to the output of autom4te --version. - Finally, t/ax/test-defs.in looks for the `Features: subsecond-mtime' string from both automake and autom4te and resets the sleep time to one second if it's not there. There might be a better place to put this, somewhere it'll execute every time the *overall testsuite* is invoked rather than once for each test, but I couldn't find one. Tested on x86-64-linux with development automake and development autoconf. Previous discussion: - https://lists.gnu.org/archive/html/automake/2023-03/msg00000.html - https://lists.gnu.org/archive/html/automake/2023-04/msg00002.html - https://lists.gnu.org/archive/html/automake/2023-12/msg00005.html - https://debbugs.gnu.org/cgi/bugreport.cgi?bug=64756 * m4/sanity.m4 (_AM_FILESYSTEM_TIMESTAMP_RESOLUTION): Rewrite for greater reliability. Don't probe autom4te at all here. Check for working ls -t here. (AM_SANITY_CHECK): Do not cache the result. Do not check for working `ls -t' here. Disentangle control flow in the loop probing the relative ages of build and source directory. * lib/Automake/FileUtils.pm: Sync from autoconf. * bin/automake.in (version): Include `Features: subsecond-mtime' in the output if $Automake::FileUtils::subsecond_mtime is true. * configure.ac: Rename the substitution variable MODIFICATION_DELAY to MTIME_RESOLUTION. * t/ax/test-defs.in: Require both $AUTOMAKE and $AUTOM4TE to report support for high-resolution timestamps before setting $sleep to delay for less than one second. * NEWS: Update info.
Mike Frysinger 34bdde96 2023-01-04T02:00:14 maint: make update-copyright
Jim Meyering 6c8ff6a8 2022-01-12T14:15:12 maint: make update-copyright
Jim Meyering a470a47f 2021-07-11T19:19:42 maint: make update-copyright
Jim Meyering cf27a3df 2020-01-01T11:44:41 maint: make update-copyright
Paul Eggert 5ae02cc8 2019-10-14T13:46:55 maint: make update-copyright
Mathieu Lirzin bbaa4cdc 2018-01-04T16:19:30 maint: Update copyright years to 2018 This update has been made with 'make update-copyright'.
Mathieu Lirzin c2757b97 2017-09-19T13:43:07 maint: Reset master
Paul Eggert 3562e384 2017-09-16T13:03:36 Prefer https: URLs 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.
Paul Eggert 199e7a44 2017-09-16T13:03:36 Prefer https: URLs 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.
Mathieu Lirzin ab2d33e6 2017-08-29T21:15:14 aclocal: Support ACLOCAL_AUTOMAKE_DIR environment variable * bin/aclocal.in: Reset '@automake_includes' and '@system_includes' in for build environment. Allow setting '@automake_includes' with ACLOCAL_AUTOMAKE_DIR environment variable. (parse_arguments): Ignore 'dirlist' when '@system_includes' is empty. * doc/automake.texi (aclocal Options): Document ACLOCAL_AUTOMAKE_DIR. * bin/wrap-aclocal.in: Remove extra command line options. * pre-inst-env.in: Set ACLOCAL_AUTOMAKE_DIR and ACLOCAL_PATH environment variables. * t/ax/test-defs.in: Adapt. * t/ansi2knr-no-more.sh (warn_rx): Likewise.
Mathieu Lirzin bb64793a 2017-08-29T11:27:52 build: Move wrapped scripts in "bin" directory Those scripts are used both in the build process and for the tests, so it seems clearer to not hide them in "t/wrap" directory. * t/wrap/aclocal.in: Rename to ... * bin/wrap-aclocal.in: ... this. * t/wrap/automake.in: Rename to ... * bin/wrap-automake.in: ... this. * configure.ac: Generate "bin/aclocal-${APIVERSION}" and "bin/automake-${APIVERSION}" at configure time. * t/Makefile.inc (nodist_noinst_SCRIPTS): Move wrapped scripts ... * bin/Makefile.inc (nodist_noinst_SCRIPTS): ... here. * Makefile.am (extend_PATH): Use "bin" directory. * t/ax/test-defs.in (am_bindir): Likewise. * t/get-sysconf.sh: Likewise. * .gitignore: Update.
Mathieu Lirzin d8add592 2017-03-02T18:55:53 maint: Update copyright years to 2017. This update has been made with 'make update-copyright'.
Jim Meyering 1370ce5f 2017-01-01T08:34:49 maint: update copyright dates for 2017 * all files: Run this command, using update-copyright from gnulib: UPDATE_COPYRIGHT_FORCE=1 \ UPDATE_COPYRIGHT_USE_INTERVALS=2 \ UPDATE_COPYRIGHT_MAX_LINE_LENGTH=79 \ update-copyright $(git ls-files)
Stefano Lattarini 5de75f07 2015-01-05T22:48:33 maint: update copyright years to 2015 (branch 'micro') Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini a78f63c5 2014-04-21T15:10:54 maint: update copyright years We've been in 2014 already for few months now... Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 0cca184f 2013-05-18T15:23:20 Merge branch 'micro' into maint * micro: 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 Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 176d229b 2013-05-16T14:49:44 tests: fix some botched/outdated comments * t/ax/test-defs.in: Here. Also, fix a couple of grammaros while at it. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini cce6192b 2013-05-14T13:40:48 check-cc-no-c-o: unify initializations in a single place * t/ax/test-defs.in: That is, by setting CC and GNU_CC here, in accord with the value of the variable 'AM_TESTSUITE_SIMULATING_NO_CC_C_O'. * t/Makefile.in (check-cc-no-c-o) : No need to reset CC and GNU_CC any longer in the recursive "make check" invocation. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 6653939c 2013-05-14T13:17:50 check-cc-no-c-o: avoid a spurious failure * t/am-prog-cc-c-o.sh: In this test, by relying on the knowledge that we are running under the aegis of the 'check-cc-no-c-o' maintainer-specific target, knowledge given us by ... * t/Makefile.in (check-cc-no-c-o) : ... the new environment variable 'AM_TESTSUITE_SIMULATING_NO_CC_C_O', set to a value of "yes" by this rule. * t/ax/test-defs.in: Initialize the new variable to "no" by default, and add an explanatory comment. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 7df8b28c 2012-12-31T18:18:37 maint: update copyright year for 2013 (in branch maint) Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini bd0d41d7 2012-11-07T17:59:40 tests: new variable $am_testaux_builddir And a related fix that solves a spurious testsuite failures in VPATH builds. * t/ax/test-defs.in ($am_testaux_builddir): New, counterpart of $am_testaux_srcdir, but pointing inside the build directory. * t/self-check-shell-no-trail-bslash.sh: Use $am_testaux_builddir, not $am_testaux_srcdir, when fetching the 'shell-no-trail-bslash' script. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 62235835 2012-11-07T17:52:25 tests: rename $am_testauxdir -> $am_testaux_srcdir This is just a preparatory change in view of a future commit. * t/ax/test-defs.in: Here. * t/ax/tap-summary-aux.sh: And here. * t/ax/testsuite-summary-checks.sh: And here. * t/distcheck-missing-m4.sh: And here. * t/distcheck-outdated-m4.sh: And here. * t/self-check-shell-no-trail-bslash.sh: And here. * t/test-driver-acsubst.sh: And here. * t/test-driver-cond.sh: And here. * t/test-driver-custom-multitest.sh: And here. * t/test-driver-custom-multitest-recheck.sh: And here. * t/test-driver-custom-multitest-recheck2.sh: And here. * t/testsuite-summary-count-many.sh: And here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini af1ac94a 2012-08-13T18:00:57 maintcheck: fix spurious warnings * t/distcheck-override-infodir.sh: Be sure that valid occurences of the "aclocal" and "automake" strings, which can confuse the 'sc_tests_plain_automake' check, are protected by leading "#" characters. * t/ax/test-lib.sh: Always use '$(...)' for command subtitution, to avoid triggering the 'sc_tests_command_subst' check; there was still once place where `...` was used. While at it, fix a related comment. * t/ax/test-defs.in ($sleep): Use creative quoting to avoid spuriously triggering the 'sc_tests_plain_sleep' check. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini db188c29 2012-07-26T11:04:31 runtest: sanitize test environment * runtest.in: Here, similarly to what is done by AM_TESTS_ENVIRONMENT in Makefile.am, unset variables that should be under the complete control of the test framework, and that could create havoc if inherited from the environment. This remove the need to check against possible environment "pollution" ... * t/ax/test-defs.in: ... in here. * Makefile.am (AM_TESTS_ENVIRONMENT): Add a comment about the need of synchronization with 'runtest.in'. * t/self-check-env-sanitize.tap: Remove as obsolete. * t/list-of-tests.mk: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini e82c9156 2012-07-26T10:35:09 tests: "am_using_tap=yes" -> "am_test_protocol=tap" And similarly, "am_using_tap=no" -> "am_test_protocol=none". The new '$am_test_protocol' name is clearer, and will allow the easy addition of further test protocols in the future. This is not truly relevant for automake, but we are trying to make some parts of our testsuite framework as general as possible, in view of a future move to a more generic project like Gnulib. * Makefile.am, t/ax/am-test-lib.sh, t/ax/test-defs.in, t/ax/test-lib.sh, t/self-check-env-sanitize.tap, t/self-check-tap.sh: Adjust. * syntax-checks.mk (sc_tests_obsolete_variables): Add 'am_using_tap' to the list of obsolete variables to check against. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 1ab1f546 2012-07-26T10:22:52 tests: move sanitization and "Bournification" in the generic test lib * t/ax/test-defs.sh: From here ... * t/ax/test-lib.sh: ... to here. Also move the initialization of '$argv0' and '$me'. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 7a42af01 2012-07-26T10:03:51 test defs: no need to re-add $srcdir/t/ax to $PATH * t/ax/test-defs.sh: Here. That is already done by both 'runtest' and AM_TESTS_ENVIRONMENT, and the presence of '$srcdir/t/ax' in $PATH is anyway required, after the recent changes, for our testsuite framework to work at all. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini ecbceb3e 2012-07-25T18:14:23 test defs: move in 't/ax/test-defs.sh' We can do so with minimal churn, now that the early setup of $PATH in both 'runtest' and AM_TESTS_ENVIRONMENT allow the '.' built-in to find to-be-sourced shell scripts in 't/ax' automatically, both in in-tree and VPATH builds. With this change, we take another step forward a more rational and "segregated" organization of our testsuite framework. * defs-static.in: Rename ... * t/ax/test-defs.in: ... like this, and adjust. * Makefile.am, syntax-checks.mk, t/README, gen-testsuite-part, t/tests-init.sh, t/ax/tap-setup.sh, t/tap-summary.sh, .gitignore, t/testsuite-summary-color.sh, t/testsuite-summary-count.sh, t/self-check-tap.sh, defs: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>