Merge branch 'sanity-sleep-fix-master'
authorRalf Wildenhues <Ralf.Wildenhues@gmx.de>
Sat, 2 Oct 2010 18:00:02 +0000 (20:00 +0200)
committerRalf Wildenhues <Ralf.Wildenhues@gmx.de>
Sat, 2 Oct 2010 18:00:02 +0000 (20:00 +0200)
* sanity-sleep-fix-master:
  tests: avoid running into timing issues due to sanity change.
  Fix timestamp issues by ensuring configure takes at least a second.

1  2 
ChangeLog
NEWS
configure
tests/acloca18.test

diff --cc ChangeLog
+++ b/ChangeLog
  2010-10-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
 -2009-09-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
 -
 -      Avoid sleeping for one second most of the time in sanity check.
 -      * m4/sanity.m4 (AM_SANITY_CHECK): Try sanity check first without
 -      sleeping for a second, and only if that failed, sleep and try
 -      again, to avoid the delay in the common case of a configure
 -      script that is older than a second, or a system with sub-second
 -      time stamp granularity.
 -      Report and different patch by Jim Meyering.
 -
 -2009-09-06  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
 -
 -      tests/README: warn about zsh incompatibilities.
 -      * tests/README (User interface, Getting details from failures):
 -      Explicitly state that every test is a "shell script", not just
 -      a "script", and that it's run by `/bin/sh' by default.
 -      * tests/README (User interface, Supported shells): New subsection,
 -      telling about expected portability of the automake test scripts,
 -      describing a zsh incompatibility (w.r.t. $0), and a workaround to
 -      it (with the `--no-function-argzero' option).
 -
 -      testsuite: fix a minor glitch.
 -      * tests/defs.in (exit trap): Use `$me', not `$as_me', as the
 -      name of the current test (used in error messages).
 -      * THANKS: Update.
 -
 -2009-07-08  Jim Meyering  <meyering@redhat.com>
+       tests: avoid running into timing issues due to sanity change.
+       * tests/acloca10.test, tests/acloca18.test, tests/aclocal9.test:
+       Insert strategic sleep before aclocal reruns, to ensure files
+       are newer.
+       * tests/python11.test: Use --force for repeated autotools runs.
+       Reports from the NixOS Hydra build daemon via Ludovic Courtès.
+       Fix timestamp issues by ensuring configure takes at least a second.
+       * m4/sanity.m4 (AM_SANITY_CHECK): If we didn't sleep here,
+       start a sleep in the background and wait for it to finish
+       before creating config.status, hopefully fixing all spurious
+       testsuite failures involving botched time stamps.
+       * NEWS: Update.
+       Reports by Ludovic Courtès, Peter Breitenlohner, and others.
++2010-10-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
  
 -      manual: fix a trivial grammar error.
 -      * doc/automake.texi (Invoking aclocal): Fix grammar.
 +      Revert "parallel-tests: avoid command-line length limit issue."
 +      This reverts commit 24e3b4ee2f8cb9f72dd94a05a893f3d4e88b7835,
 +      because it re-opened the bug fixed by v1.11-10-g218e678.
  
 -2009-06-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
 +      2010-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
  
 -      AM_PROG_GCJ: use AC_CHECK_TOOLS for gcj, for cross compilation.
 -      * m4/gcj.m4 (AM_PROG_GCJ): Use AC_CHECK_TOOLS, rather than
 -      AC_CHECK_PROGS, when searching for `gcj'.
 +      parallel-tests: avoid command-line length limit issue.
 +      * automake.in (handle_tests): New argument $makefile, new
 +      substitution %MAKEFILE%.
 +      (generate_makefile): Adjust.
 +      * lib/am/check.am [%?PARALLEL_TESTS%] (check-TESTS): Pass
 +      sanitized TEST_LOGS value as makefile snippet on standard
 +      input to $(MAKE), to avoid exceeding the command line limit on
 +      w32 (MSYS).
        * NEWS: Update.
 -      Report by Jack Kelly.
 -
 -2009-05-24  Jack Kelly  <endgame.dos@gmail.com>  (tiny change)
 -          Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
 +      Report by Bob Friesenhahn.
  
 -      AM_PROG_GCJ currently fails to define OBJEXT and EXEEXT.
 -      * tests/gcj6.test: New test.
 -      * tests/Makefile.am: Update; mark gcj6.test as XFAIL.
 +2010-09-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
 +
 +      Extend tests on `--help' and `--version' options.
 +      * tests/help.test: Create a new empty directory and chdir into
 +      it, rather than removing already present files.  Run the aclocal
 +      and automake wrapper scripts directly, instead of relying on
 +      $AUTOMAKE and $ACLOCAL.  Be sure to correctly match literal dots
 +      in aclocal's and automake's stderr.  Add a trailing `:' command.
 +      * tests/help2.test: New test, checking that options `--help' and
 +      `--version' works in directories with broken `configure.in'.
 +      * tests/help3.test: New test, checking that options `--help' and
 +      `--version' take precedence on the other options.
 +      * tests/help4.test: New test, checking that the first among the
 +      `--help' and `--version' options to be specified on the command
 +      line wins.
 +      * tests/Makefile.am (TESTS): Updated.
 +
 +2010-09-25  Stefano Lattarini  <stefano.lattarini@gmail.com>
 +
 +      Testsuite: Use `$PATH_SEPARATOR', not `:', when extending PATH.
 +      * tests/compile2.test: Do no uselessly (implicitly) repeat the
 +      computation of PATH_SEPARATOR again.
 +      * tests/instmany-mans.test: Use `$PATH_SEPARATOR', not `:', when
 +      extending/redefining PATH.
 +      * tests/instmany-python.test: Likewise.
 +      * tests/instmany.test: Likewise.
 +      * tests/man4.test: Likewise.
 +      * tests/mkinst3.test: Likewise.
 +      * tests/mmodely.test: Likewise.
 +      * tests/multlib.test: Likewise.
 +      * tests/txinfo30.test: Likewise.
 +      * tests/README (Section "Writing test cases" subsection "Do"):
 +      Updated.
 +      * Makefile.am (sc_tests_PATH_SEPARATOR): New maintainer check.
 +      (syntax_check_rules): Updated.
 +
 +      Testsuite: new variables `$PATH_SEPARATOR' and `$APIVERSION'.
 +      * tests/defs.in ($APIVERSION):  New AC_SUBST'd variable.
 +      ($ACLOCAL, $AUTOMAKE): Use it.
 +      ($PATH_SEPARATOR):  New AC_SUBST'd variables.
 +      ($PATH): Use it.
 +
 +2010-09-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
 +
 +      Manual: be more agnostic w.r.t. version control system used.
 +      * doc/automake.texi (Basics of Distribution): Also refer to `.svn'
 +      directories as a type of probably-unwanted files that are copied
 +      regardless when adding directories to EXTRA_DIST.
 +      (The dist Hook): Show a dist-hook example which removes Subversion
 +      `.svn' private directories from distdir, rather than CVS private
 +      directories.
 +      (missing and AM_MAINTAINER_MODE): Try to be more agnostic w.r.t.
 +      the version control system used.
 +
 +      Manual: index refer to target "git-dist", not "cvs-dist".
 +      * doc/automake.texi (General Operation): Index the non-standard
 +      example about "git-dist" under the "git-dist" label, not under
 +      the "cvs-dist" one.
 +
 +      Perl modules: remove references to "Automake CVS repository".
 +      * lib/Automake/Channels.pm: Update comments to refer to "Automke's
 +      git repository" rather than to "Automake's CVS repository".
 +      * lib/Automake/Configure_ac.pm: Likewise.
 +      * lib/Automake/FileUtils.pm: Likewise.
 +      * lib/Automake/Struct.pm: Likewise.
 +      * lib/Automake/XFile.pm: Likewise.
 +      * lib/Automake/Version.pm (=head1 DESCRIPTION): Refer to "git
 +      branches" rather than "CVS branches".
 +
 +      Remove obsolete .cvsignore files.
 +      * .cvsignore, doc/.cvsignore, lib/.cvsignore, lib/am/.cvsignore,
 +      lib/Automake/.cvsignore, lib/Automake/tests/.cvsignore,
 +      m4/.cvsignore, tests/.cvsignore: Files deleted.  Even when using
 +      savannah's CVS readonly mirror there's no way to commit back to
 +      the real repository, so this files are not worth maintaining or
 +      keeping around.
 +
 +2010-09-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
 +
 +      * m4/dmalloc.m4: Bump serial number and copyright years.
 +
 +2010-09-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
 +
 +      Fix broken link in `AM_WITH_DMALLOC' help screen.
 +      * m4/dmalloc.m4 (AM_WITH_DMALLOC): Refer only to the dmalloc site
 +      `http://www.dmalloc.com', not to the dmalloc tarball there (which
 +      seems to have been removed, substituted by multiple release
 +      tarballs now).
 +
 +2010-09-21  Peter Rosin  <peda@lysator.liu.se>
 +
 +      compile: implement library search to support MSVC static linking
 +      * lib/compile (func_cl_wrapper): Implement library search and
 +      -static option so that the user can select whether to prefer
 +      dll import libraries or static libraries.  This enables MSVC to
 +      link against dlls generated by libtool without requiring libtool
 +      or workarounds such as -lfoo.dll etc.  Makes the tests/static.at
 +      test case in libtool pass.
 +      * tests/compile3.test: Don't trip up if there happens to exist
 +      a "foo" library in the library search path.
 +      * tests/compile6.test: New test, verifying the library search.
 +      * tests/Makefile.am (TESTS): Update.
 +
 +2010-09-17  Eric Blake  <eblake@redhat.com>
 +
 +      Avoid triple-space after period.
 +      * automake.in (handle_single_transform): Avoid 3 spaces at
 +      sentence end.
 +      * ChangeLog.03: Likewise.
 +      * lib/Automake/ChannelDefs.pm: Likewise.
 +      * lib/Automake/Channels.pm (_print_message): Likewise.
 +      * lib/Automake/Rule.pm (rule): Likewise.
 +      * lib/Automake/Variable.pm (var): Likewise.
 +      * lib/am/distdir.am: Likewise.
 +      * tests/insthook.test: Likewise.
 +
 +2010-09-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
 +
 +      Test automake-generated portions of configure help screen.
 +      * tests/help-depend.test: New test.
 +      * tests/help-depend2.test: Likewise.
 +      * tests/help-dmalloc.test: Likewise.
 +      * tests/help-init.test: Likewise.
 +      * tests/help-lispdir.test: Likewise.
 +      * tests/help-maintainer.test: Likewise.
 +      * tests/help-multilib.test: Likewise.
 +      * tests/help-regex.test: Likewise.
 +      * tests/help-silent.test: Likewise.
 +      * tests/help-upc.test: Likewise.
 +      * tests/mmode.test: Remove tests on `configure --help' output,
 +      they are supersed by tests in `help-maintainer.test'.
 +      * tests/Makefile.am (TESTS): Update.
 +
 +2010-09-14  Stefano Lattarini  <stefano.lattarini@gmail.com>
 +
 +      * tests/README: Don't put GCS mandated tools in $required.
 +
 +2010-09-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
 +
 +      * HACKING: Hint at old commits with `git describe' output.
 +
 +2010-09-14  Stefano Lattarini  <stefano.lattarini@gmail.com>
 +
 +      Prefer `$(am__cd)' to plain `cd' in our Makefiles.
 +      * Makefile.am (recheck, dist-hook, git-dist, path-check, fetch)
 +      (release-stats): Use `$(am__cd)' rather than plain `cd'.
 +      * tests/Makefile.am ($(srcdir)/parallel-tests.am): Likewise.
 +
 +2010-09-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
 +
 +      Fix regression in test `colon4.test'.
 +      * tests/colon4.test: Fix botched editing to `configure.in'
 +      that made the test useless.  Since we are at it, improve
 +      comments and make grepping of generated Makefile.in slighty
 +      stricter.
 +      Regression introduced by change "Modernize, improve and/or
 +      extend tests `colon*.test" (Stefano Lattarini, 2010-08-08).
 +
 +2010-09-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
 +
 +      Do not require "gzip" explicitly in tests.
 +      The gzip utility is simply expected to be present on any decent
 +      target system for Automake.  So it's pointless to put it in
 +      $required.
 +      * tests/install2.test ($required): Do not require "gzip".
 +      * tests/lex3.test: Likewise.
 +      * tests/pr9.test: Likewise.
 +      From a suggestion by Ralf Wildenhues.
 +
 +2010-09-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
 +
 +      Use AS_HELP_STRING in AM_SILENT_RULES.
 +      * m4/silent.m4 (AM_SILENT_RULES): Use `AS_HELP_STRING' to format
 +      help message regarding configure options `--enable-silent-rules'
 +      and `--disable-silent-rules'.  Also throw in a couple of cosmetic
 +      changes in the related `case' statement (indentation, balancing
 +      of parentheses).
        * THANKS: Update.
 -
 -2009-05-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
 -
 -      parallel-tests: avoid GNU make 3.80 substitution bug.
 -      * lib/am/check.am [PARALLEL_TESTS] (check-TESTS): Remove any
 -      `.log' entries from `$(TEST_LOGS)' even if the list is nonempty,
 -      to work around GNU make 3.80 substitution reference issue with
 -      trailing white space in the variable.
 -      * tests/parallel-tests10.test: New test.
 -      * tests/parallel-tests6.test: Update comment.
 -      * tests/Makefile.am: Update.
 +      From a report by Jeff A. Daily.
 +
 +2010-09-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
 +
 +      Make some `confh*.test' tests more "semantic" (plus tweakings).
 +      * tests/confh.test: Run "autoconf", "configure" and "make check",
 +      instead of munging/grepping the generated `Makefile.in'.
 +      * tests/confh4.test: Relax the grepping of Makefile.in w.r.t.
 +      white spaces.  Do not create usless dummy source file `foo.c'
 +      and useless dummy header file `acconfig.h'.
 +      (configure.in): Remove superfluous call to `AC_OUTPUT'.
 +      * tests/confh6.test: Add trailing `:' command.
 +      * tests/confh7.test: In comments, add reference to ...
 +      * tests/confh8.test: ... this new test, "semantic" sister
 +      of `confh7.test'.
 +      * tests/Makefile.am (TESTS): Updated.
 +      Prompted by a report from Ralf Wildenhues.
 +
 +2010-09-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
 +
 +      Remove useless whitespace padding in XFAIL_TESTS definition.
 +      * tests/Makefile.am (XFAIL_TESTS): Remove whitespace padding.
 +
 +2010-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
 +
 +      parallel-tests: avoid command-line length limit issue.
 +      * automake.in (handle_tests): New argument $makefile, new
 +      substitution %MAKEFILE%.
 +      (generate_makefile): Adjust.
 +      * lib/am/check.am [%?PARALLEL_TESTS%] (check-TESTS): Pass
 +      sanitized TEST_LOGS value as makefile snippet on standard
 +      input to $(MAKE), to avoid exceeding the command line limit on
 +      w32 (MSYS).
        * NEWS: Update.
        Report by Bob Friesenhahn.
  
diff --cc NEWS
--- 1/NEWS
--- 2/NEWS
+++ b/NEWS
@@@ -10,22 -2,13 +10,28 @@@ New in 1.11a
  
  * Miscellaneous changes:
  
 -Bugs fixed in 1.11.0a:
 +  - The `dist' and `dist-all' targets now can run compressors in parallel.
 +
 +  - The `lzma' compression scheme and associated automake option `dist-lzma'
 +    is obsoleted by `xz' and `dist-xz' due to upstream changes.
 +
 +  - "make dist" can now create lzip-compressed tarballs.
 +
 +  - Messages of types warning or error from `automake' and `aclocal' are now
 +    prefixed with the respective type, and presence of -Werror is noted.
 +
 +  - The `compile' script now converts some options for MSVC for a better
 +    user experience.  Similarly, the new `ar-lib' script wraps Microsoft lib.
 +
+   - Automake's early configure-time sanity check now tries to avoid sleeping
+     for a second, which slowed down cached configure runs noticeably.  In that
+     case, it will check back at the end of the configure script to ensure that
+     at least one second has passed, to avoid time stamp issues with makefile
+     rules rerunning autotools programs.
 +Bugs fixed in 1.11a:
 +
 +  - Lots of minor bugfixes.
  
  * Bugs introduced by 1.11:
  
diff --cc configure
Simple merge
@@@ -98,9 -91,9 +102,10 @@@ $slee
  ACLOCAL_TESTSUITE_FLAGS='-I 4 -I 1 -I 2'
  rm -f foo
  $ACLOCAL --install 2>stderr && { cat stderr >&2; Exit 1; }
 -grep AM_MACRO2 stderr
 +cat stderr >&2
 +grep 'macro.*AM_MACRO2.*not found' stderr
  
+ $sleep
  ACLOCAL_TESTSUITE_FLAGS='-I 4 -I 1'
  rm -f foo
  $ACLOCAL --install