Merge branch 'test-protocols' into testsuite-work
authorStefano Lattarini <stefano.lattarini@gmail.com>
Thu, 20 Oct 2011 12:39:53 +0000 (14:39 +0200)
committerStefano Lattarini <stefano.lattarini@gmail.com>
Thu, 20 Oct 2011 12:39:53 +0000 (14:39 +0200)
* test-protocols:
  cosmetics: remove obsolete comment
  coverage: conditional contents in LOG_DRIVER variables
  coverage: LOG_DRIVER variables can be defined through AC_SUBST
  tests: fix spurious failure with Solaris /bin/sh
  threaded-am: better serialization for required config files
  automake: refactor, break up 'require_file_internal'
  dist: separate auxiliary file instantiation from DIST_COMMON update
  refactor: rename a subroutine to a more proper name
  dist: truly always distribute files in AC_REQUIRE_AUX_FILE
  dist: simplify automake code accordingly to the previous changes
  dist: auxiliary files can be distributed from subdir Makefiles

18 files changed:
1  2 
ChangeLog
Makefile.in
NEWS
doc/Makefile.in
lib/Automake/Makefile.in
lib/Automake/tests/Makefile.in
lib/am/Makefile.in
m4/Makefile.in
tests/Makefile.am
tests/Makefile.in
tests/dist-auxdir-many-subdirs.test
tests/distcom2.test
tests/java-compile-run-nested.test
tests/libobj19.test
tests/list-of-tests.mk
tests/test-driver-acsubst.test
tests/test-driver-cond.test
tests/test-driver-is-distributed.test

diff --cc ChangeLog
Simple merge
diff --cc Makefile.in
@@@ -50,11 -50,13 +50,14 @@@ NORMAL_UNINSTALL = 
  PRE_UNINSTALL = :
  POST_UNINSTALL = :
  build_triplet = @build@
 +host_triplet = @host@
  subdir = .
  DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
-       $(srcdir)/Makefile.in $(top_srcdir)/configure AUTHORS COPYING \
-       ChangeLog INSTALL NEWS THANKS TODO
+       $(srcdir)/Makefile.in $(top_srcdir)/configure \
+       $(top_srcdir)/lib/config.guess $(top_srcdir)/lib/config.sub \
+       $(top_srcdir)/lib/install-sh $(top_srcdir)/lib/missing \
+       $(top_srcdir)/lib/mkinstalldirs AUTHORS COPYING ChangeLog \
+       INSTALL NEWS THANKS TODO
  ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
  am__aclocal_m4_deps = $(top_srcdir)/m4/amversion.m4 \
        $(top_srcdir)/m4/auxdir.m4 $(top_srcdir)/m4/init.m4 \
diff --cc NEWS
--- 1/NEWS
--- 2/NEWS
+++ b/NEWS
@@@ -175,8 -182,10 +182,12 @@@ Bugs fixed in 1.11a
  
  * Long standing bugs:
  
 +  - Automake's own build system finally have a real "installcheck" target.
 +
+   - Files listed with the AC_REQUIRE_AUX_FILE macro in configure.ac are
+     now automatically distributed also if the directory of the auxiliary
+     files coincides with the top-level directory.
    - "make distcheck" now correctly complains also when "make uninstall"
      leaves one and only one file installed in $(prefix).
  
diff --cc doc/Makefile.in
Simple merge
@@@ -49,10 -49,9 +49,10 @@@ NORMAL_UNINSTALL = 
  PRE_UNINSTALL = :
  POST_UNINSTALL = :
  build_triplet = @build@
 +host_triplet = @host@
  subdir = lib/Automake
  DIST_COMMON = $(dist_perllib_DATA) $(srcdir)/Makefile.am \
-       $(srcdir)/Makefile.in
+       $(srcdir)/Makefile.in $(top_srcdir)/lib/mkinstalldirs
  ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
  am__aclocal_m4_deps = $(top_srcdir)/m4/amversion.m4 \
        $(top_srcdir)/m4/auxdir.m4 $(top_srcdir)/m4/init.m4 \
@@@ -48,10 -47,9 +48,11 @@@ NORMAL_UNINSTALL = 
  PRE_UNINSTALL = :
  POST_UNINSTALL = :
  build_triplet = @build@
 -subdir = lib/Automake/tests
 +host_triplet = @host@
  DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
-       $(top_srcdir)/CheckListOfTests.am
++      $(top_srcdir)/CheckListOfTests.am \
+       $(top_srcdir)/lib/mkinstalldirs $(top_srcdir)/lib/test-driver
 +subdir = lib/Automake/tests
  ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
  am__aclocal_m4_deps = $(top_srcdir)/m4/amversion.m4 \
        $(top_srcdir)/m4/auxdir.m4 $(top_srcdir)/m4/init.m4 \
@@@ -49,10 -49,9 +49,10 @@@ NORMAL_UNINSTALL = 
  PRE_UNINSTALL = :
  POST_UNINSTALL = :
  build_triplet = @build@
 +host_triplet = @host@
  subdir = lib/am
  DIST_COMMON = $(dist_am_DATA) $(srcdir)/Makefile.am \
-       $(srcdir)/Makefile.in
+       $(srcdir)/Makefile.in $(top_srcdir)/lib/mkinstalldirs
  ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
  am__aclocal_m4_deps = $(top_srcdir)/m4/amversion.m4 \
        $(top_srcdir)/m4/auxdir.m4 $(top_srcdir)/m4/init.m4 \
diff --cc m4/Makefile.in
@@@ -49,10 -49,10 +49,11 @@@ NORMAL_UNINSTALL = 
  PRE_UNINSTALL = :
  POST_UNINSTALL = :
  build_triplet = @build@
 +host_triplet = @host@
  subdir = m4
  DIST_COMMON = $(dist_automake_ac_DATA) $(dist_system_ac_DATA) \
-       $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+       $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+       $(top_srcdir)/lib/mkinstalldirs
  ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
  am__aclocal_m4_deps = $(top_srcdir)/m4/amversion.m4 \
        $(top_srcdir)/m4/auxdir.m4 $(top_srcdir)/m4/init.m4 \
  # You should have received a copy of the GNU General Public License
  # along with this program.  If not, see <http://www.gnu.org/licenses/>.
  
 +# Run the tests with the shell detected at configure time.
 +LOG_COMPILER = $(SHELL)
 +
  TEST_EXTENSIONS = .test .tap
 +TEST_LOG_COMPILER = $(LOG_COMPILER)
 +TAP_LOG_COMPILER = $(LOG_COMPILER)
 +
  TAP_LOG_DRIVER = AM_TAP_AWK='$(AWK)' $(SHELL) $(top_srcdir)/lib/tap-driver.sh
 -AM_TAP_LOG_DRIVER_FLAGS = --merge
  
 -MAINTAINERCLEANFILES =
 +AM_TAP_LOG_DRIVER_FLAGS = --merge --comments
 +## Avoid spurious TAP diagnostic.  We use an awful indirection with a
 +## shell command substitution here, since the string needs to contain
 +## `#' characters, and these can't be escaped portably in a make macro
 +## definition.
 +## FIXME: this is quite inefficient though, as it adds one extra fork
 +## FIXME: per TAP test script; this is OK for the moment, since we have
 +## FIXME: few such scripts, but might become an issue in the future.
 +## Keep this in sync with the definition of $diag_string_ in tests/defs.
 +AM_TAP_LOG_DRIVER_FLAGS += --diagnostic-string `printf '\043%%\043\n'`
 +
  EXTRA_DIST = ChangeLog-old
  
 +TESTS = ## Will be updated later.
 +
  XFAIL_TESTS = \
  all.test \
 -auxdir2.test \
  cond17.test \
- dist-auxfile.test \
- dist-auxfile-2.test \
  gcj6.test \
  override-conditional-2.test \
  java-nobase.test \
  pr8365-remake-timing.test \
  yacc-dist-nobuild-subdir.test \
  vala-vpath.test \
- test-driver-is-distributed.test \
  txinfo5.test
  
 -
 -include $(srcdir)/parallel-tests.am
 -
 -$(srcdir)/parallel-tests.am: gen-parallel-tests Makefile.am
 -      $(AM_V_GEN)($(am__cd) $(srcdir) && $(SHELL) ./gen-parallel-tests) >$@
 -
 -$(parallel_tests): Makefile.am
 -      $(AM_V_at)rm -f $@ $@-t
 -      $(AM_V_GEN)input=`echo $@ | sed 's,.*/,,; s,-p.test$$,.test,'`; \
 -      { echo '#!/bin/sh'; \
 -        echo '# DO NOT EDIT!  GENERATED AUTOMATICALLY!'; \
 -        echo; \
 -        echo '# Ensure proper definition of $$testsrcdir.'; \
 -        echo '. ./defs-static || exit 99'; \
 -        echo 'test -n "$$testsrcdir" || exit 99 # sanity check'; \
 -        echo; \
 -        echo "# Run the test with Automake's parallel-tests driver enabled."; \
 -        echo 'parallel_tests=yes'; \
 -        echo "# In the spirit of VPATH, we prefer a test in the build tree"; \
 -        echo "# over one in the source tree."; \
 -        echo "if test -f \"./$$input\"; then"; \
 -        echo "  . \"./$$input\""; \
 -        echo 'else'; \
 -        echo "  . \"\$$testsrcdir/$$input\""; \
 -        echo 'fi'; \
 -      } > $@-t
 -      $(AM_V_at)chmod a+rx $@-t && mv -f $@-t $@
 -
 -MAINTAINERCLEANFILES += $(parallel_tests)
 -EXTRA_DIST += gen-parallel-tests
 -
 -
 -include $(srcdir)/instspc-tests.am
 -
 -$(srcdir)/instspc-tests.am: instspc-tests.sh Makefile.am
 -      $(AM_V_GEN)($(am__cd) $(srcdir) \
 -        && $(SHELL) ./instspc-tests.sh --generate-makefile) >$@
 -
 -$(instspc_tests): Makefile.am
 -      $(AM_V_at)rm -f $@ $@-t
 -      $(AM_V_GEN) :; \
 -        base=`expr 'x/$@' : 'x.*/instspc-\(.*\)\.test$$'`; \
 -        name=`expr x"$$base" : x'\(.*\)-'`; \
 -        action=`expr x"$$base" : x'.*-\(.*\)'`; \
 -        { \
 -          echo '#!/bin/sh'; \
 -          echo '# DO NOT EDIT!  GENERATED AUTOMATICALLY!'; \
 -          echo; \
 -          echo '# Ensure proper definition of $$testsrcdir.'; \
 -          echo '. ./defs-static || exit 99'; \
 -          echo 'test -n "$$testsrcdir" || exit 99 # sanity check'; \
 -          echo; \
 -          echo "instspc_test_name='$$name'"; \
 -          echo "instspc_action='test-$$action'"; \
 -          echo ". \$$testsrcdir/instspc-tests.sh"; \
 -        } > $@-t
 -      $(AM_V_at)chmod a+rx $@-t && mv -f $@-t $@
 -
 -# All instspc-*.test tests work by sourcing the `instspc-tests.sh'
 -# script.  Also, they all use shared data generated by the helper
 -# test `instspc-data.test', for reasons of speed.
 -instspc-data.log: instspc-tests.sh
 -$(instspc_tests:.test=.log): instspc-tests.sh instspc-data.log
 -
 -MAINTAINERCLEANFILES += $(instspc_tests)
 -EXTRA_DIST += instspc-tests.sh
 -XFAIL_TESTS += $(instspc_xfail_tests)
 -
 -
  # Some testsuite-influential variables should be overridable from the
  # test scripts, but not from the environment.
  AM_TESTS_ENVIRONMENT = \
@@@ -48,11 -48,11 +48,12 @@@ NORMAL_UNINSTALL = 
  PRE_UNINSTALL = :
  POST_UNINSTALL = :
  build_triplet = @build@
 +host_triplet = @host@
  DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
        $(srcdir)/aclocal.in $(srcdir)/automake.in $(srcdir)/defs \
 -      $(srcdir)/defs-static.in $(srcdir)/instspc-tests.am \
 -      $(srcdir)/parallel-tests.am $(top_srcdir)/lib/mkinstalldirs \
 -      $(top_srcdir)/lib/test-driver
 +      $(srcdir)/list-of-tests.mk $(srcdir)/testsuite-part.am \
-       $(top_srcdir)/CheckListOfTests.am
++      $(top_srcdir)/CheckListOfTests.am \
++      $(top_srcdir)/lib/mkinstalldirs $(top_srcdir)/lib/test-driver
  subdir = tests
  ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
  am__aclocal_m4_deps = $(top_srcdir)/m4/amversion.m4 \
@@@ -292,41 -285,89 +293,38 @@@ target_alias = @target_alias
  top_build_prefix = @top_build_prefix@
  top_builddir = @top_builddir@
  top_srcdir = @top_srcdir@
 +
 +# Run the tests with the shell detected at configure time.
 +LOG_COMPILER = $(SHELL)
  TEST_EXTENSIONS = .test .tap
 +TEST_LOG_COMPILER = $(LOG_COMPILER)
 +TAP_LOG_COMPILER = $(LOG_COMPILER)
  TAP_LOG_DRIVER = AM_TAP_AWK='$(AWK)' $(SHELL) $(top_srcdir)/lib/tap-driver.sh
 -AM_TAP_LOG_DRIVER_FLAGS = --merge
 -MAINTAINERCLEANFILES = $(parallel_tests) $(instspc_tests)
 -EXTRA_DIST = ChangeLog-old gen-parallel-tests instspc-tests.sh \
 -      $(TESTS) tap-functions.sh plain-functions.sh \
 -      trivial-test-driver testsuite-summary-checks.sh \
 -      extract-testsuite-summary tap-setup.sh tap-summary-aux.sh \
 -      distcheck-hook-m4.am
 -XFAIL_TESTS = all.test auxdir2.test cond17.test gcj6.test \
 -      override-conditional-2.test java-nobase.test \
 -      pr8365-remake-timing.test yacc-dist-nobuild-subdir.test \
 -      vala-vpath.test txinfo5.test $(instspc_xfail_tests)
 -parallel_tests = check-concurrency-bug9245-p.test \
 -      check-exported-srcdir-p.test check-fd-redirect-p.test \
 -      check-tests-in-builddir-p.test check-p.test check11-p.test \
 -      check12-p.test check2-p.test check3-p.test check4-p.test \
 -      check5-p.test check6-p.test check7-p.test check8-p.test \
 -      check9-p.test color-p.test color2-p.test comment9-p.test \
 -      dejagnu-p.test exeext4-p.test maken3-p.test maken4-p.test \
 -      posixsubst-tests-p.test tests-environment-p.test
 -instspc_tests = instspc-squote-build.test instspc-squote-install.test \
 -      instspc-dquote-build.test instspc-dquote-install.test \
 -      instspc-bquote-build.test instspc-bquote-install.test \
 -      instspc-sharp-build.test instspc-sharp-install.test \
 -      instspc-dollar-build.test instspc-dollar-install.test \
 -      instspc-bang-build.test instspc-bang-install.test \
 -      instspc-bslash-build.test instspc-bslash-install.test \
 -      instspc-ampersand-build.test instspc-ampersand-install.test \
 -      instspc-percent-build.test instspc-percent-install.test \
 -      instspc-leftpar-build.test instspc-leftpar-install.test \
 -      instspc-rightpar-build.test instspc-rightpar-install.test \
 -      instspc-pipe-build.test instspc-pipe-install.test \
 -      instspc-caret-build.test instspc-caret-install.test \
 -      instspc-tilde-build.test instspc-tilde-install.test \
 -      instspc-qmark-build.test instspc-qmark-install.test \
 -      instspc-star-build.test instspc-star-install.test \
 -      instspc-plus-build.test instspc-plus-install.test \
 -      instspc-minus-build.test instspc-minus-install.test \
 -      instspc-comma-build.test instspc-comma-install.test \
 -      instspc-colon-build.test instspc-colon-install.test \
 -      instspc-semicol-build.test instspc-semicol-install.test \
 -      instspc-equal-build.test instspc-equal-install.test \
 -      instspc-less-build.test instspc-less-install.test \
 -      instspc-more-build.test instspc-more-install.test \
 -      instspc-at-build.test instspc-at-install.test \
 -      instspc-lqbrack-build.test instspc-lqbrack-install.test \
 -      instspc-rqbrack-build.test instspc-rqbrack-install.test \
 -      instspc-lcbrack-build.test instspc-lcbrack-install.test \
 -      instspc-rcbrack-build.test instspc-rcbrack-install.test \
 -      instspc-space-build.test instspc-space-install.test \
 -      instspc-tab-build.test instspc-tab-install.test \
 -      instspc-linefeed-build.test instspc-linefeed-install.test \
 -      instspc-backspace-build.test instspc-backspace-install.test \
 -      instspc-formfeed-build.test instspc-formfeed-install.test \
 -      instspc-carriageret-build.test \
 -      instspc-carriageret-install.test \
 -      instspc-quadrigraph0-build.test \
 -      instspc-quadrigraph0-install.test \
 -      instspc-quadrigraph1-build.test \
 -      instspc-quadrigraph1-install.test \
 -      instspc-quadrigraph2-build.test \
 -      instspc-quadrigraph2-install.test \
 -      instspc-quadrigraph3-build.test \
 -      instspc-quadrigraph3-install.test \
 -      instspc-quadrigraph4-build.test \
 -      instspc-quadrigraph4-install.test instspc-a_b-build.test \
 -      instspc-a_b-install.test instspc-a__b-build.test \
 -      instspc-a__b-install.test instspc-a_lf_b-build.test \
 -      instspc-a_lf_b-install.test instspc-dotdotdot-build.test \
 -      instspc-dotdotdot-install.test instspc-dosdrive-build.test \
 -      instspc-dosdrive-install.test instspc-miscglob1-build.test \
 -      instspc-miscglob1-install.test instspc-miscglob2-build.test \
 -      instspc-miscglob2-install.test
 -instspc_xfail_tests = instspc-squote-build.test \
 -      instspc-dquote-build.test instspc-bquote-build.test \
 -      instspc-sharp-build.test instspc-dollar-build.test \
 -      instspc-bslash-build.test instspc-ampersand-build.test \
 -      instspc-linefeed-build.test instspc-quadrigraph0-build.test \
 -      instspc-a_lf_b-build.test instspc-squote-install.test \
 -      instspc-dquote-install.test instspc-bquote-install.test \
 -      instspc-sharp-install.test instspc-dollar-install.test \
 -      instspc-linefeed-install.test instspc-a_lf_b-install.test
 +AM_TAP_LOG_DRIVER_FLAGS = --merge --comments --diagnostic-string \
 +      `printf '\043%%\043\n'`
 +EXTRA_DIST = ChangeLog-old $(handwritten_TESTS) tap-setup.sh \
 +      tap-summary-aux.sh extract-testsuite-summary \
 +      testsuite-summary-checks.sh trivial-test-driver \
 +      $(generated_TESTS) gen-testsuite-part tap-functions.sh \
 +      plain-functions.sh distcheck-hook-m4.am defs-static.in \
 +      prove-runner
 +
 +# Hand-written tests.
 +
 +# Automatically-generated tests wrapping hand-written ones.
 +# Also, automatically-computed dependencies for tests.
 +TESTS = $(handwritten_TESTS) $(generated_TESTS)
 +XFAIL_TESTS = \
 +all.test \
 +cond17.test \
- dist-auxfile.test \
- dist-auxfile-2.test \
 +gcj6.test \
 +override-conditional-2.test \
 +java-nobase.test \
 +pr8365-remake-timing.test \
 +yacc-dist-nobuild-subdir.test \
 +vala-vpath.test \
- test-driver-is-distributed.test \
 +txinfo5.test
 +
  
  # Some testsuite-influential variables should be overridable from the
  # test scripts, but not from the environment.
@@@ -642,8 -675,7 +640,6 @@@ distcom2.test 
  distcom3.test \
  distcom4.test \
  distcom5.test \
- distcom6.test \
- distcom7.test \
 -distcom-subdir.test \
  distdir.test \
  distlinks.test \
  distlinksbrk.test \
index 0000000,4f32f64..2fd9ff1
mode 000000,100755..100755
--- /dev/null
@@@ -1,0 -1,142 +1,142 @@@
 -parallel_tests=yes
+ #! /bin/sh
+ # Copyright (C) 2011 Free Software Foundation, Inc.
+ #
+ # This program is free software; you can redistribute it and/or modify
+ # it under the terms of the GNU General Public License as published by
+ # the Free Software Foundation; either version 2, or (at your option)
+ # any later version.
+ #
+ # This program is distributed in the hope that it will be useful,
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ # GNU General Public License for more details.
+ #
+ # You should have received a copy of the GNU General Public License
+ # along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ # It should be legitimate for many subdir Makefiles to require the
+ # same config-aux files.
+ am_create_testdir=empty
++am_parallel_tests=yes
+ required=cc
+ . ./defs || Exit 1
+ count=0
+ ocwd=`pwd` || fatal_ "cannot get current working directory"
+ # Usage: do_check [--add-missing] [CONFIG-AUXDIR-PATH=.]
+ do_check ()
+ {
+   case $1 in
+     -a|--add-missing) add_missing=yes; shift;;
+     *) add_missing=no;;
+   esac
+   auxdir=${1-.}
+   count=`expr $count + 1`
+   mkdir T$count.d
+   cd T$count.d
+   distdir=$me-$count
+   unindent > configure.in << END
+     AC_INIT([$me], [$count])
+     AC_CONFIG_AUX_DIR([$auxdir])
+     AM_INIT_AUTOMAKE([parallel-tests])
+     AC_PROG_CC
+     # We don't want to require python or emcas in this test, so
+     # the tricks below.
+     AM_PATH_PYTHON([2.2], [], [:])
+     EMACS=no; AM_PATH_LISPDIR
+     AC_CONFIG_FILES([Makefile])
+ END
+   unindent > Makefile.stub <<'END'
+     ## For depcomp.
+     bin_PROGRAMS = foo
+     foo_SOURCES = foo.c
+     ## For py-compile.
+     python_PYTHON = bar.py
+     ## For elisp-comp.
+     lisp_LISP = baz.el
+     ## For test-driver.
+     TESTS =
+ END
+   required_files='
+     install-sh
+     missing
+     depcomp
+     py-compile
+     elisp-comp
+     test-driver
+   '
+   echo "SUBDIRS =" > Makefile.am
+   suffixes='0 1 2 3 4 5 6 7 8 9'
+   for x in $suffixes; do
+     mkdir sub$x
+     echo "SUBDIRS += sub$x" >> Makefile.am
+     echo "AC_CONFIG_FILES([sub$x/Makefile])" >> configure.in
+     cp Makefile.stub sub$x/Makefile.am
+     echo 'int main (void) { return 0; }' > sub$x/foo.c
+     touch sub$x/bar.py sub$x/baz.el
+   done
+   echo AC_OUTPUT >> configure.in
+   $ACLOCAL
+   $AUTOCONF
+   # FIXME: this is not good for installcheck; fix after merging
+   # into testsuite-work.
+   "$top_testsrcdir"/lib/install-sh -d $auxdir
+   if test $add_missing = yes; then
+     $AUTOMAKE -a --copy
+     for f in $required_files; do
+       test -f $auxdir/$f
+       # To ensure that if a auxiliary file is required and distributed
+       # by many Makefiles, the "dist" rule won't try to copy it multiple
+       # times in $(distdir).
+       chmod a-w $auxdir/$f
+     done
+   else
+     for f in $required_files; do
+       # FIXME: this is not good for installcheck; fix after merging
+       # into testsuite-work.
+       cp "$top_testsrcdir"/lib/$f $auxdir/$f
+       # See comments above.
+       chmod a-w $auxdir/$f
+     done
+     $AUTOMAKE
+   fi
+   for vpath in : false; do
+     if $vpath; then
+       mkdir build
+       cd build
+       srcdir=..
+     else
+       srcdir=.
+     fi
+     $srcdir/configure
+     $MAKE distdir
+     find $distdir # For debugging.
+     for f in $required_files; do
+       test -f $distdir/$auxdir/$f
+     done
+     cd $srcdir
+   done
+   cd "$ocwd" || fatal_ "cannot chdir back to '$ocwd'"
+ }
+ do_check .
+ do_check --add-missing .
+ do_check build-aux
+ do_check --add-missing build-aux
+ do_check a/b/c
+ do_check --add-missing a/b/c
+ :
@@@ -41,29 -41,45 +41,43 @@@ foo_SOURCES = foo.
  foo_CFLAGS = -DBAR
  END
  
- rm -f compile depcomp
  $ACLOCAL
- $AUTOMAKE --add-missing
  
- test -f compile
- test -f depcomp
 -rm -f compile depcomp Makefile.in subdir/Makefile.in dc.txt subdir/dc.txt
 -
+ for opt in '' --no-force; do
+   $AUTOMAKE $opt --add-missing
+   test -f compile
+   test -f depcomp
+   for dir in . subdir; do
+     # FIXME: the logic of this check and other similar ones in other
+     # FIXME: `distcom*.test' files should be factored out in a common
+     # FIXME: subroutine in `defs'...
+     sed -n -e "
+       /^DIST_COMMON =.*\\\\$/ {
+         :loop
+         p
+         n
+         t clear
+         :clear
+         s/\\\\$/\\\\/
+         t loop
+         s/$/ /
+         s/[$tab ][$tab ]*/ /g
+         p
+         n
+       }" $dir/Makefile.in > $dir/dc.txt
+   done
  
- sed -n -e '/^DIST_COMMON =.*\\$/ {
-    :loop
-    p
-    n
-    t clear
-    :clear
-    s/\\$/\\/
-    t loop
-    p
-    n
-    }' -e 's/$/ /' -e '/^DIST_COMMON =/p' Makefile.in > dc.txt
+   cat dc.txt # For debugging.
+   cat subdir/dc.txt # Likewise.
  
- cat dc.txt # For debugging.
+   $FGREP ' $(top_srcdir)/depcomp ' subdir/dc.txt
+   # The `compile' script will be listed in the DIST_COMMON of the top-level
+   # Makefile because it's required in configure.in (by AM_PROG_CC_C_O).
+   $FGREP ' $(top_srcdir)/compile ' dc.txt || $FGREP ' compile ' dc.txt
  
- $FGREP ' compile ' dc.txt
- $FGREP ' depcomp ' dc.txt
+ done
  
  :
Simple merge
Simple merge
index add1824,0000000..a60b2f2
mode 100644,000000..100644
--- /dev/null
@@@ -1,1157 -1,0 +1,1155 @@@
- distcom6.test \
- distcom7.test \
 +## Makefile fragment that holds the list of test scripts of the automake
 +## testsuite.  This fragment is meant to be included by the Makefile.am,
 +## but also to be executed directly by make when bootstrapping automake.
 +
 +## Copyright (C) 2011 Free Software Foundation, Inc.
 +##
 +## This program is free software; you can redistribute it and/or modify
 +## it under the terms of the GNU General Public License as published by
 +## the Free Software Foundation; either version 2, or (at your option)
 +## any later version.
 +##
 +## This program is distributed in the hope that it will be useful,
 +## but WITHOUT ANY WARRANTY; without even the implied warranty of
 +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 +## GNU General Public License for more details.
 +##
 +## You should have received a copy of the GNU General Public License
 +## along with this program.  If not, see <http://www.gnu.org/licenses/>.
 +
 +# The order here is mostly alphabetical, with the deliberate exception
 +# that tests having a high runtime (especially TAP tests that run various
 +# checks sequentially) are listed early; this improved performance on
 +# concurrent testsuite runs.
 +handwritten_TESTS = \
 +depmod.tap \
 +instspc.tap \
 +aclocal.test \
 +aclocal3.test \
 +aclocal4.test \
 +aclocal5.test \
 +aclocal6.test \
 +aclocal7.test \
 +aclocal8.test \
 +aclocal9.test \
 +acloca10.test \
 +acloca11.test \
 +acloca12.test \
 +acloca13.test \
 +acloca14.test \
 +acloca15.test \
 +acloca16.test \
 +acloca17.test \
 +acloca18.test \
 +acloca19.test \
 +acloca20.test \
 +acloca21.test \
 +acloca22.test \
 +acloca23.test \
 +aclocal-acdir.test \
 +aclocal-print-acdir.test \
 +aclocal-path.test \
 +aclocal-path-install.test \
 +aclocal-path-install-serial.test \
 +aclocal-path-nonexistent.test \
 +aclocal-path-precedence.test \
 +ac-output-old.tap \
 +acsilent.test \
 +acsubst.test \
 +acsubst2.test \
 +add-missing.tap \
 +all.test \
 +all2.test \
 +alloca.test \
 +alloca2.test \
 +alpha.test \
 +alpha2.test \
 +amhello-cflags.test \
 +amhello-cross-compile.test \
 +amhello-binpkg.test \
 +amassign.test \
 +ammissing.test \
 +amopt.test \
 +amopts-location.test \
 +amopts-variable-expansion.test \
 +amsubst.test \
 +ansi2knr-no-more.test \
 +ar-lib.test \
 +ar.test \
 +ar2.test \
 +asm.test \
 +asm2.test \
 +asm3.test \
 +autodist.test \
 +autodist-subdir.test \
 +autodist-acconfig.test \
 +autodist-acconfig-no-subdir.test \
 +autodist-aclocal-m4.test \
 +autodist-config-headers.test \
 +autodist-configure-no-subdir.test \
 +autodist-no-duplicate.test \
 +autodist-stamp-vti.test \
 +autohdr.test \
 +autohdr2.test \
 +autohdr3.test \
 +autohdr4.test \
 +autohdrdry.test \
 +automake-cmdline.tap \
 +auxdir.test \
 +auxdir6.test \
 +auxdir7.test \
 +auxdir8.test \
 +auxdir-autodetect.test \
 +auxdir-computed.tap \
 +auxdir-misplaced.test \
 +auxdir-nonexistent.test \
 +auxdir-unportable.tap \
 +backcompat.test \
 +backcompat2.test \
 +backcompat3.test \
 +backcompat4.test \
 +backcompat5.test \
 +backcompat6.test \
 +backsl.test \
 +backsl2.test \
 +backsl3.test \
 +backsl4.test \
 +badline.test \
 +badopt.test \
 +badprog.test \
 +block.test \
 +bsource.test \
 +candist.test \
 +canon.test \
 +canon2.test \
 +canon3.test \
 +canon4.test \
 +canon5.test \
 +canon6.test \
 +canon7.test \
 +canon8.test \
 +canon-name.test \
 +ccnoco.test \
 +ccnoco2.test \
 +ccnoco3.test \
 +check.test \
 +check2.test \
 +check3.test \
 +check4.test \
 +check5.test \
 +check6.test \
 +check7.test \
 +check8.test \
 +check10.test \
 +check11.test \
 +check12.test \
 +check-subst.test \
 +check-subst-prog.test \
 +check-exported-srcdir.test \
 +check-fd-redirect.test \
 +check-tests-in-builddir.test \
 +check-no-test-driver.test \
 +check-concurrency-bug9245.test \
 +checkall.test \
 +clean.test \
 +clean2.test \
 +colneq.test \
 +colneq2.test \
 +colneq3.test \
 +colon.test \
 +colon2.test \
 +colon3.test \
 +colon4.test \
 +colon5.test \
 +colon6.test \
 +colon7.test \
 +color.test \
 +color2.test \
 +comment.test \
 +comment2.test \
 +comment3.test \
 +comment4.test \
 +comment5.test \
 +comment6.test \
 +comment7.test \
 +comment8.test \
 +comment9.test \
 +commen10.test \
 +commen11.test \
 +comments-in-var-def.test \
 +compile.test \
 +compile2.test \
 +compile3.test \
 +compile4.test \
 +compile5.test \
 +compile6.test \
 +compile_f90_c_cxx.test \
 +compile_f_c_cxx.test \
 +cond-basic.test \
 +cond.test \
 +cond2.test \
 +cond3.test \
 +cond4.test \
 +cond5.test \
 +cond6.test \
 +cond7.test \
 +cond8.test \
 +cond9.test \
 +cond10.test \
 +cond11.test \
 +cond13.test \
 +cond14.test \
 +cond15.test \
 +cond16.test \
 +cond17.test \
 +cond18.test \
 +cond19.test \
 +cond20.test \
 +cond21.test \
 +cond22.test \
 +cond23.test \
 +cond24.test \
 +cond25.test \
 +cond26.test \
 +cond27.test \
 +cond28.test \
 +cond29.test \
 +cond30.test \
 +cond31.test \
 +cond32.test \
 +cond33.test \
 +cond34.test \
 +cond35.test \
 +cond36.test \
 +cond37.test \
 +cond38.test \
 +cond39.test \
 +cond40.test \
 +cond41.test \
 +cond42.test \
 +cond43.test \
 +cond44.test \
 +cond45.test \
 +cond46.test \
 +condd.test \
 +condhook.test \
 +condhook2.test \
 +condinc.test \
 +condinc2.test \
 +condlib.test \
 +condman2.test \
 +condman3.test \
 +configure.test \
 +confdeps.test \
 +conff.test \
 +conff2.test \
 +confh.test \
 +confh4.test \
 +confh5.test \
 +confh6.test \
 +confh7.test \
 +confh8.test \
 +confincl.test \
 +conflnk.test \
 +conflnk2.test \
 +conflnk3.test \
 +conflnk4.test \
 +confsub.test \
 +confvar.test \
 +confvar2.test \
 +copy.test \
 +cscope.test \
 +cscope2.test \
 +cscope3.test \
 +cxx.test \
 +cxx2.test \
 +cxxcpp.test \
 +cxxlibobj.test \
 +cxxlink.test \
 +cxxnoc.test \
 +cxxo.test \
 +cygnus-check-without-all.test \
 +cygnus-dependency-tracking.test \
 +cygnus-imply-foreign.test \
 +cygnus-no-dist.test \
 +cygnus-no-installinfo.test \
 +cygnus-requires-maintainer-mode.test \
 +cygwin32.test \
 +dash.test \
 +defun.test \
 +defun2.test \
 +dejagnu.test \
 +dejagnu2.test \
 +dejagnu3.test \
 +dejagnu4.test \
 +dejagnu5.test \
 +dejagnu6.test \
 +dejagnu7.test \
 +depacl2.test \
 +depcomp.test \
 +depcomp2.test \
 +depcomp3.test \
 +depcomp4.test \
 +depcomp5.test \
 +depcomp6.test \
 +depcomp7.test \
 +depcomp8a.test \
 +depcomp8b.test \
 +depdist.test \
 +depend.test \
 +depend2.test \
 +depend3.test \
 +depend4.test \
 +depend5.test \
 +depend6.test \
 +deprecated-acinit.test \
 +destdir.test \
 +dirlist.test \
 +dirlist2.test \
 +dirlist-abspath.test \
 +discover.test \
 +dist-auxfile-2.test \
 +dist-auxfile.test \
 +dist-included-parent-dir.test \
 +distcleancheck.test \
 +distcom2.test \
 +distcom3.test \
 +distcom4.test \
 +distcom5.test \
 +distdir.test \
 +distlinks.test \
 +distlinksbrk.test \
 +distname.test \
 +distcheck-configure-flags.test \
 +distcheck-configure-flags-am.test \
 +distcheck-configure-flags-subpkg.test \
 +distcheck-hook.test \
 +distcheck-hook2.test \
 +distcheck-missing-m4.test \
 +distcheck-outdated-m4.test \
 +distcheck-override-infodir.test \
 +distcheck-pr9579.test \
 +dmalloc.test \
 +doc-parsing-buglets-colneq-subst.test \
 +doc-parsing-buglets-tabs.test \
 +dollar.test \
 +dollarvar.test \
 +dollarvar2.test \
 +double.test \
 +dup2.test \
 +else.test \
 +empty.test \
 +empty2.test \
 +empty3.test \
 +empty4.test \
 +exdir.test \
 +exdir2.test \
 +exdir3.test \
 +exeext.test \
 +exeext2.test \
 +exeext3.test \
 +exeext4.test \
 +exsource.test \
 +ext.test \
 +ext2.test \
 +ext3.test \
 +extra.test \
 +extra2.test \
 +extra3.test \
 +extra4.test \
 +extra5.test \
 +extra6.test \
 +extra7.test \
 +extra8.test \
 +extra9.test \
 +extra10.test \
 +extra11.test \
 +extra12.test \
 +extra-programs-empty.test \
 +extradep.test \
 +extradep2.test \
 +f90only.test \
 +flavor.test \
 +flibs.test \
 +fn99.test \
 +fn99subdir.test \
 +fnoc.test \
 +fo.test \
 +forcemiss.test \
 +forcemiss2.test \
 +fort1.test \
 +fort2.test \
 +fort4.test \
 +fort5.test \
 +fonly.test \
 +fortdep.test \
 +gcj.test \
 +gcj2.test \
 +gcj3.test \
 +gcj4.test \
 +gcj5.test \
 +gcj6.test \
 +getopt.test \
 +gettext.test \
 +gettext2.test \
 +gettext3.test \
 +gnumake.test \
 +gnuwarn.test \
 +gnuwarn2.test \
 +gnits.test \
 +gnits2.test \
 +gnits3.test \
 +hdr-vars-defined-once.test \
 +header.test \
 +help.test \
 +help2.test \
 +help3.test \
 +help4.test \
 +help-depend.test \
 +help-depend2.test \
 +help-dmalloc.test \
 +help-init.test \
 +help-lispdir.test \
 +help-maintainer.test \
 +help-multilib.test \
 +help-python.test \
 +help-regex.test \
 +help-silent.test \
 +help-upc.test \
 +hfs.test \
 +implicit.test \
 +info.test \
 +init.test \
 +init2.test \
 +insh2.test \
 +install2.test \
 +installdir.test \
 +instsh.test \
 +instsh2.test \
 +instsh3.test \
 +instdat.test \
 +instdat2.test \
 +instdir.test \
 +instdir2.test \
 +instdir-java.test \
 +instdir-lisp.test \
 +instdir-ltlib.test \
 +instdir-prog.test \
 +instdir-python.test \
 +instdir-texi.test \
 +instexec.test \
 +instfail.test \
 +instfail-info.test \
 +instfail-java.test \
 +instfail-libtool.test \
 +insthook.test \
 +instman.test \
 +instman2.test \
 +instmany.test \
 +instmany-mans.test \
 +instmany-python.test \
 +interp.test \
 +interp2.test \
 +java.test \
 +java2.test \
 +java3.test \
 +javadir-undefined.test \
 +javaflags.test \
 +java-check.test \
 +java-clean.test \
 +java-compile-install.test \
 +java-compile-run-flat.test \
 +java-compile-run-nested.test \
 +java-empty-classpath.test \
 +javaprim.test \
 +javasubst.test \
 +java-extra.test \
 +java-mix.test \
 +java-no-duplicate.test \
 +java-nobase.test \
 +java-noinst.test \
 +java-rebuild.test \
 +java-sources.test \
 +java-uninstall.test \
 +ldadd.test \
 +ldflags.test \
 +lex.test \
 +lex2.test \
 +lex3.test \
 +lex4.test \
 +lex5.test \
 +lexcpp.test \
 +lexvpath.test \
 +lex-subobj-nodep.test \
 +lex-lib.test \
 +lex-lib-external.test \
 +lex-libobj.test \
 +lex-noyywrap.test \
 +lflags.test \
 +lflags2.test \
 +libexec.test \
 +libobj-basic.test \
 +libobj2.test \
 +libobj3.test \
 +libobj4.test \
 +libobj5.test \
 +libobj7.test \
 +libobj10.test \
 +libobj12.test \
 +libobj13.test \
 +libobj14.test \
 +libobj15a.test \
 +libobj15b.test \
 +libobj15c.test \
 +libobj16a.test \
 +libobj16b.test \
 +libobj17.test \
 +libobj18.test \
 +libobj19.test \
 +libobj20a.test \
 +libobj20b.test \
 +libobj20c.test \
 +library.test \
 +library2.test \
 +library3.test \
 +libtool.test \
 +libtool2.test \
 +libtool3.test \
 +libtool4.test \
 +libtool5.test \
 +libtool6.test \
 +libtool7.test \
 +libtool8.test \
 +libtool9.test \
 +libtoo10.test \
 +libtoo11.test \
 +license.test \
 +license2.test \
 +link_c_cxx.test \
 +link_dist.test \
 +link_f90_only.test \
 +link_fc.test \
 +link_fccxx.test \
 +link_fcxx.test \
 +link_f_only.test \
 +link_override.test \
 +lisp2.test \
 +lisp3.test \
 +lisp4.test \
 +lisp5.test \
 +lisp6.test \
 +lisp7.test \
 +lisp8.test \
 +lispdry.test \
 +listval.test \
 +location.test \
 +longline.test \
 +longlin2.test \
 +ltcond.test \
 +ltcond2.test \
 +ltconv.test \
 +ltdeps.test \
 +ltinit.test \
 +ltinstloc.test \
 +ltlibobjs.test \
 +ltlibsrc.test \
 +ltorder.test \
 +lzip.test \
 +lzma.test \
 +m4-inclusion.test \
 +maintclean.test \
 +maintclean-vpath.test \
 +make.test \
 +makej.test \
 +makej2.test \
 +maken.test \
 +maken2.test \
 +maken3.test \
 +maken4.test \
 +makevars.test \
 +man.test \
 +man2.test \
 +man3.test \
 +man4.test \
 +man5.test \
 +man6.test \
 +man7.test \
 +man8.test \
 +mdate.test \
 +mdate2.test \
 +mdate3.test \
 +mdate4.test \
 +mdate5.test \
 +mdate6.test \
 +missing.test \
 +missing2.test \
 +missing3.test \
 +missing4.test \
 +missing5.test \
 +missing6.test \
 +mkinstall.test \
 +mkinst2.test \
 +mkinst3.test \
 +mmode.test \
 +mmodely.test \
 +multlib.test \
 +no-extra-makefile-code.test \
 +no-outdir-option.test \
 +nobase.test \
 +nobase-libtool.test \
 +nobase-python.test \
 +nobase-nodist.test \
 +nodef.test \
 +nodef2.test \
 +nodep.test \
 +nodep2.test \
 +nodepcomp.test \
 +nodist.test \
 +nodist2.test \
 +nodist3.test \
 +nogzip.test \
 +nogzip2.test \
 +noinst.test \
 +noinstdir.test \
 +nolink.test \
 +nostdinc.test \
 +notrans.test \
 +number.test \
 +objc.test \
 +objc2.test \
 +obsolete.test \
 +oldvars.test \
 +order.test \
 +output.test \
 +output2.test \
 +output3.test \
 +output4.test \
 +output5.test \
 +output6.test \
 +output7.test \
 +output8.test \
 +output9.test \
 +output10.test \
 +output11.test \
 +output12.test \
 +output13.test \
 +output-order.test \
 +override-conditional-1.test \
 +override-conditional-2.test \
 +override-html.test \
 +override-suggest-local.test \
 +parallel-am.test \
 +parallel-am2.test \
 +parallel-am3.test \
 +parallel-tests.test \
 +parallel-tests2.test \
 +parallel-tests3.test \
 +parallel-tests5.test \
 +parallel-tests6.test \
 +parallel-tests8.test \
 +parallel-tests9.test \
 +parallel-tests10.test \
 +parallel-tests-exeext.test \
 +parallel-tests-suffix.test \
 +parallel-tests-suffix-prog.test \
 +parallel-tests-log-compiler-1.test \
 +parallel-tests-log-compiler-2.test \
 +parallel-tests-dry-run.test \
 +parallel-tests-fd-redirect.test \
 +parallel-tests-extra-programs.test \
 +parallel-tests-unreadable.test \
 +parallel-tests-subdir.test \
 +parallel-tests-interrupt.tap \
 +parallel-tests-reset-term.test \
 +parallel-tests-harderror.test \
 +parallel-tests-log-override-1.test \
 +parallel-tests-log-override-2.test \
 +parallel-tests-log-override-recheck.test \
 +parallel-tests-log-compiler-example.test \
 +parallel-tests-cmdline-override.test \
 +parallel-tests-fork-bomb.test \
 +parallel-tests-empty-testlogs.test \
 +parallel-tests-driver-install.test \
 +parallel-tests-no-color-in-log.test \
 +parallel-tests-no-spurious-summary.test \
 +parallel-tests-exit-statuses.test \
 +parallel-tests-console-output.test \
 +parallel-tests-once.test \
 +tests-environment.test \
 +am-tests-environment.test \
 +tests-environment-backcompat.test \
 +testsuite-summary-color.test \
 +testsuite-summary-count.test \
 +testsuite-summary-count-many.test \
 +testsuite-summary-reference-log.test \
 +test-driver-custom-no-extra-driver.test \
 +test-driver-custom.test \
 +test-driver-custom-xfail-tests.test \
 +test-driver-custom-multitest.test \
 +test-driver-custom-multitest-recheck.test \
 +test-driver-custom-multitest-recheck2.test \
 +test-driver-custom-html.test \
 +test-driver-custom-no-html.test \
 +test-driver-create-log-dir.test \
 +test-driver-strip-vpath.test \
 +test-driver-trs-suffix-registered.test \
 +test-driver-fail.test \
 +test-driver-is-distributed.test \
 +test-extensions.test \
 +test-extensions-cond.test \
 +test-harness-vpath-rewrite.test \
 +test-log.test \
 +test-logs-repeated.test \
 +test-metadata-global-log.test \
 +test-metadata-global-result.test \
 +test-metadata-recheck.test \
 +test-metadata-results.test \
 +test-missing.test \
 +test-missing2.test \
 +test-trs-basic.test \
 +test-trs-recover.test \
 +test-trs-recover2.test \
 +parse.test \
 +percent.test \
 +percent2.test \
 +phony.test \
 +pluseq.test \
 +pluseq2.test \
 +pluseq3.test \
 +pluseq4.test \
 +pluseq5.test \
 +pluseq6.test \
 +pluseq7.test \
 +pluseq8.test \
 +pluseq9.test \
 +pluseq10.test \
 +pluseq11.test \
 +posixsubst-data.test \
 +posixsubst-extradist.test \
 +posixsubst-ldadd.test \
 +posixsubst-libraries.test \
 +posixsubst-ltlibraries.test \
 +posixsubst-programs.test \
 +posixsubst-scripts.test \
 +posixsubst-sources.test \
 +posixsubst-tests.test \
 +postproc.test \
 +ppf77.test \
 +pr2.test \
 +pr9.test \
 +pr72.test \
 +pr87.test \
 +pr204.test \
 +pr211.test \
 +pr220.test \
 +pr224.test \
 +pr229.test \
 +pr243.test \
 +pr266.test \
 +pr279.test \
 +pr279-2.test \
 +pr287.test \
 +pr300-lib.test \
 +pr300-ltlib.test \
 +pr300-prog.test \
 +pr307.test \
 +pr401.test \
 +pr401b.test \
 +pr401c.test \
 +prefix.test \
 +primary.test \
 +primary2.test \
 +primary3.test \
 +primary-prefix-invalid-couples.tap \
 +primary-prefix-valid-couples.test \
 +primary-prefix-couples-force-valid.test \
 +primary-prefix-couples-documented-valid.test \
 +proginst.test \
 +programs-primary-rewritten.test \
 +py-compile-basedir.test \
 +py-compile-basic.test \
 +py-compile-basic2.test \
 +py-compile-destdir.test \
 +py-compile-env.test \
 +py-compile-option-terminate.test \
 +py-compile-usage.test \
 +python.test \
 +python2.test \
 +python3.test \
 +python4.test \
 +python5.test \
 +python5b.test \
 +python6.test \
 +python7.test \
 +python8.test \
 +python9.test \
 +python10.test \
 +python11.test \
 +python12.test \
 +python-dist.test \
 +python-vars.test \
 +python-virtualenv.test \
 +recurs.test \
 +recurs2.test \
 +remake.test \
 +remake1a.test \
 +remake2.test \
 +remake3.test \
 +remake3a.test \
 +remake4.test \
 +remake5.test \
 +remake6.test \
 +remake7.test \
 +remake8a.test \
 +remake8b.test \
 +remake9a.test \
 +remake9b.test \
 +remake9c.test \
 +remake9d.test \
 +remake10a.test \
 +remake10b.test \
 +remake10c.test \
 +remake11.test \
 +remake12.test \
 +remake-all-1.test \
 +remake-all-2.test \
 +remake-subdir-from-subdir.test \
 +remake-subdir-gnu.test \
 +remake-subdir.test \
 +remake-subdir2.test \
 +remake-subdir-long-time.test \
 +remake-gnulib-add-acsubst.test \
 +remake-gnulib-add-header.test \
 +remake-gnulib-remove-header.test \
 +remake-moved-m4-file.test \
 +remake-deleted-m4-file.test \
 +remake-renamed-m4-file.test \
 +remake-renamed-m4-macro-and-file.test \
 +remake-renamed-m4-macro.test \
 +pr8365-remake-timing.test \
 +regex.test \
 +regex-obsolete.test \
 +req.test \
 +reqd.test \
 +reqd2.test \
 +repeated-options.test \
 +rulepat.test \
 +self-check-cleanup.tap \
 +self-check-dir.tap \
 +self-check-env-sanitize.tap \
 +self-check-exit.tap \
 +self-check-explicit-skips.test \
 +self-check-is_newest.tap \
 +self-check-me.tap \
 +self-check-reexec.tap \
 +self-check-report.test \
 +self-check-sanity.test \
 +self-check-seq.tap \
 +self-check-is-blocked-signal.tap \
 +self-check-tap.test \
 +self-check-unindent.tap \
 +sanity.test \
 +scripts.test \
 +seenc.test \
 +silent.test \
 +silent2.test \
 +silent3.test \
 +silent4.test \
 +silent6.test \
 +silent7.test \
 +silent8.test \
 +silent9.test \
 +silentcxx.test \
 +silentcxx-gcc.test \
 +silentf77.test \
 +silentf90.test \
 +silent-many-gcc.test \
 +silent-many-generic.test \
 +silent-lex-gcc.test \
 +silent-lex-generic.test \
 +silent-yacc-gcc.test \
 +silent-yacc-generic.test \
 +silent-nowarn.test \
 +silent-configsite.test \
 +srcsub.test \
 +srcsub2.test \
 +space.test \
 +specflg.test \
 +specflg2.test \
 +specflg3.test \
 +specflg6.test \
 +specflg7.test \
 +specflg8.test \
 +specflg9.test \
 +specflg10.test \
 +specflg-dummy.test \
 +spell.test \
 +spell2.test \
 +spell3.test \
 +spelling.test \
 +spy.test \
 +stdinc.test \
 +stamph2.test \
 +stdlib.test \
 +stdlib2.test \
 +strictness-override.test \
 +strictness-precedence.test \
 +strip.test \
 +strip2.test \
 +strip3.test \
 +subdir.test \
 +subdir2.test \
 +subdir3.test \
 +subdir4.test \
 +subdir5.test \
 +subdir6.test \
 +subdir7.test \
 +subdir8.test \
 +subdir9.test \
 +subdir10.test \
 +subdirbuiltsources.test \
 +subcond.test \
 +subcond2.test \
 +subcond3.test \
 +subobj.test \
 +subobj2.test \
 +subobj4.test \
 +subobj5.test \
 +subobj6.test \
 +subobj7.test \
 +subobj8.test \
 +subobj9.test \
 +subobj10.test \
 +subobj11a.test \
 +subobj11b.test \
 +subobj11c.test \
 +subobjname.test \
 +subpkg.test \
 +subpkg2.test \
 +subpkg3.test \
 +subpkg4.test \
 +subst.test \
 +subst3.test \
 +subst4.test \
 +subst5.test \
 +subst-no-trailing-empty-line.test \
 +substref.test \
 +substre2.test \
 +substtarg.test \
 +suffix.test \
 +suffix2.test \
 +suffix3.tap \
 +suffix4.test \
 +suffix5.test \
 +suffix6.test \
 +suffix6b.test \
 +suffix6c.test \
 +suffix7.test \
 +suffix8.tap \
 +suffix9.test \
 +suffix10.tap \
 +suffix11.tap \
 +suffix12.test \
 +suffix13.test \
 +suffix-chain.tap \
 +symlink.test \
 +symlink2.test \
 +syntax.test \
 +tap-ambiguous-directive.test \
 +tap-autonumber.test \
 +tap-bailout.test \
 +tap-bailout-and-logging.test \
 +tap-bailout-suppress-badexit.test \
 +tap-bailout-suppress-later-diagnostic.test \
 +tap-bailout-suppress-later-errors.test \
 +tap-color.test \
 +tap-deps.test \
 +tap-diagnostic.test \
 +tap-empty-diagnostic.test \
 +tap-empty.test \
 +tap-escape-directive.test \
 +tap-escape-directive-2.test \
 +tap-exit.test \
 +tap-signal.tap \
 +tap-fancy.test \
 +tap-fancy2.test \
 +tap-global-log.test \
 +tap-global-result.test \
 +tap-html.test \
 +tap-log.test \
 +tap-msg0-result.test \
 +tap-msg0-directive.test \
 +tap-msg0-planskip.test \
 +tap-msg0-bailout.test \
 +tap-msg0-misc.test \
 +tap-merge-stdout-stderr.test \
 +tap-no-merge-stdout-stderr.test \
 +tap-no-disable-hard-error.test \
 +tap-no-spurious-summary.test \
 +tap-no-spurious-numbers.test \
 +tap-no-spurious.test \
 +tap-not-ok-skip.test \
 +tap-number-wordboundary.test \
 +tap-numeric-description.test \
 +tap-negative-numbers.test \
 +tap-numbers-leading-zero.test \
 +tap-out-of-order.test \
 +tap-passthrough.test \
 +tap-passthrough-exit.test \
 +tap-plan.test \
 +tap-plan-corner.test \
 +tap-plan-errors.test \
 +tap-plan-middle.test \
 +tap-plan-whitespace.test \
 +tap-plan-leading-zero.test \
 +tap-plan-malformed.test \
 +tap-missing-plan-and-bad-exit.test \
 +tap-planskip.test \
 +tap-planskip-late.test \
 +tap-planskip-and-logging.test \
 +tap-planskip-unplanned.test \
 +tap-planskip-unplanned-corner.test \
 +tap-planskip-case-insensitive.test \
 +tap-planskip-whitespace.test \
 +tap-planskip-badexit.test \
 +tap-planskip-bailout.test \
 +tap-planskip-later-errors.test \
 +tap-realtime.test \
 +tap-test-number-0.test \
 +tap-recheck-logs.test \
 +tap-result-comment.test \
 +tap-todo-skip-together.test \
 +tap-todo-skip-whitespace.test \
 +tap-todo-skip.test \
 +tap-unplanned.test \
 +tap-whitespace-normalization.test \
 +tap-with-and-without-number.test \
 +tap-xfail-tests.test \
 +tap-common-setup.test \
 +tap-bad-prog.tap \
 +tap-basic.test \
 +tap-diagnostic-custom.test \
 +tap-driver-stderr.test \
 +tap-doc.test \
 +tap-doc2.test \
 +tap-more.test \
 +tap-more2.test \
 +tap-recheck.test \
 +tap-summary.test \
 +tap-summary-color.test \
 +tags.test \
 +tags2.test \
 +tagsub.test \
 +tar.test \
 +tar2.test \
 +tar3.test \
 +target-cflags.test \
 +targetclash.test \
 +tests-environment-fd-redirect.test \
 +tests-environment-and-log-compiler.test \
 +txinfo.test \
 +txinfo2.test \
 +txinfo3.test \
 +txinfo4.test \
 +txinfo5.test \
 +txinfo5b.test \
 +txinfo6.test \
 +txinfo7.test \
 +txinfo8.test \
 +txinfo9.test \
 +txinfo10.test \
 +txinfo13.test \
 +txinfo16.test \
 +txinfo17.test \
 +txinfo18.test \
 +txinfo19.test \
 +txinfo20.test \
 +txinfo21.test \
 +txinfo22.test \
 +txinfo23.test \
 +txinfo24.test \
 +txinfo25.test \
 +txinfo26.test \
 +txinfo27.test \
 +txinfo28.test \
 +txinfo29.test \
 +txinfo30.test \
 +txinfo31.test \
 +txinfo32.test \
 +txinfo33.test \
 +txinfo-unrecognized-extension.test \
 +transform.test \
 +transform2.test \
 +uninstall-fail.test \
 +uninstall-pr9578.test \
 +unused.test \
 +upc.test \
 +upc2.test \
 +upc3.test \
 +vala.test \
 +vala1.test \
 +vala2.test \
 +vala3.test \
 +vala4.test \
 +vala5.test \
 +vala-vpath.test \
 +vars.test \
 +vars3.test \
 +vartar.test \
 +vartypos.test \
 +vartypo2.test \
 +version.test \
 +version2.test \
 +version3.test \
 +version4.test \
 +version6.test \
 +version7.test \
 +version8.test \
 +vpath.test \
 +vtexi.test \
 +vtexi2.test \
 +vtexi3.test \
 +vtexi4.test \
 +warnings-override.test \
 +warnings-precedence.test \
 +warnings-strictness-interactions.test \
 +warnings-unknown.test \
 +warnopts.test \
 +warnings-win-over-strictness.test \
 +warning-groups-win-over-strictness.test \
 +werror.test \
 +werror2.test \
 +werror3.test \
 +werror4.test \
 +whoami.test \
 +xsource.test \
 +xz.test \
 +yacc-basic.test \
 +yacc-d-basic.test \
 +yacc-clean.test \
 +yacc.test \
 +yacc2.test \
 +yacc4.test \
 +yacc5.test \
 +yacc6.test \
 +yacc7.test \
 +yacc8.test \
 +yaccdry.test \
 +yacc-dist-nobuild.test \
 +yacc-nodist.test \
 +yaccpp.test \
 +yaccvpath.test \
 +yacc-d-vpath.test \
 +yacc-dist-nobuild-subdir.test \
 +yflags.test \
 +yflags2.test \
 +yflags-cmdline-override.test \
 +yflags-conditional.test \
 +yflags-d-false-positives.test \
 +yflags-force-override.test \
 +yflags-force-conditional.test \
 +yflags-var-expand.test
 +
 +print-list-of-tests:
 +      @echo $(handwritten_TESTS)
 +.PHONY: print-list-of-tests
index 0000000,d5dbe38..3e34f47
mode 000000,100755..100755
--- /dev/null
@@@ -1,0 -1,89 +1,89 @@@
 -parallel_tests=yes
+ #! /bin/sh
+ # Copyright (C) 2011 Free Software Foundation, Inc.
+ #
+ # This program is free software; you can redistribute it and/or modify
+ # it under the terms of the GNU General Public License as published by
+ # the Free Software Foundation; either version 2, or (at your option)
+ # any later version.
+ #
+ # This program is distributed in the hope that it will be useful,
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ # GNU General Public License for more details.
+ #
+ # You should have received a copy of the GNU General Public License
+ # along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ # parallel-tests:
+ #  - LOG_DRIVER variables can be AC_SUBST'd
++am_parallel_tests=yes
+ . ./defs || Exit 1
+ mkdir test-drivers
+ cp "$testsrcdir"/trivial-test-driver test-drivers/triv \
+   || fatal_ "failed to fetch auxiliary script trivial-test-driver"
+ # FIXME: better support for installcheck ...
+ cp "$top_testsrcdir"/lib/test-driver test-drivers/dflt \
+   || fatal_ "failed to fetch auxiliary script test-driver"
+ cat >> configure.in <<'END'
+ AC_SUBST([LOG_DRIVER],      ['${SHELL} test-drivers/triv'])
+ AC_SUBST([TEST_LOG_DRIVER], ['${SHELL} test-drivers/dflt'])
+ AC_SUBST([SH_LOG_DRIVER],   ['${my_drv}'])
+ AC_OUTPUT
+ END
+ cat > Makefile.am <<'END'
+ TEST_EXTENSIONS = .test .sh
+ my_drv = $(SHELL) test-drivers/dflt
+ TESTS = foo bar.test baz.sh
+ XFAIL_TESTS = baz.sh
+ .PHONY: check-autodefs
+ check-autodefs:
+ ### For debugging.
+       @echo      LOG_DRIVER = $(LOG_DRIVER)
+       @echo TEST_LOG_DRIVER = $(TEST_LOG_DRIVER)
+       @echo   SH_LOG_DRIVER = $(SH_LOG_DRIVER)
+ ### Checks here.
+       @echo ' ' $(LOG_DRIVER)      ' ' | grep ' test-drivers/triv '
+       @echo ' ' $(TEST_LOG_DRIVER) ' ' | grep ' test-drivers/dflt '
+       @echo ' ' $(SH_LOG_DRIVER)   ' ' | grep ' test-drivers/dflt '
+ END
+ $ACLOCAL
+ $AUTOMAKE
+ $AUTOCONF
+ ./configure
+ cat > foo <<'END'
+ #!/bin/sh
+ echo "PASS: from $0"
+ exit 1 # Exit status should be ignored by the trivial-test-driver.
+ END
+ cat > bar.test <<'END'
+ #!/bin/sh
+ exit 77
+ END
+ cat > baz.sh <<'END'
+ #!/bin/sh
+ exit 1
+ END
+ chmod a+x foo bar.test baz.sh
+ $MAKE check-autodefs
+ st=0; $MAKE check >stdout || st=$?
+ cat stdout
+ cat test-suite.log
+ cat foo.log
+ cat bar.log
+ cat baz.log
+ test $st -eq 0 || Exit 1
+ count_test_results total=3 pass=1 fail=0 skip=1 xfail=1 xpass=0 error=0
+ :
index 0000000,9d067c9..006a9e2
mode 000000,100755..100755
--- /dev/null
@@@ -1,0 -1,117 +1,117 @@@
 -#   - Automake can correctly hande conditionals contents for the
+ #! /bin/sh
+ # Copyright (C) 2011 Free Software Foundation, Inc.
+ #
+ # This program is free software; you can redistribute it and/or modify
+ # it under the terms of the GNU General Public License as published by
+ # the Free Software Foundation; either version 2, or (at your option)
+ # any later version.
+ #
+ # This program is distributed in the hope that it will be useful,
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ # GNU General Public License for more details.
+ #
+ # You should have received a copy of the GNU General Public License
+ # along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ # parallel-tests:
 -parallel_tests=yes
++#   - Automake can correctly handle conditionals contents for the
+ #     LOG_DRIVER variables.
++am_parallel_tests=yes
+ . ./defs || Exit 1
+ cp "$testsrcdir"/trivial-test-driver . \
+   || fatal_ "failed to fetch auxiliary script trivial-test-driver"
+ # FIXME: better support for installcheck ...
+ cp "$top_testsrcdir"/lib/tap-driver.pl . \
+   || fatal_ "failed to fetch auxiliary script tap-driver.pl"
+ cat >> configure.in << END
+ AM_CONDITIONAL([COND1], [:])
+ AM_CONDITIONAL([COND2], [false])
+ AM_CONDITIONAL([COND3], [false])
+ AC_SUBST([PERL], ['$PERL'])
+ AC_SUBST([my_LOG_DRIVER], ['\${SHELL} \${top_srcdir}/trivial-test-driver'])
+ AM_SUBST_NOTMAKE([my_LOG_DRIVER])
+ AC_OUTPUT
+ END
+ $ACLOCAL
+ $AUTOCONF
+ cat > Makefile.am << 'END'
+ TESTS = foo bar.test baz.sh
+ EXTRA_DIST = $(TESTS) tap-driver.pl trivial-test-driver
+ TEST_EXTENSIONS = .test .sh
+ LOG_DRIVER =
+ SH_LOG_DRIVER = $(tap_rulez)
+ if COND1
+ LOG_DRIVER += @my_LOG_DRIVER@
+ if COND2
+ tap_rulez = false
+ else !COND2
+ tap_rulez = $(PERL) $(srcdir)/tap-driver.pl
+ endif !COND2
+ endif COND1
+ END
+ cat > foo <<'END'
+ #!/bin/sh
+ echo "PASS: from $0"
+ echo "SKIP: from $0"
+ exit 1 # Exit status should be ignored by the trivial-test-driver.
+ END
+ cat > bar.test <<'END'
+ #!/bin/sh
+ exit 0
+ END
+ cat > baz.sh <<'END'
+ #!/bin/sh
+ echo 1..3
+ echo 'ok 1'
+ echo 'not ok 2 # TODO'
+ echo 'not ok 3 # TODO'
+ END
+ chmod a+x foo bar.test baz.sh
+ $AUTOMAKE -a
+ test -f test-driver
+ grep DRIVER Makefile.in || Exit 99 # For debugging.
+ grep '^my_LOG_DRIVER *=' Makefile.in \
+   && fatal_ 'unexpected $(my_LOG_DRIVER) in Makefile.in'
+ grep '^TEST_LOG_DRIVER =.*\$(SHELL).*/test-driver' Makefile.in
+ ./configure
+ do_count ()
+ {
+   count_test_results total=6 pass=3 fail=0 skip=1 xfail=2 xpass=0 error=0
+   grep '^PASS: foo, testcase 1 *$' stdout
+   grep '^SKIP: foo, testcase 2 *$' stdout
+   grep '^PASS: bar\.test *$' stdout
+   $EGREP 'PASS: baz\.sh 1( |$)' stdout
+   $EGREP 'XFAIL: baz\.sh 2( |$)' stdout
+   $EGREP 'XFAIL: baz\.sh 3( |$)' stdout
+ }
+ st=0; $MAKE check >stdout || st=$?
+ cat stdout
+ cat test-suite.log
+ cat foo.log
+ cat bar.log
+ cat baz.log
+ test $st -eq 0 || Exit 1
+ do_count
+ $MAKE distcheck >stdout || { cat stdout; Exit 1; }
+ cat stdout
+ do_count
+ :
Simple merge