Merge branch 'master' into testsuite-work
[platform/upstream/automake.git] / tests / Makefile.in
index 704ae44..5a34c99 100644 (file)
@@ -48,10 +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
+       $(srcdir)/list-of-tests.mk $(srcdir)/testsuite-part.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 \
@@ -65,8 +67,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))
@@ -76,19 +77,25 @@ am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
 am__v_at_0 = @
 SOURCES =
 DIST_SOURCES =
+am__tty_colors_dummy = \
+  mgn= red= grn= lgn= blu= brg= std=; \
+  am__color_tests=no
 # If stdout is a non-dumb tty, use colors.  If test -t is not supported,
 # then this fails; a conservative approach.  Of course do not redirect
 # stdout here, just stderr.
 am__tty_colors = \
-red=; grn=; lgn=; blu=; std=; \
+$(am__tty_colors_dummy); \
 test "X$(AM_COLOR_TESTS)" != Xno \
 && test "X$$TERM" != Xdumb \
 && { test "X$(AM_COLOR_TESTS)" = Xalways || test -t 1 2>/dev/null; } \
 && { \
+  am__color_tests=yes; \
   red='\e[0;31m'; \
   grn='\e[0;32m'; \
   lgn='\e[1;32m'; \
   blu='\e[1;34m'; \
+  mgn='\e[0;35m'; \
+  brg='\e[1m'; \
   std='\e[m'; \
 }
 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
@@ -121,89 +128,68 @@ am__uninstall_files_from_dir = { \
 # Restructured Text title and section.
 am__rst_title = sed 's/.*/   &   /;h;s/./=/g;p;x;p;g;p;s/.*//'
 am__rst_section = sed 'p;s/./=/g;p;g'
-# Put stdin (possibly several lines separated by ".  ") in a box.
-# Prefix each line by 'col' and terminate each with 'std', for coloring.
-# Multi line coloring is problematic with "less -R", so we really need
-# to color each line individually.
-am__text_box = $(AWK) '{                       \
-  n = split($$0, lines, "\\.  "); max = 0;     \
-  for (i = 1; i <= n; ++i)                     \
-    if (max < length(lines[i]))                        \
-      max = length(lines[i]);                  \
-  for (i = 0; i < max; ++i)                    \
-    line = line "=";                           \
-  print col line std;                          \
-  for (i = 1; i <= n; ++i)                     \
-    if (lines[i])                              \
-      print col lines[i] std;                  \
-  print col line std;                          \
-}'
 # Solaris 10 'make', and several other traditional 'make' implementations,
 # pass "-e" to $(SHELL), and POSIX 2008 even requires this.  Work around it
 # by disabling -e (using the XSI extension "set +e") if it's set.
 am__sh_e_setup = case $$- in *e*) set +e;; esac
+# Default flags passed to test drivers.
+am__common_driver_flags = \
+  --color-tests "$$am__color_tests" \
+  --enable-hard-errors "$$am__enable_hard_errors" \
+  --expect-failure "$$am__expect_failure"
 # To be inserted before the command running the test.  Creates the
 # directory for the log if needed.  Stores in $dir the directory
 # containing $f, in $tst the test, in $log the log.  Executes the
 # developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and
-# passes TESTS_ENVIRONMENT.  Saves and restores TERM around uses of
-# TESTS_ENVIRONMENT and AM_TESTS_ENVIRONMENT, in case any of them
-# unsets it.
+# passes TESTS_ENVIRONMENT.  Set up options for the wrapper that
+# will run the test scripts (or their associated LOG_COMPILER, if
+# thy have one).
 am__check_pre = \
 $(am__sh_e_setup);                                     \
 $(am__vpath_adj_setup) $(am__vpath_adj)                        \
+$(am__tty_colors);                                     \
 srcdir=$(srcdir); export srcdir;                       \
-rm -f $@-t;                                            \
-am__trap='rm -f '\''$(abs_builddir)/$@-t'\''; (exit $$st); exit $$st'; \
-trap "st=129; $$am__trap" 1; trap "st=130; $$am__trap" 2;      \
-trap "st=141; $$am__trap" 13; trap "st=143; $$am__trap" 15; \
 am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;           \
 test "x$$am__odir" = x. || $(MKDIR_P) "$$am__odir" || exit $$?;        \
 if test -f "./$$f"; then dir=./;                       \
 elif test -f "$$f"; then dir=;                         \
 else dir="$(srcdir)/"; fi;                             \
-tst=$$dir$$f; log='$@'; __SAVED_TERM=$$TERM;           \
-$(AM_TESTS_ENVIRONMENT)                                        \
-$(TESTS_ENVIRONMENT)
-# To be appended to the command running the test.  Handle the stdout
-# and stderr redirection, and catch the exit status.
-am__check_post = \
->$@-t 2>&1;                                            \
-estatus=$$?;                                           \
-if test -n '$(DISABLE_HARD_ERRORS)'                    \
-   && test $$estatus -eq 99; then                      \
-  estatus=1;                                           \
-fi;                                                    \
-TERM=$$__SAVED_TERM; export TERM;                      \
-$(am__tty_colors);                                     \
-xfailed=PASS;                                          \
+tst=$$dir$$f; log='$@';                                \
+if test -n '$(DISABLE_HARD_ERRORS)'; then              \
+  am__enable_hard_errors=no;                           \
+else                                                   \
+  am__enable_hard_errors=yes;                          \
+fi;                                                    \
 case " $(XFAIL_TESTS) " in                             \
   *[\ \        ]$$f[\ \        ]* | *[\ \      ]$$dir$$f[\ \   ]*) \
-    xfailed=XFAIL;;                                    \
-esac;                                                  \
-case $$estatus.$$xfailed in                            \
-    0.XFAIL) col=$$red; res=XPASS;;                    \
-    0.*)     col=$$grn; res=PASS ;;                    \
-    77.*)    col=$$blu; res=SKIP ;;                    \
-    99.*)    col=$$red; res=FAIL ;;                    \
-    *.XFAIL) col=$$lgn; res=XFAIL;;                    \
-    *.*)     col=$$red; res=FAIL ;;                    \
-esac;                                                  \
-echo "$${col}$$res$${std}: $$f";                       \
-echo "$$res: $$f (exit: $$estatus)" |                  \
-  $(am__rst_section) >$@;                              \
-cat $@-t >>$@;                                         \
-rm -f $@-t
+    am__expect_failure=yes;;                           \
+  *)                                                   \
+    am__expect_failure=no;;                            \
+esac;                                                  \
+$(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT)
+# A shell command to get the names of the tests scripts with any registered
+# extension removed (i.e., equivalently, the names of the test logs, with
+# the `.log' extension removed).  The result is saved in the shell variable
+# `$bases'.  This honors runtime overriding of TESTS and TEST_LOGS.  Sadly,
+# we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)",
+# since that might cause problem with VPATH rewrites for suffix-less tests.
+# See also 'test-harness-vpath-rewrite.test' and 'test-trs-basic.test'.
+am__set_TESTS_bases = \
+  bases='$(TEST_LOGS)'; \
+  bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \
+  bases=`echo $$bases`
 RECHECK_LOGS = $(TEST_LOGS)
 AM_RECURSIVE_TARGETS = check check-html recheck recheck-html
 TEST_SUITE_LOG = test-suite.log
 TEST_SUITE_HTML = $(TEST_SUITE_LOG:.log=.html)
-TEST_EXTENSIONS = .test
 am__test_logs1 = $(TESTS:=.log)
-TEST_LOGS = $(am__test_logs1:.test.log=.log)
+am__test_logs2 = $(am__test_logs1:.test.log=.log)
+TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/lib/test-driver
 TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \
        $(TEST_LOG_FLAGS)
-TEST_LOGS_TMP = $(TEST_LOGS:.log=.log-t)
+TEST_LOGS = $(am__test_logs2:.tap.log=.log)
+TAP_LOG_COMPILE = $(TAP_LOG_COMPILER) $(AM_TAP_LOG_FLAGS) \
+       $(TAP_LOG_FLAGS)
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
@@ -261,6 +247,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@
@@ -273,7 +261,11 @@ datarootdir = @datarootdir@
 docdir = @docdir@
 dvidir = @dvidir@
 exec_prefix = @exec_prefix@
+host = @host@
 host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
 htmldir = @htmldir@
 includedir = @includedir@
 infodir = @infodir@
@@ -291,103 +283,71 @@ 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@
-MAINTAINERCLEANFILES = $(parallel_tests) $(instspc_tests)
-EXTRA_DIST = ChangeLog-old gen-parallel-tests instspc-tests.sh \
-       $(TESTS) distcheck-hook-m4.am
-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 \
-       lex-subobj-nodep.test vala-vpath.test txinfo5.test \
-       $(instspc_xfail_tests)
-parallel_tests = backcompat5-p.test check-concurrency-bug9245-p.test \
-       check-exported-srcdir-p.test check-tests-in-builddir-p.test \
-       check-tests_environment-p.test check-p.test check10-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
-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
+
+# 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 --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 \
+gcj6.test \
+override-conditional-2.test \
+java-nobase.test \
+pr8365-remake-timing.test \
+lex-subobj-nodep.test \
+vala-vpath.test \
+txinfo5.test
+
 
 # Some testsuite-influential variables should be overridable from the
 # test scripts, but not from the environment.
-AM_TESTS_ENVIRONMENT = \
-  test x"$$me" = x || unset me; \
-  test x"$$required" = x || unset required; \
-  test x"$$parallel_tests" = x || unset parallel_tests; \
-  test x"$$original_AUTOMAKE" = x || unset original_AUTOMAKE; \
-  test x"$$original_ACLOCAL" = x || unset original_ACLOCAL;
-
-TESTS = \
+# The `AM_TESTS_REEXEC=no' setting tells the tests not to needlessly
+# re-execute themselves with the shell detected at configure time, since
+# we are already running them under it explicitly in our setup (see e.g.
+# the definition of TEST_LOG_COMPILER above).
+AM_TESTS_ENVIRONMENT = for v in me required am_using_tap \
+       am_parallel_tests am_test_prefer_config_shell \
+       am_original_AUTOMAKE am_original_ACLOCAL ; do eval test \
+       x"\$${$$v}" = x || unset $$v; done; AM_TESTS_REEXEC=no; export \
+       AM_TESTS_REEXEC; stderr_fileno_=9; export stderr_fileno_;
+# We want warning messages and explanations for skipped tests to go to
+# the console if possible, so set up `stderr_fileno_' properly.
+AM_TESTS_FD_REDIRECT = 9>&2
+
+# 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 \
@@ -417,15 +377,11 @@ aclocal-path-install.test \
 aclocal-path-install-serial.test \
 aclocal-path-nonexistent.test \
 aclocal-path-precedence.test \
-acoutnoq.test \
-acoutpt.test \
-acoutpt2.test \
-acoutqnl.test \
-acoutbs.test \
-acoutbs2.test \
+ac-output-old.tap \
 acsilent.test \
 acsubst.test \
 acsubst2.test \
+add-missing.tap \
 all.test \
 all2.test \
 alloca.test \
@@ -462,16 +418,16 @@ autohdr2.test \
 autohdr3.test \
 autohdr4.test \
 autohdrdry.test \
-automake.test \
+automake-cmdline.tap \
 auxdir.test \
-auxdir2.test \
-auxdir3.test \
-auxdir4.test \
-auxdir5.test \
 auxdir6.test \
 auxdir7.test \
 auxdir8.test \
-auxdir9.test \
+auxdir-autodetect.test \
+auxdir-computed.tap \
+auxdir-misplaced.test \
+auxdir-nonexistent.test \
+auxdir-unportable.tap \
 backcompat.test \
 backcompat2.test \
 backcompat3.test \
@@ -508,15 +464,16 @@ check5.test \
 check6.test \
 check7.test \
 check8.test \
-check9.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-tests_environment.test \
+check-no-test-driver.test \
 check-concurrency-bug9245.test \
-tests-environment-backcompat.test \
 checkall.test \
 clean.test \
 clean2.test \
@@ -604,7 +561,6 @@ condhook2.test \
 condinc.test \
 condinc2.test \
 condlib.test \
-condman.test \
 condman2.test \
 condman3.test \
 configure.test \
@@ -655,8 +611,8 @@ dejagnu6.test \
 dejagnu7.test \
 dejagnu-absolute-builddir.test \
 dejagnu-relative-srcdir.test \
-dejagnu-siteexp-extend.test \
 dejagnu-siteexp-append.test \
+dejagnu-siteexp-extend.test \
 dejagnu-siteexp-useredit.test \
 depacl2.test \
 depcomp.test \
@@ -668,8 +624,6 @@ depcomp6.test \
 depcomp7.test \
 depcomp8a.test \
 depcomp8b.test \
-depcomp9.test \
-depcomp10.test \
 depdist.test \
 depend.test \
 depend2.test \
@@ -681,17 +635,20 @@ deprecated-acinit.test \
 destdir.test \
 dirlist.test \
 dirlist2.test \
+dirlist-abspath.test \
 discover.test \
-dist-auxfile.test \
+dist-auxdir-many-subdirs.test \
 dist-auxfile-2.test \
+dist-auxfile.test \
 dist-included-parent-dir.test \
+dist-readonly.test \
+dist-repeated.test \
 distcleancheck.test \
 distcom2.test \
 distcom3.test \
 distcom4.test \
 distcom5.test \
-distcom6.test \
-distcom7.test \
+distcom-subdir.test \
 distdir.test \
 distlinks.test \
 distlinksbrk.test \
@@ -703,8 +660,8 @@ distcheck-hook.test \
 distcheck-hook2.test \
 distcheck-missing-m4.test \
 distcheck-outdated-m4.test \
-distcheck-pr9579.test \
 distcheck-override-infodir.test \
+distcheck-pr9579.test \
 dmalloc.test \
 doc-parsing-buglets-colneq-subst.test \
 doc-parsing-buglets-tabs.test \
@@ -741,6 +698,7 @@ extra9.test \
 extra10.test \
 extra11.test \
 extra12.test \
+extra-programs-empty.test \
 extradep.test \
 extradep2.test \
 f90only.test \
@@ -792,7 +750,6 @@ help-regex.test \
 help-silent.test \
 help-upc.test \
 hfs.test \
-hosts.test \
 implicit.test \
 info.test \
 init.test \
@@ -824,31 +781,29 @@ instman2.test \
 instmany.test \
 instmany-mans.test \
 instmany-python.test \
-instspc-data.test \
-$(instspc_tests) \
 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 \
-javadir-undefined.test \
 javaprim.test \
 javasubst.test \
-javaflags.test \
 java-extra.test \
-java-noinst.test \
+java-mix.test \
+java-no-duplicate.test \
 java-nobase.test \
-java-compile-install.test \
-java-compile-run-flat.test \
-java-compile-run-nested.test \
+java-noinst.test \
+java-rebuild.test \
 java-sources.test \
-java-no-duplicate.test \
-java-mix.test \
 java-uninstall.test \
-java-rebuild.test \
 ldadd.test \
 ldflags.test \
 lex.test \
@@ -859,6 +814,10 @@ 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 \
@@ -961,6 +920,7 @@ missing3.test \
 missing4.test \
 missing5.test \
 missing6.test \
+missing-auxfile-stops-makefiles-creation.test \
 mkinstall.test \
 mkinst2.test \
 mkinst3.test \
@@ -1018,27 +978,73 @@ parallel-am3.test \
 parallel-tests.test \
 parallel-tests2.test \
 parallel-tests3.test \
-parallel-tests4.test \
 parallel-tests5.test \
 parallel-tests6.test \
-parallel-tests7.test \
 parallel-tests8.test \
 parallel-tests9.test \
 parallel-tests10.test \
-parallel-tests-am_tests_environment.test \
-parallel-tests-unreadable-log.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.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-cmdline-override.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-acsubst.test \
+test-driver-cond.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 \
@@ -1090,14 +1096,15 @@ prefix.test \
 primary.test \
 primary2.test \
 primary3.test \
-primary-prefix-invalid-couples.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-basedir.test \
 py-compile-destdir.test \
 py-compile-env.test \
 py-compile-option-terminate.test \
@@ -1140,6 +1147,8 @@ 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 \
@@ -1161,15 +1170,20 @@ reqd.test \
 reqd2.test \
 repeated-options.test \
 rulepat.test \
-self-check-cleanup.test \
-self-check-dir.test \
-self-check-env-sanitize.test \
-self-check-exit.test \
-self-check-is_newest.test \
-self-check-me.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-unindent.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 \
@@ -1182,6 +1196,7 @@ silent7.test \
 silent8.test \
 silent9.test \
 silentcxx.test \
+silentcxx-gcc.test \
 silentf77.test \
 silentf90.test \
 silent-many-gcc.test \
@@ -1251,32 +1266,114 @@ subpkg3.test \
 subpkg4.test \
 subpkg-yacc.test \
 subst.test \
-subst2.test \
 subst3.test \
 subst4.test \
 subst5.test \
+subst-no-trailing-empty-line.test \
 substref.test \
 substre2.test \
 substtarg.test \
 suffix.test \
 suffix2.test \
-suffix3.test \
+suffix3.tap \
 suffix4.test \
 suffix5.test \
 suffix6.test \
 suffix6b.test \
 suffix6c.test \
 suffix7.test \
-suffix8.test \
+suffix8.tap \
 suffix9.test \
-suffix10.test \
-suffix11.test \
+suffix10.tap \
+suffix11.tap \
 suffix12.test \
 suffix13.test \
-suffix-chain.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 \
@@ -1320,8 +1417,8 @@ txinfo33.test \
 txinfo-unrecognized-extension.test \
 transform.test \
 transform2.test \
-uninstall-pr9578.test \
 uninstall-fail.test \
+uninstall-pr9578.test \
 unused.test \
 upc.test \
 upc2.test \
@@ -1388,14 +1485,207 @@ yflags-conditional.test \
 yflags-d-false-positives.test \
 yflags-force-override.test \
 yflags-force-conditional.test \
-yflags-var-expand.test \
-$(parallel_tests)
+yflags-var-expand.test
+
+on_tap_with_common_setup_TESTS = \
+  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
+
+check_tap_testsuite_summary_TESTS = \
+  tap-summary.test \
+  tap-summary-color.test
+
+extract_testsuite_summary_TESTS = \
+  testsuite-summary-count-many.test
+
+check_testsuite_summary_TESTS = \
+  testsuite-summary-color.test \
+  testsuite-summary-count.test
+
+use_trivial_test_driver_TESTS = \
+  testsuite-summary-count-many.test \
+  test-driver-acsubst.test \
+  test-driver-cond.test \
+  test-driver-custom-multitest.test \
+  test-driver-custom-multitest-recheck.test \
+  test-driver-custom-multitest-recheck2.test \
+  test-driver-custom-html.test
+
+generated_TESTS = ar-lib-w.test compile-w.test compile2-w.test \
+       compile3-w.test compile4-w.test compile5-w.test \
+       compile6-w.test instsh2-w.test instsh3-w.test mdate5-w.test \
+       mdate6-w.test missing-w.test missing2-w.test missing3-w.test \
+       missing5-w.test mkinst3-w.test check-w.test check2-w.test \
+       check3-w.test check4-w.test check5-w.test check6-w.test \
+       check7-w.test check8-w.test check11-w.test check12-w.test \
+       check-subst-w.test check-subst-prog-w.test \
+       check-exported-srcdir-w.test check-fd-redirect-w.test \
+       check-tests-in-builddir-w.test \
+       check-concurrency-bug9245-w.test color-w.test color2-w.test \
+       comment9-w.test dejagnu-w.test exeext4-w.test maken3-w.test \
+       maken4-w.test tests-environment-w.test posixsubst-tests-w.test \
+       tap-ambiguous-directive-w.test tap-autonumber-w.test \
+       tap-bailout-w.test tap-bailout-and-logging-w.test \
+       tap-bailout-suppress-badexit-w.test \
+       tap-bailout-suppress-later-diagnostic-w.test \
+       tap-bailout-suppress-later-errors-w.test tap-color-w.test \
+       tap-deps-w.test tap-diagnostic-w.test \
+       tap-empty-diagnostic-w.test tap-empty-w.test \
+       tap-escape-directive-w.test tap-escape-directive-2-w.test \
+       tap-exit-w.test tap-signal-w.tap tap-fancy-w.test \
+       tap-fancy2-w.test tap-global-log-w.test \
+       tap-global-result-w.test tap-html-w.test tap-log-w.test \
+       tap-msg0-result-w.test tap-msg0-directive-w.test \
+       tap-msg0-planskip-w.test tap-msg0-bailout-w.test \
+       tap-msg0-misc-w.test tap-merge-stdout-stderr-w.test \
+       tap-no-merge-stdout-stderr-w.test \
+       tap-no-disable-hard-error-w.test \
+       tap-no-spurious-summary-w.test tap-no-spurious-numbers-w.test \
+       tap-no-spurious-w.test tap-not-ok-skip-w.test \
+       tap-number-wordboundary-w.test tap-numeric-description-w.test \
+       tap-negative-numbers-w.test tap-numbers-leading-zero-w.test \
+       tap-out-of-order-w.test tap-passthrough-w.test \
+       tap-passthrough-exit-w.test tap-plan-w.test \
+       tap-plan-corner-w.test tap-plan-errors-w.test \
+       tap-plan-middle-w.test tap-plan-whitespace-w.test \
+       tap-plan-leading-zero-w.test tap-plan-malformed-w.test \
+       tap-missing-plan-and-bad-exit-w.test tap-planskip-w.test \
+       tap-planskip-late-w.test tap-planskip-and-logging-w.test \
+       tap-planskip-unplanned-w.test \
+       tap-planskip-unplanned-corner-w.test \
+       tap-planskip-case-insensitive-w.test \
+       tap-planskip-whitespace-w.test tap-planskip-badexit-w.test \
+       tap-planskip-bailout-w.test tap-planskip-later-errors-w.test \
+       tap-realtime-w.test tap-test-number-0-w.test \
+       tap-recheck-logs-w.test tap-result-comment-w.test \
+       tap-todo-skip-together-w.test tap-todo-skip-whitespace-w.test \
+       tap-todo-skip-w.test tap-unplanned-w.test \
+       tap-whitespace-normalization-w.test \
+       tap-with-and-without-number-w.test tap-xfail-tests-w.test \
+       tap-bad-prog-w.tap tap-basic-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|@abs_srcdir[@]|$(abs_srcdir)|g' \
+  -e 's|@abs_top_srcdir[@]|$(abs_top_srcdir)|g' \
+  -e 's|@abs_builddir[@]|$(abs_builddir)|g' \
+  -e 's|@prefix[@]|$(prefix)|g' \
+  -e 's|@amdir[@]|$(amdir)|g' \
+  -e 's|@bindir[@]|$(bindir)|g' \
+  -e 's|@datadir[@]|$(datadir)|g' \
+  -e 's|@docdir[@]|$(docdir)|g' \
+  -e 's|@automake_acdir[@]|$(automake_acdir)|g' \
+  -e 's|@system_acdir[@]|$(system_acdir)|g' \
+  -e 's|@scriptdir[@]|$(scriptdir)|g' \
+  -e 's|@pkgvdatadir[@]|$(pkgvdatadir)|g' \
+  -e 's|@host_alias[@]|$(host_alias)|g' \
+  -e 's|@build_alias[@]|$(build_alias)|g' \
+  -e 's|@APIVERSION[@]|$(APIVERSION)|g' \
+  -e 's|@PATH_SEPARATOR[@]|$(PATH_SEPARATOR)|g' \
+  -e 's|@SHELL[@]|$(SHELL)|g' \
+  -e 's|@PERL[@]|$(PERL)|g' \
+  -e 's|@EGREP[@]|$(EGREP)|g' \
+  -e 's|@FGREP[@]|$(FGREP)|g' \
+  -e 's|@TEX[@]|$(TEX)|g' \
+  -e 's|@MODIFICATION_DELAY[@]|$(MODIFICATION_DELAY)|g' \
+  -e 's|@am_AUTOCONF[@]|$(am_AUTOCONF)|g' \
+  -e 's|@am_AUTOM4TE[@]|$(am_AUTOM4TE)|g' \
+  -e 's|@am_AUTORECONF[@]|$(am_AUTORECONF)|g' \
+  -e 's|@am_AUTOHEADER[@]|$(am_AUTOHEADER)|g' \
+  -e 's|@am_AUTOUPDATE[@]|$(am_AUTOUPDATE)|g' \
+  -e 's|@sh_errexit_works[@]|$(sh_errexit_works)|g' \
+  -e 's|@configure_input[@]|Generated from $@.in.  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
+PROVE = prove
+AM_PROVEFLAGS = --timer
+AM_PROVECMD = \
+  test -z "$$tests" || \
+    { \
+      $(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT) \
+      $(PROVE) $(AM_PROVEFLAGS) -e $(srcdir)/prove-runner $(PROVEFLAGS) \
+      $$tests $(AM_TESTS_FD_REDIRECT); \
+    }
 
 all: all-am
 
 .SUFFIXES:
-.SUFFIXES: .html .log .test
-$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(srcdir)/parallel-tests.am $(srcdir)/instspc-tests.am $(am__configure_deps)
+.SUFFIXES: .html .log .tap .test .trs
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(srcdir)/list-of-tests.mk $(srcdir)/testsuite-part.am $(top_srcdir)/CheckListOfTests.am $(am__configure_deps)
        @for dep in $?; do \
          case '$(am__configure_deps)' in \
            *$$dep*) \
@@ -1425,8 +1715,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
@@ -1440,92 +1728,149 @@ CTAGS:
 cscope cscopelist:
 
 
+# Recover from deleted `.trs' file; this should ensure that
+# "rm -f foo.log; make foo.trs" re-run `foo.test', and re-create
+# both `foo.log' and `foo.trs'.  Break the recipe in two subshells
+# to avoid problems with "make -n".
+.log.trs:
+       rm -f $< $@
+       $(MAKE) $(AM_MAKEFLAGS) $<
+
+# Helper recipe used by $(TEST_SUITE_LOG) below, to avoid problems with
+# "make -n".  Break this recipe in multiple shell invocations too, to
+# really work as expected with "make -n".
+am--redo-logs:
+       @rm -f $$redo_logs
+       @rm -f $$redo_results
+       @if test -n "$$am__remaking_logs"; then \
+         echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \
+              "recursion detected" >&2; \
+       else \
+         am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \
+       fi;
+       @st=0;  \
+       errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \
+       for i in $$redo_bases; do \
+         test -f $$i.trs && test -r $$i.trs \
+           || { echo "$$errmsg $$i.trs"; st=1; }; \
+         test -f $$i.log && test -r $$i.log \
+           || { echo "$$errmsg $$i.log"; st=1; }; \
+       done; \
+       test $$st -eq 0
+
 $(TEST_SUITE_LOG): $(TEST_LOGS)
-       @$(am__sh_e_setup);                                             \
-       list='$(TEST_LOGS)';                                            \
-       results=`for f in $$list; do                                    \
-                  test -r $$f && read line < $$f && echo "$$line"      \
-                    || echo FAIL;                                      \
-                done`;                                                 \
-       all=`echo "$$results" | sed '/^$$/d' | wc -l | sed -e 's/^[      ]*//'`; \
-       fail=`echo "$$results" | grep -c '^FAIL'`;                      \
-       pass=`echo "$$results" | grep -c '^PASS'`;                      \
-       skip=`echo "$$results" | grep -c '^SKIP'`;                      \
-       xfail=`echo "$$results" | grep -c '^XFAIL'`;                    \
-       xpass=`echo "$$results" | grep -c '^XPASS'`;                    \
-       failures=`expr $$fail + $$xpass`;                               \
-       all=`expr $$all - $$skip`;                                      \
-       if test "$$all" -eq 1; then tests=test; All=;                   \
-       else tests=tests; All="All "; fi;                               \
-       case fail=$$fail:xpass=$$xpass:xfail=$$xfail in                 \
-         fail=0:xpass=0:xfail=0)                                       \
-           msg="$$All$$all $$tests passed.  ";                         \
-           exit=true;;                                                 \
-         fail=0:xpass=0:xfail=*)                                       \
-           msg="$$All$$all $$tests behaved as expected";               \
-           if test "$$xfail" -eq 1; then xfailures=failure;            \
-           else xfailures=failures; fi;                                \
-           msg="$$msg ($$xfail expected $$xfailures).  ";              \
-           exit=true;;                                                 \
-         fail=*:xpass=0:xfail=*)                                       \
-           msg="$$fail of $$all $$tests failed.  ";                    \
-           exit=false;;                                                \
-         fail=*:xpass=*:xfail=*)                                       \
-           msg="$$failures of $$all $$tests did not behave as expected"; \
-           if test "$$xpass" -eq 1; then xpasses=pass;                 \
-           else xpasses=passes; fi;                                    \
-           msg="$$msg ($$xpass unexpected $$xpasses).  ";              \
-           exit=false;;                                                \
-         *)                                                            \
-           echo >&2 "incorrect case"; exit 4;;                         \
-       esac;                                                           \
-       if test "$$skip" -ne 0; then                                    \
-         if test "$$skip" -eq 1; then                                  \
-           msg="$$msg($$skip test was not run).  ";                    \
-         else                                                          \
-           msg="$$msg($$skip tests were not run).  ";                  \
-         fi;                                                           \
-       fi;                                                             \
+       @$(am__set_TESTS_bases); \
+       am__f_ok () { test -f "$$1" && test -r "$$1"; }; \
+       redo_bases=`for i in $$bases; do \
+                     am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \
+                   done`; \
+       if test -n "$$redo_bases"; then \
+         redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \
+         redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \
+         redo_bases="$$redo_bases" \
+         redo_logs="$$redo_logs" \
+         redo_results="$$redo_results" \
+           $(MAKE) $(AM_MAKEFLAGS) am--redo-logs || exit 1; \
+       else :; fi;
+       @$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \
+       ws='[   ]'; \
+       results=`for b in $$bases; do echo $$b.trs; done`; \
+       test -n "$$results" || results=/dev/null; \
+       all=`  grep "^$$ws*:test-result:"           $$results | wc -l`; \
+       pass=` grep "^$$ws*:test-result:$$ws*PASS"  $$results | wc -l`; \
+       fail=` grep "^$$ws*:test-result:$$ws*FAIL"  $$results | wc -l`; \
+       skip=` grep "^$$ws*:test-result:$$ws*SKIP"  $$results | wc -l`; \
+       xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \
+       xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \
+       error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \
+       if test `expr $$fail + $$xpass + $$error` -eq 0; then \
+         success=true; \
+       else \
+         success=false; \
+       fi; \
+       br='==================='; br=$$br$$br$$br$$br; \
+       result_count () \
+       { \
+           if test x"$$1" = x"--maybe-color"; then \
+             maybe_colorize=yes; \
+           elif test x"$$1" = x"--no-color"; then \
+             maybe_colorize=no; \
+           else \
+             echo "$@: invalid 'result_count' usage" >&2; exit 4; \
+           fi; \
+           shift; \
+           desc=$$1 count=$$2; \
+           if test $$maybe_colorize = yes && test $$count -gt 0; then \
+             color_start=$$3 color_end=$$std; \
+           else \
+             color_start= color_end=; \
+           fi; \
+           echo "$${color_start}# $$desc $$count$${color_end}"; \
+       }; \
+       create_testsuite_report () \
+       { \
+         result_count $$1 "TOTAL:" $$all   "$$brg"; \
+         result_count $$1 "PASS: " $$pass  "$$grn"; \
+         result_count $$1 "SKIP: " $$skip  "$$blu"; \
+         result_count $$1 "XFAIL:" $$xfail "$$lgn"; \
+         result_count $$1 "FAIL: " $$fail  "$$red"; \
+         result_count $$1 "XPASS:" $$xpass "$$red"; \
+         result_count $$1 "ERROR:" $$error "$$mgn"; \
+       }; \
        {                                                               \
          echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" |       \
            $(am__rst_title);                                           \
-         echo "$$msg";                                                 \
+         create_testsuite_report --no-color;                           \
          echo;                                                         \
          echo ".. contents:: :depth: 2";                               \
          echo;                                                         \
-         for f in $$list; do                                           \
-           test -r $$f && read line < $$f || line=;                    \
-           case $$line in                                              \
-             PASS:*|XFAIL:*);;                                         \
-             *) echo; cat $$f;;                                        \
-           esac;                                                       \
-         done;                                                         \
+         for i in $$bases; do                                          \
+           if grep "^$$ws*:copy-in-global-log:$$ws*no$$ws*$$" $$i.trs \
+                >/dev/null; then continue; \
+           fi; \
+           glob_res=`sed -n -e "s/$$ws*$$//" \
+                            -e "s/^$$ws*:global-test-result:$$ws*//p" \
+                       $$i.trs`; \
+           test -n "$$glob_res" || glob_res=RUN; \
+           echo "$$glob_res: $$i" | $(am__rst_section); \
+           if test ! -r $$i.log; then \
+             echo "fatal: making $@: $$i.log is unreadable" >&2; \
+             exit 1; \
+           fi; \
+           cat $$i.log; echo; \
+         done; \
        } >$(TEST_SUITE_LOG).tmp;                                       \
        mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG);                     \
-       if test "$$failures" -ne 0; then                                \
-         msg="$${msg}See $(subdir)/$(TEST_SUITE_LOG).  ";              \
-         if test -n "$(PACKAGE_BUGREPORT)"; then                       \
-           msg="$${msg}Please report to $(PACKAGE_BUGREPORT).  ";      \
-         fi;                                                           \
-       fi;                                                             \
-       test x"$$VERBOSE" = x || $$exit || cat $(TEST_SUITE_LOG);       \
-       $(am__tty_colors);                                              \
-       if $$exit; then                                                 \
+       if $$success; then                                              \
          col="$$grn";                                                  \
         else                                                           \
          col="$$red";                                                  \
+         test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG);               \
        fi;                                                             \
-       echo "$$msg" | $(am__text_box) "col=$$col" "std=$$std";         \
-       $$exit || exit 1
+       echo "$${col}$$br$${std}";                                      \
+       echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}";   \
+       echo "$${col}$$br$${std}";                                      \
+       create_testsuite_report --maybe-color;                          \
+       echo "$$col$$br$$std";                                          \
+       if $$success; then :; else                                      \
+         echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}";         \
+         if test -n "$(PACKAGE_BUGREPORT)"; then                       \
+           echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}"; \
+         fi;                                                           \
+         echo "$$col$$br$$std";                                        \
+       fi;                                                             \
+       $$success || exit 1
 
 # Run all the tests.
 check-TESTS:
        @list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list
+       @list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list
        @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
-       @list='$(TEST_LOGS)';                                           \
-       list=`for f in $$list; do                                       \
-         test .log = $$f || echo $$f;                                  \
-       done | tr '\012\015' '  '`;                                     \
+       @list='$(TEST_LOGS)'; \
+       list=`for i in $$list; do \
+         test .log = $$i || echo $$i; \
+       done | tr '\012\015' '  '`; \
+       list=`echo "$$list" | sed 's/ *$$//'`; \
        $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$list"
 
 .log.html:
@@ -1553,18 +1898,26 @@ check-html:
        $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_HTML) || exit 4;   \
        exit $$rv
 recheck recheck-html:
-       @target=`echo $@ | sed 's,^re,,'`;                              \
-       list='$(TEST_LOGS)';                                            \
-       list=`for f in $$list; do                                       \
-               test -f $$f || continue;                                \
-               if test -r $$f && read line < $$f; then                 \
-                 case $$line in FAIL*|XPASS*) echo $$f;; esac;         \
-               else echo $$f; fi;                                      \
+       @ws='[  ]';                                                     \
+       target=`echo $@ | sed 's,^re,,'`;                               \
+       $(am__set_TESTS_bases);                                         \
+       list=`for i in $$bases; do                                      \
+               test -f $$i.trs || test -f $$i.log || continue;         \
+               grep "^$$ws*:recheck:$$ws*no$$ws*$$" $$i.trs            \
+                 >/dev/null 2>&1 || echo $$i.log;                      \
              done | tr '\012\015' '  '`;                               \
        list=`echo "$$list" | sed 's/ *$$//'`;                          \
        $(MAKE) $(AM_MAKEFLAGS) $$target AM_MAKEFLAGS='$(AM_MAKEFLAGS) TEST_LOGS="'"$$list"'"'
 .test.log:
-       @p='$<'; $(am__check_pre) $(TEST_LOG_COMPILE) "$$tst" $(am__check_post)
+       @p='$<'; $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \
+       --log-file '$*.log' --trs-file '$*.trs' \
+       $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) "$$tst" \
+       $(AM_TESTS_FD_REDIRECT)
+.tap.log:
+       @p='$<'; $(am__check_pre) $(TAP_LOG_DRIVER) --test-name "$$f" \
+       --log-file '$*.log' --trs-file '$*.trs' \
+       $(am__common_driver_flags) $(AM_TAP_LOG_DRIVER_FLAGS) $(TAP_LOG_DRIVER_FLAGS) -- $(TAP_LOG_COMPILE) "$$tst" \
+       $(AM_TESTS_FD_REDIRECT)
 
 distdir: $(DISTFILES)
        @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
@@ -1597,7 +1950,7 @@ distdir: $(DISTFILES)
          fi; \
        done
 check-am: all-am
-       $(MAKE) $(AM_MAKEFLAGS) check-TESTS
+       $(MAKE) $(AM_MAKEFLAGS) check-TESTS check-local
 check: check-am
 all-am: Makefile
 installdirs:
@@ -1622,11 +1975,12 @@ install-strip:
        fi
 mostlyclean-generic:
        -test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS)
-       -test -z "$(TEST_LOGS_TMP)" || rm -f $(TEST_LOGS_TMP)
+       -test -z "$(TEST_LOGS:.log=.trs)" || rm -f $(TEST_LOGS:.log=.trs)
        -test -z "$(TEST_SUITE_HTML)" || rm -f $(TEST_SUITE_HTML)
        -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)
@@ -1635,7 +1989,6 @@ distclean-generic:
 maintainer-clean-generic:
        @echo "This command is intended for maintainers to use"
        @echo "it deletes files that may require special tools to rebuild."
-       -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
 clean: clean-am
 
 clean-am: clean-generic clean-local mostlyclean-am
@@ -1682,7 +2035,7 @@ install-ps: install-ps-am
 
 install-ps-am:
 
-installcheck-am:
+installcheck-am: installcheck-local
 
 maintainer-clean: maintainer-clean-am
        -rm -f Makefile
@@ -1705,103 +2058,434 @@ uninstall-am:
 .MAKE: check-am check-html install-am install-strip recheck \
        recheck-html
 
-.PHONY: all all-am check check-TESTS check-am check-html clean \
-       clean-generic clean-local distclean distclean-generic distdir \
-       dvi dvi-am html html-am info info-am install install-am \
-       install-data install-data-am install-dvi 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
-
-backcompat5-p.log: backcompat5.test
-check-concurrency-bug9245-p.log: check-concurrency-bug9245.test
-check-exported-srcdir-p.log: check-exported-srcdir.test
-check-tests-in-builddir-p.log: check-tests-in-builddir.test
-check-tests_environment-p.log: check-tests_environment.test
-check-p.log: check.test
-check10-p.log: check10.test
-check11-p.log: check11.test
-check12-p.log: check12.test
-check2-p.log: check2.test
-check3-p.log: check3.test
-check4-p.log: check4.test
-check5-p.log: check5.test
-check6-p.log: check6.test
-check7-p.log: check7.test
-check8-p.log: check8.test
-check9-p.log: check9.test
-color-p.log: color.test
-color2-p.log: color2.test
-comment9-p.log: comment9.test
-dejagnu-p.log: dejagnu.test
-exeext4-p.log: exeext4.test
-maken3-p.log: maken3.test
-maken4-p.log: maken4.test
-posixsubst-tests-p.log: posixsubst-tests.test
-
-$(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 $@
-
-$(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
-
-# Dependencies valid for each test case.
+.PHONY: all all-am am--redo-logs check check-TESTS check-am check-html \
+       check-local clean clean-generic clean-local distclean \
+       distclean-generic distdir dvi dvi-am html html-am info info-am \
+       install install-am install-data install-data-am install-dvi \
+       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 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:
+       @echo $(handwritten_TESTS)
+.PHONY: print-list-of-tests
+tap-ambiguous-directive.log: tap-setup.sh tap-common-setup.log
+tap-autonumber.log: tap-setup.sh tap-common-setup.log
+tap-bailout.log: tap-setup.sh tap-common-setup.log
+tap-bailout-and-logging.log: tap-setup.sh tap-common-setup.log
+tap-bailout-suppress-badexit.log: tap-setup.sh tap-common-setup.log
+tap-bailout-suppress-later-diagnostic.log: tap-setup.sh tap-common-setup.log
+tap-bailout-suppress-later-errors.log: tap-setup.sh tap-common-setup.log
+tap-color.log: tap-setup.sh tap-common-setup.log
+tap-deps.log: tap-setup.sh tap-common-setup.log
+tap-diagnostic.log: tap-setup.sh tap-common-setup.log
+tap-empty-diagnostic.log: tap-setup.sh tap-common-setup.log
+tap-empty.log: tap-setup.sh tap-common-setup.log
+tap-escape-directive.log: tap-setup.sh tap-common-setup.log
+tap-escape-directive-2.log: tap-setup.sh tap-common-setup.log
+tap-exit.log: tap-setup.sh tap-common-setup.log
+tap-signal.log: tap-setup.sh tap-common-setup.log
+tap-fancy.log: tap-setup.sh tap-common-setup.log
+tap-fancy2.log: tap-setup.sh tap-common-setup.log
+tap-global-log.log: tap-setup.sh tap-common-setup.log
+tap-global-result.log: tap-setup.sh tap-common-setup.log
+tap-html.log: tap-setup.sh tap-common-setup.log
+tap-log.log: tap-setup.sh tap-common-setup.log
+tap-msg0-result.log: tap-setup.sh tap-common-setup.log
+tap-msg0-directive.log: tap-setup.sh tap-common-setup.log
+tap-msg0-planskip.log: tap-setup.sh tap-common-setup.log
+tap-msg0-bailout.log: tap-setup.sh tap-common-setup.log
+tap-msg0-misc.log: tap-setup.sh tap-common-setup.log
+tap-merge-stdout-stderr.log: tap-setup.sh tap-common-setup.log
+tap-no-merge-stdout-stderr.log: tap-setup.sh tap-common-setup.log
+tap-no-disable-hard-error.log: tap-setup.sh tap-common-setup.log
+tap-no-spurious-summary.log: tap-setup.sh tap-common-setup.log
+tap-no-spurious-numbers.log: tap-setup.sh tap-common-setup.log
+tap-no-spurious.log: tap-setup.sh tap-common-setup.log
+tap-not-ok-skip.log: tap-setup.sh tap-common-setup.log
+tap-number-wordboundary.log: tap-setup.sh tap-common-setup.log
+tap-numeric-description.log: tap-setup.sh tap-common-setup.log
+tap-negative-numbers.log: tap-setup.sh tap-common-setup.log
+tap-numbers-leading-zero.log: tap-setup.sh tap-common-setup.log
+tap-out-of-order.log: tap-setup.sh tap-common-setup.log
+tap-passthrough.log: tap-setup.sh tap-common-setup.log
+tap-passthrough-exit.log: tap-setup.sh tap-common-setup.log
+tap-plan.log: tap-setup.sh tap-common-setup.log
+tap-plan-corner.log: tap-setup.sh tap-common-setup.log
+tap-plan-errors.log: tap-setup.sh tap-common-setup.log
+tap-plan-middle.log: tap-setup.sh tap-common-setup.log
+tap-plan-whitespace.log: tap-setup.sh tap-common-setup.log
+tap-plan-leading-zero.log: tap-setup.sh tap-common-setup.log
+tap-plan-malformed.log: tap-setup.sh tap-common-setup.log
+tap-missing-plan-and-bad-exit.log: tap-setup.sh tap-common-setup.log
+tap-planskip.log: tap-setup.sh tap-common-setup.log
+tap-planskip-late.log: tap-setup.sh tap-common-setup.log
+tap-planskip-and-logging.log: tap-setup.sh tap-common-setup.log
+tap-planskip-unplanned.log: tap-setup.sh tap-common-setup.log
+tap-planskip-unplanned-corner.log: tap-setup.sh tap-common-setup.log
+tap-planskip-case-insensitive.log: tap-setup.sh tap-common-setup.log
+tap-planskip-whitespace.log: tap-setup.sh tap-common-setup.log
+tap-planskip-badexit.log: tap-setup.sh tap-common-setup.log
+tap-planskip-bailout.log: tap-setup.sh tap-common-setup.log
+tap-planskip-later-errors.log: tap-setup.sh tap-common-setup.log
+tap-realtime.log: tap-setup.sh tap-common-setup.log
+tap-test-number-0.log: tap-setup.sh tap-common-setup.log
+tap-recheck-logs.log: tap-setup.sh tap-common-setup.log
+tap-result-comment.log: tap-setup.sh tap-common-setup.log
+tap-todo-skip-together.log: tap-setup.sh tap-common-setup.log
+tap-todo-skip-whitespace.log: tap-setup.sh tap-common-setup.log
+tap-todo-skip.log: tap-setup.sh tap-common-setup.log
+tap-unplanned.log: tap-setup.sh tap-common-setup.log
+tap-whitespace-normalization.log: tap-setup.sh tap-common-setup.log
+tap-with-and-without-number.log: tap-setup.sh tap-common-setup.log
+tap-xfail-tests.log: tap-setup.sh tap-common-setup.log
+tap-summary.log: tap-summary-aux.sh 
+tap-summary-color.log: tap-summary-aux.sh 
+testsuite-summary-count-many.log: extract-testsuite-summary 
+testsuite-summary-color.log: testsuite-summary-checks.sh 
+testsuite-summary-count.log: testsuite-summary-checks.sh 
+testsuite-summary-count-many.log: trivial-test-driver 
+test-driver-acsubst.log: trivial-test-driver 
+test-driver-cond.log: trivial-test-driver 
+test-driver-custom-multitest.log: trivial-test-driver 
+test-driver-custom-multitest-recheck.log: trivial-test-driver 
+test-driver-custom-multitest-recheck2.log: trivial-test-driver 
+test-driver-custom-html.log: trivial-test-driver 
+ar-lib-w.log: ar-lib.test
+ar-lib-w.log: ar-lib.log
+compile-w.log: compile.test
+compile-w.log: compile.log
+compile2-w.log: compile2.test
+compile2-w.log: compile2.log
+compile3-w.log: compile3.test
+compile3-w.log: compile3.log
+compile4-w.log: compile4.test
+compile4-w.log: compile4.log
+compile5-w.log: compile5.test
+compile5-w.log: compile5.log
+compile6-w.log: compile6.test
+compile6-w.log: compile6.log
+instsh2-w.log: instsh2.test
+instsh2-w.log: instsh2.log
+instsh3-w.log: instsh3.test
+instsh3-w.log: instsh3.log
+mdate5-w.log: mdate5.test
+mdate5-w.log: mdate5.log
+mdate6-w.log: mdate6.test
+mdate6-w.log: mdate6.log
+missing-w.log: missing.test
+missing-w.log: missing.log
+missing2-w.log: missing2.test
+missing2-w.log: missing2.log
+missing3-w.log: missing3.test
+missing3-w.log: missing3.log
+missing5-w.log: missing5.test
+missing5-w.log: missing5.log
+mkinst3-w.log: mkinst3.test
+mkinst3-w.log: mkinst3.log
+check-w.log: check.test
+check-w.log: check.log
+check2-w.log: check2.test
+check2-w.log: check2.log
+check3-w.log: check3.test
+check3-w.log: check3.log
+check4-w.log: check4.test
+check4-w.log: check4.log
+check5-w.log: check5.test
+check5-w.log: check5.log
+check6-w.log: check6.test
+check6-w.log: check6.log
+check7-w.log: check7.test
+check7-w.log: check7.log
+check8-w.log: check8.test
+check8-w.log: check8.log
+check11-w.log: check11.test
+check11-w.log: check11.log
+check12-w.log: check12.test
+check12-w.log: check12.log
+check-subst-w.log: check-subst.test
+check-subst-w.log: check-subst.log
+check-subst-prog-w.log: check-subst-prog.test
+check-subst-prog-w.log: check-subst-prog.log
+check-exported-srcdir-w.log: check-exported-srcdir.test
+check-exported-srcdir-w.log: check-exported-srcdir.log
+check-fd-redirect-w.log: check-fd-redirect.test
+check-fd-redirect-w.log: check-fd-redirect.log
+check-tests-in-builddir-w.log: check-tests-in-builddir.test
+check-tests-in-builddir-w.log: check-tests-in-builddir.log
+check-concurrency-bug9245-w.log: check-concurrency-bug9245.test
+check-concurrency-bug9245-w.log: check-concurrency-bug9245.log
+color-w.log: color.test
+color-w.log: color.log
+color2-w.log: color2.test
+color2-w.log: color2.log
+comment9-w.log: comment9.test
+comment9-w.log: comment9.log
+dejagnu-w.log: dejagnu.test
+dejagnu-w.log: dejagnu.log
+exeext4-w.log: exeext4.test
+exeext4-w.log: exeext4.log
+maken3-w.log: maken3.test
+maken3-w.log: maken3.log
+maken4-w.log: maken4.test
+maken4-w.log: maken4.log
+tests-environment-w.log: tests-environment.test
+tests-environment-w.log: tests-environment.log
+posixsubst-tests-w.log: posixsubst-tests.test
+posixsubst-tests-w.log: posixsubst-tests.log
+tap-ambiguous-directive-w.log: tap-ambiguous-directive.test
+tap-ambiguous-directive-w.log: tap-ambiguous-directive.log
+tap-autonumber-w.log: tap-autonumber.test
+tap-autonumber-w.log: tap-autonumber.log
+tap-bailout-w.log: tap-bailout.test
+tap-bailout-w.log: tap-bailout.log
+tap-bailout-and-logging-w.log: tap-bailout-and-logging.test
+tap-bailout-and-logging-w.log: tap-bailout-and-logging.log
+tap-bailout-suppress-badexit-w.log: tap-bailout-suppress-badexit.test
+tap-bailout-suppress-badexit-w.log: tap-bailout-suppress-badexit.log
+tap-bailout-suppress-later-diagnostic-w.log: tap-bailout-suppress-later-diagnostic.test
+tap-bailout-suppress-later-diagnostic-w.log: tap-bailout-suppress-later-diagnostic.log
+tap-bailout-suppress-later-errors-w.log: tap-bailout-suppress-later-errors.test
+tap-bailout-suppress-later-errors-w.log: tap-bailout-suppress-later-errors.log
+tap-color-w.log: tap-color.test
+tap-color-w.log: tap-color.log
+tap-deps-w.log: tap-deps.test
+tap-deps-w.log: tap-deps.log
+tap-diagnostic-w.log: tap-diagnostic.test
+tap-diagnostic-w.log: tap-diagnostic.log
+tap-empty-diagnostic-w.log: tap-empty-diagnostic.test
+tap-empty-diagnostic-w.log: tap-empty-diagnostic.log
+tap-empty-w.log: tap-empty.test
+tap-empty-w.log: tap-empty.log
+tap-escape-directive-w.log: tap-escape-directive.test
+tap-escape-directive-w.log: tap-escape-directive.log
+tap-escape-directive-2-w.log: tap-escape-directive-2.test
+tap-escape-directive-2-w.log: tap-escape-directive-2.log
+tap-exit-w.log: tap-exit.test
+tap-exit-w.log: tap-exit.log
+tap-signal-w.log: tap-signal.tap
+tap-signal-w.log: tap-signal.log
+tap-fancy-w.log: tap-fancy.test
+tap-fancy-w.log: tap-fancy.log
+tap-fancy2-w.log: tap-fancy2.test
+tap-fancy2-w.log: tap-fancy2.log
+tap-global-log-w.log: tap-global-log.test
+tap-global-log-w.log: tap-global-log.log
+tap-global-result-w.log: tap-global-result.test
+tap-global-result-w.log: tap-global-result.log
+tap-html-w.log: tap-html.test
+tap-html-w.log: tap-html.log
+tap-log-w.log: tap-log.test
+tap-log-w.log: tap-log.log
+tap-msg0-result-w.log: tap-msg0-result.test
+tap-msg0-result-w.log: tap-msg0-result.log
+tap-msg0-directive-w.log: tap-msg0-directive.test
+tap-msg0-directive-w.log: tap-msg0-directive.log
+tap-msg0-planskip-w.log: tap-msg0-planskip.test
+tap-msg0-planskip-w.log: tap-msg0-planskip.log
+tap-msg0-bailout-w.log: tap-msg0-bailout.test
+tap-msg0-bailout-w.log: tap-msg0-bailout.log
+tap-msg0-misc-w.log: tap-msg0-misc.test
+tap-msg0-misc-w.log: tap-msg0-misc.log
+tap-merge-stdout-stderr-w.log: tap-merge-stdout-stderr.test
+tap-merge-stdout-stderr-w.log: tap-merge-stdout-stderr.log
+tap-no-merge-stdout-stderr-w.log: tap-no-merge-stdout-stderr.test
+tap-no-merge-stdout-stderr-w.log: tap-no-merge-stdout-stderr.log
+tap-no-disable-hard-error-w.log: tap-no-disable-hard-error.test
+tap-no-disable-hard-error-w.log: tap-no-disable-hard-error.log
+tap-no-spurious-summary-w.log: tap-no-spurious-summary.test
+tap-no-spurious-summary-w.log: tap-no-spurious-summary.log
+tap-no-spurious-numbers-w.log: tap-no-spurious-numbers.test
+tap-no-spurious-numbers-w.log: tap-no-spurious-numbers.log
+tap-no-spurious-w.log: tap-no-spurious.test
+tap-no-spurious-w.log: tap-no-spurious.log
+tap-not-ok-skip-w.log: tap-not-ok-skip.test
+tap-not-ok-skip-w.log: tap-not-ok-skip.log
+tap-number-wordboundary-w.log: tap-number-wordboundary.test
+tap-number-wordboundary-w.log: tap-number-wordboundary.log
+tap-numeric-description-w.log: tap-numeric-description.test
+tap-numeric-description-w.log: tap-numeric-description.log
+tap-negative-numbers-w.log: tap-negative-numbers.test
+tap-negative-numbers-w.log: tap-negative-numbers.log
+tap-numbers-leading-zero-w.log: tap-numbers-leading-zero.test
+tap-numbers-leading-zero-w.log: tap-numbers-leading-zero.log
+tap-out-of-order-w.log: tap-out-of-order.test
+tap-out-of-order-w.log: tap-out-of-order.log
+tap-passthrough-w.log: tap-passthrough.test
+tap-passthrough-w.log: tap-passthrough.log
+tap-passthrough-exit-w.log: tap-passthrough-exit.test
+tap-passthrough-exit-w.log: tap-passthrough-exit.log
+tap-plan-w.log: tap-plan.test
+tap-plan-w.log: tap-plan.log
+tap-plan-corner-w.log: tap-plan-corner.test
+tap-plan-corner-w.log: tap-plan-corner.log
+tap-plan-errors-w.log: tap-plan-errors.test
+tap-plan-errors-w.log: tap-plan-errors.log
+tap-plan-middle-w.log: tap-plan-middle.test
+tap-plan-middle-w.log: tap-plan-middle.log
+tap-plan-whitespace-w.log: tap-plan-whitespace.test
+tap-plan-whitespace-w.log: tap-plan-whitespace.log
+tap-plan-leading-zero-w.log: tap-plan-leading-zero.test
+tap-plan-leading-zero-w.log: tap-plan-leading-zero.log
+tap-plan-malformed-w.log: tap-plan-malformed.test
+tap-plan-malformed-w.log: tap-plan-malformed.log
+tap-missing-plan-and-bad-exit-w.log: tap-missing-plan-and-bad-exit.test
+tap-missing-plan-and-bad-exit-w.log: tap-missing-plan-and-bad-exit.log
+tap-planskip-w.log: tap-planskip.test
+tap-planskip-w.log: tap-planskip.log
+tap-planskip-late-w.log: tap-planskip-late.test
+tap-planskip-late-w.log: tap-planskip-late.log
+tap-planskip-and-logging-w.log: tap-planskip-and-logging.test
+tap-planskip-and-logging-w.log: tap-planskip-and-logging.log
+tap-planskip-unplanned-w.log: tap-planskip-unplanned.test
+tap-planskip-unplanned-w.log: tap-planskip-unplanned.log
+tap-planskip-unplanned-corner-w.log: tap-planskip-unplanned-corner.test
+tap-planskip-unplanned-corner-w.log: tap-planskip-unplanned-corner.log
+tap-planskip-case-insensitive-w.log: tap-planskip-case-insensitive.test
+tap-planskip-case-insensitive-w.log: tap-planskip-case-insensitive.log
+tap-planskip-whitespace-w.log: tap-planskip-whitespace.test
+tap-planskip-whitespace-w.log: tap-planskip-whitespace.log
+tap-planskip-badexit-w.log: tap-planskip-badexit.test
+tap-planskip-badexit-w.log: tap-planskip-badexit.log
+tap-planskip-bailout-w.log: tap-planskip-bailout.test
+tap-planskip-bailout-w.log: tap-planskip-bailout.log
+tap-planskip-later-errors-w.log: tap-planskip-later-errors.test
+tap-planskip-later-errors-w.log: tap-planskip-later-errors.log
+tap-realtime-w.log: tap-realtime.test
+tap-realtime-w.log: tap-realtime.log
+tap-test-number-0-w.log: tap-test-number-0.test
+tap-test-number-0-w.log: tap-test-number-0.log
+tap-recheck-logs-w.log: tap-recheck-logs.test
+tap-recheck-logs-w.log: tap-recheck-logs.log
+tap-result-comment-w.log: tap-result-comment.test
+tap-result-comment-w.log: tap-result-comment.log
+tap-todo-skip-together-w.log: tap-todo-skip-together.test
+tap-todo-skip-together-w.log: tap-todo-skip-together.log
+tap-todo-skip-whitespace-w.log: tap-todo-skip-whitespace.test
+tap-todo-skip-whitespace-w.log: tap-todo-skip-whitespace.log
+tap-todo-skip-w.log: tap-todo-skip.test
+tap-todo-skip-w.log: tap-todo-skip.log
+tap-unplanned-w.log: tap-unplanned.test
+tap-unplanned-w.log: tap-unplanned.log
+tap-whitespace-normalization-w.log: tap-whitespace-normalization.test
+tap-whitespace-normalization-w.log: tap-whitespace-normalization.log
+tap-with-and-without-number-w.log: tap-with-and-without-number.test
+tap-with-and-without-number-w.log: tap-with-and-without-number.log
+tap-xfail-tests-w.log: tap-xfail-tests.test
+tap-xfail-tests-w.log: tap-xfail-tests.log
+tap-bad-prog-w.log: tap-bad-prog.tap
+tap-bad-prog-w.log: tap-bad-prog.log
+tap-basic-w.log: tap-basic.test
+tap-basic-w.log: tap-basic.log
+tap-diagnostic-custom-w.log: tap-diagnostic-custom.test
+tap-diagnostic-custom-w.log: tap-diagnostic-custom.log
+tap-driver-stderr-w.log: tap-driver-stderr.test
+tap-driver-stderr-w.log: tap-driver-stderr.log
+tap-doc-w.log: tap-doc.test
+tap-doc-w.log: tap-doc.log
+tap-more-w.log: tap-more.test
+tap-more-w.log: tap-more.log
+tap-more2-w.log: tap-more2.test
+tap-more2-w.log: tap-more2.log
+tap-recheck-w.log: tap-recheck.test
+tap-recheck-w.log: tap-recheck.log
+
+$(srcdir)/testsuite-part.am:
+       $(AM_V_at)rm -f testsuite-part.tmp $@
+       $(AM_V_GEN)$(PERL) $(srcdir)/gen-testsuite-part \
+         --srcdir $(srcdir) > testsuite-part.tmp
+       $(AM_V_at)chmod a-w testsuite-part.tmp
+       $(AM_V_at)mv -f testsuite-part.tmp $@
+
+$(generated_TESTS) $(srcdir)/testsuite-part.am: \
+  gen-testsuite-part list-of-tests.mk Makefile.am $(handwritten_TESTS)
+
+# Static dependencies valid for each test case.
 $(TEST_LOGS): defs defs-static aclocal-$(APIVERSION) automake-$(APIVERSION)
+# FIXME: this should be made more granular once we have a cleaner
+# subdivision of the tests.
+$(TEST_LOGS): plain-functions.sh tap-functions.sh
 
+# Few more static dependencies.
 distcheck-missing-m4.log distcheck-outdated-m4.log: distcheck-hook-m4.am
 
+defs-static: defs-static.in
+       $(AM_V_at)rm -f $@ $@-t
+       $(AM_V_GEN)$(do_subst) $(srcdir)/defs-static.in >$@-t
+       $(AM_V_at) : Sanity check on the substitutions; \
+       if LC_ALL=C grep '@[a-zA-Z0-9_][a-zA-Z0-9_]*@' $@-t; then \
+         echo "$@ contains unexpanded substitution (see lines above)"; \
+         exit 1; \
+       fi
+       $(AM_V_at)chmod a-w $@-t && mv -f $@-t $@
+
+# 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.
+check-no-repeated-test-name:
+       @LC_ALL=C; export LC_ALL; \
+        lst='$(TEST_LOGS)'; for log in $$lst; do echo $$log; done \
+          | sort | uniq -c | awk '($$1 > 1) { print }' \
+          | sed 's/\.log$$//' | grep . >&2 \
+          && { \
+            echo $@: test names listed above are duplicated >&2; \
+            exit 1; \
+          }; :
+check-local: check-no-repeated-test-name
+.PHONY: check-no-repeated-test-name
+
+.PHONY: maintainer-check-list-of-tests
+maintainer-check-list-of-tests:
+        @if diff -u /dev/null /dev/null >/dev/null 2>&1; then \
+          diff='diff -u'; \
+        else \
+          diff='diff'; \
+        fi; \
+        set X $(checked_test_extensions); shift; \
+        if test $$# -eq 0; then \
+          set X $(TEST_EXTENSIONS); shift; \
+        fi; \
+        if test $$# -eq 0; then \
+          echo '$@: internal error: $$(checked_test_extensions) and' \
+               '$$(TEST_EXTENSIONS) are both undefined or empty' >&2; \
+          exit 255; \
+        fi; \
+        lst='$(expected_list_of_tests)'; \
+        test -n "$$lst" || lst='$(TESTS)'; \
+        for t in $$lst; do \
+          echo "$$t"; \
+        done | sort >$(am__tmk); \
+        for ext in $$*; do \
+          ls *$$ext 2>/dev/null; \
+          if test $(srcdir) != $(builddir); then \
+            (cd $(srcdir) && ls *$$ext 2>/dev/null); \
+          fi; \
+        done | sort | uniq >$(am__tfs); \
+        if $$diff $(am__tmk) $(am__tfs) >$(am__tdf); then \
+           result=0; \
+        else \
+           echo '$@: list of tests in Makefile an on filesystem differ' >&2; \
+           echo "+ $$diff in-makefile on-filesystem" >&2; \
+           cat $(am__tdf) >&2; \
+           result=1; \
+        fi; \
+        rm -f $(am__tmk) $(am__tfs) $(am__tdf); \
+        exit $$result;
+
+.PHONY: clean-maintcheck-testslist-tmp
+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:
@@ -1813,6 +2497,54 @@ clean-local-check:
           rm -rf "$$@"; \
         fi;
 
+.PHONY: prove installprove
+prove installprove: $(TESTS) prove-runner defs-static
+       @exit_status=0; \
+       case '$@' in \
+         install*) am_running_installcheck=yes;; \
+         *) am_running_installcheck=no;; \
+       esac; \
+       export am_running_installcheck; \
+       need_tap_common_setup=no; \
+       lst=' $(TESTS) '; for t in $$lst; do \
+         case ' $(on_tap_with_common_setup_TESTS) ' in \
+           *" $$t "*) need_tap_common_setup=yes; break;; \
+         esac; \
+       done; \
+       if test $$need_tap_common_setup = yes; then \
+         t=tap-common-setup.test; \
+         if test -f ./$$t; then \
+           tests=./$$t; \
+         else \
+           tests=$(srcdir)/$$t; \
+         fi; \
+         echo "$@: running pre-requisite tests ..."; \
+         $(AM_PROVECMD) || exits_status=$$?; \
+         echo "$@: done.  We'll shortly run the main testsuite."; \
+       fi; \
+       tests=`\
+         for t in $(TESTS); do \
+           case "$$need_tap_common_setup,/$$t" in \
+             yes,*/tap-common-setup.test) continue;; \
+           esac; \
+           if test -f ./$$t; then \
+             echo ./$$t; \
+           else \
+             echo $(srcdir)/$$t; \
+           fi; \
+         done`; \
+       XFAIL_TESTS=`\
+         for t in $(XFAIL_TESTS); do \
+           echo $$t; echo ./$$t; echo $(srcdir)/$$t; \
+         done | LC_ALL=C sort | uniq`; \
+       XFAIL_TESTS=`echo $$XFAIL_TESTS`; \
+       TAP_RUNNER='$(TAP_LOG_COMPILE)' \
+       TEST_RUNER='$(TEST_LOG_COMPILE)' \
+       export XFAIL_TESTS TAP_RUNNER TEST_RUNNER; \
+       srcdir='$(srcdir)'; export srcdir; \
+       $(AM_PROVECMD) || exit_status=$$?; \
+       exit $$exit_status;
+
 # 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: