|
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.
|
|
61075eab
|
2025-01-01T14:31:02
|
|
maint: make update-copyright
|
|
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.
|
|
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'.
|
|
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
|
|
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.
|
|
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.
|
|
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.
|
|
b80b5c47
|
2024-01-01T11:29:06
|
|
maint: make update-copyright
|
|
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.
|
|
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.
|
|
34bdde96
|
2023-01-04T02:00:14
|
|
maint: make update-copyright
|
|
6c8ff6a8
|
2022-01-12T14:15:12
|
|
maint: make update-copyright
|
|
a470a47f
|
2021-07-11T19:19:42
|
|
maint: make update-copyright
|
|
cf27a3df
|
2020-01-01T11:44:41
|
|
maint: make update-copyright
|
|
5ae02cc8
|
2019-10-14T13:46:55
|
|
maint: make update-copyright
|
|
bbaa4cdc
|
2018-01-04T16:19:30
|
|
maint: Update copyright years to 2018
This update has been made with 'make update-copyright'.
|
|
c2757b97
|
2017-09-19T13:43:07
|
|
maint: Reset master
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
d8add592
|
2017-03-02T18:55:53
|
|
maint: Update copyright years to 2017.
This update has been made with 'make update-copyright'.
|
|
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)
|
|
5de75f07
|
2015-01-05T22:48:33
|
|
maint: update copyright years to 2015 (branch 'micro')
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
7df8b28c
|
2012-12-31T18:18:37
|
|
maint: update copyright year for 2013 (in branch maint)
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|