automake-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] {testsuite-work} installcheck: support it in our own testsui


From: Stefano Lattarini
Subject: Re: [PATCH] {testsuite-work} installcheck: support it in our own testsuite
Date: Thu, 8 Sep 2011 22:42:50 +0200
User-agent: KMail/1.13.7 (Linux/2.6.30-2-686; KDE/4.6.5; i686; ; )

On Monday 05 September 2011, Stefano Lattarini wrote:
> I will push this in a couple of days; reviews are welcome.
>
OK, I've rebased the patch on latest testsuite-work, and used
the improved granularity in `acdir' overriding (see commit
`v1.11-441-g30f99cb' on maint) to polish and fix some corner
cases.   Both "make check" and "make installcheck" seems to
pass.

Attached is the patch I've pushed to testsuite-work.

Regards,
  Stefano
From 8ab0c9494312a1d33c5a47c5cdcc6831ebab6dfe Mon Sep 17 00:00:00 2001
Message-Id: <address@hidden>
From: Stefano Lattarini <address@hidden>
Date: Sat, 3 Sep 2011 21:03:36 +0200
Subject: [FYI] {testsuite-work} installcheck: support it in our own testsuite

* NEWS: Update.
* tests/defs-static.in ($am_running_installcheck): New variable.
Initialize it to a default of "no", and sanity-check its value.
($am_datadir, $am_docdir, $am_automake_acdir, $am_system_acdir,
$am_bindir, $am_scriptdir, $am_pkgvdir): New variables,
initialized from AC_SUBST'ed values which are adaptively chosen
depending on whether the testsuite is running in "simple" mode
or in "installcheck" mode.
($MISSING): Remove, it's not really required by the testsuite.
($PATH): Update using `$am_bindir', not `$testbuilddir'.
* Makefile.am (installcheck-local): New target.
* lib/Automake/tests/Makefile.am (installcheck-local): New target.
(AM_TESTS_ENVIRONMENT, AM_PL_LOG_FLAGS): Adaptively choose the
`-I' flags for perl based on whether the tests are being run by
"make check" or "make installcheck".
* tests/Makefile.am (installcheck-local): New target.
(defs-static): Generate it at make time, not at configure time,
in order to correctly resolve all the indirections in the
AC_SUBST'd variables; done with the help of ...
(do_subst): ... this new macro.
(EXTRA_DIST): Explicitly distribute `defs-static.in'.
(CLEANFILES): Remove `defs-static'.
* configure.ac (AC_CONFIG_FILES): Remove `tests/defs-static'.
(AC_SUBST): Substitute also `automake_acdir', `system_acdir',
`scriptdir' and `amdir' to proper values.
* lib/Makefile.am (scriptdir):  Don't explicitly define anymore.
* lib/am/Makefile.am (amdir): Likewise.
* m4/acdir/dirlist: Remove, it's not needed anymore.  Instead
use ...
* m4/acdir/.placeholder: ... this file.
* m4/Makefile.am (EXTRA_DIST): Update.
(automake_acdir, system_acdir): Don't explicitly define anymore.
* tests/aclocal-print-acdir.test: Use new `$am_...dir' variables,
instead of hard-coding values with $testsrcdir and $testbuilddir,
to test more faithfully under "make installcheck".
* tests/amhello-binpkg.test: Likewise.
* tests/amhello-cflags.test: Likewise.
* tests/amhello-cross-compile.test: Likewise.
* tests/ansi2knr-no-more.test: Likewise.
* tests/autodist-stamp-vti.test: Likewise.
* tests/auxdir.test: Likewise.
* tests/check2.test: Likewise.
* tests/copy.test: Likewise.
* tests/multlib.test: Likewise.
* tests/obsolete.test: Likewise.
* tests/parallel-tests-interrupt.test: Likewise.
* tests/repeated-options.test: Likewise.
* tests/suffix5.test: Likewise.
* tests/tap-doc2.test: Likewise.
* tests/txinfo22.test: Likewise.
* tests/vtexi3.test: Likewise.
* tests/defs: Likewise.  Also, print the values of `$using_tap'
and `$am_running_installcheck', to simplify debugging, and do
some related code movings and tweakings.
* tests/aclocal3.test: Update to avoid possible spurious failures
when running under "make installcheck".
* tests/warnings-unknown.test: Likewise.
* tests/location.test: Likewise, and improve debugging input since
we are at it.
* tests/acloca10.test: Adapt and tweak to work also during a
"make installcheck", and not to require a pre-populated `dirlist'
file.
* tests/acloca18.test: Likewise.
* tests/dirlist2.test: Likewise.
* tests/dirlist.test: Likewise, and remove an obsolete comment.
* tests/README: Update.
* tests/dirlist-abspath.test: New test.
* tests/list-of-tests.mk: Update.
---
 ChangeLog                          |   72 ++++++++++++++++++++++++++++++++++
 Makefile.am                        |    4 ++
 Makefile.in                        |   19 +++++++--
 NEWS                               |    2 +
 configure                          |   16 ++++++-
 configure.ac                       |    6 ++-
 doc/Makefile.in                    |    4 ++
 lib/Automake/Makefile.in           |    4 ++
 lib/Automake/tests/Makefile.am     |   15 ++++++-
 lib/Automake/tests/Makefile.in     |   30 ++++++++++----
 lib/Makefile.am                    |    1 -
 lib/Makefile.in                    |    5 ++-
 lib/am/Makefile.am                 |    2 -
 lib/am/Makefile.in                 |    5 ++-
 m4/Makefile.am                     |    5 +--
 m4/Makefile.in                     |    8 ++-
 m4/acdir/.placeholder              |    2 +
 m4/acdir/dirlist                   |    4 --
 tests/Makefile.am                  |   47 ++++++++++++++++++++++
 tests/Makefile.in                  |   75 ++++++++++++++++++++++++++++++------
 tests/README                       |    7 +++
 tests/acloca10.test                |   12 ++++-
 tests/acloca18.test                |    6 ++-
 tests/aclocal-print-acdir.test     |    4 +-
 tests/aclocal3.test                |    8 +++-
 tests/amhello-binpkg.test          |    2 +-
 tests/amhello-cflags.test          |    2 +-
 tests/amhello-cross-compile.test   |    4 +-
 tests/ansi2knr-no-more.test        |    2 +-
 tests/autodist-stamp-vti.test      |    2 +-
 tests/auxdir.test                  |    2 +-
 tests/check2.test                  |    2 +-
 tests/copy.test                    |    4 +-
 tests/defs                         |   40 +++++++++++--------
 tests/defs-static.in               |   37 ++++++++++++++++--
 tests/depmod.tap                   |    2 +-
 tests/dirlist-abspath.test         |   42 ++++++++++++++++++++
 tests/dirlist.test                 |    6 +-
 tests/dirlist2.test                |    9 +++-
 tests/list-of-tests.mk             |    1 +
 tests/location.test                |   27 ++++++++++--
 tests/multlib.test                 |    3 +-
 tests/obsolete.test                |    2 +-
 tests/parallel-tests-interrupt.tap |    2 +-
 tests/repeated-options.test        |    2 +-
 tests/suffix5.test                 |    2 +-
 tests/tap-doc2.test                |    2 +-
 tests/txinfo22.test                |    2 +-
 tests/vtexi3.test                  |    2 +-
 tests/warnings-unknown.test        |    6 ++-
 50 files changed, 460 insertions(+), 110 deletions(-)
 create mode 100644 m4/acdir/.placeholder
 delete mode 100644 m4/acdir/dirlist
 create mode 100755 tests/dirlist-abspath.test

diff --git a/ChangeLog b/ChangeLog
index 1e287a2..757e1e3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,77 @@
 2011-09-08  Stefano Lattarini  <address@hidden>
 
+       installcheck: support it in our own testsuite
+       * NEWS: Update.
+       * tests/defs-static.in ($am_running_installcheck): New variable.
+       Initialize it to a default of "no", and sanity-check its value.
+       ($am_datadir, $am_docdir, $am_automake_acdir, $am_system_acdir,
+       $am_bindir, $am_scriptdir, $am_pkgvdir): New variables,
+       initialized from AC_SUBST'ed values which are adaptively chosen
+       depending on whether the testsuite is running in "simple" mode
+       or in "installcheck" mode.
+       ($MISSING): Remove, it's not really required by the testsuite.
+       ($PATH): Update using `$am_bindir', not `$testbuilddir'.
+       * Makefile.am (installcheck-local): New target.
+       * lib/Automake/tests/Makefile.am (installcheck-local): New target.
+       (AM_TESTS_ENVIRONMENT, AM_PL_LOG_FLAGS): Adaptively choose the
+       `-I' flags for perl based on whether the tests are being run by
+       "make check" or "make installcheck".
+       * tests/Makefile.am (installcheck-local): New target.
+       (defs-static): Generate it at make time, not at configure time,
+       in order to correctly resolve all the indirections in the
+       AC_SUBST'd variables; done with the help of ...
+       (do_subst): ... this new macro.
+       (EXTRA_DIST): Explicitly distribute `defs-static.in'.
+       (CLEANFILES): Remove `defs-static'.
+       * configure.ac (AC_CONFIG_FILES): Remove `tests/defs-static'.
+       (AC_SUBST): Substitute also `automake_acdir', `system_acdir',
+       `scriptdir' and `amdir' to proper values.
+       * lib/Makefile.am (scriptdir):  Don't explicitly define anymore.
+       * lib/am/Makefile.am (amdir): Likewise.
+       * m4/acdir/dirlist: Remove, it's not needed anymore.  Instead
+       use ...
+       * m4/acdir/.placeholder: ... this file.
+       * m4/Makefile.am (EXTRA_DIST): Update.
+       (automake_acdir, system_acdir): Don't explicitly define anymore.
+       * tests/aclocal-print-acdir.test: Use new `$am_...dir' variables,
+       instead of hard-coding values with $testsrcdir and $testbuilddir,
+       to test more faithfully under "make installcheck".
+       * tests/amhello-binpkg.test: Likewise.
+       * tests/amhello-cflags.test: Likewise.
+       * tests/amhello-cross-compile.test: Likewise.
+       * tests/ansi2knr-no-more.test: Likewise.
+       * tests/autodist-stamp-vti.test: Likewise.
+       * tests/auxdir.test: Likewise.
+       * tests/check2.test: Likewise.
+       * tests/copy.test: Likewise.
+       * tests/multlib.test: Likewise.
+       * tests/obsolete.test: Likewise.
+       * tests/parallel-tests-interrupt.test: Likewise.
+       * tests/repeated-options.test: Likewise.
+       * tests/suffix5.test: Likewise.
+       * tests/tap-doc2.test: Likewise.
+       * tests/txinfo22.test: Likewise.
+       * tests/vtexi3.test: Likewise.
+       * tests/defs: Likewise.  Also, print the values of `$using_tap'
+       and `$am_running_installcheck', to simplify debugging, and do
+       some related code movings and tweakings.
+       * tests/aclocal3.test: Update to avoid possible spurious failures
+       when running under "make installcheck".
+       * tests/warnings-unknown.test: Likewise.
+       * tests/location.test: Likewise, and improve debugging input since
+       we are at it.
+       * tests/acloca10.test: Adapt and tweak to work also during a
+       "make installcheck", and not to require a pre-populated `dirlist'
+       file.
+       * tests/acloca18.test: Likewise.
+       * tests/dirlist2.test: Likewise.
+       * tests/dirlist.test: Likewise, and remove an obsolete comment.
+       * tests/README: Update.
+       * tests/dirlist-abspath.test: New test.
+       * tests/list-of-tests.mk: Update.
+
+2011-09-08  Stefano Lattarini  <address@hidden>
+
        maintcheck: fix spurious failures
        * tests/gen-testsuite-part (write_wrapper_script): More uses of
        creative quoting in the generated tests, to avoid triggering
diff --git a/Makefile.am b/Makefile.am
index 10d2de2..6c8eff4 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -103,6 +103,10 @@ automake aclocal: Makefile
 INSTALL: lib/INSTALL
        $(AM_V_GEN)cp $(srcdir)/lib/INSTALL $@
 
+# Run the testsuite with the installed aclocal and automake.
+installcheck-local:
+       am_running_installcheck=yes $(MAKE) $(AM_MAKEFLAGS) check
+
 ## recheck: convenience proxy target for the test suites.
 .PHONY: recheck
 recheck:
diff --git a/Makefile.in b/Makefile.in
index 1c8f2f0..07f9808 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -212,6 +212,8 @@ am_AUTOUPDATE = @am_AUTOUPDATE@
 am__leading_dot = @am__leading_dot@
 am__tar = @am__tar@
 am__untar = @am__untar@
+amdir = @amdir@
+automake_acdir = @automake_acdir@
 bindir = @bindir@
 build = @build@
 build_alias = @build_alias@
@@ -246,10 +248,12 @@ prefix = @prefix@
 program_transform_name = @program_transform_name@
 psdir = @psdir@
 sbindir = @sbindir@
+scriptdir = @scriptdir@
 sh_errexit_works = @sh_errexit_works@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
 sysconfdir = @sysconfdir@
+system_acdir = @system_acdir@
 target_alias = @target_alias@
 top_build_prefix = @top_build_prefix@
 top_builddir = @top_builddir@
@@ -914,7 +918,7 @@ install-ps: install-ps-recursive
 
 install-ps-am:
 
-installcheck-am:
+installcheck-am: installcheck-local
 
 maintainer-clean: maintainer-clean-recursive
        -rm -f $(am__CONFIG_DISTCLEAN_FILES)
@@ -954,10 +958,11 @@ uninstall-am: uninstall-binSCRIPTS
        install-exec-am install-exec-hook install-html install-html-am \
        install-info install-info-am install-man install-pdf \
        install-pdf-am install-ps install-ps-am install-strip \
-       installcheck installcheck-am installdirs installdirs-am \
-       maintainer-clean maintainer-clean-generic mostlyclean \
-       mostlyclean-generic pdf pdf-am ps ps-am tags tags-recursive \
-       uninstall uninstall-am uninstall-binSCRIPTS uninstall-hook
+       installcheck installcheck-am installcheck-local installdirs \
+       installdirs-am maintainer-clean maintainer-clean-generic \
+       mostlyclean mostlyclean-generic pdf pdf-am ps ps-am tags \
+       tags-recursive uninstall uninstall-am uninstall-binSCRIPTS \
+       uninstall-hook
 
 
 install-exec-hook:
@@ -989,6 +994,10 @@ automake aclocal: Makefile
 INSTALL: lib/INSTALL
        $(AM_V_GEN)cp $(srcdir)/lib/INSTALL $@
 
+# Run the testsuite with the installed aclocal and automake.
+installcheck-local:
+       am_running_installcheck=yes $(MAKE) $(AM_MAKEFLAGS) check
+
 .PHONY: recheck
 recheck:
        @failcom='exit 1'; \
diff --git a/NEWS b/NEWS
index d885b54..fa0a358 100644
--- a/NEWS
+++ b/NEWS
@@ -154,6 +154,8 @@ Bugs fixed in 1.11a:
 
 * Long standing bugs:
 
+  - Automake's own build system finally have a real "installcheck" target.
+
   - Automake now warns about more primary/directory invalid combinations,
     such as "doc_LIBRARIES" or "pkglib_PROGRAMS".
 
diff --git a/configure b/configure
index 499015d..489d7fa 100755
--- a/configure
+++ b/configure
@@ -578,6 +578,10 @@ HELP2MAN
 TEX
 PERL_THREADS
 PERL
+system_acdir
+automake_acdir
+amdir
+scriptdir
 pkgvdatadir
 APIVERSION
 AM_BACKSLASH
@@ -2355,9 +2359,16 @@ am__tar='${AMTAR} chof - "$$tardir"'; 
am__untar='${AMTAR} xf -'
 APIVERSION=`echo "$VERSION" | sed -e 's/^\([0-9]*\.[0-9]*[a-z]*\).*$/\1/'`
 
 
-# A versioned directory, defined here for convenience.
 pkgvdatadir="\${datadir}/$PACKAGE-$APIVERSION"
 
+scriptdir="\${pkgvdatadir}"
+
+amdir="\${pkgvdatadir}/am"
+
+automake_acdir="\${datadir}/aclocal-$APIVERSION"
+
+system_acdir="\${datadir}/aclocal"
+
 
 # $AUTOMAKE and $ACLOCAL are always run after a `cd $top_srcdir',
 # hence `.' is really what we want for perllibdir, libdir, and acdir.
@@ -2832,7 +2843,7 @@ $as_echo "$as_me: WARNING: \`cd tests && ${MAKE-make} 
clean-local-check'" >&2;}
 sh_errexit_works=$am_cv_sh_errexit_works
 
 
-ac_config_files="$ac_config_files Makefile doc/Makefile lib/Automake/Makefile 
lib/Automake/tests/Makefile lib/Makefile lib/am/Makefile m4/Makefile 
tests/Makefile tests/defs-static"
+ac_config_files="$ac_config_files Makefile doc/Makefile lib/Automake/Makefile 
lib/Automake/tests/Makefile lib/Makefile lib/am/Makefile m4/Makefile 
tests/Makefile"
 
 ac_config_links="$ac_config_links tests/defs:tests/defs"
 
@@ -3589,7 +3600,6 @@ do
     "lib/am/Makefile") CONFIG_FILES="$CONFIG_FILES lib/am/Makefile" ;;
     "m4/Makefile") CONFIG_FILES="$CONFIG_FILES m4/Makefile" ;;
     "tests/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Makefile" ;;
-    "tests/defs-static") CONFIG_FILES="$CONFIG_FILES tests/defs-static" ;;
     "tests/defs") CONFIG_LINKS="$CONFIG_LINKS tests/defs:tests/defs" ;;
     "tests/aclocal-${APIVERSION}") CONFIG_FILES="$CONFIG_FILES 
tests/aclocal-${APIVERSION}:tests/aclocal.in" ;;
     "tests/automake-${APIVERSION}") CONFIG_FILES="$CONFIG_FILES 
tests/automake-${APIVERSION}:tests/automake.in" ;;
diff --git a/configure.ac b/configure.ac
index cf3df4d..54f39e5 100644
--- a/configure.ac
+++ b/configure.ac
@@ -51,8 +51,11 @@ AM_INIT_AUTOMAKE([1.10a dist-bzip2 filename-length-max=99 
color-tests
 APIVERSION=`echo "$VERSION" | sed -e 
's/^\([[0-9]]*\.[[0-9]]*[[a-z]]*\).*$/\1/'`
 AC_SUBST([APIVERSION])
 
-# A versioned directory, defined here for convenience.
 AC_SUBST([pkgvdatadir], ["\${datadir}/$PACKAGE-$APIVERSION"])
+AC_SUBST([scriptdir], ["\${pkgvdatadir}"])
+AC_SUBST([amdir], ["\${pkgvdatadir}/am"])
+AC_SUBST([automake_acdir], ["\${datadir}/aclocal-$APIVERSION"])
+AC_SUBST([system_acdir], ["\${datadir}/aclocal"])
 
 # $AUTOMAKE and $ACLOCAL are always run after a `cd $top_srcdir',
 # hence `.' is really what we want for perllibdir, libdir, and acdir.
@@ -209,7 +212,6 @@ AC_CONFIG_FILES([
   lib/am/Makefile
   m4/Makefile
   tests/Makefile
-  tests/defs-static
 ])
 AC_CONFIG_LINKS([tests/defs:tests/defs])
 AC_CONFIG_FILES([tests/aclocal-${APIVERSION}:tests/aclocal.in],
diff --git a/doc/Makefile.in b/doc/Makefile.in
index 1e53970..7cd5e30 100644
--- a/doc/Makefile.in
+++ b/doc/Makefile.in
@@ -196,6 +196,8 @@ am_AUTOUPDATE = @am_AUTOUPDATE@
 am__leading_dot = @am__leading_dot@
 am__tar = @am__tar@
 am__untar = @am__untar@
+amdir = @amdir@
+automake_acdir = @automake_acdir@
 bindir = @bindir@
 build = @build@
 build_alias = @build_alias@
@@ -230,10 +232,12 @@ prefix = @prefix@
 program_transform_name = @program_transform_name@
 psdir = @psdir@
 sbindir = @sbindir@
+scriptdir = @scriptdir@
 sh_errexit_works = @sh_errexit_works@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
 sysconfdir = @sysconfdir@
+system_acdir = @system_acdir@
 target_alias = @target_alias@
 top_build_prefix = @top_build_prefix@
 top_builddir = @top_builddir@
diff --git a/lib/Automake/Makefile.in b/lib/Automake/Makefile.in
index 76c82df..80c9248 100644
--- a/lib/Automake/Makefile.in
+++ b/lib/Automake/Makefile.in
@@ -195,6 +195,8 @@ am_AUTOUPDATE = @am_AUTOUPDATE@
 am__leading_dot = @am__leading_dot@
 am__tar = @am__tar@
 am__untar = @am__untar@
+amdir = @amdir@
+automake_acdir = @automake_acdir@
 bindir = @bindir@
 build = @build@
 build_alias = @build_alias@
@@ -229,10 +231,12 @@ prefix = @prefix@
 program_transform_name = @program_transform_name@
 psdir = @psdir@
 sbindir = @sbindir@
+scriptdir = @scriptdir@
 sh_errexit_works = @sh_errexit_works@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
 sysconfdir = @sysconfdir@
+system_acdir = @system_acdir@
 target_alias = @target_alias@
 top_build_prefix = @top_build_prefix@
 top_builddir = @top_builddir@
diff --git a/lib/Automake/tests/Makefile.am b/lib/Automake/tests/Makefile.am
index c6254a3..2c33a76 100644
--- a/lib/Automake/tests/Makefile.am
+++ b/lib/Automake/tests/Makefile.am
@@ -1,7 +1,7 @@
 ## Process this file with automake to create Makefile.in
 
-# Copyright (C) 2002, 2003, 2008, 2009, 2010 Free Software Foundation,
-# Inc.
+# Copyright (C) 2002, 2003, 2008, 2009, 2010, 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
@@ -17,7 +17,12 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 PL_LOG_COMPILER = $(PERL)
-AM_PL_LOG_FLAGS = -Mstrict -I ../.. -I $(top_srcdir)/lib -w
+AM_TESTS_ENVIRONMENT = \
+  case $$am_running_installcheck in \
+    yes) am_pl_I_flags='-I $(pkgvdatadir)';; \
+      *) am_pl_I_flags='-I ../.. -I $(top_srcdir)/lib';; \
+  esac;
+AM_PL_LOG_FLAGS = -Mstrict -w $$am_pl_I_flags
 TEST_EXTENSIONS = .pl
 
 TESTS = \
@@ -45,3 +50,7 @@ Version3.pl
 EXTRA_DIST = $(TESTS)
 
 include $(top_srcdir)/CheckListOfTests.am
+
+# Run the testsuite with the installed aclocal and automake.
+installcheck-local:
+       am_running_installcheck=yes $(MAKE) $(AM_MAKEFLAGS) check
diff --git a/lib/Automake/tests/Makefile.in b/lib/Automake/tests/Makefile.in
index 89ec5b2..c596a1c 100644
--- a/lib/Automake/tests/Makefile.in
+++ b/lib/Automake/tests/Makefile.in
@@ -15,8 +15,8 @@
 
 @SET_MAKE@
 
-# Copyright (C) 2002, 2003, 2008, 2009, 2010 Free Software Foundation,
-# Inc.
+# Copyright (C) 2002, 2003, 2008, 2009, 2010, 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
@@ -234,6 +234,8 @@ am_AUTOUPDATE = @am_AUTOUPDATE@
 am__leading_dot = @am__leading_dot@
 am__tar = @am__tar@
 am__untar = @am__untar@
+amdir = @amdir@
+automake_acdir = @automake_acdir@
 bindir = @bindir@
 build = @build@
 build_alias = @build_alias@
@@ -268,16 +270,24 @@ prefix = @prefix@
 program_transform_name = @program_transform_name@
 psdir = @psdir@
 sbindir = @sbindir@
+scriptdir = @scriptdir@
 sh_errexit_works = @sh_errexit_works@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
 sysconfdir = @sysconfdir@
+system_acdir = @system_acdir@
 target_alias = @target_alias@
 top_build_prefix = @top_build_prefix@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 PL_LOG_COMPILER = $(PERL)
-AM_PL_LOG_FLAGS = -Mstrict -I ../.. -I $(top_srcdir)/lib -w
+AM_TESTS_ENVIRONMENT = \
+  case $$am_running_installcheck in \
+    yes) am_pl_I_flags='-I $(pkgvdatadir)';; \
+      *) am_pl_I_flags='-I ../.. -I $(top_srcdir)/lib';; \
+  esac;
+
+AM_PL_LOG_FLAGS = -Mstrict -w $$am_pl_I_flags
 TEST_EXTENSIONS = .pl
 TESTS = \
 Condition.pl \
@@ -649,7 +659,7 @@ install-ps: install-ps-am
 
 install-ps-am:
 
-installcheck-am:
+installcheck-am: installcheck-local
 
 maintainer-clean: maintainer-clean-am
        -rm -f Makefile
@@ -679,10 +689,10 @@ uninstall-am:
        install-dvi-am install-exec install-exec-am install-html \
        install-html-am install-info install-info-am install-man \
        install-pdf install-pdf-am install-ps install-ps-am \
-       install-strip installcheck installcheck-am installdirs \
-       maintainer-clean maintainer-clean-generic mostlyclean \
-       mostlyclean-generic pdf pdf-am ps ps-am recheck recheck-html \
-       uninstall uninstall-am
+       install-strip installcheck installcheck-am installcheck-local \
+       installdirs maintainer-clean maintainer-clean-generic \
+       mostlyclean mostlyclean-generic pdf pdf-am ps ps-am recheck \
+       recheck-html uninstall uninstall-am
 
 
 .PHONY: maintainer-check-list-of-tests
@@ -728,6 +738,10 @@ clean-local: clean-maintcheck-testslist-tmp
 clean-maintcheck-testslist-tmp:
        rm -f $(am__tmk) $(am__tfs) $(am__tdf)
 
+# Run the testsuite with the installed aclocal and automake.
+installcheck-local:
+       am_running_installcheck=yes $(MAKE) $(AM_MAKEFLAGS) check
+
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:
diff --git a/lib/Makefile.am b/lib/Makefile.am
index 237fe61..b48428d 100644
--- a/lib/Makefile.am
+++ b/lib/Makefile.am
@@ -25,7 +25,6 @@ dist_pkgvdata_DATA = COPYING INSTALL texinfo.tex config-ml.in
 ## These must all be executable when installed.  However, if we use
 ## _SCRIPTS, then the program transform will be applied, which is not
 ## what we want.  So we make them executable by hand.
-scriptdir = $(pkgvdatadir)
 dist_script_DATA = \
   config.guess \
   config.sub \
diff --git a/lib/Makefile.in b/lib/Makefile.in
index d99ecfc..e7a6877 100644
--- a/lib/Makefile.in
+++ b/lib/Makefile.in
@@ -198,6 +198,8 @@ am_AUTOUPDATE = @am_AUTOUPDATE@
 am__leading_dot = @am__leading_dot@
 am__tar = @am__tar@
 am__untar = @am__untar@
+amdir = @amdir@
+automake_acdir = @automake_acdir@
 bindir = @bindir@
 build = @build@
 build_alias = @build_alias@
@@ -232,17 +234,18 @@ prefix = @prefix@
 program_transform_name = @program_transform_name@
 psdir = @psdir@
 sbindir = @sbindir@
+scriptdir = @scriptdir@
 sh_errexit_works = @sh_errexit_works@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
 sysconfdir = @sysconfdir@
+system_acdir = @system_acdir@
 target_alias = @target_alias@
 top_build_prefix = @top_build_prefix@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 SUBDIRS = Automake am
 dist_pkgvdata_DATA = COPYING INSTALL texinfo.tex config-ml.in
-scriptdir = $(pkgvdatadir)
 dist_script_DATA = \
   config.guess \
   config.sub \
diff --git a/lib/am/Makefile.am b/lib/am/Makefile.am
index 037a4ae..e09a370 100644
--- a/lib/am/Makefile.am
+++ b/lib/am/Makefile.am
@@ -18,8 +18,6 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-amdir = $(pkgvdatadir)/am
-
 dist_am_DATA = \
 check.am \
 check2.am \
diff --git a/lib/am/Makefile.in b/lib/am/Makefile.in
index 9bbecb9..94a8ce0 100644
--- a/lib/am/Makefile.in
+++ b/lib/am/Makefile.in
@@ -155,6 +155,8 @@ am_AUTOUPDATE = @am_AUTOUPDATE@
 am__leading_dot = @am__leading_dot@
 am__tar = @am__tar@
 am__untar = @am__untar@
+amdir = @amdir@
+automake_acdir = @automake_acdir@
 bindir = @bindir@
 build = @build@
 build_alias = @build_alias@
@@ -189,15 +191,16 @@ prefix = @prefix@
 program_transform_name = @program_transform_name@
 psdir = @psdir@
 sbindir = @sbindir@
+scriptdir = @scriptdir@
 sh_errexit_works = @sh_errexit_works@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
 sysconfdir = @sysconfdir@
+system_acdir = @system_acdir@
 target_alias = @target_alias@
 top_build_prefix = @top_build_prefix@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
-amdir = $(pkgvdatadir)/am
 dist_am_DATA = \
 check.am \
 check2.am \
diff --git a/m4/Makefile.am b/m4/Makefile.am
index 143df71..a6491cf 100644
--- a/m4/Makefile.am
+++ b/m4/Makefile.am
@@ -18,9 +18,6 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-automake_acdir = $(datadir)/aclocal-$(APIVERSION)
-system_acdir = $(datadir)/aclocal
-
 dist_automake_ac_DATA = \
 $(top_srcdir)/m4/amversion.m4 \
 as.m4 \
@@ -63,7 +60,7 @@ vala.m4
 # So that $(system_acdir) will be created by "make install".
 dist_system_ac_DATA =
 
-EXTRA_DIST = acdir/dirlist amversion.in
+EXTRA_DIST = acdir/.placeholder amversion.in
 
 # We build amversion.m4 here, instead of from config.status,
 # because config.status is rerun each time one of configure's
diff --git a/m4/Makefile.in b/m4/Makefile.in
index fe47256..a7fc0eb 100644
--- a/m4/Makefile.in
+++ b/m4/Makefile.in
@@ -156,6 +156,8 @@ am_AUTOUPDATE = @am_AUTOUPDATE@
 am__leading_dot = @am__leading_dot@
 am__tar = @am__tar@
 am__untar = @am__untar@
+amdir = @amdir@
+automake_acdir = @automake_acdir@
 bindir = @bindir@
 build = @build@
 build_alias = @build_alias@
@@ -190,16 +192,16 @@ prefix = @prefix@
 program_transform_name = @program_transform_name@
 psdir = @psdir@
 sbindir = @sbindir@
+scriptdir = @scriptdir@
 sh_errexit_works = @sh_errexit_works@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
 sysconfdir = @sysconfdir@
+system_acdir = @system_acdir@
 target_alias = @target_alias@
 top_build_prefix = @top_build_prefix@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
-automake_acdir = $(datadir)/aclocal-$(APIVERSION)
-system_acdir = $(datadir)/aclocal
 dist_automake_ac_DATA = \
 $(top_srcdir)/m4/amversion.m4 \
 as.m4 \
@@ -242,7 +244,7 @@ vala.m4
 
 # So that $(system_acdir) will be created by "make install".
 dist_system_ac_DATA = 
-EXTRA_DIST = acdir/dirlist amversion.in
+EXTRA_DIST = acdir/.placeholder amversion.in
 all: all-am
 
 .SUFFIXES:
diff --git a/m4/acdir/.placeholder b/m4/acdir/.placeholder
new file mode 100644
index 0000000..8dd7f67
--- /dev/null
+++ b/m4/acdir/.placeholder
@@ -0,0 +1,2 @@
+This file is here only to ensure the directory containing it exists
+in the git repository, and goes in the distribution tarball.
diff --git a/m4/acdir/dirlist b/m4/acdir/dirlist
deleted file mode 100644
index 82339e4..0000000
--- a/m4/acdir/dirlist
+++ /dev/null
@@ -1,4 +0,0 @@
-# This file is used by the testsuite (dirlist*.test)
-# it should not be installed
-./dirlist-test
-./dirlist2*-test
diff --git a/tests/Makefile.am b/tests/Makefile.am
index ad80a1c..50c8ca9 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -103,6 +103,49 @@ $(TEST_LOGS): defs defs-static aclocal-$(APIVERSION) 
automake-$(APIVERSION)
 $(TEST_LOGS): plain-functions.sh tap-functions.sh
 EXTRA_DIST += tap-functions.sh plain-functions.sh
 
+# Keep in sync with AC_SUBST'd stuff in defs-static.in.
+do_subst = sed \
+  -e 's|@address@hidden|$(abs_srcdir)|g' \
+  -e 's|@address@hidden|$(abs_top_srcdir)|g' \
+  -e 's|@address@hidden|$(abs_builddir)|g' \
+  -e 's|@address@hidden|$(prefix)|g' \
+  -e 's|@address@hidden|$(amdir)|g' \
+  -e 's|@address@hidden|$(bindir)|g' \
+  -e 's|@address@hidden|$(datadir)|g' \
+  -e 's|@address@hidden|$(docdir)|g' \
+  -e 's|@address@hidden|$(automake_acdir)|g' \
+  -e 's|@address@hidden|$(system_acdir)|g' \
+  -e 's|@address@hidden|$(scriptdir)|g' \
+  -e 's|@address@hidden|$(pkgvdatadir)|g' \
+  -e 's|@address@hidden|$(host_alias)|g' \
+  -e 's|@address@hidden|$(build_alias)|g' \
+  -e 's|@address@hidden|$(APIVERSION)|g' \
+  -e 's|@address@hidden|$(PATH_SEPARATOR)|g' \
+  -e 's|@address@hidden|$(SHELL)|g' \
+  -e 's|@address@hidden|$(PERL)|g' \
+  -e 's|@address@hidden|$(EGREP)|g' \
+  -e 's|@address@hidden|$(FGREP)|g' \
+  -e 's|@address@hidden|$(TEX)|g' \
+  -e 's|@address@hidden|$(MODIFICATION_DELAY)|g' \
+  -e 's|@address@hidden|$(am_AUTOCONF)|g' \
+  -e 's|@address@hidden|$(am_AUTOM4TE)|g' \
+  -e 's|@address@hidden|$(am_AUTORECONF)|g' \
+  -e 's|@address@hidden|$(am_AUTOHEADER)|g' \
+  -e 's|@address@hidden|$(am_AUTOUPDATE)|g' \
+  -e 's|@address@hidden|$(sh_errexit_works)|g' \
+  -e 's|@address@hidden|Generated from address@hidden  DO NOT EDIT BY HAND!|'
+
+defs-static: defs-static.in
+       $(AM_V_at)rm -f $@ address@hidden
+       $(AM_V_GEN)$(do_subst) $(srcdir)/defs-static.in >address@hidden
+       $(AM_V_at) : Sanity check on the substitutions; \
+       if LC_ALL=C grep '@[a-zA-Z0-9_][a-zA-Z0-9_]*@' address@hidden; then \
+         echo "$@ contains unexpanded substitution (see lines above)"; \
+         exit 1; \
+       fi
+       $(AM_V_at)chmod a-w address@hidden && mv -f address@hidden $@
+EXTRA_DIST += defs-static.in
+CLEANFILES = defs-static
 
 # If two test scripts have the same basename, they will end up sharing
 # the same log file, leading to all sort of undefined and undesired
@@ -122,6 +165,10 @@ check-local: check-no-repeated-test-name
 ## Checking the list of tests.
 include $(top_srcdir)/CheckListOfTests.am
 
+# Run the testsuite with the installed aclocal and automake.
+installcheck-local:
+       am_running_installcheck=yes $(MAKE) $(AM_MAKEFLAGS) check
+
 clean-local: clean-local-check
 .PHONY: clean-local-check
 clean-local-check:
diff --git a/tests/Makefile.in b/tests/Makefile.in
index f794eb4..814f31d 100644
--- a/tests/Makefile.in
+++ b/tests/Makefile.in
@@ -51,8 +51,8 @@ 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)/list-of-tests.mk \
-       $(srcdir)/testsuite-part.am $(top_srcdir)/CheckListOfTests.am
+       $(srcdir)/list-of-tests.mk $(srcdir)/testsuite-part.am \
+       $(top_srcdir)/CheckListOfTests.am
 subdir = tests
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/amversion.m4 \
@@ -66,8 +66,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/amversion.m4 \
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/lib/mkinstalldirs
-CONFIG_CLEAN_FILES = defs-static aclocal-${APIVERSION} \
-       automake-${APIVERSION}
+CONFIG_CLEAN_FILES = aclocal-${APIVERSION} automake-${APIVERSION}
 CONFIG_CLEAN_VPATH_FILES = defs
 AM_V_GEN = $(am__v_GEN_$(V))
 am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
@@ -241,6 +240,8 @@ am_AUTOUPDATE = @am_AUTOUPDATE@
 am__leading_dot = @am__leading_dot@
 am__tar = @am__tar@
 am__untar = @am__untar@
+amdir = @amdir@
+automake_acdir = @automake_acdir@
 bindir = @bindir@
 build = @build@
 build_alias = @build_alias@
@@ -275,10 +276,12 @@ prefix = @prefix@
 program_transform_name = @program_transform_name@
 psdir = @psdir@
 sbindir = @sbindir@
+scriptdir = @scriptdir@
 sh_errexit_works = @sh_errexit_works@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
 sysconfdir = @sysconfdir@
+system_acdir = @system_acdir@
 target_alias = @target_alias@
 top_build_prefix = @top_build_prefix@
 top_builddir = @top_builddir@
@@ -296,7 +299,7 @@ EXTRA_DIST = ChangeLog-old $(handwritten_TESTS) 
tap-summary-aux.sh \
        tap-setup.sh extract-testsuite-summary \
        testsuite-summary-checks.sh trivial-test-driver \
        $(generated_TESTS) gen-testsuite-part tap-functions.sh \
-       plain-functions.sh
+       plain-functions.sh defs-static.in
 
 # Hand-written tests.
 
@@ -616,6 +619,7 @@ deprecated-acinit.test \
 destdir.test \
 dirlist.test \
 dirlist2.test \
+dirlist-abspath.test \
 discover.test \
 dist-included-parent-dir.test \
 distcleancheck.test \
@@ -1484,6 +1488,40 @@ generated_TESTS = ar-lib-w.test compile-w.test 
compile2-w.test \
        tap-diagnostic-custom-w.test tap-driver-stderr-w.test \
        tap-doc-w.test tap-more-w.test tap-more2-w.test \
        tap-recheck-w.test
+
+# Keep in sync with AC_SUBST'd stuff in defs-static.in.
+do_subst = sed \
+  -e 's|@address@hidden|$(abs_srcdir)|g' \
+  -e 's|@address@hidden|$(abs_top_srcdir)|g' \
+  -e 's|@address@hidden|$(abs_builddir)|g' \
+  -e 's|@address@hidden|$(prefix)|g' \
+  -e 's|@address@hidden|$(amdir)|g' \
+  -e 's|@address@hidden|$(bindir)|g' \
+  -e 's|@address@hidden|$(datadir)|g' \
+  -e 's|@address@hidden|$(docdir)|g' \
+  -e 's|@address@hidden|$(automake_acdir)|g' \
+  -e 's|@address@hidden|$(system_acdir)|g' \
+  -e 's|@address@hidden|$(scriptdir)|g' \
+  -e 's|@address@hidden|$(pkgvdatadir)|g' \
+  -e 's|@address@hidden|$(host_alias)|g' \
+  -e 's|@address@hidden|$(build_alias)|g' \
+  -e 's|@address@hidden|$(APIVERSION)|g' \
+  -e 's|@address@hidden|$(PATH_SEPARATOR)|g' \
+  -e 's|@address@hidden|$(SHELL)|g' \
+  -e 's|@address@hidden|$(PERL)|g' \
+  -e 's|@address@hidden|$(EGREP)|g' \
+  -e 's|@address@hidden|$(FGREP)|g' \
+  -e 's|@address@hidden|$(TEX)|g' \
+  -e 's|@address@hidden|$(MODIFICATION_DELAY)|g' \
+  -e 's|@address@hidden|$(am_AUTOCONF)|g' \
+  -e 's|@address@hidden|$(am_AUTOM4TE)|g' \
+  -e 's|@address@hidden|$(am_AUTORECONF)|g' \
+  -e 's|@address@hidden|$(am_AUTOHEADER)|g' \
+  -e 's|@address@hidden|$(am_AUTOUPDATE)|g' \
+  -e 's|@address@hidden|$(sh_errexit_works)|g' \
+  -e 's|@address@hidden|Generated from address@hidden  DO NOT EDIT BY HAND!|'
+
+CLEANFILES = defs-static
 am__tmk = tests-in-makefile-list.tmp
 am__tfs = tests-on-filesystem-list.tmp
 am__tdf = diff-in-tests-lists.tmp
@@ -1521,8 +1559,6 @@ $(top_srcdir)/configure:  $(am__configure_deps)
 $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(am__aclocal_m4_deps):
-defs-static: $(top_builddir)/config.status $(srcdir)/defs-static.in
-       cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
 aclocal-${APIVERSION}: $(top_builddir)/config.status $(srcdir)/aclocal.in
        cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
 automake-${APIVERSION}: $(top_builddir)/config.status $(srcdir)/automake.in
@@ -1788,6 +1824,7 @@ mostlyclean-generic:
        -test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
 
 clean-generic:
+       -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
 
 distclean-generic:
        -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
@@ -1842,7 +1879,7 @@ install-ps: install-ps-am
 
 install-ps-am:
 
-installcheck-am:
+installcheck-am: installcheck-local
 
 maintainer-clean: maintainer-clean-am
        -rm -f Makefile
@@ -1872,10 +1909,10 @@ uninstall-am:
        install-dvi-am install-exec install-exec-am install-html \
        install-html-am install-info install-info-am install-man \
        install-pdf install-pdf-am install-ps install-ps-am \
-       install-strip installcheck installcheck-am installdirs \
-       maintainer-clean maintainer-clean-generic mostlyclean \
-       mostlyclean-generic pdf pdf-am ps ps-am recheck recheck-html \
-       uninstall uninstall-am
+       install-strip installcheck installcheck-am installcheck-local \
+       installdirs maintainer-clean maintainer-clean-generic \
+       mostlyclean mostlyclean-generic pdf pdf-am ps ps-am recheck \
+       recheck-html uninstall uninstall-am
 
 
 print-list-of-tests:
@@ -2216,6 +2253,16 @@ $(TEST_LOGS): defs defs-static aclocal-$(APIVERSION) 
automake-$(APIVERSION)
 # subdivision of the tests.
 $(TEST_LOGS): plain-functions.sh tap-functions.sh
 
+defs-static: defs-static.in
+       $(AM_V_at)rm -f $@ address@hidden
+       $(AM_V_GEN)$(do_subst) $(srcdir)/defs-static.in >address@hidden
+       $(AM_V_at) : Sanity check on the substitutions; \
+       if LC_ALL=C grep '@[a-zA-Z0-9_][a-zA-Z0-9_]*@' address@hidden; then \
+         echo "$@ contains unexpanded substitution (see lines above)"; \
+         exit 1; \
+       fi
+       $(AM_V_at)chmod a-w address@hidden && mv -f address@hidden $@
+
 # If two test scripts have the same basename, they will end up sharing
 # the same log file, leading to all sort of undefined and undesired
 # behaviours.
@@ -2274,6 +2321,10 @@ clean-local: clean-maintcheck-testslist-tmp
 clean-maintcheck-testslist-tmp:
        rm -f $(am__tmk) $(am__tfs) $(am__tdf)
 
+# Run the testsuite with the installed aclocal and automake.
+installcheck-local:
+       am_running_installcheck=yes $(MAKE) $(AM_MAKEFLAGS) check
+
 clean-local: clean-local-check
 .PHONY: clean-local-check
 clean-local-check:
diff --git a/tests/README b/tests/README
index e917d87..b6dd45c 100644
--- a/tests/README
+++ b/tests/README
@@ -254,6 +254,13 @@ Do
   code preserves filenames with spaces.  This will catch errors like
   `echo $filename | ...`.
 
+  Make sure your test script can be used to faithfully check an
+  installed version of automake (as with "make installcheck").  For
+  example, if you need to copy or grep an automake-provided script,
+  do not assume that they can be found in the `$top_srcdir/lib'
+  directory, but use `$am_scriptdir' instead.  The complete list of
+  such `$am_..dir' variables can be found in tests/defs-static.in.
+
   Before commit: make sure the test is executable, add the tests to
   TESTS in Makefile.am, add it to XFAIL_TESTS in addition if needed,
   write a ChangeLog entry, send the diff to <address@hidden>.
diff --git a/tests/acloca10.test b/tests/acloca10.test
index df7da0e..daf81a1 100755
--- a/tests/acloca10.test
+++ b/tests/acloca10.test
@@ -20,6 +20,9 @@
 #
 # Also check for --install.
 
+# TODO: write a sister test that doesn't use a `dirlist' file, but
+# TODO: puts third-party macros directly into `acdir'.
+
 . ./defs || Exit 1
 
 cat >> configure.in << 'END'
@@ -28,7 +31,10 @@ MACRO1
 MACRO3
 END
 
-mkdir m4_1 m4_2 dirlist-test
+ACLOCAL="$ACLOCAL --system-acdir acdir"
+
+mkdir m4_1 m4_2 acdir acdir2
+echo ./acdir2 > acdir/dirlist
 
 cat >m4_1/somedefs.m4 <<EOF
 AC_DEFUN([MACRO1], [echo macro11 >> foo])
@@ -39,7 +45,7 @@ cat >m4_2/somedefs.m4 <<EOF
 AC_DEFUN([MACRO1], [echo macro12 >> foo])
 EOF
 
-cat >dirlist-test/macro.m4 <<EOF
+cat >acdir2/macro.m4 <<EOF
 AC_DEFUN([MACRO3], [echo macro3 >> foo])
 EOF
 
@@ -77,7 +83,7 @@ test ! -f m4_2/macro.m4
 cp aclocal.m4 copy.m4
 
 $sleep
-echo '#GREPME' >>dirlist-test/macro.m4
+echo '#GREPME' >>acdir2/macro.m4
 $ACLOCAL -I m4_1 -I m4_2 --install
 $AUTOCONF
 ./configure
diff --git a/tests/acloca18.test b/tests/acloca18.test
index a7a6e2e..cb5c408 100755
--- a/tests/acloca18.test
+++ b/tests/acloca18.test
@@ -108,9 +108,11 @@ $AUTOCONF
 grep macro14 foo
 grep macro21 foo
 
+mkdir acdir
+ACLOCAL="$ACLOCAL --system-acdir acdir"
+
 $sleep
-mkdir dirlist-test
-cat >dirlist-test/m1.m4 <<EOF
+cat >acdir/m1.m4 <<EOF
 #serial 456
 AC_DEFUN([AM_MACRO1], [echo macro1d >> foo])
 AC_DEFUN([AM_MACRO2], [echo macro2d >> foo])
diff --git a/tests/aclocal-print-acdir.test b/tests/aclocal-print-acdir.test
index add1f64..297c702 100755
--- a/tests/aclocal-print-acdir.test
+++ b/tests/aclocal-print-acdir.test
@@ -21,7 +21,7 @@
 set -e
 
 $ACLOCAL --print-ac-dir
-test "`$ACLOCAL --print-ac-dir`" = "$top_testsrcdir/m4"
+test "`$ACLOCAL --print-ac-dir`" = "$am_system_acdir"
 
 $ACLOCAL -Wno-obsolete --acdir foo --print-ac-dir
 test "`$ACLOCAL -Wno-obsolete --acdir foo --print-ac-dir`" = foo
@@ -30,6 +30,6 @@ $ACLOCAL --system-acdir /bar --print-ac-dir
 test "`$ACLOCAL --system-acdir /bar --print-ac-dir`" = /bar
 
 $ACLOCAL --automake-acdir /bar --print-ac-dir
-test "`$ACLOCAL --automake-acdir /bar --print-ac-dir`" = "$top_testsrcdir/m4"
+test "`$ACLOCAL --automake-acdir /bar --print-ac-dir`" = "$am_system_acdir"
 
 :
diff --git a/tests/aclocal3.test b/tests/aclocal3.test
index bd90782..f5b2474 100755
--- a/tests/aclocal3.test
+++ b/tests/aclocal3.test
@@ -24,10 +24,14 @@ mkdir macros
 
 cat > macros/gnome.m4 << 'END'
 AC_DEFUN([GNOME_X_CHECKS], [
-       AM_PATH_GTK(0.99.5,,AC_MSG_ERROR(GTK not installed, or gtk-config not 
in path))
+# Use a macro that cannot be installed in a third-party system-wide m4
+# file; otherwise, this test might fail under "make installcheck".
+       AM__PATH__GTK(0.99.5,,AC_MSG_ERROR(GTK not installed, or gtk-config not 
in path))
 ])
 END
 
 $ACLOCAL -I macros 2>stderr && { cat stderr >&2; Exit 1; }
 cat stderr
-grep 'macros/gnome.m4:2:.*AM_PATH_GTK.*not found' stderr
+grep '^macros/gnome\.m4:4:.*AM__PATH__GTK.*not found' stderr
+
+:
diff --git a/tests/amhello-binpkg.test b/tests/amhello-binpkg.test
index 648858c..c5051e1 100755
--- a/tests/amhello-binpkg.test
+++ b/tests/amhello-binpkg.test
@@ -20,7 +20,7 @@
 am_create_testdir=empty
 . ./defs || Exit 1
 
-cp "$top_testsrcdir"/doc/amhello-1.0.tar.gz . \
+cp "$am_docdir"/amhello-1.0.tar.gz . \
   || fatal_ "cannot get amhello tarball"
 
 gzip -dc amhello-1.0.tar.gz | tar xf -
diff --git a/tests/amhello-cflags.test b/tests/amhello-cflags.test
index 5811f45..a7977f3 100755
--- a/tests/amhello-cflags.test
+++ b/tests/amhello-cflags.test
@@ -22,7 +22,7 @@ am_create_testdir=empty
 required=gcc
 . ./defs || Exit 1
 
-cp "$top_testsrcdir"/doc/amhello-1.0.tar.gz . \
+cp "$am_docdir"/amhello-1.0.tar.gz . \
   || fatal_ "cannot get amhello tarball"
 
 gzip -dc amhello-1.0.tar.gz | tar xf -
diff --git a/tests/amhello-cross-compile.test b/tests/amhello-cross-compile.test
index cd00307..287462f 100755
--- a/tests/amhello-cross-compile.test
+++ b/tests/amhello-cross-compile.test
@@ -21,11 +21,11 @@ am_create_testdir=empty
 required=i586-mingw32msvc-gcc
 . ./defs || Exit 1
 
-cp "$top_testsrcdir"/doc/amhello-1.0.tar.gz . \
+cp "$am_docdir"/amhello-1.0.tar.gz . \
   || fatal_ "cannot get amhello tarball"
 
 host=i586-mingw32msvc
-build=`"$top_testsrcdir"/lib/config.guess` && test -n "$build" \
+build=`"$am_scriptdir"/config.guess` && test -n "$build" \
   || fatal_ "cannot guess build platform"
 case $build in *mingw*) skip_ "build system is MinGW too";; esac
 
diff --git a/tests/ansi2knr-no-more.test b/tests/ansi2knr-no-more.test
index 0d405fe..a2ac330 100755
--- a/tests/ansi2knr-no-more.test
+++ b/tests/ansi2knr-no-more.test
@@ -32,7 +32,7 @@ $ACLOCAL -Wnone 2>stderr && { cat stderr >&2; Exit 1; }
 cat stderr >&2
 grep "^configure\\.in:5:.*$warn_rx" stderr
 
-cat aclocal.sav "$top_testsrcdir"/m4/protos.m4 > aclocal.m4
+cat aclocal.sav "$am_automake_acdir"/protos.m4 > aclocal.m4
 $AUTOCONF -Wnone 2>stderr && { cat stderr >&2; Exit 1; }
 cat stderr >&2
 grep "^configure\\.in:5:.*$warn_rx" stderr
diff --git a/tests/autodist-stamp-vti.test b/tests/autodist-stamp-vti.test
index 1dc91c7..f7a111b 100755
--- a/tests/autodist-stamp-vti.test
+++ b/tests/autodist-stamp-vti.test
@@ -46,7 +46,7 @@ END
 
 # Required when using Texinfo.
 : > texinfo.tex
-cp "$top_testsrcdir"/lib/mdate-sh .
+cp "$am_scriptdir"/mdate-sh .
 
 $ACLOCAL
 $AUTOCONF
diff --git a/tests/auxdir.test b/tests/auxdir.test
index 04e69f8..2dc548c 100755
--- a/tests/auxdir.test
+++ b/tests/auxdir.test
@@ -31,7 +31,7 @@ cat > Makefile.am << 'END'
 pkgdata_DATA =
 END
 
-cp "$top_testsrcdir/lib/mkinstalldirs" .
+cp "$am_scriptdir/mkinstalldirs" .
 
 # The "././" prefix confuses Automake into thinking it is doing a
 # subdir build.  Yes, this is hacky.
diff --git a/tests/check2.test b/tests/check2.test
index 4362424..0424bf8 100755
--- a/tests/check2.test
+++ b/tests/check2.test
@@ -44,7 +44,7 @@ CLEANFILES = echo.sh
 END
 
 if test x"$parallel_tests" = x"yes"; then
-  cp "$top_testsrcdir"/lib/test-driver .
+  cp "$am_scriptdir/test-driver" .
 fi
 
 $ACLOCAL
diff --git a/tests/copy.test b/tests/copy.test
index 3eb1c9e..8ad3f2a 100755
--- a/tests/copy.test
+++ b/tests/copy.test
@@ -73,7 +73,7 @@ test FAKE-DEPCOMP = `cat auxdir/depcomp`
 rm -rf auxdir
 mkdir auxdir
 cd auxdir
-ln -s "$top_testsrcdir/lib/missing" "$top_testsrcdir/lib/install-sh" .
+ln -s "$am_scriptdir/missing" "$am_scriptdir/install-sh" .
 cd ..
 
 $AUTOMAKE -a -c
@@ -84,6 +84,6 @@ test -f auxdir/missing
 test -h auxdir/missing
 test -f auxdir/depcomp
 test ! -h auxdir/depcomp
-diff $top_testsrcdir/lib/depcomp auxdir/depcomp
+diff "$am_scriptdir"/depcomp auxdir/depcomp
 
 :
diff --git a/tests/defs b/tests/defs
index 931188b..ac30e43 100644
--- a/tests/defs
+++ b/tests/defs
@@ -117,6 +117,15 @@ esac
 # by the configure-time detected $CONFIG_SHELL.
 
 
+## ----------------------- ##
+##  Early debugging info.  ##
+## ----------------------- ##
+
+echo "Running from installcheck: $am_running_installcheck"
+echo "Using TAP: $using_tap"
+echo "PATH = $PATH"
+
+
 ## ---------------------- ##
 ##  Environment cleanup.  ##
 ## ---------------------- ##
@@ -470,10 +479,10 @@ sed_unindent_prog="" # Avoid interferences from the 
environment.
 get_shell_script ()
 {
   if test x"$test_prefer_config_shell" = x"yes"; then
-    sed "1s|#!.*|#! $SHELL|" "$top_testsrcdir/lib/$1" > "$1"
+    sed "1s|#!.*|#! $SHELL|" "$am_scriptdir/$1" > "$1"
     chmod a+x "$1"
   else
-    cp "$top_testsrcdir/lib/$1" .
+    cp "$am_scriptdir/$1" .
   fi
   sed 10q "$1" # For debugging.
 }
@@ -507,9 +516,9 @@ fetch_tap_driver ()
   # TODO: with /bin/sh, for better coverage.
   case $am_tap_implementation in
     perl)
-      sed "1s|#!.*|#! $PERL -w|" "$top_testsrcdir"/lib/tap-driver.pl ;;
+      sed "1s|#!.*|#! $PERL -w|" "$am_scriptdir"/tap-driver.pl ;;
     shell)
-      sed "1s|#!.*|#! $SHELL|" "$top_testsrcdir"/lib/tap-driver.sh ;;
+      sed "1s|#!.*|#! $SHELL|" "$am_scriptdir"/tap-driver.sh ;;
     *)
       fatal_ "invalid \$am_tap_implementation '$am_tap_implementation'" ;;
   esac > tap-driver \
@@ -526,10 +535,6 @@ am_tap_implementation=${am_tap_implementation-shell}
 ##  required by them.                                          ##
 ## ----------------------------------------------------------- ##
 
-# Print it here, so that the user will see it also if the test
-# will be skipped due to some tool missing in $PATH itself.
-echo "$PATH"
-
 # So that we can force the use of correct gcc, g++ etc., consistently
 # with cross-compilation settings.
 if cross_compiling; then
@@ -830,11 +835,6 @@ esac
 
 # We might need extra macros, e.g., from Libtool or Gettext.
 # Find them on the system.
-# Use `-I $top_testsrcdir/m4' in addition to `--acdir=$top_testsrcdir/m4',
-# because the other `-I' directories added for libtool and gettext might
-# contain files from an old version of Automake that we don't want to use.
-# Use `-Wno-syntax' because we do not want our test suite to fail because
-# some third-party .m4 file is underquoted.
 case " $required " in
   *' libtool '* | *' libtoolize '* | *' gettext '* )
     aclocaldir=$testprefix/share/aclocal
@@ -875,7 +875,13 @@ case " $required " in
         fi
         ;;
     esac
-    ACLOCAL="$ACLOCAL -Wno-syntax -I $top_testsrcdir/m4 $extra_includes -I 
$aclocaldir"
+    # Use `-I $am_automake_acdir' because the other `-I' directories added
+    # for libtool and gettext might contain files from an old version of
+    # Automake that we don't want to use.  Use `-Wno-syntax' because we
+    # do not want our test suite to fail because some third-party `.m4'
+    # file is underquoted.
+    ACLOCAL="$ACLOCAL -Wno-syntax -I $am_automake_acdir"
+    ACLOCAL="$ACLOCAL $extra_includes -I $aclocaldir"
     unset libtool_found gettext_found
     unset extra_includes aclocaldir
     ;;
@@ -950,9 +956,9 @@ else
   cd ./$testSubDir \
     || framework_failure_ "cannot chdir into test subdirectory"
   if test x"$am_create_testdir" != x"empty"; then
-    cp "$top_testsrcdir"/lib/install-sh "$top_testsrcdir"/lib/missing \
-       "$top_testsrcdir"/lib/depcomp . \
-      || framework_failure_ "fetching common files from lib/"
+    cp "$am_scriptdir"/install-sh "$am_scriptdir"/missing \
+       "$am_scriptdir"/depcomp . \
+      || framework_failure_ "fetching common files from $am_scriptdir"
     # Build appropriate environment in test directory.  E.g., create
     # configure.in, touch all necessary files, etc.  Don't use AC_OUTPUT,
     # but AC_CONFIG_FILES so that appending still produces a valid
diff --git a/tests/defs-static.in b/tests/defs-static.in
index 532b0a8..e461b77 100644
--- a/tests/defs-static.in
+++ b/tests/defs-static.in
@@ -101,6 +101,35 @@ top_testsrcdir='@abs_top_srcdir@'
 testbuilddir='@abs_builddir@'
 testprefix='@prefix@'
 
+# Support for the "installcheck" target.
+case ${am_running_installcheck:=no} in
+  yes)
+    am_amdir='@amdir@'
+    am_automake_acdir='@automake_acdir@'
+    am_bindir='@bindir@'
+    am_datadir='@datadir@'
+    am_docdir='@docdir@'
+    am_pkgvdatadir='@pkgvdatadir@'
+    am_scriptdir='@scriptdir@'
+    am_system_acdir='@system_acdir@'
+    ;;
+  no)
+    am_amdir=$top_testsrcdir/lib/am
+    am_automake_acdir=$top_testsrcdir/m4
+    am_bindir=$testbuilddir
+    am_datadir=$top_testsrcdir
+    am_docdir=$top_testsrcdir/doc
+    am_pkgvdatadir=$top_testsrcdir/lib
+    am_scriptdir=$top_testsrcdir/lib
+    am_system_acdir=$top_testsrcdir/m4/acdir
+    ;;
+  *)
+    echo "$argv0: variable \`am_running_installcheck' has invalid"
+         "value \`$am_running_installcheck'" >&2
+    exit 99
+    ;;
+esac
+
 APIVERSION='@APIVERSION@'
 PATH_SEPARATOR='@PATH_SEPARATOR@'
 
@@ -117,7 +146,6 @@ test -z "$AUTOM4TE" && AUTOM4TE="@am_AUTOM4TE@"
 test -z "$AUTORECONF" && AUTORECONF="@am_AUTORECONF@"
 test -z "$AUTOHEADER" && AUTOHEADER="@am_AUTOHEADER@"
 test -z "$AUTOUPDATE" && AUTOUPDATE="@am_AUTOUPDATE@"
-test -z "$MISSING" && MISSING=$top_testsrcdir/lib/missing
 
 # Use -Werror because this also turns some Perl warnings into error.
 # Tests for which this is inappropriate should use -Wno-error.
@@ -168,10 +196,11 @@ sleep='sleep @MODIFICATION_DELAY@'
 # in UTC; see <http://www.gnu.org/gnu/initial-announcement.html>.
 old_timestamp=198309271735.59
 
-# Make our wrapper scripts accessible by default.  And avoid to uselessly
+# Make our wrapper script (or installed scripts, if running under
+# "installcheck") accessible by default.  And avoid to uselessly
 # extend $PATH multiple times if this file is sourced multiple times.
 case $PATH in
-  "$testbuilddir$PATH_SEPARATOR"*) ;;
-  *) PATH="$testbuilddir$PATH_SEPARATOR$PATH";;
+  $am_bindir$PATH_SEPARATOR*) ;;
+  *) PATH=$am_bindir$PATH_SEPARATOR$PATH;;
 esac
 export PATH
diff --git a/tests/depmod.tap b/tests/depmod.tap
index c40fea8..6f6a73e 100755
--- a/tests/depmod.tap
+++ b/tests/depmod.tap
@@ -63,7 +63,7 @@ ocwd=`pwd` || fatal_ "cannot get current working directory"
 
 # Keep this in sync with the contents of depend.m4.
 all_depmodes=`\
-  sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < "$top_testsrcdir/lib/depcomp" \
+  sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < "$am_scriptdir/depcomp" \
     | grep -v '^none$'` \
   && : Turn newlines and tabs into spaces, and strip extra whitespace. \
   && all_depmodes=`echo $all_depmodes` \
diff --git a/tests/dirlist-abspath.test b/tests/dirlist-abspath.test
new file mode 100755
index 0000000..b48ad8c
--- /dev/null
+++ b/tests/dirlist-abspath.test
@@ -0,0 +1,42 @@
+#! /bin/sh
+# Copyright (C) 2002, 2003, 2004, 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/>.
+
+# Check use of absolute paths in dirlist.
+
+am_create_testdir=empty
+. ./defs || Exit 1
+
+mkdir acdir-more sub sub/acdir
+echo "`pwd`/acdir-more" > sub/acdir/dirlist
+
+echo 'AC_DEFUN([AM_FOO], [foo-foo--foo])' > acdir-more/foo.m4
+
+cd sub
+
+cat > configure.in <<EOF
+AC_INIT([$me], [1.0])
+AM_FOO
+EOF
+
+$ACLOCAL --system-acdir acdir
+$AUTOCONF
+
+# Only -I directories are subject to file inclusion.
+grep m4_include aclocal.m4 && Exit 1
+
+grep 'foo-foo--foo' configure
+
+:
diff --git a/tests/dirlist.test b/tests/dirlist.test
index f6aa57e..99b0f1d 100755
--- a/tests/dirlist.test
+++ b/tests/dirlist.test
@@ -15,7 +15,6 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Check dirlist support.
-# This test relies on m4/dirlist.
 
 . ./defs || Exit 1
 
@@ -24,7 +23,8 @@ AC_INIT
 AM_INIT_GUILE_MODULE
 EOF
 
-mkdir dirlist-test
+mkdir acdir dirlist-test
+echo ./dirlist-test > acdir/dirlist
 
 cat >dirlist-test/dirlist-check.m4 <<'END'
 AC_DEFUN([AM_INIT_GUILE_MODULE],[
@@ -39,7 +39,7 @@ cat >dirlist-test/init.m4 <<EOF
 AC_DEFUN([AM_INIT_AUTOMAKE], [I should not be included])
 EOF
 
-$ACLOCAL
+$ACLOCAL --system-acdir acdir
 $AUTOCONF
 
 # There should be no m4_include in aclocal.m4, even though m4/dirlist
diff --git a/tests/dirlist2.test b/tests/dirlist2.test
index 910c470..4b7df2f 100755
--- a/tests/dirlist2.test
+++ b/tests/dirlist2.test
@@ -16,7 +16,6 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Check dirlist globbing support.
-# This test relies on m4/dirlist.
 
 . ./defs || Exit 1
 
@@ -42,7 +41,13 @@ AC_DEFUN([AM_FOO_BAR],[
 : foo bar baz
 ])
 END
-$ACLOCAL
+
+mkdir my-acdir
+cat > my-acdir/dirlist <<'END'
+dirlist2*-test
+END
+
+$ACLOCAL --system-acdir my-acdir
 $AUTOCONF
 
 # There should be no m4_include in aclocal.m4, even though m4/dirlist
diff --git a/tests/list-of-tests.mk b/tests/list-of-tests.mk
index 8ded8ee..05b874b 100644
--- a/tests/list-of-tests.mk
+++ b/tests/list-of-tests.mk
@@ -301,6 +301,7 @@ deprecated-acinit.test \
 destdir.test \
 dirlist.test \
 dirlist2.test \
+dirlist-abspath.test \
 discover.test \
 dist-included-parent-dir.test \
 distcleancheck.test \
diff --git a/tests/location.test b/tests/location.test
index 9013e31..f96a09e 100755
--- a/tests/location.test
+++ b/tests/location.test
@@ -42,11 +42,20 @@ VAR = 1 \
       3
 END
 
+# Smash the useless difference of lib file locations.
+smash_useless_diffs ()
+{
+  # FIXME: we could get rid of the second 's|||' once we improve our
+  # wrapper scripts ...
+  sed -e "s|^$am_amdir/\\([a-z]*\.am\\)|\\1|" \
+      -e "s|^automake-$APIVERSION:|automake:|" ${1+"$@"};
+}
+
 $ACLOCAL
 AUTOMAKE_fails -Wno-error
 
-# Smash the useless difference of lib file locations.
-sed 's,^.*lib/am/\([a-z]*\.am\),\1,' stderr >observed
+smash_useless_diffs stderr >observed
+
 cat >expected <<\EOF
 Makefile.am:12: warning: VAR multiply defined in condition TRUE ...
 Makefile.am:8: ... `VAR' previously defined here
@@ -68,10 +77,18 @@ program.am: ... `ctags$(EXEEXT)' previously defined here
 Makefile.am:6:   while processing program `ctags'
 EOF
 
+cat expected
+cat observed
 diff expected observed || Exit 1
 
 AUTOMAKE_fails -Werror
-sed 's,^.*lib/am/\([a-z]*\.am\),\1,' stderr >observed
-( echo 'automake: warnings are treated as errors'; cat expected ) \
-  | diff - observed || Exit 1
+smash_useless_diffs stderr >observed
+(echo 'automake: warnings are treated as errors' && cat expected) > t
+mv -f t expected
+
+cat expected
+cat observed
+
+diff expected observed || Exit 1
+
 :
diff --git a/tests/multlib.test b/tests/multlib.test
index e2ab6f3..d196efd 100755
--- a/tests/multlib.test
+++ b/tests/multlib.test
@@ -106,8 +106,7 @@ mkdir libbar/sub
 
 : > libbar/bar.c
 
-cp "$top_testsrcdir/lib/config-ml.in" .
-cp "$top_testsrcdir/lib/symlink-tree" .
+cp "$am_scriptdir"/config-ml.in "$am_scriptdir"/symlink-tree .
 
 $ACLOCAL
 $AUTOCONF
diff --git a/tests/obsolete.test b/tests/obsolete.test
index 8a247d8..4fd126a 100755
--- a/tests/obsolete.test
+++ b/tests/obsolete.test
@@ -28,7 +28,7 @@ AC_INIT
 END
 
 $PERL -ne '/AU_DEFUN\(\[(\w+)\]/ && print "$1\n"' \
-    "$top_testsrcdir/m4/obsolete.m4" >> obs
+  "$am_automake_acdir/obsolete.m4" > obs
 cat obs >> configure.in
 $PERL -ne 'chomp; print "grep $_ output || Exit 1\n"; ' obs > obs.1
 $PERL -ne 'chomp; print "grep $_ configure.in && Exit 1\n"; ' obs > obs.2
diff --git a/tests/parallel-tests-interrupt.tap 
b/tests/parallel-tests-interrupt.tap
index 2acb814..9e3f2de 100755
--- a/tests/parallel-tests-interrupt.tap
+++ b/tests/parallel-tests-interrupt.tap
@@ -39,7 +39,7 @@ END
 # This is hacky and ugly, but has the great advantage of avoiding us a lot
 # of pain with background processes and related synchronization issues.
 
-cat - "$top_testsrcdir"/lib/test-driver > test-driver <<'END'
+cat - "$am_scriptdir"/test-driver > test-driver <<'END'
 #!/bin/sh
 echo $$ > pid
 END
diff --git a/tests/repeated-options.test b/tests/repeated-options.test
index 1609aa9..dcdcbb3 100755
--- a/tests/repeated-options.test
+++ b/tests/repeated-options.test
@@ -58,7 +58,7 @@ int main (void)
 }
 END
 
-cp "$top_testsrcdir"/lib/compile "$top_testsrcdir"/lib/test-driver .
+cp "$am_scriptdir"/compile "$am_scriptdir"/test-driver .
 
 $ACLOCAL
 $AUTOMAKE --foreign --foreign -Wall 2>stderr || { cat stderr >&2; Exit 1; }
diff --git a/tests/suffix5.test b/tests/suffix5.test
index 6bdaea4..3061497 100755
--- a/tests/suffix5.test
+++ b/tests/suffix5.test
@@ -45,7 +45,7 @@ END
 
 : > ltmain.sh
 
-cp "$top_testsrcdir"/lib/config.guess "$top_testsrcdir"/lib/config.sub .
+cp "$am_scriptdir/config.guess" "$am_scriptdir/config.sub" .
 
 $ACLOCAL
 $AUTOMAKE
diff --git a/tests/tap-doc2.test b/tests/tap-doc2.test
index 468bb1c..dc69654 100755
--- a/tests/tap-doc2.test
+++ b/tests/tap-doc2.test
@@ -70,7 +70,7 @@ END
 chmod a+x *.test
 
 mkdir build-aux
-cp "$top_testsrcdir"/lib/tap-driver.pl build-aux \
+cp "$am_scriptdir"/tap-driver.pl build-aux \
   || framework_failure_ "fetching the perl TAP driver"
 
 (export AUTOMAKE ACLOCAL AUTOCONF && $AUTORECONF -vi) || Exit 1
diff --git a/tests/txinfo22.test b/tests/txinfo22.test
index 06819fd..07f0573 100755
--- a/tests/txinfo22.test
+++ b/tests/txinfo22.test
@@ -50,7 +50,7 @@ END
 
 mkdir aux1
 mkdir tex
-cp "$top_testsrcdir/lib/texinfo.tex" tex
+cp "$am_pkgvdatadir/texinfo.tex" tex
 
 $ACLOCAL
 $AUTOMAKE --add-missing
diff --git a/tests/vtexi3.test b/tests/vtexi3.test
index 8829068..b474ef6 100755
--- a/tests/vtexi3.test
+++ b/tests/vtexi3.test
@@ -65,7 +65,7 @@ END
 
 # Required when using Texinfo.
 : > texinfo.tex
-cp "$top_testsrcdir"/lib/mdate-sh .
+cp "$am_scriptdir"/mdate-sh .
 
 $ACLOCAL
 $AUTOCONF
diff --git a/tests/warnings-unknown.test b/tests/warnings-unknown.test
index 77ed589..db803a5 100755
--- a/tests/warnings-unknown.test
+++ b/tests/warnings-unknown.test
@@ -34,9 +34,13 @@ END
 $ACLOCAL
 
 AUTOMAKE_fails -Wbazquux
+# FIXME: we could get rid of this once we improve our wrapper scripts.
+sed "s/^automake:/automake-$APIVERSION:/" stderr > t
+mv -f t stderr
+cat stderr >&2
 grep '^configure\.in:2:.* unknown warning category.*zardoz' stderr
 grep '^Makefile\.am:1:.* unknown warning category.*foobar' stderr
-grep '^automake:.* unknown warning category.*bazquux' stderr
+grep "^automake-$APIVERSION:.* unknown warning category.*bazquux" stderr
 
 # Check that we can override warnings about unknown warning categories.
 $AUTOMAKE -Wno-unsupported -Wbazquux
-- 
1.7.2.3


reply via email to

[Prev in Thread] Current Thread [Next in Thread]