* Paul Eggert wrote on Tue, Dec 05, 2006 at 06:21:42PM CET: > > In the mean time, sleeping for 1 second should suffice.
Thank you. I applied the patch below, assuming we'll hear about the significance of failures on bug-autoconf. > The goal here is to avoid a tradition of tests that sleep. Sleeping > slows things down. Right. Autoconf and Automake seem to have different priorities here, though. > (And it's harder to parallelize. :-) Efficiently parallelizing inefficient, unrelated tests does not get easier or more difficult by it. Cheers, Ralf * tests/tools.at (autom4te preselections): New test, to flag entries missing from autom4te.cfg. Report by David Byron <[EMAIL PROTECTED]>. Index: tests/tools.at =================================================================== RCS file: /cvsroot/autoconf/autoconf/tests/tools.at,v retrieving revision 1.95 diff -u -r1.95 tools.at --- tests/tools.at 25 Oct 2006 18:31:02 -0000 1.95 +++ tests/tools.at 5 Dec 2006 20:58:50 -0000 @@ -827,3 +827,50 @@ AT_CHECK_AUTOUPDATE AT_CLEANUP + + +# Keeping autom4te.cfg complete +# ----------------------------- + +AT_SETUP([autom4te preselections]) +: ${sleep='sleep 1'} # Command to force different time stamps. +# If this test should run on FAT file systems and older w32, +# then setting $sleep correctly needs to be revisited. + +# We use aclocal and automake. +AT_CHECK([automake --version || exit 77], [], [ignore], [ignore]) +AT_CHECK([test ! -f $HOME/.autom4te.cfg || exit 77], [], [ignore], [ignore]) + +AT_DATA([configure.in], +[[AC_INIT(GNU foo, 1.0) +AM_INIT_AUTOMAKE +AC_CONFIG_FILES([Makefile]) +AC_OUTPUT +]]) + +AT_DATA([Makefile.am], +[[AUTOMAKE_OPTIONS = foreign +]]) + +$sleep # `aclocal.m4' should be strictly younger than its inputs + +# If Autoconf is too old, or the user has turned caching off, skip: +AT_CHECK([aclocal || { ret=$?; test $ret -eq 63 && ret=77; exit $ret; }], + [], [], [ignore]) +AT_CHECK([test -d autom4te.cache || exit 77]) +AT_CHECK([autoconf]) + +# If this test fails due to missing entries in lib/autom4te.in, then +# comparing the old and new requests is a good place to start debugging: +cp autom4te.cache/requests old-requests +$sleep # need to make sure the stamp file is strictly newer. +echo newer >newer +$sleep # if `configure' is regenerated, we want it to be strictly newer, + # to catch the error consistently. +AT_CHECK([aclocal], [], [], [ignore]) +AT_CHECK([automake --no-force --add-missing], [], [], [ignore]) +AT_CHECK([autoconf]) +AT_CHECK([set x `ls -1t newer configure`; test "$2" = newer || + { diff old-requests autom4te.cache/requests; exit 1; }]) + +AT_CLEANUP