Merge branch 'master' into testsuite-work
authorStefano Lattarini <stefano.lattarini@gmail.com>
Thu, 16 Jun 2011 15:04:25 +0000 (17:04 +0200)
committerStefano Lattarini <stefano.lattarini@gmail.com>
Thu, 16 Jun 2011 15:04:25 +0000 (17:04 +0200)
* master:
  tests: check portable fd redirection in TESTS_ENVIRONMENT
  news: update w.r.t. introduction of AM_DISTCHECK_CONFIGURE_FLAGS
  tests: optimize tests on primary/prefix mismatch for speed
  Warnings about primary/prefix mismatch fixed and extended.
  maintcheck: DISTCHECK_CONFIGURE_FLAGS can be defined on make cmdline
  distcheck: add support for AM_DISTCHECK_CONFIGURE_FLAGS
  docs: better documentation for silent make rules

1  2 
ChangeLog
Makefile.am
Makefile.in
tests/Makefile.am
tests/Makefile.in
tests/defs

diff --cc ChangeLog
+++ b/ChangeLog
+ 2011-06-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
+       tests: optimize tests on primary/prefix mismatch for speed
+       * tests/primary-prefix-invalid-couples.test: Partial rewrite, in
+       order to use just a single automake invocation rather than one
+       invocation for each invalid primary/prefix couple.  This improves
+       the test script execution time by an order of magnitude.
+       Since we are at it, throw in some other improvements to avoid
+       unrelated automake warnings and failures that could potentially
+       cause false positives w.r.t. the automake exit status.
+ 2011-06-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
+       news: update w.r.t. introduction of AM_DISTCHECK_CONFIGURE_FLAGS
+       * NEWS (Miscellaneous changes): Update.
+ 2011-06-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
+       maintcheck: DISTCHECK_CONFIGURE_FLAGS can be defined on make cmdline
+       * Makefile.am (sc_tests_overriding_macros_on_cmdline): It's now
+       acceptable that the test scripts override DISTCHECK_CONFIGURE_FLAGS
+       on the make command line.  Update comments accordingly.  Since we
+       are at it, make the relevant grepping rules slightly tighter.
+ 2011-06-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
+       distcheck: add support for AM_DISTCHECK_CONFIGURE_FLAGS
+       * doc/automake.texi (Checking the Distribution): Suggest to use
+       AM_DISTCHECK_CONFIGURE_FLAGS, not DISTCHECK_CONFIGURE_FLAGS, to
+       define (in the top-level Makefile.am) extra flags to be passed
+       to configure at "make distcheck" time; DISTCHECK_CONFIGURE_FLAGS
+       should be reserved for the user.  Add proper `@vindex' directive.
+       Document that AM_DISTCHECK_CONFIGURE_FLAGS is not honoured in a
+       subpackage Makefile.am, but the flags in it are passed down to
+       the configure script of the subpackage.
+       * lib/am/distdir.am (distcheck): Also pass the flags in
+       $(AM_DISTCHECK_CONFIGURE_FLAGS) to the configure invocation.
+       Update comments.
+       * tests/defs.in.test (AM_DISTCHECK_CONFIGURE_FLAGS,
+       DISTCHECK_CONFIGURE_FLAGS): Unset in case they are exported in
+       the environment, they might improperly influence our testsuite.
+       * tests/distcheck-configure-flags.test: New test.
+       * tests/distcheck-configure-flags-am.test: Likewise.
+       * tests/distcheck-configure-flags-subpkg.test: Likewise.
+       * distcheck-hook.test: Likewise.
+       * distcheck-hook2.test: Likewise.
+       * tests/Makefile.am (TESTS): Update.
+       Closes automake bug#8784.
+ 2010-06-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
+       docs: better documentation for silent make rules
+       * doc/automake.texi (Options): Detailed description of the
+       automake option `silent-rules' moved from here ...
+       (Silent Make): ... into this new chapter, expanded, improved,
+       and subdivided into ...
+       (Make verbosity, Tricks For Silencing Make,
+       Automake silent-rules Option): ... these new sections.
+       (@menu, @detailmenu): Update.
+       * tests/silent-configsite.test: New test, checking that the
+       user can control default mode of silent-rules from config.site,
+       as is documented in the manual.
+       * tests/Makefile.am (TESTS): Updated.
+ 2011-06-11  Stefano Lattarini  <stefano.lattarini@gmail.com>
+       Warnings about primary/prefix mismatch fixed and extended.
+       * automake.in (%standard_prefix): Add `doc' and `locale'.
+       Rename `pkgdatadir' to `pkgdata'.  Similarly for`pkglibdir',
+       `pkgincludedir' and `pkglibexecdir'.
+       (handle_programs): List `pkglibexec', not `pkglib', among the
+       prefixes valid for the `PROGRAMS' primary.
+       (handle_data): List also `doc' among the prefixes valid for
+       the `DATA' primary.  This is required by automake's own build
+       system.
+       * tests/dirforbid.test: Test removed, superseded by ...
+       * tests/primary-prefix-invalid-couples.test: ... this new test.
+       * tests/primary-prefix-valid-couples.test: New test.
+       * tests/primary-prefix-couples-documented-valid.test: Likewise.
+       * tests/primary-prefix-couples-force-valid.test: Likewise.
+       * tests/java3.test: Adjusted, and extended a bit.
+       * tests/Makefile.am (TESTS): Updated.
+       * NEWS: Updated.
+       From a report by Eric Blake.
+ 2011-06-14  Stefano Lattarini  <stefano.lattarini@gmail.com>
+       tests: check portable fd redirection in TESTS_ENVIRONMENT
+       * tests/tests-environment-fd-redirect.test: New test.
+       * tests/Makefile.am (TESTS): Update.
+       Motivated by coreutils bug#8846:
+        <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8846>
+       See also following CC:ed thread on bug-autoconf list:
+        <http://lists.gnu.org/archive/html/bug-autoconf/2011-06/msg00002.html>
 +2011-06-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
 +
 +      tests: make test 'self-check-reexec.test' more portable
 +      * tests/self-check-reexec.test: Rewrite not to require a Korn
 +      Shell able to grok variable expansions such as `${.sh.version}';
 +      Solaris 10 /bin/ksh fails on this for example.  Instead, just
 +      require bash and a shell that is not bash.
 +
 +2011-06-14  Stefano Lattarini  <stefano.lattarini@gmail.com>
 +          Jim Meyering  <meyering@redhat.com>
 +
 +      test defs: fix ksh-related portability bug in warning messages
 +      Running "make check" normally prints a diagnostic to the outermost
 +      stderr (usually a tty) to explain why a test is skipped, thus
 +      giving better and faster feedback to the user.  It used to do
 +      so by redirecting file descriptor 9 to stderr (via "exec 9>&2")
 +      before invoking the test scripts, which then would write any skip
 +      explanation to file descriptor 9 via the `skip_' function defined
 +      in `tests/defs'.
 +      However, various Korn Shells (at least Solaris 10's /bin/ksh and
 +      Debian GNU/Linux's /bin/ksh) and the HP-UX's /bin/sh close open
 +      file descriptors > 2 upon an `exec' system call; thus the effects
 +      of "exec 9>&2" are cancelled upon fork-and-exec, so we would get
 +      a "Bad file number" diagnostic and no skip explanation with those
 +      shells.
 +      The present change remedies this situation.
 +      * tests/Makefile.am (AM_TESTS_ENVIRONMENT): Redirect more portably,
 +      via a trailing "9>&2", rather than the prior "exec 9>&2; ...".  Add
 +      explanatory comments.
 +      * tests/defs (stderr_fileno_): Update the advice in comments.
 +      Based on commit v8.12-82-g6b68745 "tests: accommodate HP-UX and
 +      ksh-derived shells" in GNU coreutils.
 +      Further references, with lots of discussion:
 +       <http://lists.gnu.org/archive/html/bug-autoconf/2011-06/msg00002.html>
 +       <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488>
 +       <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8846>
 +
 +2011-06-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
 +
 +      tests: remove 'test_prefer_config_shell' from the environment
 +      Since commit `v1.11-910-g7df1a9b', the once user-overridable
 +      variable `$test_prefer_config_shell' has become an internal
 +      detail, and the test scripts now complain and bail out if it is
 +      set in the environment.
 +      * tests/Makefile.am (AM_TESTS_ENVIRONMENT): Unset the variable
 +      `test_prefer_config_shell' if it is set in the environment.
 +
 +2011-06-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
 +
 +      tests: autogenerate list of wrapped tests for `lib/' shell scripts
 +      * tests/gen-config-shell-tests: New script, generates distributed
 +      makefile snippet `tests/config-shell-tests.am' to list all tests
 +      that use the `get_shell_script' function, with names mangled to
 +      use suffix `-w.shtst', in ...
 +      * tests/Makefile.am (config_shell_tests): ... this macro, whose
 +      definition has been consequently removed from Makefile.am.
 +      (EXTRA_DIST): Distribute the new script.
 +      ($(srcdir)/config-shell-tests.am): Generate using the new script.
 +      (include): Include the `config-shell-tests.am' fragment.
 +      * bootstrap: Invoke `tests/gen-config-shell-tests' to generate
 +      `tests/config-shell-tests.am'.
 +      * tests/.gitignore: Ignore `config-shell-tests.am'.
 +      * tests/gen-parallel-tests: Fixlet in heading comments.
 +
 +2011-06-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
 +
 +      tests: test mdate-sh with /bin/sh too
 +      * tests/mdate5.test: Fetch the `mdate-sh' script using the
 +      `get_shell_script' function, and run it directly instead of
 +      using `$SHELL'.
 +      * tests/mdate6.test: Likewise.  Since we are at it, make checks
 +      on the `mdate-sh' output stricter, remove now unneeded calls to
 +      aclocal and automake and creation/extension of `configure.in',
 +      `Makefile.am' and `textutils.tex' files, and add a trailing `:'
 +      command.
 +      * tests/Makefile.am (config_shell_tests): Add `mdate5-w.shtst'
 +      and `mdate6-w.shtst'.
 +
 +2011-06-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
 +
 +      tests: extend tests on `--add-missing' and `--copy' a bit
 +      * tests/add-missing.test: Fix typo in heading comments.  Try with
 +      another testcase that install many (but not all) the auxiliary
 +      scripts at once, and uses non-standard (but valid and documented)
 +      setups (e.g., defining YACC in Makefile.am instead of calling
 +      AC_PROG_YACC from configure.in).
 +      * tests/copy.test: Reference `add-missing.test' in heading
 +      comments.  Try few more test scenarios.
 +
 +2011-06-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
 +
 +      tests: few fixlets and improvements
 +      * tests/cond31.test ($required): Remove `cc', it's not really
 +      needed.
 +      * tests/confh.test: Call autoheader too.  The lack of this call
 +      wasn't causing spurious failures because the automatic remake
 +      rules were somehow invoking it on our behalf (at make time).
 +      * tests/fn99subdir.test: Use $subdirname throughout, instead of
 +      ${subdirname}, for consistency with the rest of the testsuite.
 +      Avoid an unnecessary subshell, which could also cause spurious
 +      passes, being guarded by a trailing `|| Exit 1', which neutralize
 +      the `errexit' flag.  Remove an unnecessary `|| Exit 1' guard.
 +      * tests/insh2.test: Rewrite to avoid hackish Makefile.in munging,
 +      and to also run configure and make.
 +
 +2011-06-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
 +
 +      tests: don't hard-code test name in txinfo21.test
 +      * tests/txinfo21.test: Use `$me' instead of hard-coding the
 +      current testcase name "txinfo21".  Add a trailing `:' command
 +      since we are at it.
 +
 +2011-06-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
 +
 +      tests: new test dedicated to `--add-missing' and `--copy'
 +      * tests/add-missing.test: New test.
 +      * tests/Makefile.am (TESTS): Update.
 +      Suggested by Peter Rosin.
 +
 +2011-06-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
 +
 +      testsuite: use 'fatal_' and 'framework_failure_' for hard errors
 +      * tests/defs (require_xsi): Use `fatal_', not `framework_failure',
 +      to report an invalid usage.
 +      * tests/remake-gnulib-remove-header.test: Prefer using `fatal_'
 +      with a proper error message over a direct call to `Exit 99'.
 +      * tests/pr8365-remake-timing.test: Likewise.
 +      * tests/cygnus-imply-foreign.test: Likewise.
 +      * tests/missing6.test: Likewise.
 +      * tests/cond8.test: Likewise.
 +      * tests/cond33.test: Likewise.
 +      * tests/python-virtualenv.test: Prefer using `framework_failure_'
 +      with a proper error message over a direct call to `Exit 99'.
 +      * tests/instspc-tests.sh: Prefer using `framework_failure_' and
 +      `fatal_' over direct calls to `Exit 99'.
 +      (fatal_): Define this (which is a simplified version of the one
 +      in `tests/defs') for early uses (i.e., before `tests/defs'
 +      gets sourced).
 +      * tests/depmode-tests.sh: Likewise.  Also, simplify the
 +      'get_depmodes' function and calls to it accordingly.
 +
 +2011-06-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
 +
 +      self tests: check new 'fatal_' function
 +      * tests/self-check-exit.test: Also check the new 'fatal_'
 +      function.
 +
  2011-06-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
  
        test defs: new function 'fatal_', for hard errors
diff --cc Makefile.am
Simple merge
diff --cc Makefile.in
Simple merge
@@@ -811,8 -772,11 +815,12 @@@ prefix.test 
  primary.test \
  primary2.test \
  primary3.test \
+ primary-prefix-invalid-couples.test \
+ primary-prefix-valid-couples.test \
+ primary-prefix-couples-force-valid.test \
+ primary-prefix-couples-documented-valid.test \
  proginst.test \
 +programs-primary-rewritten.test \
  python.test \
  python2.test \
  python3.test \
@@@ -1093,8 -1039,11 +1097,12 @@@ prefix.test 
  primary.test \
  primary2.test \
  primary3.test \
+ primary-prefix-invalid-couples.test \
+ primary-prefix-valid-couples.test \
+ primary-prefix-couples-force-valid.test \
+ primary-prefix-couples-documented-valid.test \
  proginst.test \
 +programs-primary-rewritten.test \
  python.test \
  python2.test \
  python3.test \
diff --cc tests/defs
Simple merge