[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Automake-commit] [SCM] GNU Automake branch, ng/master, updated. ng-0.5a
From: |
Stefano Lattarini |
Subject: |
[Automake-commit] [SCM] GNU Automake branch, ng/master, updated. ng-0.5a-190-g1490961 |
Date: |
Wed, 11 Apr 2012 15:50:53 +0000 |
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Automake".
http://git.sv.gnu.org/gitweb/?p=automake.git;a=commitdiff;h=1490961b7bfcb4a5bba24925ff45e2ff32fa93f0
The branch, ng/master has been updated
via 1490961b7bfcb4a5bba24925ff45e2ff32fa93f0 (commit)
via e306fb5d1043c60b46128fb09ee54434340a0d42 (commit)
via feea090263edbe06ab791a838b4a3d1fce9fd7e5 (commit)
via 76f0605a6dd790ab43cc608db11ac2141ddf46c0 (commit)
via 7f2bc63991aeed6ddec5f28dc2162a281ff8ee3d (commit)
via ab1a507e362fabc1b33a4cec1522738948acf800 (commit)
via f854b6c0eb7905dc8c9f2899a8f43b94fd6957ff (commit)
via 2bf9b58d1153cb51be592f009192a48798b5e97e (commit)
via cb19500768ac53bd9a9c348a11906a7c000e430c (commit)
via c38a2e62f99b2de0d06e438732a3eca4ab5effde (commit)
via c0cee9cd9230af78dc2ba70eb12051f5a9fe12bd (commit)
via 32b8a433f1166b64ac4866b6f9b27284a60c4b52 (commit)
via 8e02441b00db75f21455edc92191e64cab19b031 (commit)
via 8a5096d150cf9803b8963768b7366cd68edcce03 (commit)
via f8e822bbc197f01fc722aa6def7cddb4182e3c66 (commit)
via 23f0543ef6113af566b6fc733ee8fa9f461785aa (commit)
via a4b0f4b51f8fbf6e5de4ced85b3f7150ec766005 (commit)
via a64ef3e48066c9a9dbfd65683cb16a62783df4fc (commit)
from 5edc5fc4b997d2748967a054638ca0190f10be51 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 1490961b7bfcb4a5bba24925ff45e2ff32fa93f0
Merge: 5edc5fc e306fb5
Author: Stefano Lattarini <address@hidden>
Date: Wed Apr 11 16:35:09 2012 +0200
Merge branch 'master' into ng/master
* master:
vala tests: force the use of automatic dependency tracking
tests: avoid spurious failures in tests on C++ and lex
tests: avoid spurious failures with non-flex 'lex' programs and C++
tests: avoid a spurious failures for shells with busted 'set -e'
maint: simplify generation of files with @substed@ stuff
tests: remove redundant requirement
tests: make two test scripts executable
t/README: update w.r.t. recent overhaul (non-recursive build system)
docs: fix names of relevant test cases in comments
NEWS: automake build systems avoids make recursion
maint: no more make recursion in Automake's build system
tests: rename 'tests/' => 't/', '*.test' => '*.sh'
tests: remove recipes that run tests with 'prove'
tests: move most helper scripts and files into the 'ax' subdirectory
maint: remove most recursion in automake's own build system
tests: fix a spurious failures with non-GNU make
+ Extra non-trivial edits:
* Makefile.am: Remove new uses of 'AM_MAKEFLAGS' throughout.
(dist_automake_ac_DATA): Do not list 'm4/depout.m4' nor
'm4/make.m4'.
* syntax-checks.m4: Use '$(xdefs)' instead of hard-coding the
older paths of 'defs' and 'defs-static.in'. Use 't/README'
instead of 'tests/README'.
* t/instdir-no-empty.sh: Remove uses of 'AM_MAKEFLAGS'.
* tests/depcomp-recover.test: Renamed ...
* t/depcomp-recover.sh: ... to this.
* tests/gmake-vars.test: Renamed ...
* t/gmake-vars.sh: ... to this.
* tests/interp3.test: Renamed ...
* t/interp3.sh: ... to this.
* tests/objdir.test: Renamed ...
* t/objdir.sh: ... to this.
* tests/spy-vpath-rewrite.test: Renamed ...
* t/spy-vpath-rewrite.sh: ... to this.
* tests/vpath-rewrite.test: Renamed ...
* t/vpath-rewrite.sh: ... to this.
* tests/yacc-subobj-nodep.test: Renamed ...
* t/yacc-subobj-nodep.sh: ... to this.
* tests/depcomp-shuffle.sh: Renamed ...
* t/ax/depcomp-shuffle.sh: ... to this, and removed executable bit.
* t/depcomp-shuffle-sub-vpath.sh: Adjust.
* t/depcomp-shuffle-sub.sh: Likewise.
* t/depcomp-shuffle-vpath.sh: Likewise.
* t/depcomp-shuffle.sh: Likewise.
* gen-testsuite-part: Likewise.
* t/list-of-tests.mk: Do not list tests that had been already
removed from the Automake-NG testsuite. Take into account the
renames above.
Signed-off-by: Stefano Lattarini <address@hidden>
-----------------------------------------------------------------------
Summary of changes:
.gitignore | 56 +-
Makefile.am | 572 ++++++++-
NEWS | 3 +
README | 2 +-
THANKS | 1 +
bootstrap | 8 +-
configure.ac | 25 +-
contrib/Makefile.am | 27 -
defs | 980 +++++++++++++++
defs-static.in | 244 ++++
doc/Makefile.am | 89 --
doc/automake.texi | 94 +-
gen-testsuite-part | 420 +++++++
lib/Makefile.am | 162 ---
m4/Makefile.am | 73 --
syntax-checks.mk | 42 +-
{tests => t}/CheckListOfTests.am | 0
t/README | 284 +++++
{tests => t}/ac-output-old.tap | 0
tests/acloca10.test => t/acloca10.sh | 0
tests/acloca11.test => t/acloca11.sh | 0
tests/acloca12.test => t/acloca12.sh | 0
tests/acloca13.test => t/acloca13.sh | 0
tests/acloca14.test => t/acloca14.sh | 0
tests/acloca15.test => t/acloca15.sh | 0
tests/acloca16.test => t/acloca16.sh | 0
tests/acloca17.test => t/acloca17.sh | 0
tests/acloca18.test => t/acloca18.sh | 0
tests/acloca19.test => t/acloca19.sh | 0
tests/acloca20.test => t/acloca20.sh | 0
tests/acloca21.test => t/acloca21.sh | 0
tests/acloca22.test => t/acloca22.sh | 0
tests/acloca23.test => t/acloca23.sh | 0
tests/aclocal-acdir.test => t/aclocal-acdir.sh | 0
.../aclocal-install-absdir.sh | 0
.../aclocal-install-fail.sh | 0
.../aclocal-install-mkdir.sh | 0
.../aclocal-no-install-no-mkdir.sh | 0
.../aclocal-path-install-serial.sh | 0
.../aclocal-path-install.sh | 0
.../aclocal-path-nonexistent.sh | 0
.../aclocal-path-precedence.sh | 0
tests/aclocal-path.test => t/aclocal-path.sh | 0
.../aclocal-print-acdir.sh | 0
.../aclocal-verbose-install.sh | 0
tests/aclocal.test => t/aclocal.sh | 0
tests/aclocal3.test => t/aclocal3.sh | 0
tests/aclocal4.test => t/aclocal4.sh | 0
tests/aclocal5.test => t/aclocal5.sh | 0
tests/aclocal6.test => t/aclocal6.sh | 0
tests/aclocal7.test => t/aclocal7.sh | 0
tests/aclocal8.test => t/aclocal8.sh | 0
tests/aclocal9.test => t/aclocal9.sh | 0
tests/acsilent.test => t/acsilent.sh | 0
tests/acsubst.test => t/acsubst.sh | 0
tests/acsubst2.test => t/acsubst2.sh | 0
{tests => t}/add-missing.tap | 0
tests/all.test => t/all.sh | 0
tests/all2.test => t/all2.sh | 0
tests/alloca.test => t/alloca.sh | 0
tests/alloca2.test => t/alloca2.sh | 0
tests/alpha.test => t/alpha.sh | 0
tests/alpha2.test => t/alpha2.sh | 0
.../am-tests-environment.sh | 0
tests/amassign.test => t/amassign.sh | 0
tests/amhello-binpkg.test => t/amhello-binpkg.sh | 0
tests/amhello-cflags.test => t/amhello-cflags.sh | 0
.../amhello-cross-compile.sh | 0
tests/ammissing.test => t/ammissing.sh | 0
tests/amopt.test => t/amopt.sh | 0
tests/amopts-location.test => t/amopts-location.sh | 0
.../amopts-variable-expansion.sh | 0
tests/amsubst.test => t/amsubst.sh | 0
.../ansi2knr-no-more.test => t/ansi2knr-no-more.sh | 0
tests/ar-lib.test => t/ar-lib.sh | 0
tests/ar-lib2.test => t/ar-lib2.sh | 0
tests/ar-lib3.test => t/ar-lib3.sh | 0
tests/ar-lib4.test => t/ar-lib4.sh | 0
tests/ar-lib5a.test => t/ar-lib5a.sh | 0
tests/ar-lib5b.test => t/ar-lib5b.sh | 0
tests/ar-lib6a.test => t/ar-lib6a.sh | 0
tests/ar-lib6b.test => t/ar-lib6b.sh | 0
tests/ar-lib7.test => t/ar-lib7.sh | 0
tests/ar.test => t/ar.sh | 0
tests/ar2.test => t/ar2.sh | 0
tests/ar3.test => t/ar3.sh | 0
tests/ar4.test => t/ar4.sh | 0
tests/ar5.test => t/ar5.sh | 0
tests/asm.test => t/asm.sh | 0
tests/asm2.test => t/asm2.sh | 0
tests/asm3.test => t/asm3.sh | 0
.../autodist-acconfig-no-subdir.sh | 0
.../autodist-acconfig.sh | 0
.../autodist-aclocal-m4.sh | 0
.../autodist-config-headers.sh | 0
.../autodist-configure-no-subdir.sh | 0
.../autodist-no-duplicate.sh | 0
.../autodist-stamp-vti.sh | 0
tests/autodist-subdir.test => t/autodist-subdir.sh | 0
tests/autodist.test => t/autodist.sh | 0
tests/autohdr.test => t/autohdr.sh | 0
tests/autohdr2.test => t/autohdr2.sh | 0
tests/autohdr3.test => t/autohdr3.sh | 0
tests/autohdr4.test => t/autohdr4.sh | 0
tests/autohdrdry.test => t/autohdrdry.sh | 0
{tests => t}/automake-cmdline.tap | 0
.../auxdir-autodetect.sh | 0
{tests => t}/auxdir-computed.tap | 0
.../auxdir-misplaced.test => t/auxdir-misplaced.sh | 0
.../auxdir-nonexistent.sh | 0
{tests => t}/auxdir-unportable.tap | 0
tests/auxdir.test => t/auxdir.sh | 0
tests/auxdir6.test => t/auxdir6.sh | 0
tests/auxdir7.test => t/auxdir7.sh | 0
tests/auxdir8.test => t/auxdir8.sh | 0
{tests => t/ax}/depcomp-shuffle.sh | 0
{tests => t/ax}/depcomp.sh | 0
{tests => t/ax}/distcheck-hook-m4.am | 0
.../ax/extract-testsuite-summary.pl | 0
{tests => t}/ax/is | 0
{tests => t/ax}/plain-functions.sh | 0
{tests => t/ax}/tap-functions.sh | 0
t/ax/tap-setup.sh | 47 +
t/ax/tap-summary-aux.sh | 359 ++++++
t/ax/testsuite-summary-checks.sh | 105 ++
{tests => t/ax}/trivial-test-driver | 0
tests/backcompat.test => t/backcompat.sh | 0
tests/backcompat2.test => t/backcompat2.sh | 0
tests/backcompat3.test => t/backcompat3.sh | 0
tests/backcompat4.test => t/backcompat4.sh | 0
tests/backcompat5.test => t/backcompat5.sh | 0
tests/backcompat6.test => t/backcompat6.sh | 0
tests/backsl.test => t/backsl.sh | 0
tests/backsl2.test => t/backsl2.sh | 0
tests/backsl3.test => t/backsl3.sh | 0
tests/backsl4.test => t/backsl4.sh | 0
tests/badline.test => t/badline.sh | 0
tests/badopt.test => t/badopt.sh | 0
tests/badprog.test => t/badprog.sh | 0
tests/block.test => t/block.sh | 0
tests/bsource.test => t/bsource.sh | 0
tests/candist.test => t/candist.sh | 0
tests/canon-name.test => t/canon-name.sh | 0
tests/canon.test => t/canon.sh | 0
tests/canon2.test => t/canon2.sh | 0
tests/canon3.test => t/canon3.sh | 0
tests/canon4.test => t/canon4.sh | 0
tests/canon5.test => t/canon5.sh | 0
tests/canon6.test => t/canon6.sh | 0
tests/canon7.test => t/canon7.sh | 0
tests/canon8.test => t/canon8.sh | 0
t/ccnoco.sh | 83 ++
tests/ccnoco2.test => t/ccnoco2.sh | 0
t/ccnoco3.sh | 77 ++
.../check-concurrency-bug9245.sh | 0
.../check-exported-srcdir.sh | 0
.../check-fd-redirect.sh | 0
.../check-no-test-driver.sh | 0
.../check-subst-prog.test => t/check-subst-prog.sh | 0
tests/check-subst.test => t/check-subst.sh | 0
.../check-tests-in-builddir.sh | 0
tests/check.test => t/check.sh | 0
tests/check10.test => t/check10.sh | 0
tests/check11.test => t/check11.sh | 0
tests/check12.test => t/check12.sh | 0
tests/check2.test => t/check2.sh | 0
tests/check3.test => t/check3.sh | 0
tests/check4.test => t/check4.sh | 0
tests/check5.test => t/check5.sh | 0
tests/check6.test => t/check6.sh | 0
tests/check7.test => t/check7.sh | 0
tests/check8.test => t/check8.sh | 0
tests/checkall.test => t/checkall.sh | 0
tests/clean.test => t/clean.sh | 0
tests/clean2.test => t/clean2.sh | 0
tests/colneq2.test => t/colneq2.sh | 0
tests/colon.test => t/colon.sh | 0
tests/colon2.test => t/colon2.sh | 0
tests/colon3.test => t/colon3.sh | 0
tests/colon4.test => t/colon4.sh | 0
tests/colon5.test => t/colon5.sh | 0
tests/colon6.test => t/colon6.sh | 0
tests/colon7.test => t/colon7.sh | 0
tests/color.test => t/color.sh | 0
tests/color2.test => t/color2.sh | 0
tests/commen10.test => t/commen10.sh | 0
tests/commen11.test => t/commen11.sh | 0
tests/comment.test => t/comment.sh | 0
tests/comment2.test => t/comment2.sh | 0
tests/comment3.test => t/comment3.sh | 0
tests/comment4.test => t/comment4.sh | 0
tests/comment5.test => t/comment5.sh | 0
tests/comment6.test => t/comment6.sh | 0
tests/comment7.test => t/comment7.sh | 0
tests/comment8.test => t/comment8.sh | 0
tests/comment9.test => t/comment9.sh | 0
.../comments-in-var-def.sh | 0
tests/compile.test => t/compile.sh | 0
tests/compile2.test => t/compile2.sh | 0
tests/compile3.test => t/compile3.sh | 0
tests/compile4.test => t/compile4.sh | 0
tests/compile5.test => t/compile5.sh | 0
tests/compile6.test => t/compile6.sh | 0
.../compile_f90_c_cxx.sh | 0
tests/compile_f_c_cxx.test => t/compile_f_c_cxx.sh | 0
tests/cond-basic.test => t/cond-basic.sh | 0
tests/cond.test => t/cond.sh | 0
tests/cond10.test => t/cond10.sh | 0
tests/cond11.test => t/cond11.sh | 0
tests/cond13.test => t/cond13.sh | 0
tests/cond14.test => t/cond14.sh | 0
tests/cond15.test => t/cond15.sh | 0
tests/cond16.test => t/cond16.sh | 0
tests/cond17.test => t/cond17.sh | 0
tests/cond18.test => t/cond18.sh | 0
tests/cond19.test => t/cond19.sh | 0
tests/cond2.test => t/cond2.sh | 0
tests/cond20.test => t/cond20.sh | 0
tests/cond21.test => t/cond21.sh | 0
tests/cond22.test => t/cond22.sh | 0
tests/cond23.test => t/cond23.sh | 0
tests/cond24.test => t/cond24.sh | 0
tests/cond25.test => t/cond25.sh | 0
tests/cond26.test => t/cond26.sh | 0
tests/cond27.test => t/cond27.sh | 0
tests/cond28.test => t/cond28.sh | 0
tests/cond29.test => t/cond29.sh | 0
tests/cond3.test => t/cond3.sh | 0
tests/cond30.test => t/cond30.sh | 0
tests/cond31.test => t/cond31.sh | 0
tests/cond32.test => t/cond32.sh | 0
tests/cond33.test => t/cond33.sh | 0
tests/cond34.test => t/cond34.sh | 0
tests/cond35.test => t/cond35.sh | 0
tests/cond36.test => t/cond36.sh | 0
tests/cond37.test => t/cond37.sh | 0
tests/cond38.test => t/cond38.sh | 0
tests/cond39.test => t/cond39.sh | 0
tests/cond4.test => t/cond4.sh | 0
tests/cond40.test => t/cond40.sh | 0
tests/cond41.test => t/cond41.sh | 0
tests/cond42.test => t/cond42.sh | 0
tests/cond43.test => t/cond43.sh | 0
tests/cond44.test => t/cond44.sh | 0
tests/cond45.test => t/cond45.sh | 0
tests/cond46.test => t/cond46.sh | 0
tests/cond5.test => t/cond5.sh | 0
tests/cond6.test => t/cond6.sh | 0
tests/cond7.test => t/cond7.sh | 0
tests/cond8.test => t/cond8.sh | 0
tests/cond9.test => t/cond9.sh | 0
tests/condd.test => t/condd.sh | 0
tests/condhook.test => t/condhook.sh | 0
tests/condhook2.test => t/condhook2.sh | 0
tests/condinc.test => t/condinc.sh | 0
tests/condinc2.test => t/condinc2.sh | 0
tests/condlib.test => t/condlib.sh | 0
tests/condman2.test => t/condman2.sh | 0
tests/condman3.test => t/condman3.sh | 0
tests/confdeps.test => t/confdeps.sh | 0
tests/conff.test => t/conff.sh | 0
tests/conff2.test => t/conff2.sh | 0
.../conffile-leading-dot.sh | 0
tests/confh.test => t/confh.sh | 0
tests/confh4.test => t/confh4.sh | 0
tests/confh5.test => t/confh5.sh | 0
tests/confh6.test => t/confh6.sh | 0
tests/confh7.test => t/confh7.sh | 0
tests/confh8.test => t/confh8.sh | 0
tests/configure.test => t/configure.sh | 0
tests/confincl.test => t/confincl.sh | 0
tests/conflnk.test => t/conflnk.sh | 0
tests/conflnk2.test => t/conflnk2.sh | 0
tests/conflnk3.test => t/conflnk3.sh | 0
tests/conflnk4.test => t/conflnk4.sh | 0
tests/confsub.test => t/confsub.sh | 0
tests/confvar.test => t/confvar.sh | 0
tests/confvar2.test => t/confvar2.sh | 0
tests/copy.test => t/copy.sh | 0
{tests => t}/cscope.tap | 0
tests/cscope2.test => t/cscope2.sh | 0
tests/cscope3.test => t/cscope3.sh | 0
tests/cxx.test => t/cxx.sh | 0
tests/cxx2.test => t/cxx2.sh | 0
tests/cxxcpp.test => t/cxxcpp.sh | 0
tests/cxxlibobj.test => t/cxxlibobj.sh | 0
tests/cxxlink.test => t/cxxlink.sh | 0
tests/cxxnoc.test => t/cxxnoc.sh | 0
tests/cxxo.test => t/cxxo.sh | 0
.../cygnus-check-without-all.sh | 0
.../cygnus-dependency-tracking.sh | 0
.../cygnus-imply-foreign.sh | 0
tests/cygnus-no-dist.test => t/cygnus-no-dist.sh | 0
.../cygnus-no-installinfo.sh | 0
.../cygnus-requires-maintainer-mode.sh | 0
tests/cygwin32.test => t/cygwin32.sh | 0
tests/dash.test => t/dash.sh | 0
tests/defun.test => t/defun.sh | 0
tests/defun2.test => t/defun2.sh | 0
.../dejagnu-absolute-builddir.sh | 0
.../dejagnu-relative-srcdir.sh | 0
.../dejagnu-siteexp-append.sh | 0
.../dejagnu-siteexp-extend.sh | 0
.../dejagnu-siteexp-useredit.sh | 0
tests/dejagnu.test => t/dejagnu.sh | 0
tests/dejagnu2.test => t/dejagnu2.sh | 0
tests/dejagnu3.test => t/dejagnu3.sh | 0
tests/dejagnu4.test => t/dejagnu4.sh | 0
tests/dejagnu5.test => t/dejagnu5.sh | 0
tests/dejagnu6.test => t/dejagnu6.sh | 0
tests/dejagnu7.test => t/dejagnu7.sh | 0
tests/deleted-am.test => t/deleted-am.sh | 0
tests/deleted-m4.test => t/deleted-m4.sh | 0
tests/depacl2.test => t/depacl2.sh | 0
tests/depcomp-recover.test => t/depcomp-recover.sh | 0
t/depcomp-shuffle-sub-vpath.sh | 23 +
t/depcomp-shuffle-sub.sh | 23 +
t/depcomp-shuffle-vpath.sh | 23 +
t/depcomp-shuffle.sh | 23 +
tests/depcomp.test => t/depcomp.sh | 0
tests/depcomp2.test => t/depcomp2.sh | 0
tests/depcomp8a.test => t/depcomp8a.sh | 0
tests/depcomp8b.test => t/depcomp8b.sh | 0
tests/depdist.test => t/depdist.sh | 0
tests/depend.test => t/depend.sh | 0
tests/depend3.test => t/depend3.sh | 0
tests/depend4.test => t/depend4.sh | 0
.../deprecated-acinit.sh | 0
tests/destdir.test => t/destdir.sh | 0
tests/dirlist-abspath.test => t/dirlist-abspath.sh | 0
tests/dirlist.test => t/dirlist.sh | 0
tests/dirlist2.test => t/dirlist2.sh | 0
tests/discover.test => t/discover.sh | 0
.../dist-auxdir-many-subdirs.sh | 0
tests/dist-auxfile-2.test => t/dist-auxfile-2.sh | 0
tests/dist-auxfile.test => t/dist-auxfile.sh | 0
{tests => t}/dist-formats.tap | 0
.../dist-included-parent-dir.sh | 0
tests/dist-missing-am.test => t/dist-missing-am.sh | 0
.../dist-missing-included-m4.sh | 0
tests/dist-missing-m4.test => t/dist-missing-m4.sh | 0
tests/dist-pr109765.test => t/dist-pr109765.sh | 0
tests/dist-readonly.test => t/dist-readonly.sh | 0
tests/dist-repeated.test => t/dist-repeated.sh | 0
.../distcheck-configure-flags-am.sh | 0
.../distcheck-configure-flags-subpkg.sh | 0
.../distcheck-configure-flags.sh | 0
tests/distcheck-hook.test => t/distcheck-hook.sh | 0
tests/distcheck-hook2.test => t/distcheck-hook2.sh | 0
t/distcheck-missing-m4.sh | 116 ++
t/distcheck-outdated-m4.sh | 134 ++
.../distcheck-override-infodir.sh | 0
.../distcheck-pr10470.sh | 0
.../distcheck-pr9579.test => t/distcheck-pr9579.sh | 0
.../distcheck-writable-srcdir.sh | 0
tests/distcleancheck.test => t/distcleancheck.sh | 0
tests/distcom-subdir.test => t/distcom-subdir.sh | 0
tests/distcom2.test => t/distcom2.sh | 0
tests/distcom3.test => t/distcom3.sh | 0
tests/distcom4.test => t/distcom4.sh | 0
tests/distcom5.test => t/distcom5.sh | 0
tests/distdir.test => t/distdir.sh | 0
tests/disthook.test => t/disthook.sh | 0
tests/distlinks.test => t/distlinks.sh | 0
tests/distlinksbrk.test => t/distlinksbrk.sh | 0
tests/distname.test => t/distname.sh | 0
tests/dmalloc.test => t/dmalloc.sh | 0
.../doc-parsing-buglets-tabs.sh | 0
tests/dollar.test => t/dollar.sh | 0
tests/double.test => t/double.sh | 0
tests/dup2.test => t/dup2.sh | 0
tests/else.test => t/else.sh | 0
tests/empty.test => t/empty.sh | 0
tests/empty2.test => t/empty2.sh | 0
tests/empty3.test => t/empty3.sh | 0
tests/empty4.test => t/empty4.sh | 0
tests/exdir.test => t/exdir.sh | 0
tests/exdir2.test => t/exdir2.sh | 0
tests/exdir3.test => t/exdir3.sh | 0
tests/exeext.test => t/exeext.sh | 0
tests/exeext2.test => t/exeext2.sh | 0
tests/exeext3.test => t/exeext3.sh | 0
tests/exeext4.test => t/exeext4.sh | 0
tests/exsource.test => t/exsource.sh | 0
tests/ext.test => t/ext.sh | 0
tests/ext2.test => t/ext2.sh | 0
tests/ext3.test => t/ext3.sh | 0
.../extra-portability.sh | 0
.../extra-portability2.sh | 0
.../extra-programs-empty.sh | 0
tests/extra.test => t/extra.sh | 0
tests/extra10.test => t/extra10.sh | 0
tests/extra11.test => t/extra11.sh | 0
tests/extra12.test => t/extra12.sh | 0
tests/extra2.test => t/extra2.sh | 0
tests/extra3.test => t/extra3.sh | 0
tests/extra4.test => t/extra4.sh | 0
tests/extra5.test => t/extra5.sh | 0
tests/extra6.test => t/extra6.sh | 0
tests/extra7.test => t/extra7.sh | 0
tests/extra8.test => t/extra8.sh | 0
tests/extra9.test => t/extra9.sh | 0
tests/extradep.test => t/extradep.sh | 0
tests/extradep2.test => t/extradep2.sh | 0
tests/f90only.test => t/f90only.sh | 0
tests/flavor.test => t/flavor.sh | 0
tests/flibs.test => t/flibs.sh | 0
tests/fn99.test => t/fn99.sh | 0
tests/fn99subdir.test => t/fn99subdir.sh | 0
tests/fnoc.test => t/fnoc.sh | 0
tests/fo.test => t/fo.sh | 0
tests/fonly.test => t/fonly.sh | 0
tests/forcemiss.test => t/forcemiss.sh | 0
tests/forcemiss2.test => t/forcemiss2.sh | 0
tests/fort1.test => t/fort1.sh | 0
tests/fort2.test => t/fort2.sh | 0
tests/fort4.test => t/fort4.sh | 0
tests/fort5.test => t/fort5.sh | 0
tests/fortdep.test => t/fortdep.sh | 0
tests/gcj.test => t/gcj.sh | 0
tests/gcj2.test => t/gcj2.sh | 0
tests/gcj3.test => t/gcj3.sh | 0
tests/gcj4.test => t/gcj4.sh | 0
tests/gcj5.test => t/gcj5.sh | 0
tests/gcj6.test => t/gcj6.sh | 0
t/get-sysconf.sh | 62 +
tests/gettext-macros.test => t/gettext-macros.sh | 0
tests/gettext.test => t/gettext.sh | 0
tests/gettext2.test => t/gettext2.sh | 0
tests/gettext3.test => t/gettext3.sh | 0
tests/gmake-vars.test => t/gmake-vars.sh | 0
tests/gnits.test => t/gnits.sh | 0
tests/gnits2.test => t/gnits2.sh | 0
tests/gnits3.test => t/gnits3.sh | 0
tests/gnumake.test => t/gnumake.sh | 0
tests/gnuwarn.test => t/gnuwarn.sh | 0
tests/gnuwarn2.test => t/gnuwarn2.sh | 0
.../hdr-vars-defined-once.sh | 0
tests/header.test => t/header.sh | 0
tests/help-depend.test => t/help-depend.sh | 0
tests/help-depend2.test => t/help-depend2.sh | 0
tests/help-dmalloc.test => t/help-dmalloc.sh | 0
tests/help-init.test => t/help-init.sh | 0
tests/help-lispdir.test => t/help-lispdir.sh | 0
t/help-multilib.sh | 34 +
tests/help-python.test => t/help-python.sh | 0
tests/help-silent.test => t/help-silent.sh | 0
tests/help-upc.test => t/help-upc.sh | 0
tests/help.test => t/help.sh | 0
tests/help2.test => t/help2.sh | 0
tests/help3.test => t/help3.sh | 0
tests/help4.test => t/help4.sh | 0
tests/hfs.test => t/hfs.sh | 0
tests/implicit.test => t/implicit.sh | 0
tests/info.test => t/info.sh | 0
tests/init.test => t/init.sh | 0
tests/init2.test => t/init2.sh | 0
tests/insh2.test => t/insh2.sh | 0
t/install-info-dir.sh | 177 +++
tests/install2.test => t/install2.sh | 0
tests/installdir.test => t/installdir.sh | 0
tests/instdat.test => t/instdat.sh | 0
tests/instdat2.test => t/instdat2.sh | 0
tests/instdir-cond.test => t/instdir-cond.sh | 0
tests/instdir-cond2.test => t/instdir-cond2.sh | 0
tests/instdir-java.test => t/instdir-java.sh | 0
tests/instdir-lisp.test => t/instdir-lisp.sh | 0
tests/instdir-ltlib.test => t/instdir-ltlib.sh | 0
.../instdir-no-empty.test => t/instdir-no-empty.sh | 0
tests/instdir-prog.test => t/instdir-prog.sh | 0
tests/instdir-python.test => t/instdir-python.sh | 0
tests/instdir-texi.test => t/instdir-texi.sh | 0
tests/instdir.test => t/instdir.sh | 0
tests/instdir2.test => t/instdir2.sh | 0
tests/instexec.test => t/instexec.sh | 0
tests/instfail-info.test => t/instfail-info.sh | 0
tests/instfail-java.test => t/instfail-java.sh | 0
.../instfail-libtool.test => t/instfail-libtool.sh | 0
tests/instfail.test => t/instfail.sh | 0
tests/insthook.test => t/insthook.sh | 0
tests/instman.test => t/instman.sh | 0
tests/instman2.test => t/instman2.sh | 0
tests/instmany-mans.test => t/instmany-mans.sh | 0
tests/instmany-python.test => t/instmany-python.sh | 0
tests/instmany.test => t/instmany.sh | 0
tests/instsh.test => t/instsh.sh | 0
tests/instsh2.test => t/instsh2.sh | 0
tests/instsh3.test => t/instsh3.sh | 0
{tests => t}/instspc.tap | 0
tests/interp.test => t/interp.sh | 0
tests/interp2.test => t/interp2.sh | 0
tests/interp3.test => t/interp3.sh | 0
tests/java-check.test => t/java-check.sh | 0
tests/java-clean.test => t/java-clean.sh | 0
.../java-compile-install.sh | 0
.../java-compile-run-flat.sh | 0
.../java-compile-run-nested.sh | 0
.../java-empty-classpath.sh | 0
tests/java-extra.test => t/java-extra.sh | 0
tests/java-mix.test => t/java-mix.sh | 0
.../java-no-duplicate.sh | 0
tests/java-nobase.test => t/java-nobase.sh | 0
tests/java-noinst.test => t/java-noinst.sh | 0
tests/java-rebuild.test => t/java-rebuild.sh | 0
tests/java-sources.test => t/java-sources.sh | 0
tests/java-uninstall.test => t/java-uninstall.sh | 0
tests/java.test => t/java.sh | 0
tests/java2.test => t/java2.sh | 0
tests/java3.test => t/java3.sh | 0
.../javadir-undefined.sh | 0
tests/javaflags.test => t/javaflags.sh | 0
tests/javaprim.test => t/javaprim.sh | 0
tests/javasubst.test => t/javasubst.sh | 0
tests/ldadd.test => t/ldadd.sh | 0
tests/ldflags.test => t/ldflags.sh | 0
t/lex-clean-cxx.sh | 127 ++
tests/lex-clean.test => t/lex-clean.sh | 0
t/lex-depend-cxx.sh | 96 ++
tests/lex-depend-grep.test => t/lex-depend-grep.sh | 0
tests/lex-depend.test => t/lex-depend.sh | 0
.../lex-lib-external.test => t/lex-lib-external.sh | 0
tests/lex-lib.test => t/lex-lib.sh | 0
tests/lex-libobj.test => t/lex-libobj.sh | 0
tests/lex-line.test => t/lex-line.sh | 0
tests/lex-nodist.test => t/lex-nodist.sh | 0
tests/lex-noyywrap.test => t/lex-noyywrap.sh | 0
tests/lex-pr204.test => t/lex-pr204.sh | 0
.../lex-subobj-nodep.test => t/lex-subobj-nodep.sh | 0
tests/lex.test => t/lex.sh | 0
tests/lex2.test => t/lex2.sh | 0
tests/lex3.test => t/lex3.sh | 0
tests/lex5.test => t/lex5.sh | 0
tests/lexcpp.test => t/lexcpp.sh | 0
tests/lexvpath.test => t/lexvpath.sh | 0
tests/lflags.test => t/lflags.sh | 0
tests/lflags2.test => t/lflags2.sh | 0
tests/libexec.test => t/libexec.sh | 0
tests/libobj-basic.test => t/libobj-basic.sh | 0
tests/libobj10.test => t/libobj10.sh | 0
tests/libobj12.test => t/libobj12.sh | 0
tests/libobj13.test => t/libobj13.sh | 0
tests/libobj14.test => t/libobj14.sh | 0
tests/libobj15a.test => t/libobj15a.sh | 0
tests/libobj15b.test => t/libobj15b.sh | 0
tests/libobj15c.test => t/libobj15c.sh | 0
tests/libobj16a.test => t/libobj16a.sh | 0
tests/libobj16b.test => t/libobj16b.sh | 0
tests/libobj17.test => t/libobj17.sh | 0
tests/libobj18.test => t/libobj18.sh | 0
tests/libobj19.test => t/libobj19.sh | 0
tests/libobj2.test => t/libobj2.sh | 0
tests/libobj20a.test => t/libobj20a.sh | 0
tests/libobj20b.test => t/libobj20b.sh | 0
tests/libobj20c.test => t/libobj20c.sh | 0
tests/libobj3.test => t/libobj3.sh | 0
tests/libobj4.test => t/libobj4.sh | 0
tests/libobj5.test => t/libobj5.sh | 0
tests/libobj7.test => t/libobj7.sh | 0
tests/library.test => t/library.sh | 0
tests/library2.test => t/library2.sh | 0
tests/library3.test => t/library3.sh | 0
tests/libtoo10.test => t/libtoo10.sh | 0
tests/libtoo11.test => t/libtoo11.sh | 0
tests/libtool-macros.test => t/libtool-macros.sh | 0
tests/libtool.test => t/libtool.sh | 0
tests/libtool2.test => t/libtool2.sh | 0
tests/libtool3.test => t/libtool3.sh | 0
tests/libtool4.test => t/libtool4.sh | 0
tests/libtool5.test => t/libtool5.sh | 0
tests/libtool6.test => t/libtool6.sh | 0
tests/libtool7.test => t/libtool7.sh | 0
tests/libtool8.test => t/libtool8.sh | 0
tests/libtool9.test => t/libtool9.sh | 0
tests/license.test => t/license.sh | 0
tests/license2.test => t/license2.sh | 0
tests/link_c_cxx.test => t/link_c_cxx.sh | 0
tests/link_cond.test => t/link_cond.sh | 0
tests/link_dist.test => t/link_dist.sh | 0
tests/link_f90_only.test => t/link_f90_only.sh | 0
tests/link_f_only.test => t/link_f_only.sh | 0
tests/link_fc.test => t/link_fc.sh | 0
tests/link_fccxx.test => t/link_fccxx.sh | 0
tests/link_fcxx.test => t/link_fcxx.sh | 0
tests/link_override.test => t/link_override.sh | 0
tests/lisp2.test => t/lisp2.sh | 0
tests/lisp3.test => t/lisp3.sh | 0
tests/lisp4.test => t/lisp4.sh | 0
tests/lisp5.test => t/lisp5.sh | 0
tests/lisp6.test => t/lisp6.sh | 0
tests/lisp7.test => t/lisp7.sh | 0
tests/lisp8.test => t/lisp8.sh | 0
tests/lispdry.test => t/lispdry.sh | 0
t/list-of-tests.mk | 1267 ++++++++++++++++++++
tests/listval.test => t/listval.sh | 0
tests/location.test => t/location.sh | 0
tests/longlin2.test => t/longlin2.sh | 0
tests/longline.test => t/longline.sh | 0
tests/ltcond.test => t/ltcond.sh | 0
tests/ltcond2.test => t/ltcond2.sh | 0
tests/ltconv.test => t/ltconv.sh | 0
tests/ltdeps.test => t/ltdeps.sh | 0
tests/ltinit.test => t/ltinit.sh | 0
tests/ltinstloc.test => t/ltinstloc.sh | 0
tests/ltlibobjs.test => t/ltlibobjs.sh | 0
tests/ltlibsrc.test => t/ltlibsrc.sh | 0
tests/ltorder.test => t/ltorder.sh | 0
tests/lzma.test => t/lzma.sh | 0
tests/m4-inclusion.test => t/m4-inclusion.sh | 0
.../maintclean-vpath.test => t/maintclean-vpath.sh | 0
tests/maintclean.test => t/maintclean.sh | 0
.../maintmode-configure-msg.sh | 0
{tests => t}/make-dryrun.tap | 0
tests/makefile-deps.test => t/makefile-deps.sh | 0
tests/makej.test => t/makej.sh | 0
tests/makej2.test => t/makej2.sh | 0
tests/maken.test => t/maken.sh | 0
tests/maken3.test => t/maken3.sh | 0
tests/makevars.test => t/makevars.sh | 0
tests/man.test => t/man.sh | 0
tests/man2.test => t/man2.sh | 0
tests/man3.test => t/man3.sh | 0
tests/man4.test => t/man4.sh | 0
tests/man5.test => t/man5.sh | 0
tests/man6.test => t/man6.sh | 0
tests/man7.test => t/man7.sh | 0
tests/man8.test => t/man8.sh | 0
tests/mdate.test => t/mdate.sh | 0
tests/mdate2.test => t/mdate2.sh | 0
tests/mdate3.test => t/mdate3.sh | 0
tests/mdate4.test => t/mdate4.sh | 0
tests/mdate5.test => t/mdate5.sh | 0
tests/mdate6.test => t/mdate6.sh | 0
.../missing-auxfile-stops-makefiles-creation.sh | 0
tests/missing.test => t/missing.sh | 0
tests/missing2.test => t/missing2.sh | 0
tests/missing3.test => t/missing3.sh | 0
tests/missing4.test => t/missing4.sh | 0
tests/missing5.test => t/missing5.sh | 0
tests/missing6.test => t/missing6.sh | 0
tests/mkinst2.test => t/mkinst2.sh | 0
tests/mkinst3.test => t/mkinst3.sh | 0
tests/mkinstall.test => t/mkinstall.sh | 0
tests/mmode.test => t/mmode.sh | 0
tests/mmodely.test => t/mmodely.sh | 0
t/multlib.sh | 162 +++
.../no-extra-makefile-code.sh | 0
.../no-outdir-option.test => t/no-outdir-option.sh | 0
tests/nobase-libtool.test => t/nobase-libtool.sh | 0
tests/nobase-nodist.test => t/nobase-nodist.sh | 0
tests/nobase-python.test => t/nobase-python.sh | 0
tests/nobase.test => t/nobase.sh | 0
tests/nodef.test => t/nodef.sh | 0
tests/nodef2.test => t/nodef2.sh | 0
tests/nodep.test => t/nodep.sh | 0
tests/nodep2.test => t/nodep2.sh | 0
tests/nodepcomp.test => t/nodepcomp.sh | 0
tests/nodist.test => t/nodist.sh | 0
tests/nodist2.test => t/nodist2.sh | 0
tests/nodist3.test => t/nodist3.sh | 0
tests/noinst.test => t/noinst.sh | 0
tests/noinstdir.test => t/noinstdir.sh | 0
tests/nolink.test => t/nolink.sh | 0
tests/nostdinc.test => t/nostdinc.sh | 0
tests/notrans.test => t/notrans.sh | 0
tests/number.test => t/number.sh | 0
tests/objc.test => t/objc.sh | 0
tests/objc2.test => t/objc2.sh | 0
tests/objdir.test => t/objdir.sh | 0
tests/objext-pr10128.test => t/objext-pr10128.sh | 0
tests/obsolete.test => t/obsolete.sh | 0
tests/oldvars.test => t/oldvars.sh | 0
tests/order.test => t/order.sh | 0
tests/output-order.test => t/output-order.sh | 0
tests/output.test => t/output.sh | 0
tests/output10.test => t/output10.sh | 0
tests/output11.test => t/output11.sh | 0
tests/output12.test => t/output12.sh | 0
tests/output13.test => t/output13.sh | 0
tests/output2.test => t/output2.sh | 0
tests/output3.test => t/output3.sh | 0
tests/output4.test => t/output4.sh | 0
tests/output5.test => t/output5.sh | 0
tests/output6.test => t/output6.sh | 0
tests/output7.test => t/output7.sh | 0
tests/output8.test => t/output8.sh | 0
tests/output9.test => t/output9.sh | 0
.../override-conditional-1.sh | 0
.../override-conditional-2.sh | 0
tests/override-html.test => t/override-html.sh | 0
.../override-suggest-local.sh | 0
tests/parallel-am.test => t/parallel-am.sh | 0
tests/parallel-am2.test => t/parallel-am2.sh | 0
tests/parallel-am3.test => t/parallel-am3.sh | 0
.../parallel-tests-cmdline-override.sh | 0
.../parallel-tests-console-output.sh | 0
.../parallel-tests-driver-install.sh | 0
.../parallel-tests-dry-run-1.sh | 0
.../parallel-tests-dry-run-2.sh | 0
.../parallel-tests-empty-testlogs.sh | 0
.../parallel-tests-exeext.sh | 0
.../parallel-tests-exit-statuses.sh | 0
.../parallel-tests-extra-programs.sh | 0
.../parallel-tests-fd-redirect-exeext.sh | 0
.../parallel-tests-fd-redirect.sh | 0
.../parallel-tests-fork-bomb.sh | 0
.../parallel-tests-harderror.sh | 0
{tests => t}/parallel-tests-interrupt.tap | 0
.../parallel-tests-log-compiler-1.sh | 0
.../parallel-tests-log-compiler-2.sh | 0
.../parallel-tests-log-compiler-example.sh | 0
.../parallel-tests-log-override-1.sh | 0
.../parallel-tests-log-override-2.sh | 0
.../parallel-tests-log-override-recheck.sh | 0
.../parallel-tests-many.sh | 0
.../parallel-tests-no-color-in-log.sh | 0
.../parallel-tests-no-spurious-summary.sh | 0
.../parallel-tests-once.sh | 0
.../parallel-tests-reset-term.sh | 0
.../parallel-tests-subdir.sh | 0
.../parallel-tests-suffix-prog.sh | 0
.../parallel-tests-suffix.sh | 0
.../parallel-tests-trailing-bslash.sh | 0
.../parallel-tests-unreadable.sh | 0
tests/parallel-tests.test => t/parallel-tests.sh | 0
.../parallel-tests10.test => t/parallel-tests10.sh | 0
t/parallel-tests2.sh | 149 +++
tests/parallel-tests3.test => t/parallel-tests3.sh | 0
tests/parallel-tests5.test => t/parallel-tests5.sh | 0
tests/parallel-tests6.test => t/parallel-tests6.sh | 0
tests/parallel-tests8.test => t/parallel-tests8.sh | 0
tests/parallel-tests9.test => t/parallel-tests9.sh | 0
tests/parse.test => t/parse.sh | 0
tests/pattern-rules.test => t/pattern-rules.sh | 0
tests/pattern-rules2.test => t/pattern-rules2.sh | 0
tests/phony.test => t/phony.sh | 0
tests/pluseq.test => t/pluseq.sh | 0
tests/pluseq10.test => t/pluseq10.sh | 0
tests/pluseq11.test => t/pluseq11.sh | 0
tests/pluseq2.test => t/pluseq2.sh | 0
tests/pluseq3.test => t/pluseq3.sh | 0
tests/pluseq4.test => t/pluseq4.sh | 0
tests/pluseq5.test => t/pluseq5.sh | 0
tests/pluseq6.test => t/pluseq6.sh | 0
tests/pluseq7.test => t/pluseq7.sh | 0
tests/pluseq8.test => t/pluseq8.sh | 0
tests/pluseq9.test => t/pluseq9.sh | 0
{tests => t}/pm/Cond2.pl | 0
{tests => t}/pm/Cond3.pl | 0
{tests => t}/pm/Condition-t.pl | 0
{tests => t}/pm/Condition.pl | 0
{tests => t}/pm/DisjCon2.pl | 0
{tests => t}/pm/DisjCon3.pl | 0
{tests => t}/pm/DisjConditions-t.pl | 0
{tests => t}/pm/DisjConditions.pl | 0
{tests => t}/pm/Version.pl | 0
{tests => t}/pm/Version2.pl | 0
{tests => t}/pm/Version3.pl | 0
{tests => t}/pm/Wrap.pl | 0
tests/posixsubst-data.test => t/posixsubst-data.sh | 0
.../posixsubst-extradist.sh | 0
.../posixsubst-ldadd.test => t/posixsubst-ldadd.sh | 0
.../posixsubst-libraries.sh | 0
.../posixsubst-ltlibraries.sh | 0
.../posixsubst-programs.sh | 0
.../posixsubst-scripts.sh | 0
.../posixsubst-sources.sh | 0
.../posixsubst-tests.test => t/posixsubst-tests.sh | 0
tests/ppf77.test => t/ppf77.sh | 0
tests/pr2.test => t/pr2.sh | 0
tests/pr211.test => t/pr211.sh | 0
tests/pr220.test => t/pr220.sh | 0
tests/pr224.test => t/pr224.sh | 0
tests/pr229.test => t/pr229.sh | 0
tests/pr279-2.test => t/pr279-2.sh | 0
tests/pr279.test => t/pr279.sh | 0
tests/pr287.test => t/pr287.sh | 0
tests/pr300-lib.test => t/pr300-lib.sh | 0
tests/pr300-ltlib.test => t/pr300-ltlib.sh | 0
tests/pr300-prog.test => t/pr300-prog.sh | 0
tests/pr307.test => t/pr307.sh | 0
tests/pr401.test => t/pr401.sh | 0
tests/pr401b.test => t/pr401b.sh | 0
tests/pr401c.test => t/pr401c.sh | 0
tests/pr72.test => t/pr72.sh | 0
.../pr8365-remake-timing.sh | 0
tests/pr87.test => t/pr87.sh | 0
tests/pr9.test => t/pr9.sh | 0
tests/prefix.test => t/prefix.sh | 0
.../primary-prefix-couples-documented-valid.sh | 0
.../primary-prefix-couples-force-valid.sh | 0
{tests => t}/primary-prefix-invalid-couples.tap | 0
.../primary-prefix-valid-couples.sh | 0
tests/primary.test => t/primary.sh | 0
tests/primary2.test => t/primary2.sh | 0
tests/primary3.test => t/primary3.sh | 0
tests/print-libdir.test => t/print-libdir.sh | 0
tests/proginst.test => t/proginst.sh | 0
.../programs-primary-rewritten.sh | 0
.../py-compile-basedir.sh | 0
.../py-compile-basic.test => t/py-compile-basic.sh | 0
.../py-compile-basic2.sh | 0
.../py-compile-destdir.sh | 0
tests/py-compile-env.test => t/py-compile-env.sh | 0
.../py-compile-option-terminate.sh | 0
.../py-compile-usage.test => t/py-compile-usage.sh | 0
tests/python-dist.test => t/python-dist.sh | 0
tests/python-pr10995.test => t/python-pr10995.sh | 0
tests/python-vars.test => t/python-vars.sh | 0
.../python-virtualenv.sh | 0
tests/python.test => t/python.sh | 0
tests/python10.test => t/python10.sh | 0
tests/python11.test => t/python11.sh | 0
tests/python12.test => t/python12.sh | 0
tests/python2.test => t/python2.sh | 0
tests/python3.test => t/python3.sh | 0
tests/python4.test => t/python4.sh | 0
tests/python5.test => t/python5.sh | 0
tests/python5b.test => t/python5b.sh | 0
tests/python6.test => t/python6.sh | 0
tests/python7.test => t/python7.sh | 0
tests/python8.test => t/python8.sh | 0
tests/python9.test => t/python9.sh | 0
tests/recurs.test => t/recurs.sh | 0
tests/recurs2.test => t/recurs2.sh | 0
tests/remake-all-1.test => t/remake-all-1.sh | 0
.../remake-am-pr10111.sh | 0
.../remake-deleted-am-2.sh | 0
.../remake-deleted-am-subdir.sh | 0
.../remake-deleted-am.sh | 0
.../remake-deleted-m4-file.sh | 0
.../remake-gnulib-add-acsubst.sh | 0
.../remake-gnulib-add-header.sh | 0
.../remake-gnulib-remove-header.sh | 0
.../remake-m4-pr10111.sh | 0
.../remake-moved-m4-file.sh | 0
.../remake-renamed-am.sh | 0
.../remake-renamed-m4-file.sh | 0
.../remake-renamed-m4-macro-and-file.sh | 0
.../remake-renamed-m4-macro.sh | 0
.../remake-subdir-from-subdir.sh | 0
.../remake-subdir-gnu.sh | 0
.../remake-subdir-long-time.sh | 0
tests/remake-subdir.test => t/remake-subdir.sh | 0
tests/remake.test => t/remake.sh | 0
tests/remake10a.test => t/remake10a.sh | 0
tests/remake10b.test => t/remake10b.sh | 0
tests/remake10c.test => t/remake10c.sh | 0
tests/remake11.test => t/remake11.sh | 0
tests/remake12.test => t/remake12.sh | 0
tests/remake1a.test => t/remake1a.sh | 0
tests/remake2.test => t/remake2.sh | 0
tests/remake3.test => t/remake3.sh | 0
tests/remake3a.test => t/remake3a.sh | 0
tests/remake4.test => t/remake4.sh | 0
tests/remake5.test => t/remake5.sh | 0
tests/remake6.test => t/remake6.sh | 0
tests/remake7.test => t/remake7.sh | 0
tests/remake8a.test => t/remake8a.sh | 0
tests/remake8b.test => t/remake8b.sh | 0
tests/remake9a.test => t/remake9a.sh | 0
tests/remake9b.test => t/remake9b.sh | 0
tests/remake9c.test => t/remake9c.sh | 0
tests/remake9d.test => t/remake9d.sh | 0
.../repeated-options.test => t/repeated-options.sh | 0
tests/req.test => t/req.sh | 0
tests/reqd.test => t/reqd.sh | 0
tests/reqd2.test => t/reqd2.sh | 0
tests/rst-formatting.test => t/rst-formatting.sh | 0
tests/rulepat.test => t/rulepat.sh | 0
tests/sanity.test => t/sanity.sh | 0
tests/scripts.test => t/scripts.sh | 0
tests/seenc.test => t/seenc.sh | 0
t/self-check-cleanup.tap | 181 +++
.../self-check-configure-help.sh | 0
t/self-check-dir.tap | 73 ++
{tests => t}/self-check-env-sanitize.tap | 0
t/self-check-exit.tap | 112 ++
t/self-check-explicit-skips.sh | 56 +
{tests => t}/self-check-is-blocked-signal.tap | 0
{tests => t}/self-check-is_newest.tap | 0
t/self-check-me.tap | 73 ++
t/self-check-reexec.tap | 205 ++++
.../self-check-report.sh | 0
t/self-check-sanity.sh | 77 ++
{tests => t}/self-check-seq.tap | 0
tests/self-check-tap.test => t/self-check-tap.sh | 0
{tests => t}/self-check-unindent.tap | 0
tests/serial-tests.test => t/serial-tests.sh | 0
tests/silent-amopts.test => t/silent-amopts.sh | 0
.../silent-configsite.sh | 0
tests/silent-lex.test => t/silent-lex.sh | 0
tests/silent-many-gcc.test => t/silent-many-gcc.sh | 0
.../silent-many-generic.sh | 0
.../silent-yacc-headers.sh | 0
tests/silent-yacc.test => t/silent-yacc.sh | 0
tests/silent.test => t/silent.sh | 0
tests/silent2.test => t/silent2.sh | 0
tests/silent3.test => t/silent3.sh | 0
tests/silent4.test => t/silent4.sh | 0
tests/silent6.test => t/silent6.sh | 0
tests/silent7.test => t/silent7.sh | 0
tests/silent8.test => t/silent8.sh | 0
tests/silent9.test => t/silent9.sh | 0
tests/silentcxx-gcc.test => t/silentcxx-gcc.sh | 0
tests/silentcxx.test => t/silentcxx.sh | 0
tests/silentf77.test => t/silentf77.sh | 0
tests/silentf90.test => t/silentf90.sh | 0
tests/space.test => t/space.sh | 0
tests/specflg-dummy.test => t/specflg-dummy.sh | 0
tests/specflg.test => t/specflg.sh | 0
tests/specflg10.test => t/specflg10.sh | 0
tests/specflg2.test => t/specflg2.sh | 0
tests/specflg3.test => t/specflg3.sh | 0
tests/specflg6.test => t/specflg6.sh | 0
tests/specflg7.test => t/specflg7.sh | 0
tests/specflg8.test => t/specflg8.sh | 0
tests/specflg9.test => t/specflg9.sh | 0
tests/spell.test => t/spell.sh | 0
tests/spell2.test => t/spell2.sh | 0
tests/spell3.test => t/spell3.sh | 0
tests/spelling.test => t/spelling.sh | 0
{tests => t}/spy-rm.tap | 0
.../spy-vpath-rewrite.sh | 0
tests/spy.test => t/spy.sh | 0
tests/srcsub.test => t/srcsub.sh | 0
tests/srcsub2.test => t/srcsub2.sh | 0
tests/stamph2.test => t/stamph2.sh | 0
tests/stdinc.test => t/stdinc.sh | 0
tests/stdlib.test => t/stdlib.sh | 0
tests/stdlib2.test => t/stdlib2.sh | 0
.../strictness-override.sh | 0
.../strictness-precedence.sh | 0
tests/strip.test => t/strip.sh | 0
tests/strip2.test => t/strip2.sh | 0
tests/strip3.test => t/strip3.sh | 0
tests/subcond.test => t/subcond.sh | 0
tests/subcond2.test => t/subcond2.sh | 0
tests/subcond3.test => t/subcond3.sh | 0
tests/subdir.test => t/subdir.sh | 0
tests/subdir10.test => t/subdir10.sh | 0
tests/subdir2.test => t/subdir2.sh | 0
tests/subdir3.test => t/subdir3.sh | 0
tests/subdir4.test => t/subdir4.sh | 0
tests/subdir5.test => t/subdir5.sh | 0
tests/subdir6.test => t/subdir6.sh | 0
tests/subdir8.test => t/subdir8.sh | 0
tests/subdir9.test => t/subdir9.sh | 0
.../subdirbuiltsources.sh | 0
tests/subobj.test => t/subobj.sh | 0
tests/subobj10.test => t/subobj10.sh | 0
tests/subobj11a.test => t/subobj11a.sh | 0
tests/subobj11c.test => t/subobj11c.sh | 0
tests/subobj2.test => t/subobj2.sh | 0
tests/subobj4.test => t/subobj4.sh | 0
tests/subobj5.test => t/subobj5.sh | 0
tests/subobj6.test => t/subobj6.sh | 0
tests/subobj7.test => t/subobj7.sh | 0
tests/subobj8.test => t/subobj8.sh | 0
tests/subobj9.test => t/subobj9.sh | 0
tests/subobjname.test => t/subobjname.sh | 0
tests/subpkg-yacc.test => t/subpkg-yacc.sh | 0
tests/subpkg.test => t/subpkg.sh | 0
tests/subpkg2.test => t/subpkg2.sh | 0
tests/subpkg3.test => t/subpkg3.sh | 0
tests/subpkg4.test => t/subpkg4.sh | 0
.../subst-no-trailing-empty-line.sh | 0
tests/subst.test => t/subst.sh | 0
tests/subst3.test => t/subst3.sh | 0
tests/subst4.test => t/subst4.sh | 0
tests/subst5.test => t/subst5.sh | 0
tests/substre2.test => t/substre2.sh | 0
tests/substref.test => t/substref.sh | 0
tests/substtarg.test => t/substtarg.sh | 0
{tests => t}/suffix-chain.tap | 0
tests/suffix.test => t/suffix.sh | 0
{tests => t}/suffix10.tap | 0
{tests => t}/suffix11.tap | 0
tests/suffix12.test => t/suffix12.sh | 0
tests/suffix13.test => t/suffix13.sh | 0
tests/suffix2.test => t/suffix2.sh | 0
{tests => t}/suffix3.tap | 0
tests/suffix4.test => t/suffix4.sh | 0
tests/suffix5.test => t/suffix5.sh | 0
tests/suffix6.test => t/suffix6.sh | 0
tests/suffix6b.test => t/suffix6b.sh | 0
tests/suffix6c.test => t/suffix6c.sh | 0
tests/suffix7.test => t/suffix7.sh | 0
{tests => t}/suffix8.tap | 0
tests/suffix9.test => t/suffix9.sh | 0
tests/symlink.test => t/symlink.sh | 0
tests/symlink2.test => t/symlink2.sh | 0
tests/syntax.test => t/syntax.sh | 0
tests/tags.test => t/tags.sh | 0
tests/tags2.test => t/tags2.sh | 0
tests/tagsub.test => t/tagsub.sh | 0
t/tap-ambiguous-directive.sh | 56 +
t/tap-autonumber.sh | 75 ++
{tests => t}/tap-bad-prog.tap | 0
t/tap-bailout-and-logging.sh | 49 +
t/tap-bailout-leading-space.sh | 71 ++
t/tap-bailout-suppress-badexit.sh | 65 +
t/tap-bailout-suppress-later-diagnostic.sh | 45 +
t/tap-bailout-suppress-later-errors.sh | 74 ++
t/tap-bailout.sh | 138 +++
tests/tap-basic.test => t/tap-basic.sh | 0
t/tap-color.sh | 175 +++
.../tap-common-setup.test => t/tap-common-setup.sh | 0
t/tap-deps.sh | 87 ++
.../tap-diagnostic-custom.sh | 0
t/tap-diagnostic.sh | 124 ++
tests/tap-doc.test => t/tap-doc.sh | 0
tests/tap-doc2.test => t/tap-doc2.sh | 0
.../tap-driver-stderr.sh | 0
t/tap-empty-diagnostic.sh | 41 +
t/tap-empty.sh | 55 +
t/tap-escape-directive-2.sh | 55 +
t/tap-escape-directive.sh | 39 +
t/tap-exit.sh | 54 +
t/tap-fancy.sh | 133 ++
t/tap-fancy2.sh | 138 +++
t/tap-global-log.sh | 122 ++
t/tap-global-result.sh | 187 +++
t/tap-log.sh | 164 +++
t/tap-merge-stdout-stderr.sh | 72 ++
t/tap-missing-plan-and-bad-exit.sh | 43 +
tests/tap-more.test => t/tap-more.sh | 0
tests/tap-more2.test => t/tap-more2.sh | 0
t/tap-msg0-bailout.sh | 38 +
t/tap-msg0-directive.sh | 41 +
t/tap-msg0-misc.sh | 82 ++
t/tap-msg0-planskip.sh | 37 +
t/tap-msg0-result.sh | 63 +
t/tap-negative-numbers.sh | 58 +
t/tap-no-disable-hard-error.sh | 50 +
t/tap-no-merge-stdout-stderr.sh | 53 +
t/tap-no-spurious-numbers.sh | 99 ++
t/tap-no-spurious-summary.sh | 47 +
t/tap-no-spurious.sh | 114 ++
t/tap-not-ok-skip.sh | 39 +
t/tap-number-wordboundary.sh | 112 ++
t/tap-numbers-leading-zero.sh | 109 ++
t/tap-numeric-description.sh | 69 ++
t/tap-out-of-order.sh | 81 ++
t/tap-passthrough-exit.sh | 59 +
t/tap-passthrough.sh | 166 +++
t/tap-plan-corner.sh | 198 +++
t/tap-plan-errors.sh | 114 ++
t/tap-plan-leading-zero.sh | 57 +
t/tap-plan-malformed.sh | 60 +
t/tap-plan-middle.sh | 83 ++
t/tap-plan-whitespace.sh | 41 +
t/tap-plan.sh | 52 +
t/tap-planskip-and-logging.sh | 74 ++
t/tap-planskip-badexit.sh | 52 +
t/tap-planskip-bailout.sh | 36 +
t/tap-planskip-case-insensitive.sh | 46 +
t/tap-planskip-late.sh | 44 +
t/tap-planskip-later-errors.sh | 40 +
t/tap-planskip-unplanned-corner.sh | 48 +
t/tap-planskip-unplanned.sh | 73 ++
t/tap-planskip-whitespace.sh | 48 +
t/tap-planskip.sh | 78 ++
t/tap-realtime.sh | 109 ++
t/tap-recheck-logs.sh | 119 ++
tests/tap-recheck.test => t/tap-recheck.sh | 0
t/tap-result-comment.sh | 54 +
{tests => t}/tap-signal.tap | 0
t/tap-summary-color.sh | 23 +
t/tap-summary.sh | 23 +
t/tap-test-number-0.sh | 86 ++
t/tap-todo-skip-together.sh | 40 +
t/tap-todo-skip-whitespace.sh | 100 ++
t/tap-todo-skip.sh | 91 ++
t/tap-unplanned.sh | 159 +++
t/tap-whitespace-normalization.sh | 165 +++
t/tap-with-and-without-number.sh | 50 +
t/tap-xfail-tests.sh | 68 ++
tests/tar-override.test => t/tar-override.sh | 0
tests/tar.test => t/tar.sh | 0
tests/tar2.test => t/tar2.sh | 0
tests/tar3.test => t/tar3.sh | 0
tests/target-cflags.test => t/target-cflags.sh | 0
tests/targetclash.test => t/targetclash.sh | 0
t/test-driver-acsubst.sh | 88 ++
t/test-driver-cond.sh | 119 ++
.../test-driver-create-log-dir.sh | 0
t/test-driver-custom-multitest-recheck.sh | 214 ++++
t/test-driver-custom-multitest-recheck2.sh | 182 +++
t/test-driver-custom-multitest.sh | 172 +++
.../test-driver-custom-no-extra-driver.sh | 0
.../test-driver-custom-xfail-tests.sh | 0
.../test-driver-custom.sh | 0
.../test-driver-fail.test => t/test-driver-fail.sh | 0
.../test-driver-is-distributed.sh | 0
.../test-driver-strip-vpath.sh | 0
.../test-driver-trs-suffix-registered.sh | 0
.../test-extensions-cond.sh | 0
tests/test-extensions.test => t/test-extensions.sh | 0
.../test-harness-vpath-rewrite.sh | 0
tests/test-log.test => t/test-log.sh | 0
.../test-logs-repeated.sh | 0
.../test-metadata-global-log.sh | 0
.../test-metadata-global-result.sh | 0
.../test-metadata-recheck.sh | 0
.../test-metadata-results.sh | 0
tests/test-missing.test => t/test-missing.sh | 0
tests/test-missing2.test => t/test-missing2.sh | 0
tests/test-trs-basic.test => t/test-trs-basic.sh | 0
.../test-trs-recover.test => t/test-trs-recover.sh | 0
.../test-trs-recover2.sh | 0
.../tests-environment-and-log-compiler.sh | 0
.../tests-environment-backcompat.sh | 0
.../tests-environment-fd-redirect.sh | 0
.../tests-environment.sh | 0
t/testsuite-summary-color.sh | 199 +++
t/testsuite-summary-count-many.sh | 105 ++
t/testsuite-summary-count.sh | 161 +++
.../testsuite-summary-reference-log.sh | 0
tests/transform.test => t/transform.sh | 0
tests/transform2.test => t/transform2.sh | 0
tests/transform3.test => t/transform3.sh | 0
.../txinfo-no-clutter.sh | 0
.../txinfo-unrecognized-extension.sh | 0
tests/txinfo.test => t/txinfo.sh | 0
tests/txinfo10.test => t/txinfo10.sh | 0
tests/txinfo13.test => t/txinfo13.sh | 0
tests/txinfo16.test => t/txinfo16.sh | 0
tests/txinfo17.test => t/txinfo17.sh | 0
t/txinfo19.sh | 72 ++
tests/txinfo2.test => t/txinfo2.sh | 0
tests/txinfo20.test => t/txinfo20.sh | 0
tests/txinfo21.test => t/txinfo21.sh | 0
tests/txinfo22.test => t/txinfo22.sh | 0
tests/txinfo23.test => t/txinfo23.sh | 0
tests/txinfo24.test => t/txinfo24.sh | 0
tests/txinfo25.test => t/txinfo25.sh | 0
tests/txinfo26.test => t/txinfo26.sh | 0
tests/txinfo27.test => t/txinfo27.sh | 0
tests/txinfo28.test => t/txinfo28.sh | 0
tests/txinfo29.test => t/txinfo29.sh | 0
tests/txinfo3.test => t/txinfo3.sh | 0
tests/txinfo30.test => t/txinfo30.sh | 0
tests/txinfo31.test => t/txinfo31.sh | 0
tests/txinfo32.test => t/txinfo32.sh | 0
tests/txinfo33.test => t/txinfo33.sh | 0
tests/txinfo4.test => t/txinfo4.sh | 0
tests/txinfo5.test => t/txinfo5.sh | 0
tests/txinfo5b.test => t/txinfo5b.sh | 0
tests/txinfo6.test => t/txinfo6.sh | 0
tests/txinfo7.test => t/txinfo7.sh | 0
tests/txinfo8.test => t/txinfo8.sh | 0
tests/txinfo9.test => t/txinfo9.sh | 0
tests/uninstall-fail.test => t/uninstall-fail.sh | 0
.../uninstall-pr9578.test => t/uninstall-pr9578.sh | 0
tests/unused.test => t/unused.sh | 0
tests/upc.test => t/upc.sh | 0
tests/upc2.test => t/upc2.sh | 0
tests/upc3.test => t/upc3.sh | 0
tests/vala-mix.test => t/vala-mix.sh | 0
t/vala-mix2.sh | 120 ++
tests/vala-vpath.test => t/vala-vpath.sh | 0
tests/vala.test => t/vala.sh | 0
tests/vala1.test => t/vala1.sh | 0
tests/vala2.test => t/vala2.sh | 0
tests/vala3.test => t/vala3.sh | 0
tests/vala4.test => t/vala4.sh | 0
tests/vala5.test => t/vala5.sh | 0
tests/vars-assign.test => t/vars-assign.sh | 0
tests/vars.test => t/vars.sh | 0
tests/vartar.test => t/vartar.sh | 0
tests/vartypo2.test => t/vartypo2.sh | 0
tests/vartypos.test => t/vartypos.sh | 0
tests/version.test => t/version.sh | 0
tests/version2.test => t/version2.sh | 0
tests/version3.test => t/version3.sh | 0
tests/version4.test => t/version4.sh | 0
tests/version6.test => t/version6.sh | 0
tests/version7.test => t/version7.sh | 0
tests/version8.test => t/version8.sh | 0
tests/vpath-rewrite.test => t/vpath-rewrite.sh | 0
tests/vpath.test => t/vpath.sh | 0
tests/vtexi.test => t/vtexi.sh | 0
tests/vtexi2.test => t/vtexi2.sh | 0
tests/vtexi3.test => t/vtexi3.sh | 0
tests/vtexi4.test => t/vtexi4.sh | 0
.../warning-groups-win-over-strictness.sh | 0
.../warnings-override.sh | 0
.../warnings-precedence.sh | 0
.../warnings-strictness-interactions.sh | 0
.../warnings-unknown.test => t/warnings-unknown.sh | 0
.../warnings-win-over-strictness.sh | 0
tests/warnopts.test => t/warnopts.sh | 0
tests/werror.test => t/werror.sh | 0
tests/werror2.test => t/werror2.sh | 0
tests/werror3.test => t/werror3.sh | 0
tests/werror4.test => t/werror4.sh | 0
tests/whoami.test => t/whoami.sh | 0
{tests => t}/wrap/aclocal.in | 0
{tests => t}/wrap/automake.in | 0
tests/xsource.test => t/xsource.sh | 0
tests/yacc-auxdir.test => t/yacc-auxdir.sh | 0
tests/yacc-basic.test => t/yacc-basic.sh | 0
.../yacc-bison-skeleton-cxx.sh | 0
.../yacc-bison-skeleton.sh | 0
tests/yacc-clean-cxx.test => t/yacc-clean-cxx.sh | 0
tests/yacc-clean.test => t/yacc-clean.sh | 0
tests/yacc-cxx.test => t/yacc-cxx.sh | 0
tests/yacc-d-basic.test => t/yacc-d-basic.sh | 0
t/yacc-d-cxx.sh | 232 ++++
tests/yacc-d-vpath.test => t/yacc-d-vpath.sh | 0
.../yacc-deleted-headers.sh | 0
tests/yacc-depend.test => t/yacc-depend.sh | 0
tests/yacc-depend2.test => t/yacc-depend2.sh | 0
.../yacc-dist-nobuild-subdir.sh | 0
.../yacc-dist-nobuild.sh | 0
tests/yacc-line.test => t/yacc-line.sh | 0
tests/yacc-mix-c-cxx.test => t/yacc-mix-c-cxx.sh | 0
tests/yacc-nodist.test => t/yacc-nodist.sh | 0
tests/yacc-pr204.test => t/yacc-pr204.sh | 0
.../yacc-subobj-nodep.sh | 0
tests/yacc-weirdnames.test => t/yacc-weirdnames.sh | 0
tests/yacc.test => t/yacc.sh | 0
tests/yacc2.test => t/yacc2.sh | 0
tests/yacc4.test => t/yacc4.sh | 0
tests/yacc5.test => t/yacc5.sh | 0
tests/yacc7.test => t/yacc7.sh | 0
tests/yacc8.test => t/yacc8.sh | 0
tests/yaccdry.test => t/yaccdry.sh | 0
tests/yaccpp.test => t/yaccpp.sh | 0
tests/yaccvpath.test => t/yaccvpath.sh | 0
.../yflags-cmdline-override.sh | 0
.../yflags-conditional.sh | 0
.../yflags-d-false-positives.sh | 0
.../yflags-force-conditional.sh | 0
.../yflags-force-override.sh | 0
.../yflags-var-expand.sh | 0
tests/yflags.test => t/yflags.sh | 0
tests/yflags2.test => t/yflags2.sh | 0
tests/.gitignore | 9 -
tests/Makefile.am | 276 -----
tests/README | 294 -----
tests/ccnoco.test | 83 --
tests/ccnoco3.test | 77 --
tests/defs | 976 ---------------
tests/defs-static.in | 242 ----
tests/depcomp-shuffle-sub-vpath.test | 23 -
tests/depcomp-shuffle-sub.test | 23 -
tests/depcomp-shuffle-vpath.test | 23 -
tests/depcomp-shuffle.test | 23 -
tests/distcheck-missing-m4.test | 116 --
tests/distcheck-outdated-m4.test | 134 --
tests/gen-testsuite-part | 415 -------
tests/get-sysconf.test | 62 -
tests/help-multilib.test | 34 -
tests/install-info-dir.test | 176 ---
tests/lex-clean-cxx.test | 127 --
tests/lex-depend-cxx.test | 96 --
tests/list-of-tests.mk | 1267 --------------------
tests/multlib.test | 162 ---
tests/parallel-tests2.test | 149 ---
tests/prove-runner | 65 -
tests/self-check-cleanup.tap | 179 ---
tests/self-check-dir.tap | 73 --
tests/self-check-exit.tap | 108 --
tests/self-check-explicit-skips.test | 54 -
tests/self-check-me.tap | 69 --
tests/self-check-reexec.tap | 205 ----
tests/self-check-sanity.test | 72 --
tests/tap-ambiguous-directive.test | 56 -
tests/tap-autonumber.test | 75 --
tests/tap-bailout-and-logging.test | 49 -
tests/tap-bailout-leading-space.test | 71 --
tests/tap-bailout-suppress-badexit.test | 65 -
tests/tap-bailout-suppress-later-diagnostic.test | 45 -
tests/tap-bailout-suppress-later-errors.test | 74 --
tests/tap-bailout.test | 138 ---
tests/tap-color.test | 175 ---
tests/tap-deps.test | 87 --
tests/tap-diagnostic.test | 124 --
tests/tap-empty-diagnostic.test | 41 -
tests/tap-empty.test | 55 -
tests/tap-escape-directive-2.test | 55 -
tests/tap-escape-directive.test | 39 -
tests/tap-exit.test | 54 -
tests/tap-fancy.test | 133 --
tests/tap-fancy2.test | 138 ---
tests/tap-global-log.test | 122 --
tests/tap-global-result.test | 187 ---
tests/tap-log.test | 164 ---
tests/tap-merge-stdout-stderr.test | 72 --
tests/tap-missing-plan-and-bad-exit.test | 43 -
tests/tap-msg0-bailout.test | 38 -
tests/tap-msg0-directive.test | 41 -
tests/tap-msg0-misc.test | 82 --
tests/tap-msg0-planskip.test | 37 -
tests/tap-msg0-result.test | 63 -
tests/tap-negative-numbers.test | 58 -
tests/tap-no-disable-hard-error.test | 50 -
tests/tap-no-merge-stdout-stderr.test | 53 -
tests/tap-no-spurious-numbers.test | 99 --
tests/tap-no-spurious-summary.test | 47 -
tests/tap-no-spurious.test | 114 --
tests/tap-not-ok-skip.test | 39 -
tests/tap-number-wordboundary.test | 112 --
tests/tap-numbers-leading-zero.test | 109 --
tests/tap-numeric-description.test | 69 --
tests/tap-out-of-order.test | 81 --
tests/tap-passthrough-exit.test | 59 -
tests/tap-passthrough.test | 166 ---
tests/tap-plan-corner.test | 198 ---
tests/tap-plan-errors.test | 114 --
tests/tap-plan-leading-zero.test | 57 -
tests/tap-plan-malformed.test | 60 -
tests/tap-plan-middle.test | 83 --
tests/tap-plan-whitespace.test | 41 -
tests/tap-plan.test | 52 -
tests/tap-planskip-and-logging.test | 74 --
tests/tap-planskip-badexit.test | 52 -
tests/tap-planskip-bailout.test | 36 -
tests/tap-planskip-case-insensitive.test | 46 -
tests/tap-planskip-late.test | 44 -
tests/tap-planskip-later-errors.test | 40 -
tests/tap-planskip-unplanned-corner.test | 48 -
tests/tap-planskip-unplanned.test | 73 --
tests/tap-planskip-whitespace.test | 48 -
tests/tap-planskip.test | 78 --
tests/tap-realtime.test | 109 --
tests/tap-recheck-logs.test | 119 --
tests/tap-result-comment.test | 54 -
tests/tap-setup.sh | 47 -
tests/tap-summary-aux.sh | 359 ------
tests/tap-summary-color.test | 23 -
tests/tap-summary.test | 23 -
tests/tap-test-number-0.test | 86 --
tests/tap-todo-skip-together.test | 40 -
tests/tap-todo-skip-whitespace.test | 100 --
tests/tap-todo-skip.test | 91 --
tests/tap-unplanned.test | 159 ---
tests/tap-whitespace-normalization.test | 165 ---
tests/tap-with-and-without-number.test | 50 -
tests/tap-xfail-tests.test | 68 --
tests/test-driver-acsubst.test | 88 --
tests/test-driver-cond.test | 119 --
tests/test-driver-custom-multitest-recheck.test | 214 ----
tests/test-driver-custom-multitest-recheck2.test | 182 ---
tests/test-driver-custom-multitest.test | 172 ---
tests/testsuite-summary-checks.sh | 105 --
tests/testsuite-summary-color.test | 199 ---
tests/testsuite-summary-count-many.test | 105 --
tests/testsuite-summary-count.test | 161 ---
tests/txinfo19.test | 70 --
tests/vala-mix2.test | 119 --
tests/yacc-d-cxx.test | 231 ----
1353 files changed, 13699 insertions(+), 13914 deletions(-)
delete mode 100644 contrib/Makefile.am
create mode 100644 defs
create mode 100644 defs-static.in
delete mode 100644 doc/Makefile.am
create mode 100755 gen-testsuite-part
delete mode 100644 lib/Makefile.am
delete mode 100644 m4/Makefile.am
rename {tests => t}/CheckListOfTests.am (100%)
create mode 100644 t/README
rename {tests => t}/ac-output-old.tap (100%)
rename tests/acloca10.test => t/acloca10.sh (100%)
rename tests/acloca11.test => t/acloca11.sh (100%)
rename tests/acloca12.test => t/acloca12.sh (100%)
rename tests/acloca13.test => t/acloca13.sh (100%)
rename tests/acloca14.test => t/acloca14.sh (100%)
rename tests/acloca15.test => t/acloca15.sh (100%)
rename tests/acloca16.test => t/acloca16.sh (100%)
rename tests/acloca17.test => t/acloca17.sh (100%)
rename tests/acloca18.test => t/acloca18.sh (100%)
rename tests/acloca19.test => t/acloca19.sh (100%)
rename tests/acloca20.test => t/acloca20.sh (100%)
rename tests/acloca21.test => t/acloca21.sh (100%)
rename tests/acloca22.test => t/acloca22.sh (100%)
rename tests/acloca23.test => t/acloca23.sh (100%)
rename tests/aclocal-acdir.test => t/aclocal-acdir.sh (100%)
rename tests/aclocal-install-absdir.test => t/aclocal-install-absdir.sh (100%)
rename tests/aclocal-install-fail.test => t/aclocal-install-fail.sh (100%)
rename tests/aclocal-install-mkdir.test => t/aclocal-install-mkdir.sh (100%)
rename tests/aclocal-no-install-no-mkdir.test =>
t/aclocal-no-install-no-mkdir.sh (100%)
rename tests/aclocal-path-install-serial.test =>
t/aclocal-path-install-serial.sh (100%)
rename tests/aclocal-path-install.test => t/aclocal-path-install.sh (100%)
rename tests/aclocal-path-nonexistent.test => t/aclocal-path-nonexistent.sh
(100%)
rename tests/aclocal-path-precedence.test => t/aclocal-path-precedence.sh
(100%)
rename tests/aclocal-path.test => t/aclocal-path.sh (100%)
rename tests/aclocal-print-acdir.test => t/aclocal-print-acdir.sh (100%)
rename tests/aclocal-verbose-install.test => t/aclocal-verbose-install.sh
(100%)
rename tests/aclocal.test => t/aclocal.sh (100%)
rename tests/aclocal3.test => t/aclocal3.sh (100%)
rename tests/aclocal4.test => t/aclocal4.sh (100%)
rename tests/aclocal5.test => t/aclocal5.sh (100%)
rename tests/aclocal6.test => t/aclocal6.sh (100%)
rename tests/aclocal7.test => t/aclocal7.sh (100%)
rename tests/aclocal8.test => t/aclocal8.sh (100%)
rename tests/aclocal9.test => t/aclocal9.sh (100%)
rename tests/acsilent.test => t/acsilent.sh (100%)
rename tests/acsubst.test => t/acsubst.sh (100%)
rename tests/acsubst2.test => t/acsubst2.sh (100%)
rename {tests => t}/add-missing.tap (100%)
rename tests/all.test => t/all.sh (100%)
rename tests/all2.test => t/all2.sh (100%)
rename tests/alloca.test => t/alloca.sh (100%)
rename tests/alloca2.test => t/alloca2.sh (100%)
rename tests/alpha.test => t/alpha.sh (100%)
rename tests/alpha2.test => t/alpha2.sh (100%)
rename tests/am-tests-environment.test => t/am-tests-environment.sh (100%)
rename tests/amassign.test => t/amassign.sh (100%)
rename tests/amhello-binpkg.test => t/amhello-binpkg.sh (100%)
rename tests/amhello-cflags.test => t/amhello-cflags.sh (100%)
rename tests/amhello-cross-compile.test => t/amhello-cross-compile.sh (100%)
rename tests/ammissing.test => t/ammissing.sh (100%)
rename tests/amopt.test => t/amopt.sh (100%)
rename tests/amopts-location.test => t/amopts-location.sh (100%)
rename tests/amopts-variable-expansion.test => t/amopts-variable-expansion.sh
(100%)
rename tests/amsubst.test => t/amsubst.sh (100%)
rename tests/ansi2knr-no-more.test => t/ansi2knr-no-more.sh (100%)
rename tests/ar-lib.test => t/ar-lib.sh (100%)
rename tests/ar-lib2.test => t/ar-lib2.sh (100%)
rename tests/ar-lib3.test => t/ar-lib3.sh (100%)
rename tests/ar-lib4.test => t/ar-lib4.sh (100%)
rename tests/ar-lib5a.test => t/ar-lib5a.sh (100%)
rename tests/ar-lib5b.test => t/ar-lib5b.sh (100%)
rename tests/ar-lib6a.test => t/ar-lib6a.sh (100%)
rename tests/ar-lib6b.test => t/ar-lib6b.sh (100%)
rename tests/ar-lib7.test => t/ar-lib7.sh (100%)
rename tests/ar.test => t/ar.sh (100%)
rename tests/ar2.test => t/ar2.sh (100%)
rename tests/ar3.test => t/ar3.sh (100%)
rename tests/ar4.test => t/ar4.sh (100%)
rename tests/ar5.test => t/ar5.sh (100%)
rename tests/asm.test => t/asm.sh (100%)
rename tests/asm2.test => t/asm2.sh (100%)
rename tests/asm3.test => t/asm3.sh (100%)
rename tests/autodist-acconfig-no-subdir.test =>
t/autodist-acconfig-no-subdir.sh (100%)
rename tests/autodist-acconfig.test => t/autodist-acconfig.sh (100%)
rename tests/autodist-aclocal-m4.test => t/autodist-aclocal-m4.sh (100%)
rename tests/autodist-config-headers.test => t/autodist-config-headers.sh
(100%)
rename tests/autodist-configure-no-subdir.test =>
t/autodist-configure-no-subdir.sh (100%)
rename tests/autodist-no-duplicate.test => t/autodist-no-duplicate.sh (100%)
rename tests/autodist-stamp-vti.test => t/autodist-stamp-vti.sh (100%)
rename tests/autodist-subdir.test => t/autodist-subdir.sh (100%)
rename tests/autodist.test => t/autodist.sh (100%)
rename tests/autohdr.test => t/autohdr.sh (100%)
rename tests/autohdr2.test => t/autohdr2.sh (100%)
rename tests/autohdr3.test => t/autohdr3.sh (100%)
rename tests/autohdr4.test => t/autohdr4.sh (100%)
rename tests/autohdrdry.test => t/autohdrdry.sh (100%)
rename {tests => t}/automake-cmdline.tap (100%)
rename tests/auxdir-autodetect.test => t/auxdir-autodetect.sh (100%)
rename {tests => t}/auxdir-computed.tap (100%)
rename tests/auxdir-misplaced.test => t/auxdir-misplaced.sh (100%)
rename tests/auxdir-nonexistent.test => t/auxdir-nonexistent.sh (100%)
rename {tests => t}/auxdir-unportable.tap (100%)
rename tests/auxdir.test => t/auxdir.sh (100%)
rename tests/auxdir6.test => t/auxdir6.sh (100%)
rename tests/auxdir7.test => t/auxdir7.sh (100%)
rename tests/auxdir8.test => t/auxdir8.sh (100%)
rename {tests => t/ax}/depcomp-shuffle.sh (100%)
mode change 100755 => 100644
rename {tests => t/ax}/depcomp.sh (100%)
mode change 100755 => 100644
rename {tests => t/ax}/distcheck-hook-m4.am (100%)
rename tests/extract-testsuite-summary => t/ax/extract-testsuite-summary.pl
(100%)
rename {tests => t}/ax/is (100%)
rename {tests => t/ax}/plain-functions.sh (100%)
rename {tests => t/ax}/tap-functions.sh (100%)
create mode 100644 t/ax/tap-setup.sh
create mode 100644 t/ax/tap-summary-aux.sh
create mode 100644 t/ax/testsuite-summary-checks.sh
rename {tests => t/ax}/trivial-test-driver (100%)
rename tests/backcompat.test => t/backcompat.sh (100%)
rename tests/backcompat2.test => t/backcompat2.sh (100%)
rename tests/backcompat3.test => t/backcompat3.sh (100%)
rename tests/backcompat4.test => t/backcompat4.sh (100%)
rename tests/backcompat5.test => t/backcompat5.sh (100%)
rename tests/backcompat6.test => t/backcompat6.sh (100%)
rename tests/backsl.test => t/backsl.sh (100%)
rename tests/backsl2.test => t/backsl2.sh (100%)
rename tests/backsl3.test => t/backsl3.sh (100%)
rename tests/backsl4.test => t/backsl4.sh (100%)
rename tests/badline.test => t/badline.sh (100%)
rename tests/badopt.test => t/badopt.sh (100%)
rename tests/badprog.test => t/badprog.sh (100%)
rename tests/block.test => t/block.sh (100%)
rename tests/bsource.test => t/bsource.sh (100%)
rename tests/candist.test => t/candist.sh (100%)
rename tests/canon-name.test => t/canon-name.sh (100%)
rename tests/canon.test => t/canon.sh (100%)
rename tests/canon2.test => t/canon2.sh (100%)
rename tests/canon3.test => t/canon3.sh (100%)
rename tests/canon4.test => t/canon4.sh (100%)
rename tests/canon5.test => t/canon5.sh (100%)
rename tests/canon6.test => t/canon6.sh (100%)
rename tests/canon7.test => t/canon7.sh (100%)
rename tests/canon8.test => t/canon8.sh (100%)
create mode 100755 t/ccnoco.sh
rename tests/ccnoco2.test => t/ccnoco2.sh (100%)
create mode 100755 t/ccnoco3.sh
rename tests/check-concurrency-bug9245.test => t/check-concurrency-bug9245.sh
(100%)
rename tests/check-exported-srcdir.test => t/check-exported-srcdir.sh (100%)
rename tests/check-fd-redirect.test => t/check-fd-redirect.sh (100%)
rename tests/check-no-test-driver.test => t/check-no-test-driver.sh (100%)
rename tests/check-subst-prog.test => t/check-subst-prog.sh (100%)
rename tests/check-subst.test => t/check-subst.sh (100%)
rename tests/check-tests-in-builddir.test => t/check-tests-in-builddir.sh
(100%)
rename tests/check.test => t/check.sh (100%)
rename tests/check10.test => t/check10.sh (100%)
rename tests/check11.test => t/check11.sh (100%)
rename tests/check12.test => t/check12.sh (100%)
rename tests/check2.test => t/check2.sh (100%)
rename tests/check3.test => t/check3.sh (100%)
rename tests/check4.test => t/check4.sh (100%)
rename tests/check5.test => t/check5.sh (100%)
rename tests/check6.test => t/check6.sh (100%)
rename tests/check7.test => t/check7.sh (100%)
rename tests/check8.test => t/check8.sh (100%)
rename tests/checkall.test => t/checkall.sh (100%)
rename tests/clean.test => t/clean.sh (100%)
rename tests/clean2.test => t/clean2.sh (100%)
rename tests/colneq2.test => t/colneq2.sh (100%)
rename tests/colon.test => t/colon.sh (100%)
rename tests/colon2.test => t/colon2.sh (100%)
rename tests/colon3.test => t/colon3.sh (100%)
rename tests/colon4.test => t/colon4.sh (100%)
rename tests/colon5.test => t/colon5.sh (100%)
rename tests/colon6.test => t/colon6.sh (100%)
rename tests/colon7.test => t/colon7.sh (100%)
rename tests/color.test => t/color.sh (100%)
rename tests/color2.test => t/color2.sh (100%)
rename tests/commen10.test => t/commen10.sh (100%)
rename tests/commen11.test => t/commen11.sh (100%)
rename tests/comment.test => t/comment.sh (100%)
rename tests/comment2.test => t/comment2.sh (100%)
rename tests/comment3.test => t/comment3.sh (100%)
rename tests/comment4.test => t/comment4.sh (100%)
rename tests/comment5.test => t/comment5.sh (100%)
rename tests/comment6.test => t/comment6.sh (100%)
rename tests/comment7.test => t/comment7.sh (100%)
rename tests/comment8.test => t/comment8.sh (100%)
rename tests/comment9.test => t/comment9.sh (100%)
rename tests/comments-in-var-def.test => t/comments-in-var-def.sh (100%)
rename tests/compile.test => t/compile.sh (100%)
rename tests/compile2.test => t/compile2.sh (100%)
rename tests/compile3.test => t/compile3.sh (100%)
rename tests/compile4.test => t/compile4.sh (100%)
rename tests/compile5.test => t/compile5.sh (100%)
rename tests/compile6.test => t/compile6.sh (100%)
rename tests/compile_f90_c_cxx.test => t/compile_f90_c_cxx.sh (100%)
rename tests/compile_f_c_cxx.test => t/compile_f_c_cxx.sh (100%)
rename tests/cond-basic.test => t/cond-basic.sh (100%)
rename tests/cond.test => t/cond.sh (100%)
rename tests/cond10.test => t/cond10.sh (100%)
rename tests/cond11.test => t/cond11.sh (100%)
rename tests/cond13.test => t/cond13.sh (100%)
rename tests/cond14.test => t/cond14.sh (100%)
rename tests/cond15.test => t/cond15.sh (100%)
rename tests/cond16.test => t/cond16.sh (100%)
rename tests/cond17.test => t/cond17.sh (100%)
rename tests/cond18.test => t/cond18.sh (100%)
rename tests/cond19.test => t/cond19.sh (100%)
rename tests/cond2.test => t/cond2.sh (100%)
rename tests/cond20.test => t/cond20.sh (100%)
rename tests/cond21.test => t/cond21.sh (100%)
rename tests/cond22.test => t/cond22.sh (100%)
rename tests/cond23.test => t/cond23.sh (100%)
rename tests/cond24.test => t/cond24.sh (100%)
rename tests/cond25.test => t/cond25.sh (100%)
rename tests/cond26.test => t/cond26.sh (100%)
rename tests/cond27.test => t/cond27.sh (100%)
rename tests/cond28.test => t/cond28.sh (100%)
rename tests/cond29.test => t/cond29.sh (100%)
rename tests/cond3.test => t/cond3.sh (100%)
rename tests/cond30.test => t/cond30.sh (100%)
rename tests/cond31.test => t/cond31.sh (100%)
rename tests/cond32.test => t/cond32.sh (100%)
rename tests/cond33.test => t/cond33.sh (100%)
rename tests/cond34.test => t/cond34.sh (100%)
rename tests/cond35.test => t/cond35.sh (100%)
rename tests/cond36.test => t/cond36.sh (100%)
rename tests/cond37.test => t/cond37.sh (100%)
rename tests/cond38.test => t/cond38.sh (100%)
rename tests/cond39.test => t/cond39.sh (100%)
rename tests/cond4.test => t/cond4.sh (100%)
rename tests/cond40.test => t/cond40.sh (100%)
rename tests/cond41.test => t/cond41.sh (100%)
rename tests/cond42.test => t/cond42.sh (100%)
rename tests/cond43.test => t/cond43.sh (100%)
rename tests/cond44.test => t/cond44.sh (100%)
rename tests/cond45.test => t/cond45.sh (100%)
rename tests/cond46.test => t/cond46.sh (100%)
rename tests/cond5.test => t/cond5.sh (100%)
rename tests/cond6.test => t/cond6.sh (100%)
rename tests/cond7.test => t/cond7.sh (100%)
rename tests/cond8.test => t/cond8.sh (100%)
rename tests/cond9.test => t/cond9.sh (100%)
rename tests/condd.test => t/condd.sh (100%)
rename tests/condhook.test => t/condhook.sh (100%)
rename tests/condhook2.test => t/condhook2.sh (100%)
rename tests/condinc.test => t/condinc.sh (100%)
rename tests/condinc2.test => t/condinc2.sh (100%)
rename tests/condlib.test => t/condlib.sh (100%)
rename tests/condman2.test => t/condman2.sh (100%)
rename tests/condman3.test => t/condman3.sh (100%)
rename tests/confdeps.test => t/confdeps.sh (100%)
rename tests/conff.test => t/conff.sh (100%)
rename tests/conff2.test => t/conff2.sh (100%)
rename tests/conffile-leading-dot.test => t/conffile-leading-dot.sh (100%)
rename tests/confh.test => t/confh.sh (100%)
rename tests/confh4.test => t/confh4.sh (100%)
rename tests/confh5.test => t/confh5.sh (100%)
rename tests/confh6.test => t/confh6.sh (100%)
rename tests/confh7.test => t/confh7.sh (100%)
rename tests/confh8.test => t/confh8.sh (100%)
rename tests/configure.test => t/configure.sh (100%)
rename tests/confincl.test => t/confincl.sh (100%)
rename tests/conflnk.test => t/conflnk.sh (100%)
rename tests/conflnk2.test => t/conflnk2.sh (100%)
rename tests/conflnk3.test => t/conflnk3.sh (100%)
rename tests/conflnk4.test => t/conflnk4.sh (100%)
rename tests/confsub.test => t/confsub.sh (100%)
rename tests/confvar.test => t/confvar.sh (100%)
rename tests/confvar2.test => t/confvar2.sh (100%)
rename tests/copy.test => t/copy.sh (100%)
rename {tests => t}/cscope.tap (100%)
rename tests/cscope2.test => t/cscope2.sh (100%)
rename tests/cscope3.test => t/cscope3.sh (100%)
rename tests/cxx.test => t/cxx.sh (100%)
rename tests/cxx2.test => t/cxx2.sh (100%)
rename tests/cxxcpp.test => t/cxxcpp.sh (100%)
rename tests/cxxlibobj.test => t/cxxlibobj.sh (100%)
rename tests/cxxlink.test => t/cxxlink.sh (100%)
rename tests/cxxnoc.test => t/cxxnoc.sh (100%)
rename tests/cxxo.test => t/cxxo.sh (100%)
rename tests/cygnus-check-without-all.test => t/cygnus-check-without-all.sh
(100%)
rename tests/cygnus-dependency-tracking.test =>
t/cygnus-dependency-tracking.sh (100%)
rename tests/cygnus-imply-foreign.test => t/cygnus-imply-foreign.sh (100%)
rename tests/cygnus-no-dist.test => t/cygnus-no-dist.sh (100%)
rename tests/cygnus-no-installinfo.test => t/cygnus-no-installinfo.sh (100%)
rename tests/cygnus-requires-maintainer-mode.test =>
t/cygnus-requires-maintainer-mode.sh (100%)
rename tests/cygwin32.test => t/cygwin32.sh (100%)
rename tests/dash.test => t/dash.sh (100%)
rename tests/defun.test => t/defun.sh (100%)
rename tests/defun2.test => t/defun2.sh (100%)
rename tests/dejagnu-absolute-builddir.test => t/dejagnu-absolute-builddir.sh
(100%)
rename tests/dejagnu-relative-srcdir.test => t/dejagnu-relative-srcdir.sh
(100%)
rename tests/dejagnu-siteexp-append.test => t/dejagnu-siteexp-append.sh (100%)
rename tests/dejagnu-siteexp-extend.test => t/dejagnu-siteexp-extend.sh (100%)
rename tests/dejagnu-siteexp-useredit.test => t/dejagnu-siteexp-useredit.sh
(100%)
rename tests/dejagnu.test => t/dejagnu.sh (100%)
rename tests/dejagnu2.test => t/dejagnu2.sh (100%)
rename tests/dejagnu3.test => t/dejagnu3.sh (100%)
rename tests/dejagnu4.test => t/dejagnu4.sh (100%)
rename tests/dejagnu5.test => t/dejagnu5.sh (100%)
rename tests/dejagnu6.test => t/dejagnu6.sh (100%)
rename tests/dejagnu7.test => t/dejagnu7.sh (100%)
rename tests/deleted-am.test => t/deleted-am.sh (100%)
rename tests/deleted-m4.test => t/deleted-m4.sh (100%)
rename tests/depacl2.test => t/depacl2.sh (100%)
rename tests/depcomp-recover.test => t/depcomp-recover.sh (100%)
create mode 100755 t/depcomp-shuffle-sub-vpath.sh
create mode 100755 t/depcomp-shuffle-sub.sh
create mode 100755 t/depcomp-shuffle-vpath.sh
create mode 100755 t/depcomp-shuffle.sh
rename tests/depcomp.test => t/depcomp.sh (100%)
rename tests/depcomp2.test => t/depcomp2.sh (100%)
rename tests/depcomp8a.test => t/depcomp8a.sh (100%)
rename tests/depcomp8b.test => t/depcomp8b.sh (100%)
rename tests/depdist.test => t/depdist.sh (100%)
rename tests/depend.test => t/depend.sh (100%)
rename tests/depend3.test => t/depend3.sh (100%)
rename tests/depend4.test => t/depend4.sh (100%)
rename tests/deprecated-acinit.test => t/deprecated-acinit.sh (100%)
rename tests/destdir.test => t/destdir.sh (100%)
rename tests/dirlist-abspath.test => t/dirlist-abspath.sh (100%)
rename tests/dirlist.test => t/dirlist.sh (100%)
rename tests/dirlist2.test => t/dirlist2.sh (100%)
rename tests/discover.test => t/discover.sh (100%)
rename tests/dist-auxdir-many-subdirs.test => t/dist-auxdir-many-subdirs.sh
(100%)
rename tests/dist-auxfile-2.test => t/dist-auxfile-2.sh (100%)
rename tests/dist-auxfile.test => t/dist-auxfile.sh (100%)
rename {tests => t}/dist-formats.tap (100%)
rename tests/dist-included-parent-dir.test => t/dist-included-parent-dir.sh
(100%)
rename tests/dist-missing-am.test => t/dist-missing-am.sh (100%)
rename tests/dist-missing-included-m4.test => t/dist-missing-included-m4.sh
(100%)
rename tests/dist-missing-m4.test => t/dist-missing-m4.sh (100%)
rename tests/dist-pr109765.test => t/dist-pr109765.sh (100%)
rename tests/dist-readonly.test => t/dist-readonly.sh (100%)
rename tests/dist-repeated.test => t/dist-repeated.sh (100%)
rename tests/distcheck-configure-flags-am.test =>
t/distcheck-configure-flags-am.sh (100%)
rename tests/distcheck-configure-flags-subpkg.test =>
t/distcheck-configure-flags-subpkg.sh (100%)
rename tests/distcheck-configure-flags.test => t/distcheck-configure-flags.sh
(100%)
rename tests/distcheck-hook.test => t/distcheck-hook.sh (100%)
rename tests/distcheck-hook2.test => t/distcheck-hook2.sh (100%)
create mode 100755 t/distcheck-missing-m4.sh
create mode 100755 t/distcheck-outdated-m4.sh
rename tests/distcheck-override-infodir.test =>
t/distcheck-override-infodir.sh (100%)
rename tests/distcheck-pr10470.test => t/distcheck-pr10470.sh (100%)
rename tests/distcheck-pr9579.test => t/distcheck-pr9579.sh (100%)
rename tests/distcheck-writable-srcdir.test => t/distcheck-writable-srcdir.sh
(100%)
rename tests/distcleancheck.test => t/distcleancheck.sh (100%)
rename tests/distcom-subdir.test => t/distcom-subdir.sh (100%)
rename tests/distcom2.test => t/distcom2.sh (100%)
rename tests/distcom3.test => t/distcom3.sh (100%)
rename tests/distcom4.test => t/distcom4.sh (100%)
rename tests/distcom5.test => t/distcom5.sh (100%)
rename tests/distdir.test => t/distdir.sh (100%)
rename tests/disthook.test => t/disthook.sh (100%)
rename tests/distlinks.test => t/distlinks.sh (100%)
rename tests/distlinksbrk.test => t/distlinksbrk.sh (100%)
rename tests/distname.test => t/distname.sh (100%)
rename tests/dmalloc.test => t/dmalloc.sh (100%)
rename tests/doc-parsing-buglets-tabs.test => t/doc-parsing-buglets-tabs.sh
(100%)
rename tests/dollar.test => t/dollar.sh (100%)
rename tests/double.test => t/double.sh (100%)
rename tests/dup2.test => t/dup2.sh (100%)
rename tests/else.test => t/else.sh (100%)
rename tests/empty.test => t/empty.sh (100%)
rename tests/empty2.test => t/empty2.sh (100%)
rename tests/empty3.test => t/empty3.sh (100%)
rename tests/empty4.test => t/empty4.sh (100%)
rename tests/exdir.test => t/exdir.sh (100%)
rename tests/exdir2.test => t/exdir2.sh (100%)
rename tests/exdir3.test => t/exdir3.sh (100%)
rename tests/exeext.test => t/exeext.sh (100%)
rename tests/exeext2.test => t/exeext2.sh (100%)
rename tests/exeext3.test => t/exeext3.sh (100%)
rename tests/exeext4.test => t/exeext4.sh (100%)
rename tests/exsource.test => t/exsource.sh (100%)
rename tests/ext.test => t/ext.sh (100%)
rename tests/ext2.test => t/ext2.sh (100%)
rename tests/ext3.test => t/ext3.sh (100%)
rename tests/extra-portability.test => t/extra-portability.sh (100%)
rename tests/extra-portability2.test => t/extra-portability2.sh (100%)
rename tests/extra-programs-empty.test => t/extra-programs-empty.sh (100%)
rename tests/extra.test => t/extra.sh (100%)
rename tests/extra10.test => t/extra10.sh (100%)
rename tests/extra11.test => t/extra11.sh (100%)
rename tests/extra12.test => t/extra12.sh (100%)
rename tests/extra2.test => t/extra2.sh (100%)
rename tests/extra3.test => t/extra3.sh (100%)
rename tests/extra4.test => t/extra4.sh (100%)
rename tests/extra5.test => t/extra5.sh (100%)
rename tests/extra6.test => t/extra6.sh (100%)
rename tests/extra7.test => t/extra7.sh (100%)
rename tests/extra8.test => t/extra8.sh (100%)
rename tests/extra9.test => t/extra9.sh (100%)
rename tests/extradep.test => t/extradep.sh (100%)
rename tests/extradep2.test => t/extradep2.sh (100%)
rename tests/f90only.test => t/f90only.sh (100%)
rename tests/flavor.test => t/flavor.sh (100%)
rename tests/flibs.test => t/flibs.sh (100%)
rename tests/fn99.test => t/fn99.sh (100%)
rename tests/fn99subdir.test => t/fn99subdir.sh (100%)
rename tests/fnoc.test => t/fnoc.sh (100%)
rename tests/fo.test => t/fo.sh (100%)
rename tests/fonly.test => t/fonly.sh (100%)
rename tests/forcemiss.test => t/forcemiss.sh (100%)
rename tests/forcemiss2.test => t/forcemiss2.sh (100%)
rename tests/fort1.test => t/fort1.sh (100%)
rename tests/fort2.test => t/fort2.sh (100%)
rename tests/fort4.test => t/fort4.sh (100%)
rename tests/fort5.test => t/fort5.sh (100%)
rename tests/fortdep.test => t/fortdep.sh (100%)
rename tests/gcj.test => t/gcj.sh (100%)
rename tests/gcj2.test => t/gcj2.sh (100%)
rename tests/gcj3.test => t/gcj3.sh (100%)
rename tests/gcj4.test => t/gcj4.sh (100%)
rename tests/gcj5.test => t/gcj5.sh (100%)
rename tests/gcj6.test => t/gcj6.sh (100%)
create mode 100755 t/get-sysconf.sh
rename tests/gettext-macros.test => t/gettext-macros.sh (100%)
rename tests/gettext.test => t/gettext.sh (100%)
rename tests/gettext2.test => t/gettext2.sh (100%)
rename tests/gettext3.test => t/gettext3.sh (100%)
rename tests/gmake-vars.test => t/gmake-vars.sh (100%)
rename tests/gnits.test => t/gnits.sh (100%)
rename tests/gnits2.test => t/gnits2.sh (100%)
rename tests/gnits3.test => t/gnits3.sh (100%)
rename tests/gnumake.test => t/gnumake.sh (100%)
rename tests/gnuwarn.test => t/gnuwarn.sh (100%)
rename tests/gnuwarn2.test => t/gnuwarn2.sh (100%)
rename tests/hdr-vars-defined-once.test => t/hdr-vars-defined-once.sh (100%)
rename tests/header.test => t/header.sh (100%)
rename tests/help-depend.test => t/help-depend.sh (100%)
rename tests/help-depend2.test => t/help-depend2.sh (100%)
rename tests/help-dmalloc.test => t/help-dmalloc.sh (100%)
rename tests/help-init.test => t/help-init.sh (100%)
rename tests/help-lispdir.test => t/help-lispdir.sh (100%)
create mode 100755 t/help-multilib.sh
rename tests/help-python.test => t/help-python.sh (100%)
rename tests/help-silent.test => t/help-silent.sh (100%)
rename tests/help-upc.test => t/help-upc.sh (100%)
rename tests/help.test => t/help.sh (100%)
rename tests/help2.test => t/help2.sh (100%)
rename tests/help3.test => t/help3.sh (100%)
rename tests/help4.test => t/help4.sh (100%)
rename tests/hfs.test => t/hfs.sh (100%)
rename tests/implicit.test => t/implicit.sh (100%)
rename tests/info.test => t/info.sh (100%)
rename tests/init.test => t/init.sh (100%)
rename tests/init2.test => t/init2.sh (100%)
rename tests/insh2.test => t/insh2.sh (100%)
create mode 100755 t/install-info-dir.sh
rename tests/install2.test => t/install2.sh (100%)
rename tests/installdir.test => t/installdir.sh (100%)
rename tests/instdat.test => t/instdat.sh (100%)
rename tests/instdat2.test => t/instdat2.sh (100%)
rename tests/instdir-cond.test => t/instdir-cond.sh (100%)
mode change 100644 => 100755
rename tests/instdir-cond2.test => t/instdir-cond2.sh (100%)
mode change 100644 => 100755
rename tests/instdir-java.test => t/instdir-java.sh (100%)
rename tests/instdir-lisp.test => t/instdir-lisp.sh (100%)
rename tests/instdir-ltlib.test => t/instdir-ltlib.sh (100%)
rename tests/instdir-no-empty.test => t/instdir-no-empty.sh (100%)
rename tests/instdir-prog.test => t/instdir-prog.sh (100%)
rename tests/instdir-python.test => t/instdir-python.sh (100%)
rename tests/instdir-texi.test => t/instdir-texi.sh (100%)
rename tests/instdir.test => t/instdir.sh (100%)
rename tests/instdir2.test => t/instdir2.sh (100%)
rename tests/instexec.test => t/instexec.sh (100%)
rename tests/instfail-info.test => t/instfail-info.sh (100%)
rename tests/instfail-java.test => t/instfail-java.sh (100%)
rename tests/instfail-libtool.test => t/instfail-libtool.sh (100%)
rename tests/instfail.test => t/instfail.sh (100%)
rename tests/insthook.test => t/insthook.sh (100%)
rename tests/instman.test => t/instman.sh (100%)
rename tests/instman2.test => t/instman2.sh (100%)
rename tests/instmany-mans.test => t/instmany-mans.sh (100%)
rename tests/instmany-python.test => t/instmany-python.sh (100%)
rename tests/instmany.test => t/instmany.sh (100%)
rename tests/instsh.test => t/instsh.sh (100%)
rename tests/instsh2.test => t/instsh2.sh (100%)
rename tests/instsh3.test => t/instsh3.sh (100%)
rename {tests => t}/instspc.tap (100%)
rename tests/interp.test => t/interp.sh (100%)
rename tests/interp2.test => t/interp2.sh (100%)
rename tests/interp3.test => t/interp3.sh (100%)
rename tests/java-check.test => t/java-check.sh (100%)
rename tests/java-clean.test => t/java-clean.sh (100%)
rename tests/java-compile-install.test => t/java-compile-install.sh (100%)
rename tests/java-compile-run-flat.test => t/java-compile-run-flat.sh (100%)
rename tests/java-compile-run-nested.test => t/java-compile-run-nested.sh
(100%)
rename tests/java-empty-classpath.test => t/java-empty-classpath.sh (100%)
rename tests/java-extra.test => t/java-extra.sh (100%)
rename tests/java-mix.test => t/java-mix.sh (100%)
rename tests/java-no-duplicate.test => t/java-no-duplicate.sh (100%)
rename tests/java-nobase.test => t/java-nobase.sh (100%)
rename tests/java-noinst.test => t/java-noinst.sh (100%)
rename tests/java-rebuild.test => t/java-rebuild.sh (100%)
rename tests/java-sources.test => t/java-sources.sh (100%)
rename tests/java-uninstall.test => t/java-uninstall.sh (100%)
rename tests/java.test => t/java.sh (100%)
rename tests/java2.test => t/java2.sh (100%)
rename tests/java3.test => t/java3.sh (100%)
rename tests/javadir-undefined.test => t/javadir-undefined.sh (100%)
rename tests/javaflags.test => t/javaflags.sh (100%)
rename tests/javaprim.test => t/javaprim.sh (100%)
rename tests/javasubst.test => t/javasubst.sh (100%)
rename tests/ldadd.test => t/ldadd.sh (100%)
rename tests/ldflags.test => t/ldflags.sh (100%)
create mode 100755 t/lex-clean-cxx.sh
rename tests/lex-clean.test => t/lex-clean.sh (100%)
create mode 100755 t/lex-depend-cxx.sh
rename tests/lex-depend-grep.test => t/lex-depend-grep.sh (100%)
rename tests/lex-depend.test => t/lex-depend.sh (100%)
rename tests/lex-lib-external.test => t/lex-lib-external.sh (100%)
rename tests/lex-lib.test => t/lex-lib.sh (100%)
rename tests/lex-libobj.test => t/lex-libobj.sh (100%)
rename tests/lex-line.test => t/lex-line.sh (100%)
rename tests/lex-nodist.test => t/lex-nodist.sh (100%)
rename tests/lex-noyywrap.test => t/lex-noyywrap.sh (100%)
rename tests/lex-pr204.test => t/lex-pr204.sh (100%)
rename tests/lex-subobj-nodep.test => t/lex-subobj-nodep.sh (100%)
rename tests/lex.test => t/lex.sh (100%)
rename tests/lex2.test => t/lex2.sh (100%)
rename tests/lex3.test => t/lex3.sh (100%)
rename tests/lex5.test => t/lex5.sh (100%)
rename tests/lexcpp.test => t/lexcpp.sh (100%)
rename tests/lexvpath.test => t/lexvpath.sh (100%)
rename tests/lflags.test => t/lflags.sh (100%)
rename tests/lflags2.test => t/lflags2.sh (100%)
rename tests/libexec.test => t/libexec.sh (100%)
rename tests/libobj-basic.test => t/libobj-basic.sh (100%)
rename tests/libobj10.test => t/libobj10.sh (100%)
rename tests/libobj12.test => t/libobj12.sh (100%)
rename tests/libobj13.test => t/libobj13.sh (100%)
rename tests/libobj14.test => t/libobj14.sh (100%)
rename tests/libobj15a.test => t/libobj15a.sh (100%)
rename tests/libobj15b.test => t/libobj15b.sh (100%)
rename tests/libobj15c.test => t/libobj15c.sh (100%)
rename tests/libobj16a.test => t/libobj16a.sh (100%)
rename tests/libobj16b.test => t/libobj16b.sh (100%)
rename tests/libobj17.test => t/libobj17.sh (100%)
rename tests/libobj18.test => t/libobj18.sh (100%)
rename tests/libobj19.test => t/libobj19.sh (100%)
rename tests/libobj2.test => t/libobj2.sh (100%)
rename tests/libobj20a.test => t/libobj20a.sh (100%)
rename tests/libobj20b.test => t/libobj20b.sh (100%)
rename tests/libobj20c.test => t/libobj20c.sh (100%)
rename tests/libobj3.test => t/libobj3.sh (100%)
rename tests/libobj4.test => t/libobj4.sh (100%)
rename tests/libobj5.test => t/libobj5.sh (100%)
rename tests/libobj7.test => t/libobj7.sh (100%)
rename tests/library.test => t/library.sh (100%)
rename tests/library2.test => t/library2.sh (100%)
rename tests/library3.test => t/library3.sh (100%)
rename tests/libtoo10.test => t/libtoo10.sh (100%)
rename tests/libtoo11.test => t/libtoo11.sh (100%)
rename tests/libtool-macros.test => t/libtool-macros.sh (100%)
rename tests/libtool.test => t/libtool.sh (100%)
rename tests/libtool2.test => t/libtool2.sh (100%)
rename tests/libtool3.test => t/libtool3.sh (100%)
rename tests/libtool4.test => t/libtool4.sh (100%)
rename tests/libtool5.test => t/libtool5.sh (100%)
rename tests/libtool6.test => t/libtool6.sh (100%)
rename tests/libtool7.test => t/libtool7.sh (100%)
rename tests/libtool8.test => t/libtool8.sh (100%)
rename tests/libtool9.test => t/libtool9.sh (100%)
rename tests/license.test => t/license.sh (100%)
rename tests/license2.test => t/license2.sh (100%)
rename tests/link_c_cxx.test => t/link_c_cxx.sh (100%)
rename tests/link_cond.test => t/link_cond.sh (100%)
rename tests/link_dist.test => t/link_dist.sh (100%)
rename tests/link_f90_only.test => t/link_f90_only.sh (100%)
rename tests/link_f_only.test => t/link_f_only.sh (100%)
rename tests/link_fc.test => t/link_fc.sh (100%)
rename tests/link_fccxx.test => t/link_fccxx.sh (100%)
rename tests/link_fcxx.test => t/link_fcxx.sh (100%)
rename tests/link_override.test => t/link_override.sh (100%)
rename tests/lisp2.test => t/lisp2.sh (100%)
rename tests/lisp3.test => t/lisp3.sh (100%)
rename tests/lisp4.test => t/lisp4.sh (100%)
rename tests/lisp5.test => t/lisp5.sh (100%)
rename tests/lisp6.test => t/lisp6.sh (100%)
rename tests/lisp7.test => t/lisp7.sh (100%)
rename tests/lisp8.test => t/lisp8.sh (100%)
rename tests/lispdry.test => t/lispdry.sh (100%)
create mode 100644 t/list-of-tests.mk
rename tests/listval.test => t/listval.sh (100%)
rename tests/location.test => t/location.sh (100%)
rename tests/longlin2.test => t/longlin2.sh (100%)
rename tests/longline.test => t/longline.sh (100%)
rename tests/ltcond.test => t/ltcond.sh (100%)
rename tests/ltcond2.test => t/ltcond2.sh (100%)
rename tests/ltconv.test => t/ltconv.sh (100%)
rename tests/ltdeps.test => t/ltdeps.sh (100%)
rename tests/ltinit.test => t/ltinit.sh (100%)
rename tests/ltinstloc.test => t/ltinstloc.sh (100%)
rename tests/ltlibobjs.test => t/ltlibobjs.sh (100%)
rename tests/ltlibsrc.test => t/ltlibsrc.sh (100%)
rename tests/ltorder.test => t/ltorder.sh (100%)
rename tests/lzma.test => t/lzma.sh (100%)
rename tests/m4-inclusion.test => t/m4-inclusion.sh (100%)
rename tests/maintclean-vpath.test => t/maintclean-vpath.sh (100%)
rename tests/maintclean.test => t/maintclean.sh (100%)
rename tests/maintmode-configure-msg.test => t/maintmode-configure-msg.sh
(100%)
rename {tests => t}/make-dryrun.tap (100%)
rename tests/makefile-deps.test => t/makefile-deps.sh (100%)
rename tests/makej.test => t/makej.sh (100%)
rename tests/makej2.test => t/makej2.sh (100%)
rename tests/maken.test => t/maken.sh (100%)
rename tests/maken3.test => t/maken3.sh (100%)
rename tests/makevars.test => t/makevars.sh (100%)
rename tests/man.test => t/man.sh (100%)
rename tests/man2.test => t/man2.sh (100%)
rename tests/man3.test => t/man3.sh (100%)
rename tests/man4.test => t/man4.sh (100%)
rename tests/man5.test => t/man5.sh (100%)
rename tests/man6.test => t/man6.sh (100%)
rename tests/man7.test => t/man7.sh (100%)
rename tests/man8.test => t/man8.sh (100%)
rename tests/mdate.test => t/mdate.sh (100%)
rename tests/mdate2.test => t/mdate2.sh (100%)
rename tests/mdate3.test => t/mdate3.sh (100%)
rename tests/mdate4.test => t/mdate4.sh (100%)
rename tests/mdate5.test => t/mdate5.sh (100%)
rename tests/mdate6.test => t/mdate6.sh (100%)
rename tests/missing-auxfile-stops-makefiles-creation.test =>
t/missing-auxfile-stops-makefiles-creation.sh (100%)
rename tests/missing.test => t/missing.sh (100%)
rename tests/missing2.test => t/missing2.sh (100%)
rename tests/missing3.test => t/missing3.sh (100%)
rename tests/missing4.test => t/missing4.sh (100%)
rename tests/missing5.test => t/missing5.sh (100%)
rename tests/missing6.test => t/missing6.sh (100%)
rename tests/mkinst2.test => t/mkinst2.sh (100%)
rename tests/mkinst3.test => t/mkinst3.sh (100%)
rename tests/mkinstall.test => t/mkinstall.sh (100%)
rename tests/mmode.test => t/mmode.sh (100%)
rename tests/mmodely.test => t/mmodely.sh (100%)
create mode 100755 t/multlib.sh
rename tests/no-extra-makefile-code.test => t/no-extra-makefile-code.sh (100%)
rename tests/no-outdir-option.test => t/no-outdir-option.sh (100%)
rename tests/nobase-libtool.test => t/nobase-libtool.sh (100%)
rename tests/nobase-nodist.test => t/nobase-nodist.sh (100%)
rename tests/nobase-python.test => t/nobase-python.sh (100%)
rename tests/nobase.test => t/nobase.sh (100%)
rename tests/nodef.test => t/nodef.sh (100%)
rename tests/nodef2.test => t/nodef2.sh (100%)
rename tests/nodep.test => t/nodep.sh (100%)
rename tests/nodep2.test => t/nodep2.sh (100%)
rename tests/nodepcomp.test => t/nodepcomp.sh (100%)
rename tests/nodist.test => t/nodist.sh (100%)
rename tests/nodist2.test => t/nodist2.sh (100%)
rename tests/nodist3.test => t/nodist3.sh (100%)
rename tests/noinst.test => t/noinst.sh (100%)
rename tests/noinstdir.test => t/noinstdir.sh (100%)
rename tests/nolink.test => t/nolink.sh (100%)
rename tests/nostdinc.test => t/nostdinc.sh (100%)
rename tests/notrans.test => t/notrans.sh (100%)
rename tests/number.test => t/number.sh (100%)
rename tests/objc.test => t/objc.sh (100%)
rename tests/objc2.test => t/objc2.sh (100%)
rename tests/objdir.test => t/objdir.sh (100%)
rename tests/objext-pr10128.test => t/objext-pr10128.sh (100%)
rename tests/obsolete.test => t/obsolete.sh (100%)
rename tests/oldvars.test => t/oldvars.sh (100%)
rename tests/order.test => t/order.sh (100%)
rename tests/output-order.test => t/output-order.sh (100%)
rename tests/output.test => t/output.sh (100%)
rename tests/output10.test => t/output10.sh (100%)
rename tests/output11.test => t/output11.sh (100%)
rename tests/output12.test => t/output12.sh (100%)
rename tests/output13.test => t/output13.sh (100%)
rename tests/output2.test => t/output2.sh (100%)
rename tests/output3.test => t/output3.sh (100%)
rename tests/output4.test => t/output4.sh (100%)
rename tests/output5.test => t/output5.sh (100%)
rename tests/output6.test => t/output6.sh (100%)
rename tests/output7.test => t/output7.sh (100%)
rename tests/output8.test => t/output8.sh (100%)
rename tests/output9.test => t/output9.sh (100%)
rename tests/override-conditional-1.test => t/override-conditional-1.sh (100%)
rename tests/override-conditional-2.test => t/override-conditional-2.sh (100%)
rename tests/override-html.test => t/override-html.sh (100%)
rename tests/override-suggest-local.test => t/override-suggest-local.sh (100%)
rename tests/parallel-am.test => t/parallel-am.sh (100%)
rename tests/parallel-am2.test => t/parallel-am2.sh (100%)
rename tests/parallel-am3.test => t/parallel-am3.sh (100%)
rename tests/parallel-tests-cmdline-override.test =>
t/parallel-tests-cmdline-override.sh (100%)
rename tests/parallel-tests-console-output.test =>
t/parallel-tests-console-output.sh (100%)
rename tests/parallel-tests-driver-install.test =>
t/parallel-tests-driver-install.sh (100%)
rename tests/parallel-tests-dry-run-1.test => t/parallel-tests-dry-run-1.sh
(100%)
rename tests/parallel-tests-dry-run-2.test => t/parallel-tests-dry-run-2.sh
(100%)
rename tests/parallel-tests-empty-testlogs.test =>
t/parallel-tests-empty-testlogs.sh (100%)
rename tests/parallel-tests-exeext.test => t/parallel-tests-exeext.sh (100%)
rename tests/parallel-tests-exit-statuses.test =>
t/parallel-tests-exit-statuses.sh (100%)
rename tests/parallel-tests-extra-programs.test =>
t/parallel-tests-extra-programs.sh (100%)
rename tests/parallel-tests-fd-redirect-exeext.test =>
t/parallel-tests-fd-redirect-exeext.sh (100%)
rename tests/parallel-tests-fd-redirect.test =>
t/parallel-tests-fd-redirect.sh (100%)
rename tests/parallel-tests-fork-bomb.test => t/parallel-tests-fork-bomb.sh
(100%)
rename tests/parallel-tests-harderror.test => t/parallel-tests-harderror.sh
(100%)
rename {tests => t}/parallel-tests-interrupt.tap (100%)
rename tests/parallel-tests-log-compiler-1.test =>
t/parallel-tests-log-compiler-1.sh (100%)
rename tests/parallel-tests-log-compiler-2.test =>
t/parallel-tests-log-compiler-2.sh (100%)
rename tests/parallel-tests-log-compiler-example.test =>
t/parallel-tests-log-compiler-example.sh (100%)
rename tests/parallel-tests-log-override-1.test =>
t/parallel-tests-log-override-1.sh (100%)
rename tests/parallel-tests-log-override-2.test =>
t/parallel-tests-log-override-2.sh (100%)
rename tests/parallel-tests-log-override-recheck.test =>
t/parallel-tests-log-override-recheck.sh (100%)
rename tests/parallel-tests-many.test => t/parallel-tests-many.sh (100%)
rename tests/parallel-tests-no-color-in-log.test =>
t/parallel-tests-no-color-in-log.sh (100%)
rename tests/parallel-tests-no-spurious-summary.test =>
t/parallel-tests-no-spurious-summary.sh (100%)
rename tests/parallel-tests-once.test => t/parallel-tests-once.sh (100%)
rename tests/parallel-tests-reset-term.test => t/parallel-tests-reset-term.sh
(100%)
rename tests/parallel-tests-subdir.test => t/parallel-tests-subdir.sh (100%)
rename tests/parallel-tests-suffix-prog.test =>
t/parallel-tests-suffix-prog.sh (100%)
rename tests/parallel-tests-suffix.test => t/parallel-tests-suffix.sh (100%)
rename tests/parallel-tests-trailing-bslash.test =>
t/parallel-tests-trailing-bslash.sh (100%)
rename tests/parallel-tests-unreadable.test => t/parallel-tests-unreadable.sh
(100%)
rename tests/parallel-tests.test => t/parallel-tests.sh (100%)
rename tests/parallel-tests10.test => t/parallel-tests10.sh (100%)
create mode 100755 t/parallel-tests2.sh
rename tests/parallel-tests3.test => t/parallel-tests3.sh (100%)
rename tests/parallel-tests5.test => t/parallel-tests5.sh (100%)
rename tests/parallel-tests6.test => t/parallel-tests6.sh (100%)
rename tests/parallel-tests8.test => t/parallel-tests8.sh (100%)
rename tests/parallel-tests9.test => t/parallel-tests9.sh (100%)
rename tests/parse.test => t/parse.sh (100%)
rename tests/pattern-rules.test => t/pattern-rules.sh (100%)
rename tests/pattern-rules2.test => t/pattern-rules2.sh (100%)
rename tests/phony.test => t/phony.sh (100%)
rename tests/pluseq.test => t/pluseq.sh (100%)
rename tests/pluseq10.test => t/pluseq10.sh (100%)
rename tests/pluseq11.test => t/pluseq11.sh (100%)
rename tests/pluseq2.test => t/pluseq2.sh (100%)
rename tests/pluseq3.test => t/pluseq3.sh (100%)
rename tests/pluseq4.test => t/pluseq4.sh (100%)
rename tests/pluseq5.test => t/pluseq5.sh (100%)
rename tests/pluseq6.test => t/pluseq6.sh (100%)
rename tests/pluseq7.test => t/pluseq7.sh (100%)
rename tests/pluseq8.test => t/pluseq8.sh (100%)
rename tests/pluseq9.test => t/pluseq9.sh (100%)
rename {tests => t}/pm/Cond2.pl (100%)
rename {tests => t}/pm/Cond3.pl (100%)
rename {tests => t}/pm/Condition-t.pl (100%)
rename {tests => t}/pm/Condition.pl (100%)
rename {tests => t}/pm/DisjCon2.pl (100%)
rename {tests => t}/pm/DisjCon3.pl (100%)
rename {tests => t}/pm/DisjConditions-t.pl (100%)
rename {tests => t}/pm/DisjConditions.pl (100%)
rename {tests => t}/pm/Version.pl (100%)
rename {tests => t}/pm/Version2.pl (100%)
rename {tests => t}/pm/Version3.pl (100%)
rename {tests => t}/pm/Wrap.pl (100%)
rename tests/posixsubst-data.test => t/posixsubst-data.sh (100%)
rename tests/posixsubst-extradist.test => t/posixsubst-extradist.sh (100%)
rename tests/posixsubst-ldadd.test => t/posixsubst-ldadd.sh (100%)
rename tests/posixsubst-libraries.test => t/posixsubst-libraries.sh (100%)
rename tests/posixsubst-ltlibraries.test => t/posixsubst-ltlibraries.sh (100%)
rename tests/posixsubst-programs.test => t/posixsubst-programs.sh (100%)
rename tests/posixsubst-scripts.test => t/posixsubst-scripts.sh (100%)
rename tests/posixsubst-sources.test => t/posixsubst-sources.sh (100%)
rename tests/posixsubst-tests.test => t/posixsubst-tests.sh (100%)
rename tests/ppf77.test => t/ppf77.sh (100%)
rename tests/pr2.test => t/pr2.sh (100%)
rename tests/pr211.test => t/pr211.sh (100%)
rename tests/pr220.test => t/pr220.sh (100%)
rename tests/pr224.test => t/pr224.sh (100%)
rename tests/pr229.test => t/pr229.sh (100%)
rename tests/pr279-2.test => t/pr279-2.sh (100%)
rename tests/pr279.test => t/pr279.sh (100%)
rename tests/pr287.test => t/pr287.sh (100%)
rename tests/pr300-lib.test => t/pr300-lib.sh (100%)
rename tests/pr300-ltlib.test => t/pr300-ltlib.sh (100%)
rename tests/pr300-prog.test => t/pr300-prog.sh (100%)
rename tests/pr307.test => t/pr307.sh (100%)
rename tests/pr401.test => t/pr401.sh (100%)
rename tests/pr401b.test => t/pr401b.sh (100%)
rename tests/pr401c.test => t/pr401c.sh (100%)
rename tests/pr72.test => t/pr72.sh (100%)
rename tests/pr8365-remake-timing.test => t/pr8365-remake-timing.sh (100%)
rename tests/pr87.test => t/pr87.sh (100%)
rename tests/pr9.test => t/pr9.sh (100%)
rename tests/prefix.test => t/prefix.sh (100%)
rename tests/primary-prefix-couples-documented-valid.test =>
t/primary-prefix-couples-documented-valid.sh (100%)
rename tests/primary-prefix-couples-force-valid.test =>
t/primary-prefix-couples-force-valid.sh (100%)
rename {tests => t}/primary-prefix-invalid-couples.tap (100%)
rename tests/primary-prefix-valid-couples.test =>
t/primary-prefix-valid-couples.sh (100%)
rename tests/primary.test => t/primary.sh (100%)
rename tests/primary2.test => t/primary2.sh (100%)
rename tests/primary3.test => t/primary3.sh (100%)
rename tests/print-libdir.test => t/print-libdir.sh (100%)
rename tests/proginst.test => t/proginst.sh (100%)
rename tests/programs-primary-rewritten.test =>
t/programs-primary-rewritten.sh (100%)
rename tests/py-compile-basedir.test => t/py-compile-basedir.sh (100%)
rename tests/py-compile-basic.test => t/py-compile-basic.sh (100%)
rename tests/py-compile-basic2.test => t/py-compile-basic2.sh (100%)
rename tests/py-compile-destdir.test => t/py-compile-destdir.sh (100%)
rename tests/py-compile-env.test => t/py-compile-env.sh (100%)
rename tests/py-compile-option-terminate.test =>
t/py-compile-option-terminate.sh (100%)
rename tests/py-compile-usage.test => t/py-compile-usage.sh (100%)
rename tests/python-dist.test => t/python-dist.sh (100%)
rename tests/python-pr10995.test => t/python-pr10995.sh (100%)
rename tests/python-vars.test => t/python-vars.sh (100%)
rename tests/python-virtualenv.test => t/python-virtualenv.sh (100%)
rename tests/python.test => t/python.sh (100%)
rename tests/python10.test => t/python10.sh (100%)
rename tests/python11.test => t/python11.sh (100%)
rename tests/python12.test => t/python12.sh (100%)
rename tests/python2.test => t/python2.sh (100%)
rename tests/python3.test => t/python3.sh (100%)
rename tests/python4.test => t/python4.sh (100%)
rename tests/python5.test => t/python5.sh (100%)
rename tests/python5b.test => t/python5b.sh (100%)
rename tests/python6.test => t/python6.sh (100%)
rename tests/python7.test => t/python7.sh (100%)
rename tests/python8.test => t/python8.sh (100%)
rename tests/python9.test => t/python9.sh (100%)
rename tests/recurs.test => t/recurs.sh (100%)
rename tests/recurs2.test => t/recurs2.sh (100%)
rename tests/remake-all-1.test => t/remake-all-1.sh (100%)
rename tests/remake-am-pr10111.test => t/remake-am-pr10111.sh (100%)
rename tests/remake-deleted-am-2.test => t/remake-deleted-am-2.sh (100%)
rename tests/remake-deleted-am-subdir.test => t/remake-deleted-am-subdir.sh
(100%)
rename tests/remake-deleted-am.test => t/remake-deleted-am.sh (100%)
rename tests/remake-deleted-m4-file.test => t/remake-deleted-m4-file.sh (100%)
rename tests/remake-gnulib-add-acsubst.test => t/remake-gnulib-add-acsubst.sh
(100%)
rename tests/remake-gnulib-add-header.test => t/remake-gnulib-add-header.sh
(100%)
rename tests/remake-gnulib-remove-header.test =>
t/remake-gnulib-remove-header.sh (100%)
rename tests/remake-m4-pr10111.test => t/remake-m4-pr10111.sh (100%)
rename tests/remake-moved-m4-file.test => t/remake-moved-m4-file.sh (100%)
rename tests/remake-renamed-am.test => t/remake-renamed-am.sh (100%)
rename tests/remake-renamed-m4-file.test => t/remake-renamed-m4-file.sh (100%)
rename tests/remake-renamed-m4-macro-and-file.test =>
t/remake-renamed-m4-macro-and-file.sh (100%)
rename tests/remake-renamed-m4-macro.test => t/remake-renamed-m4-macro.sh
(100%)
rename tests/remake-subdir-from-subdir.test => t/remake-subdir-from-subdir.sh
(100%)
rename tests/remake-subdir-gnu.test => t/remake-subdir-gnu.sh (100%)
rename tests/remake-subdir-long-time.test => t/remake-subdir-long-time.sh
(100%)
rename tests/remake-subdir.test => t/remake-subdir.sh (100%)
rename tests/remake.test => t/remake.sh (100%)
rename tests/remake10a.test => t/remake10a.sh (100%)
rename tests/remake10b.test => t/remake10b.sh (100%)
rename tests/remake10c.test => t/remake10c.sh (100%)
rename tests/remake11.test => t/remake11.sh (100%)
rename tests/remake12.test => t/remake12.sh (100%)
rename tests/remake1a.test => t/remake1a.sh (100%)
rename tests/remake2.test => t/remake2.sh (100%)
rename tests/remake3.test => t/remake3.sh (100%)
rename tests/remake3a.test => t/remake3a.sh (100%)
rename tests/remake4.test => t/remake4.sh (100%)
rename tests/remake5.test => t/remake5.sh (100%)
rename tests/remake6.test => t/remake6.sh (100%)
rename tests/remake7.test => t/remake7.sh (100%)
rename tests/remake8a.test => t/remake8a.sh (100%)
rename tests/remake8b.test => t/remake8b.sh (100%)
rename tests/remake9a.test => t/remake9a.sh (100%)
rename tests/remake9b.test => t/remake9b.sh (100%)
rename tests/remake9c.test => t/remake9c.sh (100%)
rename tests/remake9d.test => t/remake9d.sh (100%)
rename tests/repeated-options.test => t/repeated-options.sh (100%)
rename tests/req.test => t/req.sh (100%)
rename tests/reqd.test => t/reqd.sh (100%)
rename tests/reqd2.test => t/reqd2.sh (100%)
rename tests/rst-formatting.test => t/rst-formatting.sh (100%)
rename tests/rulepat.test => t/rulepat.sh (100%)
rename tests/sanity.test => t/sanity.sh (100%)
rename tests/scripts.test => t/scripts.sh (100%)
rename tests/seenc.test => t/seenc.sh (100%)
create mode 100755 t/self-check-cleanup.tap
rename tests/self-check-configure-help.test => t/self-check-configure-help.sh
(100%)
create mode 100755 t/self-check-dir.tap
rename {tests => t}/self-check-env-sanitize.tap (100%)
create mode 100755 t/self-check-exit.tap
create mode 100755 t/self-check-explicit-skips.sh
rename {tests => t}/self-check-is-blocked-signal.tap (100%)
rename {tests => t}/self-check-is_newest.tap (100%)
create mode 100755 t/self-check-me.tap
create mode 100755 t/self-check-reexec.tap
rename tests/self-check-report.test => t/self-check-report.sh (100%)
create mode 100755 t/self-check-sanity.sh
rename {tests => t}/self-check-seq.tap (100%)
rename tests/self-check-tap.test => t/self-check-tap.sh (100%)
rename {tests => t}/self-check-unindent.tap (100%)
rename tests/serial-tests.test => t/serial-tests.sh (100%)
rename tests/silent-amopts.test => t/silent-amopts.sh (100%)
rename tests/silent-configsite.test => t/silent-configsite.sh (100%)
rename tests/silent-lex.test => t/silent-lex.sh (100%)
rename tests/silent-many-gcc.test => t/silent-many-gcc.sh (100%)
rename tests/silent-many-generic.test => t/silent-many-generic.sh (100%)
rename tests/silent-yacc-headers.test => t/silent-yacc-headers.sh (100%)
rename tests/silent-yacc.test => t/silent-yacc.sh (100%)
rename tests/silent.test => t/silent.sh (100%)
rename tests/silent2.test => t/silent2.sh (100%)
rename tests/silent3.test => t/silent3.sh (100%)
rename tests/silent4.test => t/silent4.sh (100%)
rename tests/silent6.test => t/silent6.sh (100%)
rename tests/silent7.test => t/silent7.sh (100%)
rename tests/silent8.test => t/silent8.sh (100%)
rename tests/silent9.test => t/silent9.sh (100%)
rename tests/silentcxx-gcc.test => t/silentcxx-gcc.sh (100%)
rename tests/silentcxx.test => t/silentcxx.sh (100%)
rename tests/silentf77.test => t/silentf77.sh (100%)
rename tests/silentf90.test => t/silentf90.sh (100%)
rename tests/space.test => t/space.sh (100%)
rename tests/specflg-dummy.test => t/specflg-dummy.sh (100%)
rename tests/specflg.test => t/specflg.sh (100%)
rename tests/specflg10.test => t/specflg10.sh (100%)
rename tests/specflg2.test => t/specflg2.sh (100%)
rename tests/specflg3.test => t/specflg3.sh (100%)
rename tests/specflg6.test => t/specflg6.sh (100%)
rename tests/specflg7.test => t/specflg7.sh (100%)
rename tests/specflg8.test => t/specflg8.sh (100%)
rename tests/specflg9.test => t/specflg9.sh (100%)
rename tests/spell.test => t/spell.sh (100%)
rename tests/spell2.test => t/spell2.sh (100%)
rename tests/spell3.test => t/spell3.sh (100%)
rename tests/spelling.test => t/spelling.sh (100%)
rename {tests => t}/spy-rm.tap (100%)
rename tests/spy-vpath-rewrite.test => t/spy-vpath-rewrite.sh (100%)
rename tests/spy.test => t/spy.sh (100%)
rename tests/srcsub.test => t/srcsub.sh (100%)
rename tests/srcsub2.test => t/srcsub2.sh (100%)
rename tests/stamph2.test => t/stamph2.sh (100%)
rename tests/stdinc.test => t/stdinc.sh (100%)
rename tests/stdlib.test => t/stdlib.sh (100%)
rename tests/stdlib2.test => t/stdlib2.sh (100%)
rename tests/strictness-override.test => t/strictness-override.sh (100%)
rename tests/strictness-precedence.test => t/strictness-precedence.sh (100%)
rename tests/strip.test => t/strip.sh (100%)
rename tests/strip2.test => t/strip2.sh (100%)
rename tests/strip3.test => t/strip3.sh (100%)
rename tests/subcond.test => t/subcond.sh (100%)
rename tests/subcond2.test => t/subcond2.sh (100%)
rename tests/subcond3.test => t/subcond3.sh (100%)
rename tests/subdir.test => t/subdir.sh (100%)
rename tests/subdir10.test => t/subdir10.sh (100%)
rename tests/subdir2.test => t/subdir2.sh (100%)
rename tests/subdir3.test => t/subdir3.sh (100%)
rename tests/subdir4.test => t/subdir4.sh (100%)
rename tests/subdir5.test => t/subdir5.sh (100%)
rename tests/subdir6.test => t/subdir6.sh (100%)
rename tests/subdir8.test => t/subdir8.sh (100%)
rename tests/subdir9.test => t/subdir9.sh (100%)
rename tests/subdirbuiltsources.test => t/subdirbuiltsources.sh (100%)
rename tests/subobj.test => t/subobj.sh (100%)
rename tests/subobj10.test => t/subobj10.sh (100%)
rename tests/subobj11a.test => t/subobj11a.sh (100%)
rename tests/subobj11c.test => t/subobj11c.sh (100%)
rename tests/subobj2.test => t/subobj2.sh (100%)
rename tests/subobj4.test => t/subobj4.sh (100%)
rename tests/subobj5.test => t/subobj5.sh (100%)
rename tests/subobj6.test => t/subobj6.sh (100%)
rename tests/subobj7.test => t/subobj7.sh (100%)
rename tests/subobj8.test => t/subobj8.sh (100%)
rename tests/subobj9.test => t/subobj9.sh (100%)
rename tests/subobjname.test => t/subobjname.sh (100%)
rename tests/subpkg-yacc.test => t/subpkg-yacc.sh (100%)
rename tests/subpkg.test => t/subpkg.sh (100%)
rename tests/subpkg2.test => t/subpkg2.sh (100%)
rename tests/subpkg3.test => t/subpkg3.sh (100%)
rename tests/subpkg4.test => t/subpkg4.sh (100%)
rename tests/subst-no-trailing-empty-line.test =>
t/subst-no-trailing-empty-line.sh (100%)
rename tests/subst.test => t/subst.sh (100%)
rename tests/subst3.test => t/subst3.sh (100%)
rename tests/subst4.test => t/subst4.sh (100%)
rename tests/subst5.test => t/subst5.sh (100%)
rename tests/substre2.test => t/substre2.sh (100%)
rename tests/substref.test => t/substref.sh (100%)
rename tests/substtarg.test => t/substtarg.sh (100%)
rename {tests => t}/suffix-chain.tap (100%)
rename tests/suffix.test => t/suffix.sh (100%)
rename {tests => t}/suffix10.tap (100%)
rename {tests => t}/suffix11.tap (100%)
rename tests/suffix12.test => t/suffix12.sh (100%)
rename tests/suffix13.test => t/suffix13.sh (100%)
rename tests/suffix2.test => t/suffix2.sh (100%)
rename {tests => t}/suffix3.tap (100%)
rename tests/suffix4.test => t/suffix4.sh (100%)
rename tests/suffix5.test => t/suffix5.sh (100%)
rename tests/suffix6.test => t/suffix6.sh (100%)
rename tests/suffix6b.test => t/suffix6b.sh (100%)
rename tests/suffix6c.test => t/suffix6c.sh (100%)
rename tests/suffix7.test => t/suffix7.sh (100%)
rename {tests => t}/suffix8.tap (100%)
rename tests/suffix9.test => t/suffix9.sh (100%)
rename tests/symlink.test => t/symlink.sh (100%)
rename tests/symlink2.test => t/symlink2.sh (100%)
rename tests/syntax.test => t/syntax.sh (100%)
rename tests/tags.test => t/tags.sh (100%)
rename tests/tags2.test => t/tags2.sh (100%)
rename tests/tagsub.test => t/tagsub.sh (100%)
create mode 100755 t/tap-ambiguous-directive.sh
create mode 100755 t/tap-autonumber.sh
rename {tests => t}/tap-bad-prog.tap (100%)
create mode 100755 t/tap-bailout-and-logging.sh
create mode 100755 t/tap-bailout-leading-space.sh
create mode 100755 t/tap-bailout-suppress-badexit.sh
create mode 100755 t/tap-bailout-suppress-later-diagnostic.sh
create mode 100755 t/tap-bailout-suppress-later-errors.sh
create mode 100755 t/tap-bailout.sh
rename tests/tap-basic.test => t/tap-basic.sh (100%)
create mode 100755 t/tap-color.sh
rename tests/tap-common-setup.test => t/tap-common-setup.sh (100%)
create mode 100755 t/tap-deps.sh
rename tests/tap-diagnostic-custom.test => t/tap-diagnostic-custom.sh (100%)
create mode 100755 t/tap-diagnostic.sh
rename tests/tap-doc.test => t/tap-doc.sh (100%)
rename tests/tap-doc2.test => t/tap-doc2.sh (100%)
rename tests/tap-driver-stderr.test => t/tap-driver-stderr.sh (100%)
create mode 100755 t/tap-empty-diagnostic.sh
create mode 100755 t/tap-empty.sh
create mode 100755 t/tap-escape-directive-2.sh
create mode 100755 t/tap-escape-directive.sh
create mode 100755 t/tap-exit.sh
create mode 100755 t/tap-fancy.sh
create mode 100755 t/tap-fancy2.sh
create mode 100755 t/tap-global-log.sh
create mode 100755 t/tap-global-result.sh
create mode 100755 t/tap-log.sh
create mode 100755 t/tap-merge-stdout-stderr.sh
create mode 100755 t/tap-missing-plan-and-bad-exit.sh
rename tests/tap-more.test => t/tap-more.sh (100%)
rename tests/tap-more2.test => t/tap-more2.sh (100%)
create mode 100755 t/tap-msg0-bailout.sh
create mode 100755 t/tap-msg0-directive.sh
create mode 100755 t/tap-msg0-misc.sh
create mode 100755 t/tap-msg0-planskip.sh
create mode 100755 t/tap-msg0-result.sh
create mode 100755 t/tap-negative-numbers.sh
create mode 100755 t/tap-no-disable-hard-error.sh
create mode 100755 t/tap-no-merge-stdout-stderr.sh
create mode 100755 t/tap-no-spurious-numbers.sh
create mode 100755 t/tap-no-spurious-summary.sh
create mode 100755 t/tap-no-spurious.sh
create mode 100755 t/tap-not-ok-skip.sh
create mode 100755 t/tap-number-wordboundary.sh
create mode 100755 t/tap-numbers-leading-zero.sh
create mode 100755 t/tap-numeric-description.sh
create mode 100755 t/tap-out-of-order.sh
create mode 100755 t/tap-passthrough-exit.sh
create mode 100755 t/tap-passthrough.sh
create mode 100755 t/tap-plan-corner.sh
create mode 100755 t/tap-plan-errors.sh
create mode 100755 t/tap-plan-leading-zero.sh
create mode 100755 t/tap-plan-malformed.sh
create mode 100755 t/tap-plan-middle.sh
create mode 100755 t/tap-plan-whitespace.sh
create mode 100755 t/tap-plan.sh
create mode 100755 t/tap-planskip-and-logging.sh
create mode 100755 t/tap-planskip-badexit.sh
create mode 100755 t/tap-planskip-bailout.sh
create mode 100755 t/tap-planskip-case-insensitive.sh
create mode 100755 t/tap-planskip-late.sh
create mode 100755 t/tap-planskip-later-errors.sh
create mode 100755 t/tap-planskip-unplanned-corner.sh
create mode 100755 t/tap-planskip-unplanned.sh
create mode 100755 t/tap-planskip-whitespace.sh
create mode 100755 t/tap-planskip.sh
create mode 100755 t/tap-realtime.sh
create mode 100755 t/tap-recheck-logs.sh
rename tests/tap-recheck.test => t/tap-recheck.sh (100%)
create mode 100755 t/tap-result-comment.sh
rename {tests => t}/tap-signal.tap (100%)
create mode 100755 t/tap-summary-color.sh
create mode 100755 t/tap-summary.sh
create mode 100755 t/tap-test-number-0.sh
create mode 100755 t/tap-todo-skip-together.sh
create mode 100755 t/tap-todo-skip-whitespace.sh
create mode 100755 t/tap-todo-skip.sh
create mode 100755 t/tap-unplanned.sh
create mode 100755 t/tap-whitespace-normalization.sh
create mode 100755 t/tap-with-and-without-number.sh
create mode 100755 t/tap-xfail-tests.sh
rename tests/tar-override.test => t/tar-override.sh (100%)
rename tests/tar.test => t/tar.sh (100%)
rename tests/tar2.test => t/tar2.sh (100%)
rename tests/tar3.test => t/tar3.sh (100%)
rename tests/target-cflags.test => t/target-cflags.sh (100%)
rename tests/targetclash.test => t/targetclash.sh (100%)
create mode 100755 t/test-driver-acsubst.sh
create mode 100755 t/test-driver-cond.sh
rename tests/test-driver-create-log-dir.test =>
t/test-driver-create-log-dir.sh (100%)
create mode 100755 t/test-driver-custom-multitest-recheck.sh
create mode 100755 t/test-driver-custom-multitest-recheck2.sh
create mode 100755 t/test-driver-custom-multitest.sh
rename tests/test-driver-custom-no-extra-driver.test =>
t/test-driver-custom-no-extra-driver.sh (100%)
rename tests/test-driver-custom-xfail-tests.test =>
t/test-driver-custom-xfail-tests.sh (100%)
rename tests/test-driver-custom.test => t/test-driver-custom.sh (100%)
rename tests/test-driver-fail.test => t/test-driver-fail.sh (100%)
rename tests/test-driver-is-distributed.test =>
t/test-driver-is-distributed.sh (100%)
rename tests/test-driver-strip-vpath.test => t/test-driver-strip-vpath.sh
(100%)
rename tests/test-driver-trs-suffix-registered.test =>
t/test-driver-trs-suffix-registered.sh (100%)
rename tests/test-extensions-cond.test => t/test-extensions-cond.sh (100%)
rename tests/test-extensions.test => t/test-extensions.sh (100%)
rename tests/test-harness-vpath-rewrite.test =>
t/test-harness-vpath-rewrite.sh (100%)
rename tests/test-log.test => t/test-log.sh (100%)
rename tests/test-logs-repeated.test => t/test-logs-repeated.sh (100%)
rename tests/test-metadata-global-log.test => t/test-metadata-global-log.sh
(100%)
rename tests/test-metadata-global-result.test =>
t/test-metadata-global-result.sh (100%)
rename tests/test-metadata-recheck.test => t/test-metadata-recheck.sh (100%)
rename tests/test-metadata-results.test => t/test-metadata-results.sh (100%)
rename tests/test-missing.test => t/test-missing.sh (100%)
rename tests/test-missing2.test => t/test-missing2.sh (100%)
rename tests/test-trs-basic.test => t/test-trs-basic.sh (100%)
rename tests/test-trs-recover.test => t/test-trs-recover.sh (100%)
rename tests/test-trs-recover2.test => t/test-trs-recover2.sh (100%)
rename tests/tests-environment-and-log-compiler.test =>
t/tests-environment-and-log-compiler.sh (100%)
rename tests/tests-environment-backcompat.test =>
t/tests-environment-backcompat.sh (100%)
rename tests/tests-environment-fd-redirect.test =>
t/tests-environment-fd-redirect.sh (100%)
rename tests/tests-environment.test => t/tests-environment.sh (100%)
create mode 100755 t/testsuite-summary-color.sh
create mode 100755 t/testsuite-summary-count-many.sh
create mode 100755 t/testsuite-summary-count.sh
rename tests/testsuite-summary-reference-log.test =>
t/testsuite-summary-reference-log.sh (100%)
rename tests/transform.test => t/transform.sh (100%)
rename tests/transform2.test => t/transform2.sh (100%)
rename tests/transform3.test => t/transform3.sh (100%)
rename tests/txinfo-no-clutter.test => t/txinfo-no-clutter.sh (100%)
rename tests/txinfo-unrecognized-extension.test =>
t/txinfo-unrecognized-extension.sh (100%)
rename tests/txinfo.test => t/txinfo.sh (100%)
rename tests/txinfo10.test => t/txinfo10.sh (100%)
rename tests/txinfo13.test => t/txinfo13.sh (100%)
rename tests/txinfo16.test => t/txinfo16.sh (100%)
rename tests/txinfo17.test => t/txinfo17.sh (100%)
create mode 100755 t/txinfo19.sh
rename tests/txinfo2.test => t/txinfo2.sh (100%)
rename tests/txinfo20.test => t/txinfo20.sh (100%)
rename tests/txinfo21.test => t/txinfo21.sh (100%)
rename tests/txinfo22.test => t/txinfo22.sh (100%)
rename tests/txinfo23.test => t/txinfo23.sh (100%)
rename tests/txinfo24.test => t/txinfo24.sh (100%)
rename tests/txinfo25.test => t/txinfo25.sh (100%)
rename tests/txinfo26.test => t/txinfo26.sh (100%)
rename tests/txinfo27.test => t/txinfo27.sh (100%)
rename tests/txinfo28.test => t/txinfo28.sh (100%)
rename tests/txinfo29.test => t/txinfo29.sh (100%)
rename tests/txinfo3.test => t/txinfo3.sh (100%)
rename tests/txinfo30.test => t/txinfo30.sh (100%)
rename tests/txinfo31.test => t/txinfo31.sh (100%)
rename tests/txinfo32.test => t/txinfo32.sh (100%)
rename tests/txinfo33.test => t/txinfo33.sh (100%)
rename tests/txinfo4.test => t/txinfo4.sh (100%)
rename tests/txinfo5.test => t/txinfo5.sh (100%)
rename tests/txinfo5b.test => t/txinfo5b.sh (100%)
rename tests/txinfo6.test => t/txinfo6.sh (100%)
rename tests/txinfo7.test => t/txinfo7.sh (100%)
rename tests/txinfo8.test => t/txinfo8.sh (100%)
rename tests/txinfo9.test => t/txinfo9.sh (100%)
rename tests/uninstall-fail.test => t/uninstall-fail.sh (100%)
rename tests/uninstall-pr9578.test => t/uninstall-pr9578.sh (100%)
rename tests/unused.test => t/unused.sh (100%)
rename tests/upc.test => t/upc.sh (100%)
rename tests/upc2.test => t/upc2.sh (100%)
rename tests/upc3.test => t/upc3.sh (100%)
rename tests/vala-mix.test => t/vala-mix.sh (100%)
create mode 100755 t/vala-mix2.sh
rename tests/vala-vpath.test => t/vala-vpath.sh (100%)
rename tests/vala.test => t/vala.sh (100%)
rename tests/vala1.test => t/vala1.sh (100%)
rename tests/vala2.test => t/vala2.sh (100%)
rename tests/vala3.test => t/vala3.sh (100%)
rename tests/vala4.test => t/vala4.sh (100%)
rename tests/vala5.test => t/vala5.sh (100%)
rename tests/vars-assign.test => t/vars-assign.sh (100%)
rename tests/vars.test => t/vars.sh (100%)
rename tests/vartar.test => t/vartar.sh (100%)
rename tests/vartypo2.test => t/vartypo2.sh (100%)
rename tests/vartypos.test => t/vartypos.sh (100%)
rename tests/version.test => t/version.sh (100%)
rename tests/version2.test => t/version2.sh (100%)
rename tests/version3.test => t/version3.sh (100%)
rename tests/version4.test => t/version4.sh (100%)
rename tests/version6.test => t/version6.sh (100%)
rename tests/version7.test => t/version7.sh (100%)
rename tests/version8.test => t/version8.sh (100%)
rename tests/vpath-rewrite.test => t/vpath-rewrite.sh (100%)
rename tests/vpath.test => t/vpath.sh (100%)
rename tests/vtexi.test => t/vtexi.sh (100%)
rename tests/vtexi2.test => t/vtexi2.sh (100%)
rename tests/vtexi3.test => t/vtexi3.sh (100%)
rename tests/vtexi4.test => t/vtexi4.sh (100%)
rename tests/warning-groups-win-over-strictness.test =>
t/warning-groups-win-over-strictness.sh (100%)
rename tests/warnings-override.test => t/warnings-override.sh (100%)
rename tests/warnings-precedence.test => t/warnings-precedence.sh (100%)
rename tests/warnings-strictness-interactions.test =>
t/warnings-strictness-interactions.sh (100%)
rename tests/warnings-unknown.test => t/warnings-unknown.sh (100%)
rename tests/warnings-win-over-strictness.test =>
t/warnings-win-over-strictness.sh (100%)
rename tests/warnopts.test => t/warnopts.sh (100%)
rename tests/werror.test => t/werror.sh (100%)
rename tests/werror2.test => t/werror2.sh (100%)
rename tests/werror3.test => t/werror3.sh (100%)
rename tests/werror4.test => t/werror4.sh (100%)
rename tests/whoami.test => t/whoami.sh (100%)
rename {tests => t}/wrap/aclocal.in (100%)
rename {tests => t}/wrap/automake.in (100%)
rename tests/xsource.test => t/xsource.sh (100%)
rename tests/yacc-auxdir.test => t/yacc-auxdir.sh (100%)
rename tests/yacc-basic.test => t/yacc-basic.sh (100%)
rename tests/yacc-bison-skeleton-cxx.test => t/yacc-bison-skeleton-cxx.sh
(100%)
rename tests/yacc-bison-skeleton.test => t/yacc-bison-skeleton.sh (100%)
rename tests/yacc-clean-cxx.test => t/yacc-clean-cxx.sh (100%)
rename tests/yacc-clean.test => t/yacc-clean.sh (100%)
rename tests/yacc-cxx.test => t/yacc-cxx.sh (100%)
rename tests/yacc-d-basic.test => t/yacc-d-basic.sh (100%)
create mode 100755 t/yacc-d-cxx.sh
rename tests/yacc-d-vpath.test => t/yacc-d-vpath.sh (100%)
rename tests/yacc-deleted-headers.test => t/yacc-deleted-headers.sh (100%)
rename tests/yacc-depend.test => t/yacc-depend.sh (100%)
rename tests/yacc-depend2.test => t/yacc-depend2.sh (100%)
rename tests/yacc-dist-nobuild-subdir.test => t/yacc-dist-nobuild-subdir.sh
(100%)
rename tests/yacc-dist-nobuild.test => t/yacc-dist-nobuild.sh (100%)
rename tests/yacc-line.test => t/yacc-line.sh (100%)
rename tests/yacc-mix-c-cxx.test => t/yacc-mix-c-cxx.sh (100%)
rename tests/yacc-nodist.test => t/yacc-nodist.sh (100%)
rename tests/yacc-pr204.test => t/yacc-pr204.sh (100%)
rename tests/yacc-subobj-nodep.test => t/yacc-subobj-nodep.sh (100%)
rename tests/yacc-weirdnames.test => t/yacc-weirdnames.sh (100%)
rename tests/yacc.test => t/yacc.sh (100%)
rename tests/yacc2.test => t/yacc2.sh (100%)
rename tests/yacc4.test => t/yacc4.sh (100%)
rename tests/yacc5.test => t/yacc5.sh (100%)
rename tests/yacc7.test => t/yacc7.sh (100%)
rename tests/yacc8.test => t/yacc8.sh (100%)
rename tests/yaccdry.test => t/yaccdry.sh (100%)
rename tests/yaccpp.test => t/yaccpp.sh (100%)
rename tests/yaccvpath.test => t/yaccvpath.sh (100%)
rename tests/yflags-cmdline-override.test => t/yflags-cmdline-override.sh
(100%)
rename tests/yflags-conditional.test => t/yflags-conditional.sh (100%)
rename tests/yflags-d-false-positives.test => t/yflags-d-false-positives.sh
(100%)
rename tests/yflags-force-conditional.test => t/yflags-force-conditional.sh
(100%)
rename tests/yflags-force-override.test => t/yflags-force-override.sh (100%)
rename tests/yflags-var-expand.test => t/yflags-var-expand.sh (100%)
rename tests/yflags.test => t/yflags.sh (100%)
rename tests/yflags2.test => t/yflags2.sh (100%)
delete mode 100644 tests/.gitignore
delete mode 100644 tests/Makefile.am
delete mode 100644 tests/README
delete mode 100755 tests/ccnoco.test
delete mode 100755 tests/ccnoco3.test
delete mode 100644 tests/defs
delete mode 100644 tests/defs-static.in
delete mode 100755 tests/depcomp-shuffle-sub-vpath.test
delete mode 100755 tests/depcomp-shuffle-sub.test
delete mode 100755 tests/depcomp-shuffle-vpath.test
delete mode 100755 tests/depcomp-shuffle.test
delete mode 100755 tests/distcheck-missing-m4.test
delete mode 100755 tests/distcheck-outdated-m4.test
delete mode 100755 tests/gen-testsuite-part
delete mode 100755 tests/get-sysconf.test
delete mode 100755 tests/help-multilib.test
delete mode 100755 tests/install-info-dir.test
delete mode 100755 tests/lex-clean-cxx.test
delete mode 100755 tests/lex-depend-cxx.test
delete mode 100644 tests/list-of-tests.mk
delete mode 100755 tests/multlib.test
delete mode 100755 tests/parallel-tests2.test
delete mode 100755 tests/prove-runner
delete mode 100755 tests/self-check-cleanup.tap
delete mode 100755 tests/self-check-dir.tap
delete mode 100755 tests/self-check-exit.tap
delete mode 100755 tests/self-check-explicit-skips.test
delete mode 100755 tests/self-check-me.tap
delete mode 100755 tests/self-check-reexec.tap
delete mode 100755 tests/self-check-sanity.test
delete mode 100755 tests/tap-ambiguous-directive.test
delete mode 100755 tests/tap-autonumber.test
delete mode 100755 tests/tap-bailout-and-logging.test
delete mode 100755 tests/tap-bailout-leading-space.test
delete mode 100755 tests/tap-bailout-suppress-badexit.test
delete mode 100755 tests/tap-bailout-suppress-later-diagnostic.test
delete mode 100755 tests/tap-bailout-suppress-later-errors.test
delete mode 100755 tests/tap-bailout.test
delete mode 100755 tests/tap-color.test
delete mode 100755 tests/tap-deps.test
delete mode 100755 tests/tap-diagnostic.test
delete mode 100755 tests/tap-empty-diagnostic.test
delete mode 100755 tests/tap-empty.test
delete mode 100755 tests/tap-escape-directive-2.test
delete mode 100755 tests/tap-escape-directive.test
delete mode 100755 tests/tap-exit.test
delete mode 100755 tests/tap-fancy.test
delete mode 100755 tests/tap-fancy2.test
delete mode 100755 tests/tap-global-log.test
delete mode 100755 tests/tap-global-result.test
delete mode 100755 tests/tap-log.test
delete mode 100755 tests/tap-merge-stdout-stderr.test
delete mode 100755 tests/tap-missing-plan-and-bad-exit.test
delete mode 100755 tests/tap-msg0-bailout.test
delete mode 100755 tests/tap-msg0-directive.test
delete mode 100755 tests/tap-msg0-misc.test
delete mode 100755 tests/tap-msg0-planskip.test
delete mode 100755 tests/tap-msg0-result.test
delete mode 100755 tests/tap-negative-numbers.test
delete mode 100755 tests/tap-no-disable-hard-error.test
delete mode 100755 tests/tap-no-merge-stdout-stderr.test
delete mode 100755 tests/tap-no-spurious-numbers.test
delete mode 100755 tests/tap-no-spurious-summary.test
delete mode 100755 tests/tap-no-spurious.test
delete mode 100755 tests/tap-not-ok-skip.test
delete mode 100755 tests/tap-number-wordboundary.test
delete mode 100755 tests/tap-numbers-leading-zero.test
delete mode 100755 tests/tap-numeric-description.test
delete mode 100755 tests/tap-out-of-order.test
delete mode 100755 tests/tap-passthrough-exit.test
delete mode 100755 tests/tap-passthrough.test
delete mode 100755 tests/tap-plan-corner.test
delete mode 100755 tests/tap-plan-errors.test
delete mode 100755 tests/tap-plan-leading-zero.test
delete mode 100755 tests/tap-plan-malformed.test
delete mode 100755 tests/tap-plan-middle.test
delete mode 100755 tests/tap-plan-whitespace.test
delete mode 100755 tests/tap-plan.test
delete mode 100755 tests/tap-planskip-and-logging.test
delete mode 100755 tests/tap-planskip-badexit.test
delete mode 100755 tests/tap-planskip-bailout.test
delete mode 100755 tests/tap-planskip-case-insensitive.test
delete mode 100755 tests/tap-planskip-late.test
delete mode 100755 tests/tap-planskip-later-errors.test
delete mode 100755 tests/tap-planskip-unplanned-corner.test
delete mode 100755 tests/tap-planskip-unplanned.test
delete mode 100755 tests/tap-planskip-whitespace.test
delete mode 100755 tests/tap-planskip.test
delete mode 100755 tests/tap-realtime.test
delete mode 100755 tests/tap-recheck-logs.test
delete mode 100755 tests/tap-result-comment.test
delete mode 100755 tests/tap-setup.sh
delete mode 100755 tests/tap-summary-aux.sh
delete mode 100755 tests/tap-summary-color.test
delete mode 100755 tests/tap-summary.test
delete mode 100755 tests/tap-test-number-0.test
delete mode 100755 tests/tap-todo-skip-together.test
delete mode 100755 tests/tap-todo-skip-whitespace.test
delete mode 100755 tests/tap-todo-skip.test
delete mode 100755 tests/tap-unplanned.test
delete mode 100755 tests/tap-whitespace-normalization.test
delete mode 100755 tests/tap-with-and-without-number.test
delete mode 100755 tests/tap-xfail-tests.test
delete mode 100755 tests/test-driver-acsubst.test
delete mode 100755 tests/test-driver-cond.test
delete mode 100755 tests/test-driver-custom-multitest-recheck.test
delete mode 100755 tests/test-driver-custom-multitest-recheck2.test
delete mode 100755 tests/test-driver-custom-multitest.test
delete mode 100755 tests/testsuite-summary-checks.sh
delete mode 100755 tests/testsuite-summary-color.test
delete mode 100755 tests/testsuite-summary-count-many.test
delete mode 100755 tests/testsuite-summary-count.test
delete mode 100755 tests/txinfo19.test
delete mode 100755 tests/vala-mix2.test
delete mode 100755 tests/yacc-d-cxx.test
diff --git a/.gitignore b/.gitignore
index 6e995f1..87dc8e7 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,8 +1,8 @@
-Makefile.in
-Makefile
/ChangeLog
/aclocal.m4
/configure
+/Makefile.in
+/Makefile
/.autom4te.cache
/config.cache
/config.log
@@ -11,33 +11,18 @@ Makefile
/configure.lineno
/aclocal
/automake
-/doc/amhello-*.tar.gz
+/doc/.dirstamp
/doc/automake*.info
/doc/automake*.info-[0-9]
+/doc/automake*.html
+/doc/automake*.dvi
+/doc/automake*.pdf
+/doc/automake*.ps
/doc/automake*.1
/doc/aclocal*.1
/doc/stamp-vti
/doc/version.texi
-/doc/automake*.ac
-/doc/automake*.aux
-/doc/automake*.cm
-/doc/automake*.cp
-/doc/automake*.cps
-/doc/automake*.dvi
-/doc/automake*.fn
-/doc/automake*.fns
-/doc/automake*.html
-/doc/automake*.ky
-/doc/automake*.log
-/doc/automake*.op
-/doc/automake*.pdf
-/doc/automake*.pg
-/doc/automake*.ps
-/doc/automake*.toc
-/doc/automake*.tp
-/doc/automake*.tr
-/doc/automake*.vr
-/doc/automake*.vrs
+/doc/amhello-*.tar.gz
/doc/amhello/Makefile.in
/doc/amhello/aclocal.m4
/doc/amhello/config.h.in
@@ -47,18 +32,19 @@ Makefile
/doc/amhello/install-sh
/doc/amhello/missing
/lib/Automake/Config.pm
-/tests/wrap/aclocal-*
-/tests/wrap/automake-*
-/tests/defs-static
-/tests/testsuite-part.am
-/tests/*-w.tap
-/tests/*-w.test
-/tests/depcomp-*.tap
-/tests/*.dir
-/tests/*.log
-/tests/*.trs
-/tests/pm/*.log
-/tests/pm/*.trs
+/test-suite.log
+/t/wrap/aclocal-0.*
+/t/wrap/automake-0.*
+/defs-static
+/t/testsuite-part.am
+/t/*-w.tap
+/t/*-w.sh
+/t/depcomp-*.tap
+/t/*.dir
+/t/*.log
+/t/*.trs
+/t/pm/*.log
+/t/pm/*.trs
cscope.files
cscope.in.out
cscope.out
diff --git a/Makefile.am b/Makefile.am
index 005512b..8765754 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -17,20 +17,55 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-## lib goes first, because it builds Config.pm, used by aclocal and
-## automake (run in doc, tests, and in the rebuild rules.)
-## '.' goes before doc and tests, because the latter two directories
-## run aclocal and automake.
-SUBDIRS = lib . contrib doc m4 tests
+## Might be updated later.
+CLEANFILES =
+DISTCLEANFILES =
+MAINTAINERCLEANFILES =
+EXTRA_DIST =
+
+## ------------ ##
+## Top level. ##
+## ------------ ##
+
+# We want a handful of substitutions to be fully-expanded by make;
+# then use config.status to substitute the remainder where a single
+# expansion is sufficient. We use a funny notation here to avoid
+# configure substitutions in our text.
+do_subst = ( sed \
+ -e "s,address@hidden@],Generated from $$in; do not edit by hand.,g" \
+ -e 's,address@hidden@],$(datadir),g' \
+ -e 's,address@hidden@],$(amdir),g' \
+ -e 's,address@hidden@],$(bindir),g' \
+ -e 's,address@hidden@],$(docdir),g' \
+ -e 's,address@hidden@],$(pkgvdatadir),g' \
+ -e 's,address@hidden@],$(scriptdir),g' \
+ -e 's,address@hidden@],$(automake_acdir),g' \
+ -e 's,address@hidden@],$(system_acdir),g' \
+## Hack to avoid a spurious substitution in the Automake script (part 1).
+ -e 's,address@hidden@],address@hidden@!!,g' \
+ | $(SHELL) ./config.status --file=- \
+## Hack to avoid a spurious substitution in the Automake script (part 2).
+ | sed -e 's,address@hidden@!!,@''am__isrc@,g' \
+ )
+
+# Generated files shouldn't contain unexpanded '@substitutions@', and
+# should be made read-only, to prevent them from being edited by mistake
+# instead of the file the are generated from.
+generated_file_finalize = $(AM_V_at) \
+ 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; \
+ chmod a-w address@hidden && mv -f address@hidden $@
bin_SCRIPTS = automake aclocal
-CLEANFILES = $(bin_SCRIPTS)
+CLEANFILES += $(bin_SCRIPTS)
AUTOMAKESOURCES = automake.in aclocal.in
TAGS_FILES = $(AUTOMAKESOURCES)
-EXTRA_DIST = \
+EXTRA_DIST += \
$(AUTOMAKESOURCES) \
bootstrap \
GNUmakefile \
@@ -70,33 +105,16 @@ uninstall-hook:
rm -f "$(DESTDIR)$(bindir)/$$fv"; \
done
-
-## We can't use configure to do the substitution here; we must do it
-## by hand. We use a funny notation here to avoid configure
-## substitutions in our text.
-do_subst = sed \
- -e 's,address@hidden@],$(APIVERSION),g' \
- -e 's,address@hidden@],$(PACKAGE),g' \
- -e 's,address@hidden@],$(PACKAGE_BUGREPORT),g' \
- -e 's,address@hidden@],$(PACKAGE_URL),g' \
- -e 's,address@hidden@],$(PATH_SEPARATOR),g' \
- -e 's,address@hidden@],$(PERL),g' \
- -e 's,address@hidden@],$(PERL_THREADS),g' \
- -e 's,address@hidden@],$(SHELL),g' \
- -e 's,address@hidden@],$(am_AUTOCONF),g' \
- -e 's,address@hidden@],$(am_AUTOM4TE),g' \
- -e 's,address@hidden@],$(VERSION),g' \
- -e 's,address@hidden@],Generated from address@hidden; do not edit by
hand.,g' \
- -e 's,address@hidden@],$(datadir),g'
-
## These files depend on Makefile so they are rebuilt if $(VERSION),
## $(datadir) or other do_subst'ituted variables change.
-## Use chmod a-w to prevent people from editing the wrong file by accident.
automake: automake.in
aclocal: aclocal.in
automake aclocal: Makefile
$(AM_V_at)rm -f $@ address@hidden
- $(AM_V_GEN)$(do_subst) $(srcdir)/address@hidden >address@hidden
+ $(AM_V_GEN)address@hidden; $(do_subst) <$(srcdir)/address@hidden
>address@hidden
+## We can't use '$(generated_file_finalize)' here, because currently
+## Automake contains occurrences of unexpanded @substitutions@ in
+## comments, and that is perfectly legit.
$(AM_V_at)chmod a+x,a-w address@hidden && mv -f address@hidden $@
## The master location for INSTALL is lib/INSTALL.
@@ -105,21 +123,461 @@ automake aclocal: Makefile
INSTALL: lib/INSTALL
$(AM_V_GEN)cp $(srcdir)/lib/INSTALL $@
-# Convenience proxy target for the test suites.
-recheck:
- $(am__cd) tests && $(MAKE) $@
-.PHONY: recheck
-
# We don't use the default name for the autom4te cache directory,
# so we need this.
maintainer-clean-local:
rm -rf .autom4te.cache
-################################################################
-##
+
+## -------------------------------------------------------------------- ##
+## Auxiliary scripts and files for use with "automake --add-missing". ##
+## -------------------------------------------------------------------- ##
+
+dist_pkgvdata_DATA = \
+ lib/COPYING \
+ lib/INSTALL \
+ lib/texinfo.tex
+
+## 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.
+dist_script_DATA = \
+ lib/config.guess \
+ lib/config.sub \
+ lib/install-sh \
+ lib/mdate-sh \
+ lib/missing \
+ lib/mkinstalldirs \
+ lib/elisp-comp \
+ lib/ylwrap \
+ lib/depcomp \
+ lib/compile \
+ lib/py-compile \
+ lib/ar-lib \
+ lib/test-driver \
+ lib/tap-driver.sh \
+ lib/tap-driver.pl
+
+install-data-hook:
+ @$(POST_INSTALL)
+ @for f in $(dist_script_DATA); do echo $$f; done \
+ | sed 's,^lib/,,' \
+ | ( st=0; \
+ while read f; do \
+ echo " chmod +x '$(DESTDIR)$(scriptdir)/$$f'"; \
+ chmod +x "$(DESTDIR)$(scriptdir)/$$f" || st=1; \
+ done; \
+ exit $$st )
+
+installcheck-local: installcheck-executable-scripts
+installcheck-executable-scripts:
+ @for f in $(dist_script_DATA); do echo $$f; done \
+ | sed 's,^lib/,,' \
+ | while read f; do \
+ path="$(pkgvdatadir)/$$f"; \
+ test -x "$$path" || echo $$path; \
+ done \
+ | sed 's/$$/: not executable/' \
+ | grep . 1>&2 && exit 1; exit 0
+
+
+## ---------------------------------------------------- ##
+## Private perl modules used by automake and aclocal. ##
+## ---------------------------------------------------- ##
+
+perllibdir = $(pkgvdatadir)/Automake
+dist_perllib_DATA = \
+ lib/Automake/ChannelDefs.pm \
+ lib/Automake/Channels.pm \
+ lib/Automake/Condition.pm \
+ lib/Automake/Configure_ac.pm \
+ lib/Automake/DisjConditions.pm \
+ lib/Automake/FileUtils.pm \
+ lib/Automake/General.pm \
+ lib/Automake/Getopt.pm \
+ lib/Automake/Item.pm \
+ lib/Automake/ItemDef.pm \
+ lib/Automake/Location.pm \
+ lib/Automake/Options.pm \
+ lib/Automake/Rule.pm \
+ lib/Automake/RuleDef.pm \
+ lib/Automake/Variable.pm \
+ lib/Automake/VarDef.pm \
+ lib/Automake/Version.pm \
+ lib/Automake/XFile.pm \
+ lib/Automake/Wrap.pm
+
+nodist_perllib_DATA = lib/Automake/Config.pm
+CLEANFILES += $(nodist_perllib_DATA)
+
+lib/Automake/Config.pm: lib/Automake/Config.in Makefile
+ $(AM_V_at)rm -f $@ address@hidden
+ $(AM_V_at)test -d lib/Automake || $(MKDIR_P) lib/Automake
+ $(AM_V_GEN)in=Config.in \
+ && $(do_subst) <$(srcdir)/lib/Automake/Config.in >address@hidden
+ $(generated_file_finalize)
+EXTRA_DIST += lib/Automake/Config.in
+
+
+## --------------------- ##
+## Makefile fragments. ##
+## --------------------- ##
+
+dist_am_DATA = \
+ lib/am/check.am \
+ lib/am/check2.am \
+ lib/am/clean-hdr.am \
+ lib/am/clean.am \
+ lib/am/compile.am \
+ lib/am/configure.am \
+ lib/am/data.am \
+ lib/am/dejagnu.am \
+ lib/am/depend.am \
+ lib/am/depend2.am \
+ lib/am/distdir.am \
+ lib/am/footer.am \
+ lib/am/header-vars.am \
+ lib/am/header.am \
+ lib/am/install.am \
+ lib/am/inst-vars.am \
+ lib/am/java.am \
+ lib/am/lang-compile.am \
+ lib/am/lex.am \
+ lib/am/library.am \
+ lib/am/libs.am \
+ lib/am/libtool.am \
+ lib/am/lisp.am \
+ lib/am/ltlib.am \
+ lib/am/ltlibrary.am \
+ lib/am/mans-vars.am \
+ lib/am/mans.am \
+ lib/am/program.am \
+ lib/am/progs.am \
+ lib/am/python.am \
+ lib/am/remake-hdr.am \
+ lib/am/scripts.am \
+ lib/am/subdirs.am \
+ lib/am/tags.am \
+ lib/am/texi-vers.am \
+ lib/am/texibuild.am \
+ lib/am/texinfos.am \
+ lib/am/vala.am \
+ lib/am/yacc.am
+
+
+## ------------------------------ ##
+## Automake-provided m4 macros. ##
+## ------------------------------ ##
+
+dist_automake_ac_DATA = \
+ m4/amversion.m4 \
+ m4/ar-lib.m4 \
+ m4/as.m4 \
+ m4/auxdir.m4 \
+ m4/ccstdc.m4 \
+ m4/cond.m4 \
+ m4/cond-if.m4 \
+ m4/depend.m4 \
+ m4/dmalloc.m4 \
+ m4/gcj.m4 \
+ m4/header.m4 \
+ m4/init.m4 \
+ m4/install-sh.m4 \
+ m4/lead-dot.m4 \
+ m4/lex.m4 \
+ m4/lispdir.m4 \
+ m4/maintainer.m4 \
+ m4/minuso.m4 \
+ m4/missing.m4 \
+ m4/mkdirp.m4 \
+ m4/obsol-gt.m4 \
+ m4/obsol-lt.m4 \
+ m4/obsolete.m4 \
+ m4/options.m4 \
+ m4/protos.m4 \
+ m4/python.m4 \
+ m4/runlog.m4 \
+ m4/sanity.m4 \
+ m4/silent.m4 \
+ m4/strip.m4 \
+ m4/substnot.m4 \
+ m4/tar.m4 \
+ m4/upc.m4 \
+ m4/vala.m4
+
+dist_system_ac_DATA = m4/acdir/README
+
+# We build amversion.m4 here, instead of from config.status,
+# because config.status is rerun each time one of configure's
+# dependencies change and amversion.m4 happens to be a configure
+# dependency. configure and amversion.m4 would be rebuilt in
+# loop otherwise.
+# Use '$(top_srcdir)/m4' for the benefit of non-GNU makes: this is
+# how amversion.m4 appears in our dependencies.
+$(top_srcdir)/m4/amversion.m4: $(srcdir)/configure.ac $(srcdir)/m4/amversion.in
+ $(AM_V_at)rm -f address@hidden $@
+ $(AM_V_GEN)in=amversion.in \
+ && $(do_subst) <$(srcdir)/m4/amversion.in >address@hidden
+ $(generated_file_finalize)
+EXTRA_DIST += m4/amversion.in
+
+
+## ------------ ##
+## Testsuite. ##
+## ------------ ##
+
+# Run the tests with the shell detected at configure time.
+LOG_COMPILER = $(SHELL)
+
+TEST_EXTENSIONS = .pl .sh .tap
+SH_LOG_COMPILER = $(LOG_COMPILER)
+TAP_LOG_COMPILER = $(LOG_COMPILER)
+PL_LOG_COMPILER = $(PERL)
+AM_PL_LOG_FLAGS = -Mstrict -I $(builddir)/lib -I $(srcdir)/lib -w
+
+TAP_LOG_DRIVER = AM_TAP_AWK='$(AWK)' $(SHELL) $(srcdir)/lib/tap-driver.sh
+
+AM_TAP_LOG_DRIVER_FLAGS = --merge
+
+EXTRA_DIST += t/ax/is
+
+TESTS = ## Will be updated later.
+
+# Some testsuite-influential variables should be overridable from the
+# test scripts, but not from the environment.
+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;
+# 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 += AM_TESTS_REEXEC=no; export AM_TESTS_REEXEC;
+# 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
+AM_TESTS_ENVIRONMENT += stderr_fileno_=9; export stderr_fileno_;
+
+# Hand-written tests.
+
+include $(srcdir)/t/list-of-tests.mk
+
+TESTS += $(handwritten_TESTS)
+EXTRA_DIST += $(handwritten_TESTS)
+
+# Automatically-generated tests wrapping hand-written ones.
+# Also, automatically-computed dependencies for tests.
+
+include $(srcdir)/t/testsuite-part.am
+
+TESTS += $(generated_TESTS)
+EXTRA_DIST += $(generated_TESTS)
+
+$(srcdir)/t/testsuite-part.am:
+ $(AM_V_at)rm -f t/testsuite-part.tmp $@
+ $(AM_V_GEN)$(PERL) $(srcdir)/gen-testsuite-part \
+ --srcdir $(srcdir) > t/testsuite-part.tmp
+ $(AM_V_at)chmod a-w t/testsuite-part.tmp
+ $(AM_V_at)mv -f t/testsuite-part.tmp $@
+EXTRA_DIST += gen-testsuite-part
+
+$(generated_TESTS) $(srcdir)/t/testsuite-part.am: \
+ $(srcdir)/gen-testsuite-part \
+ t/list-of-tests.mk \
+ Makefile.am \
+ $(handwritten_TESTS)
+
+# Static dependencies valid for each test case.
+check_SCRIPTS = t/wrap/aclocal-$(APIVERSION) t/wrap/automake-$(APIVERSION)
+dist_check_DATA = t/ax/plain-functions.sh t/ax/tap-functions.sh
+check_DATA = defs defs-static
+
+# Few more static dependencies.
+t/distcheck-missing-m4.log: t/ax/distcheck-hook-m4.am
+t/distcheck-outdated-m4.log: t/ax/distcheck-hook-m4.am
+EXTRA_DIST += t/ax/distcheck-hook-m4.am
+
+defs-static: defs-static.in Makefile
+ $(AM_V_at)rm -f $@ address@hidden
+ $(AM_V_GEN)in=defs-static.in\
+ && $(do_subst) <$(srcdir)/defs-static.in >address@hidden
+ $(generated_file_finalize)
+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
+# 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
+
+## Checking the list of tests.
+test_subdirs = t t/pm
+include $(srcdir)/t/CheckListOfTests.am
+
+# Run the testsuite with the installed aclocal and automake.
+installcheck-local: installcheck-testsuite
+installcheck-testsuite:
+ am_running_installcheck=yes $(MAKE) check
+
+clean-local: clean-local-check
+.PHONY: clean-local-check
+clean-local-check:
+ -set x t/*.dir; shift; \
+ if test "$$#,$$1" = "1,*.dir"; then \
+ : there is no test directory to clean; \
+ else \
+ find "$$@" -type d ! -perm -700 -exec chmod u+rwx {} ';'; \
+ rm -rf "$$@"; \
+ fi;
+
+
+## ---------------- ##
+## Documentation. ##
+## ---------------- ##
+
+info_TEXINFOS = doc/automake.texi doc/automake-history.texi
+doc_automake_TEXINFOS = doc/fdl.texi
+doc_automake_history_TEXINFOS = doc/fdl.texi
+
+dist_man1_MANS = \
+ $(srcdir)/doc/aclocal.1 \
+ $(srcdir)/doc/automake.1 \
+ $(srcdir)/doc/aclocal-$(APIVERSION).1 \
+ $(srcdir)/doc/automake-$(APIVERSION).1
+
+$(dist_man1_MANS): $(srcdir)/configure.ac
+
+MAINTAINERCLEANFILES += $(dist_man1_MANS)
+
+update_mans = \
+ $(AM_V_GEN): \
+ && $(MAKE) lib/Automake/Config.pm \
+ && PATH="$(abs_builddir)/t/wrap$(PATH_SEPARATOR)$$PATH" \
+ && export PATH \
+ && $(HELP2MAN) --output=$@
+
+$(srcdir)/doc/aclocal.1 $(srcdir)/doc/automake.1:
+ $(AM_V_GEN): \
+ && f=`echo $@ | sed 's|.*/||; s|\.1$$||; $(transform)'` \
+ && echo ".so man1/$$f-$(APIVERSION).1" > $@
+
+$(srcdir)/doc/aclocal-$(APIVERSION).1: $(srcdir)/aclocal.in
+ $(update_mans) aclocal-$(APIVERSION)
+$(srcdir)/doc/automake-$(APIVERSION).1: $(srcdir)/automake.in
+ $(update_mans) automake-$(APIVERSION)
+
+
+## ---------------------------- ##
+## Example package "amhello". ##
+## ---------------------------- ##
+
+amhello_sources = \
+ doc/amhello/configure.ac \
+ doc/amhello/Makefile.am \
+ doc/amhello/README \
+ doc/amhello/src/main.c \
+ doc/amhello/src/Makefile.am
+
+amhello_configury = \
+ aclocal.m4 \
+ autom4te.cache \
+ Makefile.in \
+ config.h.in \
+ configure \
+ depcomp \
+ install-sh \
+ missing \
+ src/Makefile.in
+
+dist_noinst_DATA = $(amhello_sources)
+dist_doc_DATA = $(srcdir)/doc/amhello-1.0.tar.gz
+
+# We depend on configure.ac so that we regenerate the tarball
+# whenever the Automake version changes.
+# aclocal-$(APIVERSION) and automake-$(APIVERSION) are generated by
+# configure in 't/wrap'.
+$(srcdir)/doc/amhello-1.0.tar.gz: $(amhello_sources) $(srcdir)/configure.ac
+ $(AM_V_GEN): \
+ && PATH="$(abs_top_builddir)/t/wrap$(PATH_SEPARATOR)$$PATH" \
+ && export PATH \
+ && $(am__cd) $(srcdir)/doc/amhello \
+ && ACLOCAL=aclocal-$(APIVERSION) && export ACLOCAL \
+ && AUTOMAKE=automake-$(APIVERSION) && export AUTOMAKE \
+ && AUTOCONF='$(am_AUTOCONF)' && export AUTOCONF \
+ && AUTOM4TE='$(am_AUTOM4TE)' && export AUTOM4TE \
+ && AUTORECONF='$(am_AUTORECONF)' && export AUTORECONF \
+ && AUTOHEADER='$(am_AUTOHEADER)' && export AUTOHEADER \
+ && AUTOUPDATE='$(am_AUTOUPDATE)' && export AUTOUPDATE \
+ && $(am_AUTORECONF) -vfi \
+ && ./configure \
+ && $(MAKE) distcheck \
+ && $(MAKE) distclean \
+ && rm -rf $(amhello_configury) \
+ && mv -f amhello-1.0.tar.gz ..
+
+
+## ------------------------------------------------- ##
+## Third-party, obsolescent or experimental stuff. ##
+## ------------------------------------------------- ##
+
+EXTRA_DIST += \
+ contrib/check-html.am \
+ contrib/multilib/README \
+ contrib/multilib/config-ml.in \
+ contrib/multilib/symlink-tree \
+ contrib/multilib/multilib.am \
+ contrib/multilib/multi.m4 \
+ contrib/README
+
+
+## --------------------------------------------------- ##
+## Older files, kept mostly for historical interest. ##
+## --------------------------------------------------- ##
+
+EXTRA_DIST += \
+ old/ChangeLog-tests \
+ old/ChangeLog.96 \
+ old/ChangeLog.98 \
+ old/ChangeLog.00 \
+ old/ChangeLog.01 \
+ old/ChangeLog.02 \
+ old/ChangeLog.03 \
+ old/ChangeLog.04 \
+ old/ChangeLog.09 \
+ old/ChangeLog.11 \
+ old/TODO
+
+
+##########################################################################
+
## Everything past here is useful to the maintainer, but probably not
-## to anybody else
-##
+## to anybody else.
+
+##########################################################################
+
+
+## --------------------------------------------------------- ##
+## Automatic generation of the ChangeLog from git history. ##
+## --------------------------------------------------------- ##
gitlog_to_changelog_command = $(PERL) $(srcdir)/lib/gitlog-to-changelog
gitlog_to_changelog_fixes = $(srcdir)/.git-log-fix
@@ -127,8 +585,9 @@ gitlog_to_changelog_options =
--amend=$(gitlog_to_changelog_fixes) \
--since='2011-12-28 00:00:00' \
--no-cluster --format '%s%n%n%b'
-# Automatic generation of the ChangeLog from git history.
-#
+EXTRA_DIST += lib/gitlog-to-changelog
+EXTRA_DIST += $(gitlog_to_changelog_fixes)
+
# When executed from a git checkout, generate the ChangeLog from the git
# history. When executed from an extracted distribution tarball, just
# copy the distributed ChangeLog in the build directory (and if this
@@ -161,12 +620,16 @@ ChangeLog: am--changelog-regen-hook
exit 1; \
fi
-# Ensure tests are world-executable
+# Ensure tests are world-executable.
+# FIXME: this should be turned into a maintainer check...
dist-hook:
- $(am__cd) $(distdir)/tests && chmod a+rx *.test
+ $(am__cd) $(distdir)/t && chmod a+rx *.sh *.tap
-# Perl coverage statistics.
+## --------------------------- ##
+## Perl coverage statistics. ##
+## --------------------------- ##
+
PERL_COVERAGE_DB = $(abs_top_builddir)/cover_db
PERL_COVERAGE_FLAGS =
-MDevel::Cover=-db,$(PERL_COVERAGE_DB),-silent,on,-summary,off
PERL_COVER = cover
@@ -199,10 +662,15 @@ clean-local: clean-coverage
.PHONY: check-coverage recheck-coverage check-coverage-run \
recheck-coverage-run check-coverage-report clean-coverage
-## Tagging and/or uploading stable and beta releases.
+
+## ---------------------------------------------------- ##
+## Tagging and/or uploading stable and beta releases. ##
+## ---------------------------------------------------- ##
GIT = git
+EXTRA_DIST += lib/gnupload
+
version_rx = ^[1-9][0-9]*\.[0-9][0-9]*(\.[0-9][0-9]*)?
stable_version_rx = $(version_rx)$$
beta_version_rx = $(version_rx)[bdfhjlnprtvxz]$$
@@ -260,6 +728,11 @@ git-upload-release:
.PHONY: git-upload-release git-tag-release
+
+## ------------------------------------------------------------------ ##
+## Explore differences of autogenerated files in different commits. ##
+## ------------------------------------------------------------------ ##
+
## Visually comparing differences between the Makefile.in files in
## automake's own build system as generated in two different branches
## might help to catch bugs and blunders. This has already happened a
@@ -296,6 +769,7 @@ autodiffs:
&& get_autofiles_from_rev $$OLD_COMMIT old \
&& get_autofiles_from_rev $$NEW_COMMIT new \
&& exit 0
+
## With lots of eye candy; we like our developers pampered and spoiled :-)
compare-autodiffs: autodiffs
@set -u; \
@@ -329,6 +803,11 @@ compare-autodiffs: autodiffs
exit $$st
.PHONY: autodiffs compare-autodiffs
+
+## --------------------------------------------------------------------- ##
+## Synchronize third-party files that are committed in our repository. ##
+## --------------------------------------------------------------------- ##
+
## Program to use to fetch files.
WGET = wget
WGET_SV_CVS = $(WGET) http://savannah.gnu.org/cgi-bin/viewcvs/~checkout~/
@@ -376,6 +855,13 @@ fetch:
exit $$stat
.PHONY: fetch
+
+## ------------------------------------------------ ##
+## Update copyright years of all committed files. ##
+## ------------------------------------------------ ##
+
+EXTRA_DIST += lib/update-copyright
+
update_copyright_env = \
UPDATE_COPYRIGHT_FORCE=1 \
UPDATE_COPYRIGHT_USE_INTERVALS=2
diff --git a/NEWS b/NEWS
index 3c0df1b..957ec82 100644
--- a/NEWS
+++ b/NEWS
@@ -178,6 +178,9 @@ New in 1.11a:
* Miscellaneous changes:
+ - The build system of Automake itself now avoids the use of make
+ recursion as much as possible.
+
- Automake now prefers to quote 'like this' or "like this", rather
than `like this', in diagnostic message and generated Makefiles,
to accommodate the new GNU Coding Standards recommendations.
diff --git a/README b/README
index 5511283..4b78fe9 100644
--- a/README
+++ b/README
@@ -116,7 +116,7 @@ macros which can be automatically used by aclocal. The
documentation
for aclocal is currently found in the Automake-NG manual.
Automake-NG has a test suite. Use "make check" to run it. For more
-information, see the file tests/README.
+information, see the file t/README.
Automake-NG still doesn't have a page on the web. But it has one
mailing list, <address@hidden>, that can be used for general
diff --git a/THANKS b/THANKS
index 2f91ee7..f66bcba 100644
--- a/THANKS
+++ b/THANKS
@@ -112,6 +112,7 @@ Erik Lindahl address@hidden
Esben Haabendal Soerensen address@hidden
Ezra Peisach address@hidden
Fabian Alenius address@hidden
+Federico Simoncelli address@hidden
Flavien Astraud address@hidden
Florian Briegel address@hidden
Francesco Salvestrini address@hidden
diff --git a/bootstrap b/bootstrap
index c625716..814aedb 100755
--- a/bootstrap
+++ b/bootstrap
@@ -103,11 +103,9 @@ dosubst m4/amversion.in m4/amversion.m4
dosubst automake.in automake.tmp
# Create required makefile snippets.
-cd tests
-$PERL ./gen-testsuite-part > testsuite-part.tmp
-chmod a-w testsuite-part.tmp
-mv -f testsuite-part.tmp testsuite-part.am
-cd ..
+$PERL ./gen-testsuite-part > t/testsuite-part.tmp
+chmod a-w t/testsuite-part.tmp
+mv -f t/testsuite-part.tmp t/testsuite-part.am
# Run the autotools.
# Use '-I' here so that our own *.m4 files in m4/ gets included,
diff --git a/configure.ac b/configure.ac
index 7f61645..0c123ab 100644
--- a/configure.ac
+++ b/configure.ac
@@ -217,9 +217,9 @@ else
fi
])
if test $am_cv_sh_errexit_works = no; then
- AC_MSG_WARN(["${MAKE-make} check" will leave leftover directories
tests/*.dir])
+ AC_MSG_WARN(["${MAKE-make} check" will leave leftover directories t/*.dir])
AC_MSG_WARN([you can clean them up manually using "${MAKE-make} clean" or])
- AC_MSG_WARN(["cd tests && ${MAKE-make} clean-local-check'])
+ AC_MSG_WARN(["cd t && ${MAKE-make} clean-local-check'])
fi
AC_SUBST([sh_errexit_works], [$am_cv_sh_errexit_works])
@@ -395,21 +395,16 @@ AC_SUBST([EXEEXT])
###########################################################################
-AC_CONFIG_FILES([
- Makefile
- contrib/Makefile
- doc/Makefile
- lib/Makefile
- m4/Makefile
- tests/Makefile
-])
+AC_CONFIG_FILES([Makefile])
+
AC_CONFIG_LINKS([GNUmakefile:GNUmakefile])
-AC_CONFIG_LINKS([tests/defs:tests/defs])
-AC_CONFIG_FILES([tests/wrap/aclocal-${APIVERSION}:tests/wrap/aclocal.in],
- [chmod +x tests/wrap/aclocal-${APIVERSION}],
+AC_CONFIG_LINKS([defs:defs])
+
+AC_CONFIG_FILES([t/wrap/aclocal-${APIVERSION}:t/wrap/aclocal.in],
+ [chmod +x t/wrap/aclocal-${APIVERSION}],
[APIVERSION=$APIVERSION])
-AC_CONFIG_FILES([tests/wrap/automake-${APIVERSION}:tests/wrap/automake.in],
- [chmod +x tests/wrap/automake-${APIVERSION}],
+AC_CONFIG_FILES([t/wrap/automake-${APIVERSION}:t/wrap/automake.in],
+ [chmod +x t/wrap/automake-${APIVERSION}],
[APIVERSION=$APIVERSION])
AC_OUTPUT
diff --git a/contrib/Makefile.am b/contrib/Makefile.am
deleted file mode 100644
index 91c1cab..0000000
--- a/contrib/Makefile.am
+++ /dev/null
@@ -1,27 +0,0 @@
-## Process this file with automake to create Makefile.in
-
-## Makefile for Automake contrib.
-
-# Copyright (C) 2012 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/>.
-
-EXTRA_DIST = \
- check-html.am \
- multilib/README \
- multilib/config-ml.in \
- multilib/symlink-tree \
- multilib/multilib.am \
- multilib/multi.m4 \
- README
diff --git a/defs b/defs
new file mode 100644
index 0000000..de9e0a5
--- /dev/null
+++ b/defs
@@ -0,0 +1,980 @@
+# -*- shell-script -*-
+#
+# Copyright (C) 1996-2012 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/>.
+
+########################################################
+### IMPORTANT NOTE: keep this file 'set -e' clean. ###
+########################################################
+
+# NOTE: This file should execute correctly with any system's /bin/sh
+# shell, and not only with configure-time detected $CONFIG_SHELL,
+# *until differently and explicitly specified*.
+
+## -------------------------------------------------------- ##
+## Source static setup and definitions for the testsuite. ##
+## -------------------------------------------------------- ##
+
+# Ensure we are running from the right directory.
+test -f ./defs-static || {
+ echo "$0: ./defs-static: not found in current directory" >&2
+ exit 99
+}
+
+# Source the shell sanitization and variables' definitions.
+. ./defs-static || exit 99
+
+# Enable the errexit shell flag early.
+set -e
+
+# The name of the current test (without the '.sh' or '.tap' suffix).
+# Test scripts can override it if they need to (but this should
+# be done carefully, and *before* including ./defs).
+if test -z "$me"; then
+ # Guard against failure to spawn sed (seen on MSYS), or empty $argv0.
+ me=`echo "$argv0" | sed -e 's,.*[\\/],,;s/\.sh$//;s/\.tap$//'` \
+ && test -n "$me" \
+ || { echo "$argv0: failed to define \$me" >&2; exit 99; }
+fi
+
+## ---------------------- ##
+## Early sanity checks. ##
+## ---------------------- ##
+
+# A single whitespace character.
+sp=' '
+# A tabulation character.
+tab=' '
+# A newline character.
+nl='
+'
+
+# As autoconf-generated configure scripts do, ensure that IFS
+# is defined initially, so that saving and restoring $IFS works.
+IFS=$sp$tab$nl
+
+# Ensure $am_top_srcdir is set correctly.
+test -f "$am_top_srcdir/defs-static.in" || {
+ echo "$me: $am_top_srcdir/defs-static.in not found," \
+ "check \$am_top_srcdir" >&2
+ exit 99
+}
+
+# Ensure $am_top_builddir is set correctly.
+test -f "$am_top_builddir/defs-static" || {
+ echo "$me: $am_top_builddir/defs-static not found," \
+ "check \$am_top_builddir" >&2
+ exit 99
+}
+
+
+## ------------------------------------ ##
+## Ensure we run with a proper shell. ##
+## ------------------------------------ ##
+
+# Make sure we run with the shell detected at configure time (unless
+# the user forbids it).
+case ${AM_TESTS_REEXEC-yes} in
+ n|no|false|0)
+ ;;
+ *)
+ # Ensure we can find ourselves.
+ if test ! -f "$0"; then
+ echo "$me: unable to find myself: $0" >&2
+ exit 99
+ fi
+ AM_TESTS_REEXEC=no; export AM_TESTS_REEXEC
+ # Cannot simply do "opts=$-", since the content of $- is not
+ # portable among different shells. So try to propagate only
+ # the portable and interesting options.
+ case $- in
+ *x*v*|*v*x) opts=-vx;;
+ *v*) opts=-v;;
+ *x*) opts=-x;;
+ *) opts=;;
+ esac
+ echo $me: exec $SHELL $opts "$0" "$*"
+ exec $SHELL $opts "$0" ${1+"$@"} || {
+ echo "$me: failed to re-execute with $SHELL" >&2
+ exit 99
+ }
+ ;;
+esac
+
+# NOTE: From this point on, we can assume this file is being executed
+# by the configure-time detected $CONFIG_SHELL.
+
+
+## ----------------------- ##
+## Early debugging info. ##
+## ----------------------- ##
+
+echo "Running from installcheck: $am_running_installcheck"
+echo "Using TAP: $am_using_tap"
+echo "PATH = $PATH"
+
+
+## ---------------------- ##
+## Environment cleanup. ##
+## ---------------------- ##
+
+# Temporarily disable this, since some shells (e.g., older version
+# of Bash) can return a non-zero exit status upon the when a non-set
+# variable is unset.
+set +e
+
+# Unset some make-related variables that may cause $MAKE to act like
+# a recursively invoked sub-make. Any $MAKE invocation in a test is
+# conceptually an independent invocation, not part of the main
+# 'automake' build.
+unset MFLAGS MAKEFLAGS AM_MAKEFLAGS MAKELEVEL
+# Unset verbosity flag.
+unset V
+# Also unset variables that might let "make install" divert files
+# into unwanted directories.
+unset DESTDIR
+unset prefix exec_prefix bindir datarootdir datadir docdir dvidir
+unset htmldir includedir infodir libdir libexecdir localedir mandir
+unset oldincludedir pdfdir psdir sbindir sharedstatedir sysconfdir
+# Unset variables that might change the "make distcheck" behaviour.
+unset DISTCHECK_CONFIGURE_FLAGS AM_DISTCHECK_CONFIGURE_FLAGS
+# The tests call "make -e" but we do not want $srcdir from the environment
+# to override the definition from the Makefile.
+unset srcdir
+# Also unset variables that control our test driver. While not
+# conceptually independent, they cause some changed semantics we
+# need to control (and test for) in some of the tests to ensure
+# backward-compatible behavior.
+unset TESTS_ENVIRONMENT AM_TESTS_ENVIRONMENT
+unset DISABLE_HARD_ERRORS
+unset AM_COLOR_TESTS
+unset TESTS
+unset XFAIL_TESTS
+unset TEST_LOGS
+unset TEST_SUITE_LOG
+unset RECHECK_LOGS
+unset VERBOSE
+for pfx in TEST_ TAP_ ''; do
+ unset ${pfx}LOG_COMPILER
+ unset ${pfx}LOG_COMPILE # Not a typo!
+ unset ${pfx}LOG_FLAGS
+ unset AM_${pfx}LOG_FLAGS
+ unset ${pfx}LOG_DRIVER
+ unset ${pfx}LOG_DRIVER_FLAGS
+ unset AM_${pfx}LOG_DRIVER_FLAGS
+done
+unset pfx
+
+# Re-enable, it had been temporarily disabled above.
+set -e
+
+## ---------------------------- ##
+## Auxiliary shell functions. ##
+## ---------------------------- ##
+
+# Tell whether we should keep the test directories around, even in
+# case of success. By default, we don't.
+am_keeping_testdirs ()
+{
+ case $keep_testdirs in
+ ""|n|no|NO) return 1;;
+ *) return 0;;
+ esac
+}
+
+# This is used in 'Exit' and in the exit trap. See comments in the latter
+# for more information,
+am__test_skipped=no
+
+# We use a trap below for cleanup. This requires us to go through
+# hoops to get the right exit status transported through the signal.
+# So use "Exit STATUS" instead of "exit STATUS" inside of the tests.
+# Turn off errexit here so that we don't trip the bug with OSF1/Tru64
+# sh inside this function.
+Exit ()
+{
+ set +e
+ # See comments in the exit trap for the reason we do this.
+ test 77 = $1 && am__test_skipped=yes
+ (exit $1); exit $1
+}
+
+if test $am_using_tap = yes; then
+ am_funcs_file=tap-functions.sh
+else
+ am_funcs_file=plain-functions.sh
+fi
+
+if test -f "$am_testauxdir/$am_funcs_file"; then
+ . "$am_testauxdir/$am_funcs_file" || {
+ echo "$me: error sourcing $am_testauxdir/$am_funcs_file" >&2
+ Exit 99
+ }
+else
+ echo "$me: $am_testauxdir/$am_funcs_file not found" >&2
+ Exit 99
+fi
+unset am_funcs_file
+
+# cross_compiling
+# ---------------
+# Tell whether we are cross-compiling. This is especially useful to skip
+# tests (or portions of them) that requires a native compiler.
+cross_compiling ()
+{
+ # Quoting from the autoconf manual:
+ # ... [$host_alias and $build both] default to the result of running
+ # config.guess, unless you specify either --build or --host. In
+ # this case, the default becomes the system type you specified.
+ # If you specify both, *and they're different*, configure enters
+ # cross compilation mode (so it doesn't run any tests that require
+ # execution).
+ test x"$host_alias" != x && test x"$build_alias" != x"$host_alias"
+}
+
+# is_newest FILE FILES
+# --------------------
+# Return false if any file in FILES is newer than FILE.
+# Resolve ties in favor of FILE.
+is_newest ()
+{
+ is_newest_files=`find "$@" -prune -newer "$1"`
+ test -z "$is_newest_files"
+}
+
+# is_blocked_signal SIGNAL-NUMBER
+# --------------------------------
+# Return success if the given signal number is blocked in the shell,
+# return a non-zero exit status and print a proper diagnostic otherwise.
+is_blocked_signal ()
+{
+ # Use perl, since trying to do this portably in the shell can be
+ # very tricky, if not downright impossible. For reference, see:
+ # <http://lists.gnu.org/archive/html/bug-autoconf/2011-09/msg00004.html>
+ if $PERL -w -e '
+ use strict;
+ use warnings FATAL => "all";
+ use POSIX;
+ my %oldsigaction = ();
+ sigaction('"$1"', 0, \%oldsigaction);
+ exit ($oldsigaction{"HANDLER"} eq "IGNORE" ? 0 : 77);
+ '; then
+ return 0
+ elif test $? -eq 77; then
+ return 1
+ else
+ fatal_ "couldn't determine whether signal $1 is blocked"
+ fi
+}
+
+# AUTOMAKE_run [-e STATUS] [-d DESCRIPTION] [--] [AUTOMAKE-ARGS...]
+# -----------------------------------------------------------------
+# Run automake with AUTOMAKE-ARGS, and fail if it doesn't exit with
+# STATUS. Should be polymorphic for TAP and "plain" tests. The
+# DESCRIPTION, when provided, is used for console reporting, only if
+# the TAP protocol is in use in the current test script.
+AUTOMAKE_run ()
+{
+ am__desc=
+ am__exp_rc=0
+ while test $# -gt 0; do
+ case $1 in
+ -d) am__desc=$2; shift;;
+ -e) am__exp_rc=$2; shift;;
+ --) shift; break;;
+ # Don't fail on unknown option: assume they (and the rest of the
+ # command line) are to be passed verbatim to automake (so stop our
+ # own option parsing).
+ *) break;;
+ esac
+ shift
+ done
+ am__got_rc=0
+ $AUTOMAKE ${1+"$@"} >stdout 2>stderr || am__got_rc=$?
+ cat stderr >&2
+ cat stdout
+ if test $am_using_tap != yes; then
+ test $am__got_rc -eq $am__exp_rc || Exit 1
+ return
+ fi
+ if test -z "$am__desc"; then
+ if test $am__got_rc -eq $am__exp_rc; then
+ am__desc="automake exited $am__got_rc"
+ else
+ am__desc="automake exited $am__got_rc, expecting $am__exp_rc"
+ fi
+ fi
+ command_ok_ "$am__desc" test $am__got_rc -eq $am__exp_rc
+}
+
+# AUTOMAKE_fails [-d DESCRIPTION] [OPTIONS...]
+# --------------------------------------------
+# Run automake with OPTIONS, and fail if doesn't exit with status 1.
+# Should be polymorphic for TAP and "plain" tests. The DESCRIPTION,
+# when provided, is used for console reporting, only if the TAP
+# protocol is in use in the current test script.
+AUTOMAKE_fails ()
+{
+ AUTOMAKE_run -e 1 ${1+"$@"}
+}
+
+# extract_configure_help { --OPTION | VARIABLE-NAME } [FILES]
+# -----------------------------------------------------------
+# Use this to extract from the output of "./configure --help" (or similar)
+# the description or help message associated to the given --OPTION or
+# VARIABLE-NAME.
+extract_configure_help ()
+{
+ am__opt_re='' am__var_re=''
+ case $1 in
+ --*'=') am__opt_re="^ $1";;
+ --*'[=]') am__opt_re='^ '`printf '%s\n' "$1" | sed 's/...$//'`'\[=';;
+ --*) am__opt_re="^ $1( .*|$)";;
+ *) am__var_re="^ $1( .*|$)";;
+ esac
+ shift
+ if test x"$am__opt_re" != x; then
+ LC_ALL=C awk '
+ /'"$am__opt_re"'/ { print; do_print = 1; next; }
+ /^$/ { do_print = 0; next }
+ /^ --/ { do_print = 0; next }
+ (do_print == 1) { print }
+ ' ${1+"$@"}
+ else
+ LC_ALL=C awk '
+ /'"$am__var_re"'/ { print; do_print = 1; next; }
+ /^$/ { do_print = 0; next }
+ /^ [A-Z][A-Z0-9_]* / { do_print = 0; next }
+ /^ [A-Z][A-Z0-9_]*$/ { do_print = 0; next }
+ (do_print == 1) { print }
+ ' ${1+"$@"}
+ fi
+}
+
+# grep_configure_help { --OPTION | VARIABLE-NAME } REGEXP
+# -------------------------------------------------------
+# Grep the section of "./configure --help" output associated with either
+# --OPTION or VARIABLE-NAME for the given *extended* regular expression.
+grep_configure_help ()
+{
+ ./configure --help > am--all-help \
+ || { cat am--all-help; Exit 1; }
+ cat am--all-help
+ extract_configure_help "$1" am--all-help > am--our-help \
+ || { cat am--our-help; Exit 1; }
+ cat am--our-help
+ $EGREP "$2" am--our-help || Exit 1
+}
+
+# seq_ - print a sequence of numbers
+# ----------------------------------
+# This function simulates GNU seq(1) portably. Valid usages:
+# - seq LAST
+# - seq FIRST LAST
+# - seq FIRST INCREMENT LAST
+seq_ ()
+{
+ case $# in
+ 0) fatal_ "seq_: missing argument";;
+ 1) seq_first=1 seq_incr=1 seq_last=$1;;
+ 2) seq_first=$1 seq_incr=1 seq_last=$2;;
+ 3) seq_first=$1 seq_incr=$2 seq_last=$3;;
+ *) fatal_ "seq_: too many arguments";;
+ esac
+ # Try to avoid forks if possible.
+ case "$BASH_VERSION" in
+ ""|[12].*)
+ : Not bash, or a too old bash version. ;;
+ *)
+ # Use eval to protect dumber shells from parsing errors.
+ eval 'for ((i = seq_first; i <= seq_last; i += seq_incr)); do
+ echo $i
+ done'
+ return 0;;
+ esac
+ # Else, use GNU seq if available.
+ seq "$@" && return 0
+ # Otherwise revert to a slower loop using expr(1).
+ i=$seq_first
+ while test $i -le $seq_last; do
+ echo $i
+ i=`expr $i + $seq_incr`
+ done
+}
+
+# rm_rf_ [FILES OR DIRECTORIES ...]
+# ---------------------------------
+# Recursively remove the given files or directory, also handling the case
+# of non-writable subdirectories.
+rm_rf_ ()
+{
+ test $# -gt 0 || return 0
+ # Ignore failures in find, we are only interested in failures of the
+ # final rm.
+ find "$@" -type d ! -perm -700 -exec chmod u+rwx {} \; || :
+ rm -rf "$@"
+}
+
+# count_test_results total=N pass=N fail=N xpass=N xfail=N skip=N error=N
+# -----------------------------------------------------------------------
+# Check that a testsuite run driven by the parallel-tests harness has
+# had the specified numbers of test results (specified by kind).
+# This function assumes that the output of "make check" or "make recheck"
+# has been saved in the 'stdout' file in the current directory, and its
+# log in the 'test-suite.log' file.
+count_test_results ()
+{
+ # Use a subshell so that we won't pollute the script namespace.
+ (
+ # TODO: Do proper checks on the arguments?
+ total=ERR pass=ERR fail=ERR xpass=ERR xfail=ERR skip=ERR error=ERR
+ eval "$@"
+ # For debugging.
+ $EGREP -i '(total|x?pass|x?fail|skip|error)' stdout || :
+ rc=0
+ # Avoid spurious failures with shells with "overly sensible"
+ # errexit shell flag, such as e.g., Solaris /bin/sh.
+ set +e
+ test `grep -c '^PASS:' stdout` -eq $pass || rc=1
+ test `grep -c '^XFAIL:' stdout` -eq $xfail || rc=1
+ test `grep -c '^SKIP:' stdout` -eq $skip || rc=1
+ test `grep -c '^FAIL:' stdout` -eq $fail || rc=1
+ test `grep -c '^XPASS:' stdout` -eq $xpass || rc=1
+ test `grep -c '^ERROR:' stdout` -eq $error || rc=1
+ grep "^# TOTAL: *$total$" stdout || rc=1
+ grep "^# PASS: *$pass$" stdout || rc=1
+ grep "^# XFAIL: *$xfail$" stdout || rc=1
+ grep "^# SKIP: *$skip$" stdout || rc=1
+ grep "^# FAIL: *$fail$" stdout || rc=1
+ grep "^# XPASS: *$xpass$" stdout || rc=1
+ grep "^# ERROR: *$error$" stdout || rc=1
+ test $rc -eq 0
+ )
+}
+
+commented_sed_unindent_prog='
+ /^$/b # Nothing to do for empty lines.
+ x # Get x<indent> into pattern space.
+ /^$/{ # No prior x<indent>, go prepare it.
+ g # Copy this 1st non-blank line into pattern space.
+ s/^\(['"$tab"' ]*\).*/x\1/ # Prepare x<indent> in pattern space.
+ } # Now: x<indent> in pattern and <line> in hold.
+ G # Build x<indent>\n<line> in pattern space, and
+ h # duplicate it into hold space.
+ s/\n.*$// # Restore x<indent> in pattern space, and
+ x # exchange with the above duplicate in hold space.
+ s/^x\(.*\)\n\1// # Remove leading <indent> from <line>.
+ s/^x.*\n// # Restore <line> when there is no leading <indent>.
+'
+
+# unindent [input files...]
+# -------------------------
+# Remove the "proper" amount of leading whitespace from the given files,
+# and output the result on stdout. That amount is determined by looking
+# at the leading whitespace of the first non-blank line in the input
+# files. If no input file is specified, standard input is implied.
+unindent ()
+{
+ if test x"$sed_unindent_prog" = x; then
+ sed_unindent_prog=`printf '%s\n' "$commented_sed_unindent_prog" | sed -e
"s/ *# .*//"`
+ fi
+ sed "$sed_unindent_prog" ${1+"$@"}
+}
+sed_unindent_prog="" # Avoid interferences from the environment.
+
+# get_shell_script SCRIPT-NAME
+# -----------------------------
+# Fetch an Automake-provided shell script from the 'lib/' directory into
+# the current directory, and, if the '$am_test_prefer_config_shell'
+# variable is set to "yes", modify its shebang line to use $SHELL instead
+# of /bin/sh.
+get_shell_script ()
+{
+ test ! -f "$1" || rm -f "$1" || return 99
+ if test x"$am_test_prefer_config_shell" = x"yes"; then
+ sed "1s|#!.*|#! $SHELL|" "$am_scriptdir/$1" > "$1" \
+ && chmod a+x "$1" \
+ || return 99
+ else
+ cp -f "$am_scriptdir/$1" . || return 99
+ fi
+ sed 10q "$1" # For debugging.
+}
+
+# require_xsi SHELL
+# -----------------
+# Skip the test if the given shell fails to support common XSI constructs.
+require_xsi ()
+{
+ test $# -eq 1 || fatal_ "require_xsi needs exactly one argument"
+ echo "$me: trying some XSI constructs with $1"
+ $1 -c "$xsi_shell_code" || skip_all_ "$1 lacks XSI features"
+}
+# Shell code supposed to work only with XSI shells. Keep this in sync
+# with libtool.m4:_LT_CHECK_SHELL_FEATURES.
+xsi_shell_code='
+ _lt_dummy="a/b/c"
+ test
"${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \
+ = c,a/b,b/c, \
+ && eval '\''test $(( 1 + 1 )) -eq 2 \
+ && test "${#_lt_dummy}" -eq 5'\'
+
+# fetch_tap_driver
+# ----------------
+# Fetch the Automake-provided TAP driver from the 'lib/' directory into
+# the current directory, and edit its shebang line so that it will be
+# run with the perl interpreter determined at configure time.
+fetch_tap_driver ()
+{
+ # TODO: we should devise a way to make the shell TAP driver tested also
+ # TODO: with /bin/sh, for better coverage.
+ case $am_tap_implementation in
+ perl)
+ $PERL -MTAP::Parser -e 1 \
+ || skip_all_ "cannot import TAP::Parser perl module"
+ sed "1s|#!.*|#! $PERL -w|" "$am_scriptdir"/tap-driver.pl >tap-driver
+ ;;
+ shell)
+ AM_TAP_AWK=$AWK; export AM_TAP_AWK
+ sed "1s|#!.*|#! $SHELL|" "$am_scriptdir"/tap-driver.sh >tap-driver
+ ;;
+ *)
+ fatal_ "invalid \$am_tap_implementation '$am_tap_implementation'" ;;
+ esac \
+ && chmod a+x tap-driver \
+ || framework_failure_ "couldn't fetch $am_tap_implementation TAP driver"
+ sed 10q tap-driver # For debugging.
+}
+# The shell/awk implementation of the TAP driver is still mostly dummy, so
+# use the perl implementation by default for the moment.
+am_tap_implementation=${am_tap_implementation-shell}
+
+# Usage: require_compiler_ {cc|c++|fortran|fortran77}
+require_compiler_ ()
+{
+ case $# in
+ 0) fatal_ "require_compiler_: missing argument";;
+ 1) ;;
+ *) fatal_ "require_compiler_: too many arguments";;
+ esac
+ case $1 in
+ cc)
+ am__comp_lang="C"
+ am__comp_var=CC
+ am__comp_flag_vars='CFLAGS CPPFLAGS'
+ ;;
+ c++)
+ am__comp_lang="C++"
+ am__comp_var=CXX
+ am__comp_flag_vars='CXXFLAGS CPPFLAGS'
+ ;;
+ fortran)
+ am__comp_lang="Fortran"
+ am__comp_var=FC
+ am__comp_flag_vars='FCFLAGS'
+ ;;
+ fortran77)
+ am__comp_lang="Fortran 77"
+ am__comp_var=F77
+ am__comp_flag_vars='FFLAGS'
+ ;;
+ esac
+ shift
+ eval "am__comp_prog=\${$am__comp_var}" \
+ || fatal_ "expanding \${$am__comp_var} in require_compiler_"
+ case $am__comp_prog in
+ "")
+ fatal_ "botched configuration: \$$am__comp_var is empty";;
+ false)
+ skip_all_ "no $am__comp_lang compiler available";;
+ autodetect|autodetected)
+ # Let the ./configure commands in the test script try to determine
+ # these automatically.
+ unset $am__comp_var $am__comp_flag_vars;;
+ *)
+ # Pre-set these for the ./configure commands in the test script.
+ export $am__comp_var $am__comp_flag_vars;;
+ esac
+ # Delete private variables.
+ unset am__comp_lang am__comp_prog am__comp_var am__comp_flag_vars
+}
+
+## ----------------------------------------------------------- ##
+## Checks for required tools, and additional setups (if any) ##
+## required by them. ##
+## ----------------------------------------------------------- ##
+
+# Look for (and maybe set up) required tools and/or system features; skip
+# the current test if they are not found.
+for tool in : $required
+do
+ # Check that each required tool is present.
+ case $tool in
+ :) ;;
+ cc|c++|fortran|fortran77)
+ require_compiler_ $tool;;
+ xsi-lib-shell)
+ if test x"$am_test_prefer_config_shell" = x"yes"; then
+ require_xsi "$SHELL"
+ else
+ require_xsi "/bin/sh"
+ fi
+ ;;
+ bzip2)
+ # Do not use --version, older versions bzip2 still tries to compress
+ # stdin.
+ echo "$me: running bzip2 --help"
+ bzip2 --help \
+ || skip_all_ "required program 'bzip2' not available"
+ ;;
+ cl)
+ CC=cl
+ # Don't export CFLAGS, as that could have been initialized to only
+ # work with the C compiler detected at configure time. If the user
+ # wants CFLAGS to also influence 'cl', he can still export CFLAGS
+ # in the environment "by hand" before calling the testsuite.
+ export CC CPPFLAGS
+ echo "$me: running $CC -?"
+ $CC -? || skip_all_ "Microsoft C compiler '$CC' not available"
+ ;;
+ etags)
+ # Exuberant Ctags will create a TAGS file even
+ # when asked for --help or --version. (Emacs's etags
+ # does not have such problem.) Use -o /dev/null
+ # to make sure we do not pollute the build directory.
+ echo "$me: running etags --version -o /dev/null"
+ etags --version -o /dev/null \
+ || skip_all_ "required program 'etags' not available"
+ ;;
+ gcj)
+ GCJ=$GNU_GCJ GCJFLAGS=$GNU_GCJFLAGS; export GCJ GCJFLAGS
+ test "$GCJ" = false && skip_all_ "GNU Java compiler unavailable"
+ : For shells with busted 'set -e'.
+ ;;
+ gcc)
+ CC=$GNU_CC CFLAGS=$GNU_CFLAGS; export CC CFLAGS CPPFLAGS
+ test "$CC" = false && skip_all_ "GNU C compiler unavailable"
+ : For shells with busted 'set -e'.
+ ;;
+ g++)
+ CXX=$GNU_CXX CXXFLAGS=$GNU_CXXFLAGS; export CXX CXXFLAGS CPPFLAGS
+ test "$CXX" = false && skip_all_ "GNU C++ compiler unavailable"
+ : For shells with busted 'set -e'.
+ ;;
+ gfortran)
+ FC=$GNU_FC FCFLAGS=$GNU_FCFLAGS; export FC FCFLAGS
+ test "$FC" = false && skip_all_ "GNU Fortran compiler unavailable"
+ case " $required " in
+ *\ g77\ *) ;;
+ *) F77=$FC FFLAGS=$FCFLAGS; export F77 FFLAGS;;
+ esac
+ ;;
+ g77)
+ F77=$GNU_F77 FFLAGS=$GNU_FFLAGS; export F77 FFLAGS
+ test "$F77" = false && skip_all_ "GNU Fortran 77 compiler unavailable"
+ case " $required " in
+ *\ gfortran\ *) ;;
+ *) FC=$F77 FCFLAGS=$FFLAGS; export FC FCFLAGS;;
+ esac
+ ;;
+ javac)
+ # The Java compiler from JDK 1.5 (and presumably earlier versions)
+ # cannot handle the '-version' option by itself: it bails out
+ # telling that source files are missing. Adding also the '-help'
+ # option seems to solve the problem.
+ echo "$me: running javac -version -help"
+ javac -version -help || skip_all_ "Sun Java compiler not available"
+ ;;
+ java)
+ # See the comments above about 'javac' for why we use also '-help'.
+ echo "$me: running java -version -help"
+ java -version -help || skip_all_ "Sun Java interpreter not found"
+ ;;
+ lib)
+ AR=lib
+ export AR
+ # Attempting to create an empty archive will actually not
+ # create the archive, but lib will output its version.
+ echo "$me: running $AR -out:defstest.lib"
+ $AR -out:defstest.lib \
+ || skip_all_ "Microsoft 'lib' utility not available"
+ ;;
+ makedepend)
+ echo "$me: running makedepend -f-"
+ makedepend -f- \
+ || skip_all_ "required program 'makedepend' not available"
+ ;;
+ makeinfo-html)
+ # Make sure we have makeinfo, and it understands '--html'.
+ echo "$me: running makeinfo --html --version"
+ makeinfo --html --version \
+ || skip_all_ "cannot find a makeinfo program that groks" \
+ "the '--html' option"
+ ;;
+ mingw)
+ uname_s=`uname -s || echo UNKNOWN`
+ echo "$me: system name: $uname_s"
+ case $uname_s in
+ MINGW*) ;;
+ *) skip_all_ "this test requires MSYS in MinGW mode" ;;
+ esac
+ ;;
+ non-root)
+ # Skip this test case if the user is root.
+ # We try to append to a read-only file to detect this.
+ priv_check_temp=priv-check.$$
+ touch $priv_check_temp && chmod a-w $priv_check_temp \
+ || framework_failure_ "creating unwritable file $priv_check_temp"
+ # Not a useless use of subshell: lesser shells like Solaris /bin/sh
+ # can exit if a builtin fails.
+ overwrite_status=0
+ (echo foo >> $priv_check_temp) || overwrite_status=$?
+ rm -f $priv_check_temp
+ if test $overwrite_status -eq 0; then
+ skip_all_ "cannot drop file write permissions"
+ fi
+ unset priv_check_temp overwrite_status
+ ;;
+ perl-threads)
+ if test "$WANT_NO_THREADS" = "yes"; then
+ skip_all_ "Devel::Cover cannot cope with threads"
+ fi
+ ;;
+ native)
+ # Don't use "&&" here, to avoid a bug of 'set -e' present in
+ # some (even relatively recent) versions of the BSD shell.
+ # We add the dummy "else" branch for extra safety.
+ if cross_compiling; then
+ skip_all_ "doesn't work in cross-compile mode"
+ else :; fi
+ ;;
+ python)
+ # Python doesn't support --version, it has -V
+ echo "$me: running python -V"
+ python -V || skip_all_ "python interpreter not available"
+ ;;
+ ro-dir)
+ # Skip this test case if read-only directories aren't supported
+ # (e.g., under DOS.)
+ ro_dir_temp=ro_dir.$$
+ mkdir $ro_dir_temp && chmod a-w $ro_dir_temp \
+ || framework_failure_ "creating unwritable directory $ro_dir_temp"
+ # Not a useless use of subshell: lesser shells like Solaris /bin/sh
+ # can exit if a builtin fails.
+ create_status=0
+ (: > $ro_dir_temp/probe) || create_status=$?
+ rm -rf $ro_dir_temp
+ if test $create_status -eq 0; then
+ skip_all_ "cannot drop directory write permissions"
+ fi
+ unset ro_dir_temp create_status
+ ;;
+ runtest)
+ # DejaGnu's runtest program. We rely on being able to specify
+ # the program on the runtest command-line. This requires
+ # DejaGnu 1.4.3 or later.
+ echo "$me: running runtest SOMEPROGRAM=someprogram --version"
+ runtest SOMEPROGRAM=someprogram --version \
+ || skip_all_ "DejaGnu is not available"
+ ;;
+ tex)
+ # No all versions of Tex support '--version', so we use
+ # a configure check.
+ if test -z "$TEX"; then
+ skip_all_ "TeX is required, but it wasn't found by configure"
+ fi
+ ;;
+ texi2dvi-o)
+ # Texi2dvi supports '-o' since Texinfo 4.1.
+ echo "$me: running texi2dvi -o /dev/null --version"
+ texi2dvi -o /dev/null --version \
+ || skip_all_ "required program 'texi2dvi' not available"
+ ;;
+ lex)
+ test x"$LEX" = x"false" && skip_all_ "lex not found or disabled"
+ export LEX
+ ;;
+ yacc)
+ test x"$YACC" = x"false" && skip_all_ "yacc not found or disabled"
+ export YACC
+ ;;
+ flex)
+ LEX=flex; export LEX
+ echo "$me: running flex --version"
+ flex --version || skip_all_ "required program 'flex' not available"
+ ;;
+ bison)
+ YACC='bison -y'; export YACC
+ echo "$me: running bison --version"
+ bison --version || skip_all_ "required program 'bison' not available"
+ ;;
+ *)
+ # Generic case: the tool must support --version.
+ echo "$me: running $tool --version"
+ # It is not likely but possible that $tool is a special builtin,
+ # in which case the shell is allowed to exit after an error. So
+ # we need the subshell here. Also, some tools, like Sun cscope,
+ # can be interactive without redirection.
+ ($tool --version) </dev/null \
+ || skip_all_ "required program '$tool' not available"
+ ;;
+ esac
+done
+
+# Using just $am_top_builddir for the check here is ok, since the
+# further temporary subdirectory where the test will be run is
+# ensured not to contain any whitespace character.
+case $am_top_builddir in
+ *\ *|*\ *)
+ case " $required " in
+ *' libtool '* | *' libtoolize '* )
+ skip_all_ "libtool has problems with spaces in builddir name";;
+ esac
+ ;;
+esac
+
+# This test is necessary, although Automake's configure script bails out
+# when $srcdir contains spaces. This is because $am_top_srcdir is in not
+# configure-time $srcdir, but is instead configure-time $abs_srcdir, and
+# that is allowed to contain spaces.
+case $am_top_srcdir in
+ *\ * |*\ *)
+ case " $required " in
+ *' libtool '* | *' libtoolize '* | *' gettext '* )
+ skip_all_ "spaces in srcdir name: libtool/gettext tests won't work";;
+ esac
+ ;;
+esac
+
+# We might need extra macros, e.g., from Libtool or Gettext.
+case " $required " in *\ libtool*) . ./t/libtool-macros.dir/get.sh;; esac
+case " $required " in *\ gettext*) . ./t/gettext-macros.dir/get.sh;; esac
+
+
+## ---------------------------------------------------------------- ##
+## Create and set up of the temporary directory used by the test. ##
+## Set up of the exit trap for cleanup of said directory. ##
+## ---------------------------------------------------------------- ##
+
+# This might be used in testcases checking distribution-related features.
+# Test scripts are free to override this if they need to.
+distdir=$me-1.0
+
+# Set up the exit trap.
+if test "$sh_errexit_works" = yes; then
+ trap 'exit_status=$?
+ set +e
+ cd "$am_top_builddir"
+ if test $am_using_tap = yes; then
+ if test "$planned_" = later && test $exit_status -eq 0; then
+ plan_ "now"
+ fi
+ test $exit_status -eq 0 && test $tap_pass_count_ -eq $tap_count_ \
+ || keep_testdirs=yes
+ else
+ # This is to ensure that a test script does give a SKIP outcome just
+ # because a command in it happens to exit with status 77. This
+ # behaviour, while from time to time useful to developers, is not
+ # meant to be enabled by default, as it could cause spurious failures
+ # in the wild. Thus it will be enabled only when the variable
+ # "am_explicit_skips" is set to a "true" value.
+ case $am_explicit_skips in
+ [yY]|[yY]es|1)
+ if test $exit_status -eq 77 && test $am__test_skipped != yes; then
+ echo "$me: implicit skip turned into failure"
+ exit_status=78
+ fi;;
+ esac
+ test $exit_status -eq 0 || keep_testdirs=yes
+ fi
+ am_keeping_testdirs || rm_rf_ $testSubDir
+ set +x
+ echo "$me: exit $exit_status"
+ exit $exit_status
+ ' 0
+ trap "fatal_ 'caught signal SIGHUP'" 1
+ trap "fatal_ 'caught signal SIGINT'" 2
+ trap "fatal_ 'caught signal SIGTERM'" 15
+ # Various shells seems to just ignore SIGQUIT under some circumstances,
+ # even if the signal is not blocked; however, if the signal it trapped,
+ # the trap gets correctly executed. So we also trap SIGQUIT.
+ # Here is a list of some shells that have been verified to exhibit the
+ # problematic behavior with SIGQUIT:
+ # - zsh 4.3.12 on Debian GNU/Linux
+ # - /bin/ksh and /usr/xpg4/bin/sh on Solaris 10
+ # - Bash 3.2.51 on Solaris 10 and bash 4.1.5 on Debian GNU/Linux
+ # - AT&T ksh on Debian Gnu/Linux (deb package ksh, version 93u-1)
+ # OTOH, at least these shells that do *not* exhibit that behaviour:
+ # - modern version of the Almquist Shell (at least 0.5.5.1), on
+ # both Solaris and GNU/Linux
+ # - Solaris 10 /bin/sh
+ # - public domain Korn Shell, version 5.2.14, on Debian GNU/Linux
+ trap "fatal_ 'caught signal SIGQUIT'" 3
+ # Ignore further SIGPIPE in the trap code. This is required to avoid
+ # a very weird issue with some shells, at least when the execution of
+ # the automake testsuite is driven by the 'prove' utility: if prove
+ # (or the make process that has spawned it) gets interrupted with
+ # Ctrl-C, the shell might go in a loop, continually getting a SIGPIPE,
+ # sometimes finally dumping core, other times hanging indefinitely.
+ # See also Test::Harness bug [rt.cpan.org #70855], archived at
+ # <https://rt.cpan.org/Ticket/Display.html?id=70855>
+ trap "trap '' 13; fatal_ 'caught signal SIGPIPE'" 13
+fi
+
+# Create and populate the temporary directory, if and as required.
+if test x"$am_create_testdir" = x"no"; then
+ testSubDir=
+else
+ # The subdirectory where the current test script will run and write its
+ # temporary/data files. This will be created shortly, and will be removed
+ # by the cleanup trap below if the test passes. If the test doesn't pass,
+ # this directory will be kept, to facilitate debugging.
+ testSubDir=t/$me.dir
+ test ! -d $testSubDir || rm_rf_ $testSubDir \
+ || framework_failure_ "removing old test subdirectory"
+ test -d t || mkdir t
+ mkdir $testSubDir \
+ || framework_failure_ "creating test subdirectory"
+ # The trailing './'ris to avoid CDPATH issues.
+ cd ./$testSubDir \
+ || framework_failure_ "cannot chdir into test subdirectory"
+ if test x"$am_create_testdir" != x"empty"; then
+ 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.ac, touch all necessary files, etc. Don't use AC_OUTPUT,
+ # but AC_CONFIG_FILES so that appending still produces a valid
+ # configure.ac. But then, tests running config.status really need
+ # to append AC_OUTPUT.
+ {
+ echo "AC_INIT([$me], [1.0])"
+ if test x"$am_parallel_tests" = x"yes"; then
+ echo "AM_INIT_AUTOMAKE([parallel-tests])"
+ else
+ echo "AM_INIT_AUTOMAKE"
+ fi
+ echo "AC_CONFIG_FILES([Makefile])"
+ } >configure.ac || framework_failure_ "creating configure.ac skeleton"
+ fi
+fi
+
+
+## ---------------- ##
+## Ready to go... ##
+## ---------------- ##
+
+set -x
+pwd
diff --git a/defs-static.in b/defs-static.in
new file mode 100644
index 0000000..a8a17f0
--- /dev/null
+++ b/defs-static.in
@@ -0,0 +1,244 @@
+# -*- shell-script -*-
+# @configure_input@
+#
+# Copyright (C) 1996-2012 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/>.
+
+# Defines and minimal setup for Automake testing environment.
+
+# IMPORTANT NOTES AND REQUIREMENTS
+# - Multiple inclusions of this file should be idempotent.
+# - This code has to be 'set -e' clean.
+# - This file should execute correctly with any system's /bin/sh
+# shell, not only with configure-time detected $CONFIG_SHELL.
+
+# Be more Bourne compatible.
+# (Snippet inspired to configure's initialization in Autoconf 2.64)
+DUALCASE=1; export DUALCASE # for MKS sh
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+ # If Zsh is not started directly in Bourne-compatibility mode, it has
+ # some incompatibilities in the handling of $0 that conflict with
+ # our usage: i.e., $0 inside a file sourced with the '.' builtin is
+ # temporarily set to the name of the sourced file.
+ # Work around this when possible, otherwise abort the script.
+ # Note that a bug in some versions of Zsh prevents us from resetting $0
+ # in a sourced script, so the use of $argv0. For more info see:
+ # <http://www.zsh.org/mla/workers/2009/msg01140.html>
+ # Note: the apparently useless 'eval' below are needed by at least
+ # dash 0.5.2, to prevent it from bailing out with an error like
+ # "Syntax error: Bad substitution"
+ if eval '[[ "$0" = *."test" ]]'; then
+ # Good, FUNCTION_ARGZERO option was already off when this file was
+ # sourced. Thus we've nothing to do.
+ argv0=$0
+ elif eval 'test -n "${functrace[-1]}"'; then
+ # FUNCTION_ARGZERO option was on, but we have a easy workaround.
+ eval 'argv0=${functrace[-1]%:*}'
+ else
+ # Give up.
+ echo "$0: cannot determine the path of running test script" >&2
+ echo "$0: test was running with Zsh version $ZSH_VERSION" >&2
+ echo "$0: did you enable the NO_FUNCTION_ARGZERO option?" >&2
+ exit 99
+ fi
+else
+ argv0=$0
+ # Avoid command substitution failure, for Tru64 sh -e and instspc*.test.
+ case `(set -o) 2>/dev/null || :` in *posix*) set -o posix;; esac
+fi
+
+# Check that the environment is properly sanitized.
+# Having variables exported to the empty string is OK, since our code
+# treats such variables as if they were unset.
+for var in \
+ me \
+ required \
+ am_using_tap \
+ am_parallel_tests \
+ am_create_testdir \
+ am_tap_implementation \
+ am_test_prefer_config_shell \
+ am_original_AUTOMAKE \
+ am_original_ACLOCAL \
+; do
+ if eval "test x\"\$$var\" != x" && env | grep "^$var=" >/dev/null; then
+ echo "$argv0: variable '$var' is set in the environment:" \
+ "this is unsafe" >&2
+ exit 99
+ fi
+done
+unset var
+
+# See whether the current test script is expected to use TAP or not.
+# Use a sensible default, while allowing the scripts to override this
+# check.
+if test -z "$am_using_tap"; then
+ case $argv0 in *.tap) am_using_tap=yes;; *) am_using_tap=no;; esac
+fi
+
+am_top_srcdir='@abs_srcdir@'
+am_top_builddir='@abs_builddir@'
+testprefix='@prefix@'
+
+# Where testsuite-related helper scripts, data files and shell libraries
+# are placed.
+am_testauxdir=$am_top_srcdir/t/ax
+
+# 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=$am_top_srcdir/lib/am
+ am_automake_acdir=$am_top_srcdir/m4
+ am_bindir=$am_top_builddir/t/wrap
+ am_datadir=$am_top_srcdir
+ am_docdir=$am_top_srcdir/doc
+ am_pkgvdatadir=$am_top_srcdir/lib
+ am_scriptdir=$am_top_srcdir/lib
+ am_system_acdir=$am_top_srcdir/m4/acdir
+ ;;
+ *)
+ echo "$argv0: variable 'am_running_installcheck' has invalid"
+ "value '$am_running_installcheck'" >&2
+ exit 99
+ ;;
+esac
+
+APIVERSION='@APIVERSION@'
+PATH_SEPARATOR='@PATH_SEPARATOR@'
+
+host_alias=${host_alias-'@host_alias@'}; export host_alias
+build_alias=${build_alias-'@build_alias@'}; export build_alias
+
+# Make sure we override the user shell. And do not read the value of
+# $SHELL from the environment (think to the non-uncommon situation where
+# e.g., $SHELL=/bin/tcsh).
+SHELL=${AM_TESTSUITE_SHELL-'@SHELL@'}; export SHELL
+
+# User can override various tools used. Prefer overriding specific for
+# that automake testsuite, if they are available.
+AWK=${AM_TESTSUITE_AWK-${AWK-'@AWK@'}}
+PERL=${AM_TESTSUITE_PERL-${PERL-'@PERL@'}}
+MAKE=${AM_TESTSUITE_MAKE-${MAKE-'make'}}
+YACC=${AM_TESTSUITE_YACC-${YACC-'@YACC@'}}
+LEX=${AM_TESTSUITE_LEX-${LEX-'@LEX@'}}
+AUTOCONF=${AM_TESTSUITE_AUTOCONF-${AUTOCONF-'@am_AUTOCONF@'}}
+AUTOM4TE=${AM_TESTSUITE_AUTOM4TE-${AUTOM4TE-'@am_AUTOM4TE@'}}
+AUTORECONF=${AM_TESTSUITE_AUTORECONF-${AUTORECONF-'@am_AUTORECONF@'}}
+AUTOHEADER=${AM_TESTSUITE_AUTOHEADER-${AUTOHEADER-'@am_AUTOHEADER@'}}
+AUTOUPDATE=${AM_TESTSUITE_AUTOUPDATE-${AUTOUPDATE-'@am_AUTOUPDATE@'}}
+
+# Tests who want complete control over aclocal or automake command-line
+# options should use $am_original_ACLOCAL or $am_original_AUTOMAKE. The
+# "test -z" tests take care not to re-initialize them if defs-static
+# is re-sourced, as we want defs-static to remain really idempotent.
+if test -z "$am_original_AUTOMAKE"; then
+
am_original_AUTOMAKE=${AM_TESTSUITE_AUTOMAKE-${AUTOMAKE-"automake-$APIVERSION"}}
+fi
+if test -z "$am_original_ACLOCAL"; then
+ am_original_ACLOCAL=${AM_TESTSUITE_ACLOCAL-${ACLOCAL-"aclocal-$APIVERSION"}}
+fi
+
+# Use -Werror because this also turns some Perl warnings into error.
+# Tests for which this is inappropriate should use -Wno-error.
+# Tests who want complete control over aclocal command-line options
+# should use $am_original_ACLOCAL instead.
+ACLOCAL="$am_original_ACLOCAL -Werror"
+
+# See how Automake should be run. We put --foreign as the default
+# strictness to avoid having to create lots and lots of files. A test
+# can override this by specifying a different strictness. Use -Wall
+# -Werror by default. Tests for which this is inappropriate (e.g. when
+# testing that a warning is enabled by a specific switch) should use
+# -Wnone or/and -Wno-error.
+# Tests who want complete control over automake command-line options
+# should use $am_original_AUTOMAKE instead.
+AUTOMAKE="$am_original_AUTOMAKE --foreign -Werror -Wall"
+
+# POSIX no longer requires 'egrep' and 'fgrep',
+# but some hosts lack 'grep -E' and 'grep -F'.
+EGREP=${AM_TESTSUITE_EGREP-'@EGREP@'}
+FGREP=${AM_TESTSUITE_FGREP-'@FGREP@'}
+
+# Compilers and their flags. These can point to non-GNU compilers (and
+# on non-Linux and non-BSD systems, they probably will).
+CC=${AM_TESTSUITE_CC-${CC-'@CC@'}}
+CXX=${AM_TESTSUITE_CXX-${CXX-'@CXX@'}}
+F77=${AM_TESTSUITE_F77-${F77-'@F77@'}}
+FC=${AM_TESTSUITE_FC-${FC-'@FC@'}}
+CFLAGS=${AM_TESTSUITE_CFLAGS-${CFLAGS-'@CFLAGS@'}}
+CXXFLAGS=${AM_TESTSUITE_CXXFLAGS-${CXXFLAGS-'@CXXFLAGS@'}}
+FCFLAGS=${AM_TESTSUITE_FCFLAGS-${FCFLAGS-'@FCFLAGS@'}}
+FFLAGS=${AM_TESTSUITE_FFLAGS-${FFLAGS-'@FFLAGS@'}}
+CPPFLAGS=${AM_TESTSUITE_CPPFLAGS-${CPPFLAGS-'@CPPFLAGS@'}}
+
+# GNU compilers and their flags.
+GNU_CC=${AM_TESTSUITE_GNU_CC-${GNU_CC-'@GNU_CC@'}}
+GNU_CXX=${AM_TESTSUITE_GNU_CXX-${GNU_CXX-'@GNU_CXX@'}}
+GNU_F77=${AM_TESTSUITE_GNU_F77-${GNU_F77-'@GNU_F77@'}}
+GNU_FC=${AM_TESTSUITE_GNU_FC-${GNU_FC-'@GNU_FC@'}}
+GNU_FFLAGS=${AM_TESTSUITE_GNU_FFLAGS-${GNU_FFLAGS-'@GNU_FFLAGS@'}}
+GNU_FCFLAGS=${AM_TESTSUITE_GNU_FCFLAGS-${GNU_FCFLAGS-'@GNU_FCFLAGS@'}}
+GNU_CXXFLAGS=${AM_TESTSUITE_GNU_CXXFLAGS-${GNU_CXXFLAGS-'@GNU_CXXFLAGS@'}}
+GNU_CFLAGS=${AM_TESTSUITE_GNU_CFLAGS-${GNU_CFLAGS-'@GNU_CFLAGS@'}}
+GNU_GCJ=${AM_TESTSUITE_GNU_GCJ-${GNU_GCJ-'@GNU_GCJ@'}}
+GNU_GCJFLAGS=${AM_TESTSUITE_GNU_GCJFLAGS-${GNU_GCJFLAGS-'@GNU_GCJFLAGS@'}}
+
+# No all versions of Tex support '--version', so we use a configure
+# check to decide if tex is available. This decision is embodied in
+# this variable.
+TEX=${AM_TESTSUITE_TEX-'@TEX@'}
+
+# Whether $SHELL has working 'set -e' with exit trap.
+sh_errexit_works='@sh_errexit_works@'
+
+# The amount we should wait after modifying files depends on the platform.
+# For instance, Windows '95, '98 and ME have 2-second granularity
+# and can be up to 3 seconds in the future w.r.t. the system clock.
+sleep='sleep @MODIFICATION_DELAY@'
+
+# An old timestamp that can be given to a file, in "touch -t" format.
+# The time stamp should be portable to all file systems of interest.
+# Just for fun, choose the exact time of the announcement of the GNU project
+# in UTC; see <http://www.gnu.org/gnu/initial-announcement.html>.
+old_timestamp=198309271735.59
+
+# 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
+ $am_bindir$PATH_SEPARATOR*) ;;
+ *) PATH=$am_bindir$PATH_SEPARATOR$PATH;;
+esac
+
+# Make our helper script accessible by default.
+PATH=$am_testauxdir$PATH_SEPARATOR$PATH
+
+export PATH
diff --git a/doc/Makefile.am b/doc/Makefile.am
deleted file mode 100644
index 86259db..0000000
--- a/doc/Makefile.am
+++ /dev/null
@@ -1,89 +0,0 @@
-## Process this file with automake to create Makefile.in
-
-# Copyright (C) 2003-2012 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/>.
-
-info_TEXINFOS = automake.texi automake-history.texi
-automake_TEXINFOS = fdl.texi
-history_TEXINFOS = fdl.texi
-
-dist_man1_MANS = \
- $(srcdir)/aclocal.1 \
- $(srcdir)/automake.1 \
- $(srcdir)/aclocal-$(APIVERSION).1 \
- $(srcdir)/automake-$(APIVERSION).1
-MAINTAINERCLEANFILES = $(dist_man1_MANS)
-update_mans = \
- $(AM_V_GEN): && \
- PATH="$(abs_top_builddir)/tests/wrap$(PATH_SEPARATOR)$$PATH" && \
- export PATH && \
- $(HELP2MAN) --output=$@
-$(dist_man1_MANS): $(top_srcdir)/configure.ac
-$(srcdir)/aclocal.1 $(srcdir)/automake.1:
- $(AM_V_GEN)f=`echo $@ | sed 's|.*/||; s|\.1$$||; $(transform)'`; \
- echo ".so man1/$$f-$(APIVERSION).1" > $@
-$(srcdir)/aclocal-$(APIVERSION).1: $(srcdir)/../aclocal.in
- $(update_mans) aclocal-$(APIVERSION)
-$(srcdir)/automake-$(APIVERSION).1: $(srcdir)/../automake.in
- $(update_mans) automake-$(APIVERSION)
-
-# The following requires a fixed version of the Emacs 19.30 etags.
-ETAGS_ARGS = --lang=none \
- --regex='/address@hidden \t]+\([^,]+\)/\1/' $(srcdir)/automake.texi
-TAGS_DEPENDENCIES = automake.texi
-
-amhello_sources = \
- amhello/configure.ac \
- amhello/Makefile.am \
- amhello/README \
- amhello/src/main.c \
- amhello/src/Makefile.am
-
-amhello_configury = \
- aclocal.m4 \
- autom4te.cache \
- Makefile.in \
- config.h.in \
- configure \
- depcomp \
- install-sh \
- missing \
- src/Makefile.in
-
-dist_noinst_DATA = $(amhello_sources)
-dist_doc_DATA = $(srcdir)/amhello-1.0.tar.gz
-
-# We depend on configure.ac so that we regenerate the tarball
-# whenever the Automake version changes.
-# aclocal-$(APIVERSION) and automake-$(APIVERSION) are generated by
-# configure in tests/.
-$(srcdir)/amhello-1.0.tar.gz: $(amhello_sources) $(top_srcdir)/configure.ac
- $(AM_V_GEN): && \
- PATH="$(abs_top_builddir)/tests/wrap$(PATH_SEPARATOR)$$PATH" && \
- export PATH && \
- $(am__cd) $(srcdir)/amhello && \
- ACLOCAL=aclocal-$(APIVERSION) && export ACLOCAL && \
- AUTOMAKE=automake-$(APIVERSION) && export AUTOMAKE && \
- AUTOCONF='$(am_AUTOCONF)' && export AUTOCONF && \
- AUTOM4TE='$(am_AUTOM4TE)' && export AUTOM4TE && \
- AUTORECONF='$(am_AUTORECONF)' && export AUTORECONF && \
- AUTOHEADER='$(am_AUTOHEADER)' && export AUTOHEADER && \
- AUTOUPDATE='$(am_AUTOUPDATE)' && export AUTOUPDATE && \
- $(am_AUTORECONF) -vfi && \
- ./configure && \
- $(MAKE) distcheck && \
- $(MAKE) distclean && \
- rm -rf $(amhello_configury) && \
- mv amhello-1.0.tar.gz ..
diff --git a/doc/automake.texi b/doc/automake.texi
index 76aa651..b497233 100644
--- a/doc/automake.texi
+++ b/doc/automake.texi
@@ -913,7 +913,7 @@ GNU Make Manual}).
VPATH builds have other interesting uses. One is to build the same
sources with multiple configurations. For instance:
address@hidden Keep in sync with amhello-cflags.test.
address@hidden Keep in sync with amhello-cflags.sh
@example
~ % @kbd{tar zxf ~/amhello-1.0.tar.gz}
~ % @kbd{cd amhello-1.0}
@@ -1065,7 +1065,7 @@ instance my cross-compiler for MinGW32 has its binaries
called
Here is how we could build @code{amhello-1.0} for
@code{i586-mingw32msvc} on a GNU/Linux PC.
address@hidden Keep in sync with amhello-cross-compile.test.
address@hidden Keep in sync with amhello-cross-compile.sh
@smallexample
~/amhello-1.0 % @kbd{./configure --build i686-pc-linux-gnu --host
i586-mingw32msvc}
checking for a BSD-compatible install... /usr/bin/install -c
@@ -1180,7 +1180,7 @@ by some means.
For instance here is how we could create a binary package containing a
snapshot of all the files to be installed.
address@hidden Keep in sync with amhello-binpkg.test.
address@hidden Keep in sync with amhello-binpkg.sh
@example
~/amhello-1.0 % @kbd{./configure --prefix /usr}
@dots{}
@@ -1834,7 +1834,7 @@ variable definitions.
Generally, Automake is not particularly smart in the parsing of unusual
Makefile constructs, so you're advised to avoid fancy constructs or
``creative'' use of whitespaces.
address@hidden Keep this in sync with doc-parsing-buglets-tabs.test.
address@hidden Keep this in sync with doc-parsing-buglets-tabs.sh
For example, @key{TAB} characters cannot be used between a target name
and the following address@hidden:}'' character, and variable assignments
shouldn't be indented with @key{TAB} characters.
@@ -1870,7 +1870,7 @@ might recursively examine variables referenced in the
definition in order
to perform its magic. For example, if Automake is looking at the content
of @code{foo_SOURCES} in this snippet
address@hidden Keep in sync with interp.test.
address@hidden Keep in sync with interp.sh
@example
xs = a.c b.c
foo_SOURCES = c.c $(xs)
@@ -2067,7 +2067,7 @@ defined (e.g., @samp{zardir}).
For instance, the following snippet will install @file{file.xml} into
@samp{$(datadir)/xml}.
address@hidden Keep in sync with primary-prefix-couples-documented-valid.test.
address@hidden Keep in sync with primary-prefix-couples-documented-valid.sh
@example
xmldir = $(datadir)/xml
xml_DATA = file.xml
@@ -2078,7 +2078,7 @@ performs to diagnose suspicious directory/primary couples
(in the
unlikely case these checks are undesirable, and you really know what
you're doing). For example, Automake would error out on this input:
address@hidden Should be tested in primary-prefix-invalid-couples.test.
address@hidden Should be tested in primary-prefix-invalid-couples.sh
@example
# Forbidden directory combinations, automake will error out on this.
pkglib_PROGRAMS = foo
@@ -2088,7 +2088,7 @@ doc_LIBRARIES = libquux.a
@noindent
but it will succeed with this:
address@hidden Keep in sync with primary-prefix-couples-documented-valid.test.
address@hidden Keep in sync with primary-prefix-couples-documented-valid.sh
@example
# Work around forbidden directory combinations. Do not use this
# without a very good reason!
@@ -2169,7 +2169,7 @@ data_DATA = file1 @dots{} address@hidden address@hidden
@dots{} address@hidden
@noindent
may also be written as
address@hidden Keep in sync with primary-prefix-couples-documented-valid.test.
address@hidden Keep in sync with primary-prefix-couples-documented-valid.sh
@example
data_DATA = file1 @dots{} address@hidden
data2dir = $(datadir)
@@ -2495,7 +2495,7 @@ example in the manual. However if you were to build
@code{true} and
@code{false} in real life, you would probably use per-program
compilation flags, like so:
address@hidden Keep in sync with specflg7.test and specflg8.test.
address@hidden Keep in sync with specflg7.sh and specflg8.sh
@example
bin_PROGRAMS = false true
@@ -2725,7 +2725,7 @@ The categories output by default are @samp{syntax} and
@samp{unsupported}. Additionally, @samp{gnu} and @samp{portability}
are enabled in @option{--gnu} and @option{--gnits} strictness.
address@hidden Checked by extra-portability.test
address@hidden Checked by extra-portability.sh
Turning off @samp{portability} will also turn off @samp{extra-portability},
and similarly turning on @samp{extra-portability} will also turn on
@samp{portability}. However, turning on @samp{portability} or turning
@@ -2840,7 +2840,7 @@ literals. If part of the specification uses shell
variables,
@command{automake} will not be able to fulfill this setup, and you will
have to complete the missing bits by hand. For instance, on
address@hidden Keep in sync with output11.test.
address@hidden Keep in sync with output11.sh
@example
file=input
@dots{}
@@ -2856,7 +2856,7 @@ source file.)
Similarly
address@hidden Keep in sync with output11.test.
address@hidden Keep in sync with output11.sh
@example
file=output
file2=out:in
@@ -3269,7 +3269,7 @@ Add the directory @var{dir} to the list of directories
searched for
Install system-wide third-party macros into the first directory
specified with @samp{-I @var{dir}} instead of copying them in the
output file.
address@hidden The following semantics is checked by
`aclocal-install-absdir.test'.
address@hidden Keep in sync with aclocal-install-absdir.sh
Note that this will happen also if @var{dir} is an absolute path.
@cindex serial number and @option{--install}
@@ -3485,18 +3485,18 @@ macros installed at other places on the system.
The fourth and last mechanism to customize the macro search path is
also the simplest. Any directory included in the colon-separated
environment variable @env{ACLOCAL_PATH} is added to the search path
address@hidden Keep in sync with aclocal-path-precedence.test.
address@hidden Keep in sync with aclocal-path-precedence.sh
and takes precedence over system directories (including those found via
@file{dirlist}), with the exception of the versioned directory
@var{acdir-APIVERSION} (@pxref{Macro Search Path}). However, directories
passed via @option{-I} will take precedence over directories in
@env{ACLOCAL_PATH}.
address@hidden Keep in sync with aclocal-path-installed.test.
address@hidden Keep in sync with aclocal-path-installed.sh
Also note that, if the @option{--install} option is used, any @file{.m4}
file containing a required macro that is found in a directory listed in
@env{ACLOCAL_PATH} will be installed locally.
address@hidden Keep in sync with aclocal-path-installed-serial.test.
address@hidden Keep in sync with aclocal-path-installed-serial.sh
In this case, serial numbers in @file{.m4} are honoured too,
@pxref{Serials}.
@@ -3532,7 +3532,7 @@ installs this macro so that @command{aclocal} will find
it.
A macro file's name should end in @file{.m4}. Such files should be
installed in @file{$(datadir)/aclocal}. This is as simple as writing:
address@hidden Keep in sync with primary-prefix-couples-documented-valid.test.
address@hidden Keep in sync with primary-prefix-couples-documented-valid.sh
@example
aclocaldir = $(datadir)/aclocal
aclocal_DATA = mymacro.m4 myothermacro.m4
@@ -4335,7 +4335,7 @@ does not know the possible values of these variables. In
this case
@cindex @code{SUBDIRS} and @code{AM_CONDITIONAL}
@cindex @code{AM_CONDITIONAL} and @code{SUBDIRS}
address@hidden Keep in sync with subcond2.test.
address@hidden Keep in sync with subcond2.sh
@file{configure} should output the @file{Makefile} for each directory
and define a condition into which @file{opt/} should be built.
@@ -4375,7 +4375,7 @@ automatically because it knows that @code{MAYBE_OPT} can
contain
@cindex @code{SUBDIRS} and @code{AC_SUBST}
@cindex @code{AC_SUBST} and @code{SUBDIRS}
address@hidden Keep in sync with subcond3.test.
address@hidden Keep in sync with subcond3.sh
Another possibility is to define @code{MAYBE_OPT} from
@file{./configure} using @code{AC_SUBST}:
@@ -4533,7 +4533,7 @@ often be replaced by several variables, one for each
destination
directory (@pxref{Uniform}). For instance, the last example could be
rewritten as follows:
address@hidden Keep in sync with primary-prefix-couples-documented-valid.test.
address@hidden Keep in sync with primary-prefix-couples-documented-valid.sh
@example
imagesdir = $(pkgdatadir)/images
soundsdir = $(pkgdatadir)/sounds
@@ -4989,7 +4989,7 @@ You can also use Automake conditionals
(@pxref{Conditionals}) to
select programs to be built. In this case you don't have to worry
about @samp{$(EXEEXT)} or @code{EXTRA_PROGRAMS}.
address@hidden Keep in sync with exeext.test.
address@hidden Keep in sync with exeext.sh
@example
bin_PROGRAMS = cpio pax
if WANT_MT
@@ -5040,7 +5040,7 @@ Extra objects can be added to a library using the
@address@hidden variable. This should be used for objects
determined by @command{configure}. Again from @code{cpio}:
address@hidden Keep in sync with pr401c.test.
address@hidden Keep in sync with pr401c.sh
@example
libcpio_a_LIBADD = $(LIBOBJS) $(ALLOCA)
@end example
@@ -5246,7 +5246,7 @@ relates to @file{libfoo.la} or @file{libbar.la} at the
time it creates
the link rule for these two libraries. Therefore the @option{-rpath}
argument must be explicitly supplied.
address@hidden Keep in sync with ltcond.test.
address@hidden Keep in sync with ltcond.sh
@example
EXTRA_LTLIBRARIES = libfoo.la libbar.la
lib_LTLIBRARIES = $(WANTEDLIBS)
@@ -5262,7 +5262,7 @@ Automake is able to compute the @option{-rpath} setting
itself, because
it's clear that both libraries will end up in @samp{$(libdir)} if they
are installed.
address@hidden Keep in sync with ltcond.test.
address@hidden Keep in sync with ltcond.sh
@example
lib_LTLIBRARIES =
if WANT_LIBFOO
@@ -5289,7 +5289,7 @@ we could build a @file{libhello.la} library using either
@file{hello-linux.c} or @file{hello-generic.c} with the following
@file{Makefile.am}.
address@hidden Keep in sync with ltcond2.test.
address@hidden Keep in sync with ltcond2.sh
@example
lib_LTLIBRARIES = libhello.la
libhello_la_SOURCES = hello-common.c
@@ -5304,7 +5304,7 @@ either @file{hello-linux.lo} or @address@hidden
Or we could simply use an Automake conditional as follows.
address@hidden Keep in sync with ltcond2.test.
address@hidden Keep in sync with ltcond2.sh
@example
lib_LTLIBRARIES = libhello.la
libhello_la_SOURCES = hello-common.c
@@ -5344,7 +5344,7 @@ dependency anywhere it won't be built (this is why
Here is a sample setup merging libtool convenience libraries from
subdirectories into one main @file{libtop.la} library.
address@hidden Keep in sync with ltconv.test.
address@hidden Keep in sync with ltconv.sh
@example
# -- Top-level Makefile.am --
SUBDIRS = sub1 sub2 @dots{}
@@ -7511,7 +7511,7 @@ variable explicitly prevents byte-compilation.
Since Automake 1.8, we now recommend using @code{lisp_DATA} instead:
address@hidden Keep in sync with primary-prefix-couples-documented-valid.test.
address@hidden Keep in sync with primary-prefix-couples-documented-valid.sh
@example
lisp_DATA = file1.el file2.el
@end example
@@ -7573,7 +7573,7 @@ files are not included in the distribution, you should
use the
Here is a typical setup for distributing @file{.java} files and
installing the @file{.class} files resulting from their compilation.
address@hidden Keep in sync with primary-prefix-couples-documented-valid.test.
address@hidden Keep in sync with primary-prefix-couples-documented-valid.sh
@example
javadir = $(datadir)/java
dist_java_JAVA = a.java b.java @dots{}
@@ -7647,7 +7647,7 @@ Automake ships with an Autoconf macro called
@code{AM_PATH_PYTHON}
that will determine some Python-related directory variables (see
below). If you have called @code{AM_PATH_PYTHON} from
@file{configure.ac}, then you may use the variables
address@hidden Keep in sync with primary-prefix-couples-documented-valid.test.
address@hidden Keep in sync with primary-prefix-couples-documented-valid.sh
@code{python_PYTHON} or @code{pkgpython_PYTHON} to list Python source
files in your @file{Makefile.am}, depending on where you want your files
installed (see the definitions of @code{pythondir} and
@@ -7736,7 +7736,7 @@ This is the directory where Python extension modules
(shared libraries)
should be installed. An extension module written in C could be declared
as follows to Automake:
address@hidden Keep in sync with primary-prefix-couples-documented-valid.test.
address@hidden Keep in sync with primary-prefix-couples-documented-valid.sh
@example
pyexec_LTLIBRARIES = quaternion.la
quaternion_la_SOURCES = quaternion.c support.c support.h
@@ -7940,7 +7940,7 @@ passed to @code{makeinfo} when building @file{.info}
files; and
@samp{$(AM_MAKEINFOHTMLFLAGS)} is used when building @file{.html}
files.
address@hidden Keep in sync with txinfo21.test.
address@hidden Keep in sync with txinfo21.sh
For instance, the following setting can be used to obtain one single
@file{.html} file per manual, without node separators.
@example
@@ -8168,7 +8168,7 @@ while @code{bin_PROGRAMS} files are installed by
@code{install-exec}.
Any variable using a user-defined directory prefix with
@samp{exec} in the name (e.g.,
address@hidden Keep in sync with primary-prefix-couples-documented-valid.test.
address@hidden Keep in sync with primary-prefix-couples-documented-valid.sh
@code{myexecbin_PROGRAMS}) is installed by @code{install-exec}. All
other user-defined prefixes are installed by @code{install-data}.
@@ -8355,7 +8355,7 @@ included if they are found in the current directory
(either physically,
or as the target of a @file{Makefile.am} rule); this list is printed by
@samp{automake --help}. Note that some files in this list are actually
distributed only if other certain conditions hold (for example,
address@hidden Keep in sync with autodist-config-headers.test.
address@hidden Keep in sync with autodist-config-headers.sh
the @file{config.h.top} and @file{config.h.bot} files are automatically
distributed only if, e.g., @samp{AC_CONFIG_HEADERS([config.h])} is used
in @file{configure.ac}). Also, files that are read by @command{configure}
@@ -8572,7 +8572,7 @@ If you want @code{distcleancheck} to ignore built files
that have not
been cleaned because they are also part of the distribution, add the
following definition instead:
address@hidden Keep in sync with distcleancheck.test.
address@hidden Keep in sync with distcleancheck.sh
@example
distcleancheck_listfiles = \
find . -type f -exec sh -c 'test -f $(srcdir)/$$1 || echo $$1' \
@@ -8821,7 +8821,7 @@ the @code{DISABLE_HARD_ERRORS} make variable to a
nonempty value.
Note however that, for tests based on more complex test protocols,
the exact effects of @code{XFAIL_TESTS} and @code{DISABLE_HARD_ERRORS}
might change, or they might even have no effect at all (for example,
address@hidden Keep this in sync with tap-no-disable-hard-errors.test.
address@hidden Keep this in sync with tap-no-disable-hard-errors.sh
in tests using TAP, there is not way to disable hard errors, and the
@code{DISABLE_HARD_ERRORS} variable has no effect on them).
@@ -8837,7 +8837,7 @@ possible results (whose meanings should be clear from the
previous
@code{SKIP}, @code{XFAIL}, @code{XPASS} and @code{ERROR}. Here is an
example of output from an hypothetical testsuite that uses both plain
and TAP tests:
address@hidden Keep in sync with tap-doc.test.
address@hidden Keep in sync with tap-doc.sh
@example
PASS: foo.sh
PASS: zardoz.tap 1 - Daemon started
@@ -8901,7 +8901,7 @@ HP-UX's @command{/bin/sh},
@c FIXME: should we offer a link to the relevant discussions on the
@c bug-autoconf list?
address@hidden Keep in sync with tests-environment-backcompat.test.
address@hidden Keep in sync with tests-environment-backcompat.sh
@example
AM_TESTS_ENVIRONMENT = \
## Some environment initializations are kept in a separate shell
@@ -9046,7 +9046,7 @@ suffixes. @code{TEST_EXTENSIONS} defaults to
@file{.test}; it can be
overridden by the user, in which case any extension listed in it must be
constituted by a dot, followed by a non-digit alphabetic character,
followed by any number of alphabetic characters.
address@hidden Keep in sync with test-extensions.test.
address@hidden Keep in sync with test-extensions.sh
For example, @samp{.sh}, @samp{.T} and @samp{.t1} are valid extensions,
while @samp{.x-y}, @samp{.6c} and @samp{.t.1} are not.
@@ -9070,7 +9070,7 @@ all tests with this extension to be called with this
runner. For all
tests without a registered extension, the variables @code{LOG_COMPILER},
@code{AM_LOG_FLAGS}, and @code{LOG_FLAGS} may be used. For example,
address@hidden Keep in sync with parallel-tests-log-compiler-example.test.
address@hidden Keep in sync with parallel-tests-log-compiler-example.sh
@example
TESTS = foo.pl bar.py baz
TEST_EXTENSIONS = .pl .py
@@ -9127,7 +9127,7 @@ whose testsuite takes long time to execute. Luckily,
this problem can
easily be avoided by overriding also @code{TEST_SUITE_LOG} at runtime;
for example,
address@hidden Keep in sync with parallel-tests-log-override-2.test.
address@hidden Keep in sync with parallel-tests-log-override-2.sh
@example
make check TEST_SUITE_LOG=partial.log TESTS="..."
@end example
@@ -9634,7 +9634,7 @@ don't use it if you can avoid it.
@noindent
Here is an example of how the TAP driver can be set up and used.
address@hidden Keep in sync with tap-doc2.test.
address@hidden Keep in sync with tap-doc2.sh
@example
% @kbd{cat configure.ac}
AC_INIT([GNU Try Tap], [1.0], [bug-automake@@gnu.org])
@@ -10435,7 +10435,7 @@ For instance, the following definition prevents
Automake from misinterpreting
the @samp{.idlC.cpp:} rule as an attempt to transform @file{.idlC} files into
@file{.cpp} files.
address@hidden Keep in sync with suffix7.test.
address@hidden Keep in sync with suffix7.sh
@example
SUFFIXES = .idl C.cpp
.idlC.cpp:
@@ -10890,7 +10890,7 @@ make silent rules enabled by default in his own package
can do so by
adding a @samp{yes} argument to the @code{AM_SILENT_RULES} call in
@file{configure.ac}. We advise against this approach, though.
address@hidden Keep in sync with silent-configsite.test
address@hidden Keep in sync with silent-configsite.sh
Users who prefer to have silent rules enabled by default can edit their
@file{config.site} file to make the variable @code{enable_silent_rules}
default to @samp{yes}. This should still allow disabling silent rules
@@ -11242,7 +11242,7 @@ Checks, autoconf, The Autoconf Manual}) and use
@samp{$(LN_S)} in
For instance, here is how you could install a versioned copy of a
program using @samp{$(LN_S)}:
address@hidden Keep in sync with insthook.test
address@hidden Keep in sync with insthook.sh
@example
install-exec-hook:
cd $(DESTDIR)$(bindir) && \
@@ -11258,7 +11258,7 @@ When writing @code{install-exec-hook} or
@code{install-data-hook},
please bear in mind that the exec/data distinction is based on the
installation directory, not on the primary used (@pxref{The Two Parts of
Install}).
address@hidden Keep in sync with primary-prefix-couples-documented-valid.test.
address@hidden Keep in sync with primary-prefix-couples-documented-valid.sh
So a @code{foo_SCRIPTS} will be installed by
@code{install-data}, and a @code{barexec_SCRIPTS} will be installed by
@code{install-exec}. You should define your hooks consequently.
diff --git a/gen-testsuite-part b/gen-testsuite-part
new file mode 100755
index 0000000..dbf8be3
--- /dev/null
+++ b/gen-testsuite-part
@@ -0,0 +1,420 @@
+#! /usr/bin/env perl
+# Automatically compute some dependencies for the hand-written tests
+# of the Automake testsuite. Also, automatically generate some more
+# tests from them (for particular cases/setups only).
+
+# Copyright (C) 2011-2012 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/>.
+
+#--------------------------------------------------------------------------
+
+use warnings FATAL => "all";
+use strict;
+use File::Basename ();
+use constant TRUE => 1;
+use constant FALSE => 0;
+
+my $me = File::Basename::basename $0;
+
+# For use in VPATH builds.
+my $srcdir = ".";
+
+#--------------------------------------------------------------------------
+
+sub unindent ($)
+{
+ my $text = shift;
+ $text =~ /^(\s*)/;
+ my $indentation = $1;
+ $text =~ s/^$indentation//gm;
+ return $text;
+}
+
+sub atomic_write ($$;$)
+{
+ my ($outfile, $func) = (shift, shift);
+ my $perms = @_ > 0 ? shift : 0777;
+ my $tmpfile = "$outfile-t";
+ foreach my $f ($outfile, $tmpfile)
+ {
+ unlink $f or die "$me: cannot unlink '$f': $!\n"
+ if -e $f;
+ }
+ open (my $fh, ">$tmpfile")
+ or die "$me: can't write to '$tmpfile': $!\n";
+ $func->($fh);
+ close $fh
+ or die "$me: closing '$tmpfile': $!\n";
+ chmod ($perms & ~umask, $tmpfile)
+ or die "$me: cannot change perms for '$tmpfile': $!\n";
+ rename ($tmpfile, $outfile)
+ or die "$me: renaming '$tmpfile' -> '$outfile: $!\n'";
+}
+
+sub line_match ($$)
+{
+ my ($re, $file) = (shift, shift);
+ # Try both builddir and srcdir, with builddir first, to play nice
+ # with VPATH builds.
+ open (FH, "<$file") or open (FH, "<$srcdir/$file")
+ or die "$me: cannot open file '$file': $!\n";
+ my $ret = 0;
+ while (defined (my $line = <FH>))
+ {
+ if ($line =~ $re)
+ {
+ $ret = 1;
+ last;
+ }
+ }
+ close FH or die "$me: cannot close file '$file': $!\n";
+ return $ret;
+}
+
+sub write_wrapper_script ($$$)
+{
+ my ($file_handle, $wrapped_test, $shell_setup_code, $creator_name) = @_;
+ # FIXME: we use some creative quoting in the generated scripts,
+ # FIXME: to please maintainer-check.
+ print $file_handle unindent <<EOF;
+ #! /bin/sh
+ # This file has been automatically generated. DO NOT EDIT BY HAND!
+ . ./defs-static || exit '99';
+ $shell_setup_code
+ # In the spirit of VPATH, we prefer a test in the build tree
+ # over one in the source tree.
+ for dir in . "\$am_top_srcdir"; do
+ if test -f "\$dir/$wrapped_test"; then
+ echo "\$0: will source \$dir/$wrapped_test"
+ . "\$dir/$wrapped_test"; exit "\$?"
+ fi
+ done
+ echo "\$0: cannot find wrapped test '$wrapped_test'" >&2
+ exit '99'
+EOF
+}
+
+sub get_list_of_tests ()
+{
+ my $make = defined $ENV{MAKE} ? $ENV{MAKE} : "make";
+ # Unset MAKEFLAGS, for when we are called from make itself.
+ my $cmd = "MAKEFLAGS= && unset MAKEFLAGS && cd '$srcdir' && "
+ . "$make -s -f t/list-of-tests.mk print-list-of-tests";
+ my @tests_list = split /\s+/, `$cmd`;
+ die "$me: cannot get list of tests\n" unless $? == 0 && @tests_list;
+ my $ok = 1;
+ foreach my $test (@tests_list)
+ {
+ # Respect VPATH builds.
+ next if -f $test || -f "$srcdir/$test";
+ warn "$me: test '$test' not found\n";
+ $ok = 0;
+ }
+ die "$me: some test scripts not found\n" if !$ok;
+ return @tests_list;
+}
+
+sub parse_options (@)
+{
+ use Getopt::Long qw/GetOptions/;
+ local @ARGV = @_;
+ GetOptions ('srcdir=s' => \$srcdir) or die "$me: usage error\n";
+ die "$me: too many arguments\n" if @ARGV > 0;
+ die "$me: srcdir '$srcdir': not a directory\n" unless -d $srcdir;
+}
+
+#--------------------------------------------------------------------------
+
+# Where testsuite-related helper scripts, data files and shell libraries
+# are placed. Relative to the 't/' subdirectory.
+my $auxdir = "ax";
+
+my %deps_extractor =
+ (
+ libtool_macros =>
+ {
+ line_matcher => qr/^\s*required=.*\blibtool/,
+ nodist_prereqs => "t/libtool-macros.log",
+ },
+ gettext_macros =>
+ {
+ line_matcher => qr/^\s*required=.*\bgettext/,
+ nodist_prereqs => "t/gettext-macros.log",
+ },
+ use_trivial_test_driver =>
+ {
+ line_matcher => qr/\btrivial-test-driver\b/,
+ dist_prereqs => "t/$auxdir/trivial-test-driver",
+ },
+ depcomp_shuffle =>
+ {
+ line_matcher => qr/\bdepcomp-shuffle\.sh\b/,
+ dist_prereqs => "t/$auxdir/depcomp-shuffle.sh",
+ },
+ check_testsuite_summary =>
+ {
+ line_matcher => qr/\btestsuite-summary-checks\.sh\b/,
+ dist_prereqs => "t/$auxdir/testsuite-summary-checks.sh",
+ },
+ extract_testsuite_summary =>
+ {
+ line_matcher => qr/\bextract-testsuite-summary\.pl\b/,
+ dist_prereqs => "t/$auxdir/extract-testsuite-summary.pl",
+ },
+ check_tap_testsuite_summary =>
+ {
+ line_matcher => qr/\btap-summary-aux\.sh\b/,
+ dist_prereqs => "t/$auxdir/tap-summary-aux.sh",
+ },
+ on_tap_with_common_setup =>
+ {
+ line_matcher => qr/\btap-setup\.sh\b/,
+ dist_prereqs => "t/$auxdir/tap-setup.sh",
+ nodist_prereqs => "t/tap-common-setup.log",
+ },
+ depcomp =>
+ {
+ line_matcher => qr/\bdepcomp\.sh\b/,
+ dist_prereqs => "t/$auxdir/depcomp.sh",
+ },
+ );
+
+#--------------------------------------------------------------------------
+
+my %test_generators =
+ (
+ #
+ # For each test script in the Automake testsuite that itself tests
+ # features of the TESTS automake interface, define a sibling test
+ # that does likewise, but with the option 'parallel-tests' enabled.
+ #
+ # A test is considered a candidate for sibling-generation if any
+ # Makefile.am generated by it define the TESTS variable.
+ #
+ # Individual tests can prevent the creation of such a sibling by
+ # explicitly setting the '$am_parallel_tests' variable to either "yes"
+ # or "no". The rationale for this is that if the variable is set to
+ # "yes", the test already uses the 'parallel-tests' option, so that
+ # a sibling would be just a duplicate; while if the variable is set
+ # to "no", the test doesn't support, or is not meant to run with, the
+ # 'parallel-tests' option, and forcing it to do so in the sibling
+ # would likely cause a spurious failure.
+ #
+ parallel_testsuite_harness =>
+ {
+ line_matcher =>
+ qr/(?:^|\s)TESTS\s*=/,
+ line_rejecter =>
+ qr/(?:^[^#]*\bparallel-tests\b)|\bam_parallel_tests=/,
+ shell_setup_code =>
+ 'am_parallel_tests=yes'
+ },
+ #
+ # For each test script in the Automake testsuite that tests features
+ # of one or more automake-provided shell script from the 'lib/'
+ # subdirectory by running those scripts directly (i.e., not thought
+ # make calls and automake-generated makefiles), define a sibling test
+ # that does likewise, but running the said script with the configure
+ # time $SHELL instead of the default system shell /bin/sh.
+ #
+ # A test is considered a candidate for sibling-generation if it calls
+ # the 'get_shell_script' function anywhere.
+ #
+ # Individual tests can prevent the creation of such a sibling by
+ # explicitly setting the '$am_test_prefer_config_shell' variable
+ # to either "yes" or "no".
+ # The rationale for this is that if the variable is set to "yes",
+ # the test already uses $SHELL, so that a sibling would be just a
+ # duplicate; while if the variable is set to "no", the test doesn't
+ # support, or is not meant to use, $SHELL to run the script under
+ # testing, and forcing it to do so in the sibling would likely
+ # cause a spurious failure.
+ #
+ prefer_config_shell =>
+ {
+ line_matcher =>
+ qr/(^|\s)get_shell_script\s/,
+ line_rejecter =>
+ qr/\bam_test_prefer_config_shell=/,
+ shell_setup_code =>
+ 'am_test_prefer_config_shell=yes',
+ },
+ #
+ # Tests on tap support should be run with both the perl and awk
+ # implementations of the TAP driver (they run with the awk one
+ # by default).
+ #
+ perl_tap_driver =>
+ {
+ line_matcher =>
+ qr<(?:\bfetch_tap_driver\b|[\s/]tap-setup\.sh\b)>,
+ line_rejecter =>
+ qr/\bam_tap_implementation=/,
+ shell_setup_code =>
+ 'am_tap_implementation=perl',
+ },
+ );
+
+#--------------------------------------------------------------------------
+
+parse_options @ARGV;
+
+my @all_tests = get_list_of_tests;
+my @generated_tests = (); # Will be updated later.
+
+print "## -*- Makefile -*-\n";
+print "## Generated by $me. DO NOT EDIT BY HAND!\n\n";
+
+print <<EOF;
+
+## --------------------------------------------- ##
+## Autogenerated tests and their dependencies. ##
+## --------------------------------------------- ##
+
+EOF
+
+# FIXME: the following is not really right, since cannot compose wrapping
+# of tests matching more than one condition. Still, there should be no
+# such test at the moment, so the limitation is (temporarily) acceptable.
+while (my ($k, $g) = each %test_generators)
+ {
+ my @wrapped_tests = grep {
+ line_match ($g->{line_matcher}, $_)
+ && !line_match ($g->{line_rejecter}, $_)
+ } @all_tests;
+ foreach my $wrapped_test (@wrapped_tests)
+ {
+ (my $base = $wrapped_test) =~ s/\.([^.]*)$//;
+ my $suf = $1 or die "$me: test '$wrapped_test' lacks a suffix\n";
+ my $wrapper_test = "$base-w.$suf";
+ # Register wrapper test as "autogenerated".
+ push @generated_tests, $wrapper_test;
+ # Create wrapper test.
+ atomic_write $wrapper_test,
+ sub { write_wrapper_script $_[0], $wrapped_test,
+ $g->{shell_setup_code} },
+ 0555;
+ # The generated test works by sourcing the original test, so that
+ # it has to be re-run every time that changes ...
+ print "$base-w.log: $wrapped_test\n";
+ # ... but also every time the prerequisites of the wrapped test
+ # changes. The simpler (although suboptimal) way to do so is to
+ # ensure that the wrapped tests runs before the wrappee one (in
+ # case it needs to be re-run *at all*.
+ # FIXME: we could maybe refactor the script to find a more
+ # granular way to express such implicit dependencies.
+ print "$base-w.log: $base.log\n";
+ }
+ }
+
+print <<EOF;
+
+## ---------------------------------------------------- ##
+## Ad-hoc autogenerated tests and their dependencies. ##
+## ---------------------------------------------------- ##
+
+EOF
+
+print "## Tests on automatic dependency tracking (see 'depcomp.sh').\n";
+
+# Key: depmode, value: list of required programs.
+my %depmodes =
+ (
+ auto => ["cc"],
+ disabled => ["cc"],
+ makedepend => ["cc", "makedepend"],
+ dashmstdout => ["gcc"],
+ cpp => ["gcc"],
+# This is for older (pre-3.x) GCC versions. Newer versions
+# have depmode "gcc3".
+ gcc => ["gcc"],
+# This is for older (pre-7) msvc versions. Newer versions
+# have depmodes "msvc7" and "msvc7msys".
+ msvisualcpp => ["cl", "cygpath"],
+ msvcmsys => ["cl", "mingw"],
+ );
+
+foreach my $lt (TRUE, FALSE)
+ {
+ foreach my $m (keys %depmodes)
+ {
+ my $planned = ($lt && $m eq "auto") ? 84 : 28;
+ my @required =
+ (
+ @{$depmodes{$m}},
+ $lt ? ("libtoolize",) : (),
+ );
+ my @vars_init =
+ (
+ "am_create_testdir=empty",
+ "depmode=$m",
+ "depcomp_with_libtool=" . ($lt ? "yes" : "no"),
+ );
+ my $test = "t/depcomp" . ($lt ? "-lt-" : "-") . $m . ".tap";
+ # Register wrapper test as "autogenerated" ...
+ push @generated_tests, $test;
+ # ... and create it.
+ atomic_write ($test, sub
+ {
+ my $file_handle = shift;
+ print $file_handle unindent <<EOF;
+ #! /bin/sh
+ # Automatically generated test. DO NOT EDIT BY HAND!
+ @vars_init
+ required="@required"
+ . ./defs || Exit 1
+ plan_ $planned
+ . "\$am_testauxdir/depcomp.sh"; exit "\$?"
+EOF
+ },
+ 0555);
+ }
+ }
+
+# Update generated makefile fragment to account for all the generated tests.
+print "generated_TESTS =\n";
+map { print "generated_TESTS += $_\n" } @generated_tests;
+
+# The test scripts are scanned for automatic dependency generation *after*
+# the generated tests have been created, so they too can be scanned. To
+# do so correctly, we need to update the list in '@all_tests' to make it
+# comprise also the freshly-generated tests.
+
+push @all_tests, @generated_tests;
+
+print <<EOF;
+
+## ----------------------------- ##
+## Autogenerated dependencies. ##
+## ----------------------------- ##
+
+EOF
+
+while (my ($k, $x) = each %deps_extractor)
+ {
+ my $dist_prereqs = $x->{dist_prereqs} || "";
+ my $nodist_prereqs = $x->{nodist_prereqs} || "";
+ my @tests = grep { line_match $x->{line_matcher}, $_ } @all_tests;
+ map { s/\.[^.]*$//; s/$/\.log/; } (my @logs = @tests);
+ print "## Added by deps-extracting key '$k'.\n";
+ ## The list of all tests which have a dependency detected by the
+ ## current key.
+ print join(" \\\n ", "${k}_TESTS =", @tests) . "\n";
+ print "EXTRA_DIST += $dist_prereqs\n";
+ map { print "$_: $dist_prereqs $nodist_prereqs\n" } @logs;
+ print "\n";
+ }
+
+__END__
diff --git a/lib/Makefile.am b/lib/Makefile.am
deleted file mode 100644
index b7f23cd..0000000
--- a/lib/Makefile.am
+++ /dev/null
@@ -1,162 +0,0 @@
-## Process this file with automake to create Makefile.in
-
-## Makefile for Automake lib.
-
-# Copyright (C) 2001-2012 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/>.
-
-EXTRA_DIST = gnupload gitlog-to-changelog update-copyright
-
-## -------------------------------------------------------------------- ##
-## Auxiliary scripts and files for use with "automake --add-missing". ##
-## -------------------------------------------------------------------- ##
-
-dist_pkgvdata_DATA = \
- COPYING \
- INSTALL \
- texinfo.tex
-
-## 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.
-dist_script_DATA = \
- config.guess \
- config.sub \
- install-sh \
- mdate-sh \
- missing \
- mkinstalldirs \
- elisp-comp \
- ylwrap \
- depcomp \
- compile \
- py-compile \
- ar-lib \
- test-driver \
- tap-driver.sh \
- tap-driver.pl
-
-install-data-hook:
- @$(POST_INSTALL)
- @for prog in $(dist_script_DATA); do \
- echo " chmod +x '$(DESTDIR)$(scriptdir)/$$prog'"; \
- chmod +x "$(DESTDIR)$(scriptdir)/$$prog"; \
- done
-
-installcheck-local:
- @for file in $(dist_script_DATA); do \
- path="$(pkgvdatadir)/$$file"; \
- test -x "$$path" || echo $$path; \
- done \
- | sed 's/$$/: not executable/' \
- | grep . && exit 1; exit 0
-
-## ---------------------------------------------------- ##
-## Private perl modules used by automake and aclocal. ##
-## ---------------------------------------------------- ##
-
-perllibdir = $(pkgvdatadir)/Automake
-dist_perllib_DATA = \
- Automake/ChannelDefs.pm \
- Automake/Channels.pm \
- Automake/Condition.pm \
- Automake/Configure_ac.pm \
- Automake/DisjConditions.pm \
- Automake/FileUtils.pm \
- Automake/General.pm \
- Automake/Getopt.pm \
- Automake/Item.pm \
- Automake/ItemDef.pm \
- Automake/Location.pm \
- Automake/Options.pm \
- Automake/Rule.pm \
- Automake/RuleDef.pm \
- Automake/Variable.pm \
- Automake/VarDef.pm \
- Automake/Version.pm \
- Automake/XFile.pm \
- Automake/Wrap.pm
-
-nodist_perllib_DATA = Automake/Config.pm
-CLEANFILES = $(nodist_perllib_DATA)
-
-## We can't use configure to do the substitution here; we must do it
-## by hand. We use a funny notation here to avoid configure
-## substitutions in our text.
-do_subst = in=`echo $@ | sed 's/\.[^.]*$$//'`; sed \
- -e 's,address@hidden@],$(APIVERSION),g' \
- -e 's,address@hidden@],$(PACKAGE),g' \
- -e 's,address@hidden@],$(PACKAGE_BUGREPORT),g' \
- -e 's,address@hidden@],$(PERL),g' \
- -e 's,address@hidden@],$(PERL_THREADS),g' \
- -e 's,address@hidden@],$(SHELL),g' \
- -e 's,address@hidden@],$(VERSION),g' \
- -e "s,address@hidden@],Generated from $$in.in; do not edit by hand.,g" \
- -e 's,address@hidden@],$(datadir),g'
-
-## This file depends on Makefile so it is rebuilt if $(VERSION),
-## $(datadir) or other do_subst'ituted variables change.
-## Use chmod a-w to prevent people from editing the wrong file by accident.
-Automake/Config.pm: Automake/Config.in Makefile
- $(AM_V_at)rm -f $@ address@hidden
- $(AM_V_at)test -d Automake || mkdir Automake
- $(AM_V_GEN)$(do_subst) $(srcdir)/Automake/Config.in >address@hidden
- $(AM_V_at)chmod a-w address@hidden && mv -f address@hidden $@
-EXTRA_DIST += Automake/Config.in
-
-## --------------------- ##
-## Makefile fragments. ##
-## --------------------- ##
-
-dist_am_DATA = \
- am/check.am \
- am/check2.am \
- am/clean-hdr.am \
- am/clean.am \
- am/compile.am \
- am/configure.am \
- am/data.am \
- am/dejagnu.am \
- am/depend.am \
- am/depend2.am \
- am/distdir.am \
- am/footer.am \
- am/header-vars.am \
- am/header.am \
- am/install.am \
- am/inst-vars.am \
- am/java.am \
- am/lang-compile.am \
- am/lex.am \
- am/library.am \
- am/libs.am \
- am/libtool.am \
- am/lisp.am \
- am/ltlib.am \
- am/ltlibrary.am \
- am/mans-vars.am \
- am/mans.am \
- am/program.am \
- am/progs.am \
- am/python.am \
- am/remake-hdr.am \
- am/scripts.am \
- am/subdirs.am \
- am/tags.am \
- am/texi-vers.am \
- am/texibuild.am \
- am/texinfos.am \
- am/vala.am \
- am/yacc.am
diff --git a/m4/Makefile.am b/m4/Makefile.am
deleted file mode 100644
index 9db5870..0000000
--- a/m4/Makefile.am
+++ /dev/null
@@ -1,73 +0,0 @@
-## Process this file with automake to create Makefile.in
-
-## Makefile for Automake m4.
-
-# Copyright (C) 1996-2012 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/>.
-
-dist_automake_ac_DATA = \
-$(top_srcdir)/m4/amversion.m4 \
-ar-lib.m4 \
-as.m4 \
-auxdir.m4 \
-ccstdc.m4 \
-cond.m4 \
-cond-if.m4 \
-depend.m4 \
-dmalloc.m4 \
-gcj.m4 \
-header.m4 \
-init.m4 \
-install-sh.m4 \
-lead-dot.m4 \
-lex.m4 \
-lispdir.m4 \
-maintainer.m4 \
-minuso.m4 \
-missing.m4 \
-mkdirp.m4 \
-obsol-gt.m4 \
-obsol-lt.m4 \
-obsolete.m4 \
-options.m4 \
-protos.m4 \
-python.m4 \
-runlog.m4 \
-sanity.m4 \
-silent.m4 \
-strip.m4 \
-substnot.m4 \
-tar.m4 \
-upc.m4 \
-vala.m4
-
-dist_system_ac_DATA = acdir/README
-
-EXTRA_DIST = amversion.in
-
-# We build amversion.m4 here, instead of from config.status,
-# because config.status is rerun each time one of configure's
-# dependencies change and amversion.m4 happens to be a configure
-# dependency. configure and amversion.m4 would be rebuilt in
-# loop otherwise.
-# Use '$(top_srcdir)/m4' for the benefit of non-GNU makes: this is
-# how amversion.m4 appears in our dependencies.
-$(top_srcdir)/m4/amversion.m4: $(top_srcdir)/configure.ac
$(srcdir)/amversion.in
- $(AM_V_at)sed \
- -e 's,address@hidden@],$(VERSION),g' \
- -e 's,address@hidden@],$(APIVERSION),g' \
- -e "s,address@hidden@],Generated from amversion.in; do not edit by
hand.,g" \
- $(srcdir)/amversion.in > address@hidden
- @$(AM_V_at)chmod a-w address@hidden && mv -f address@hidden $@
diff --git a/syntax-checks.mk b/syntax-checks.mk
index e97baf9..4297225 100644
--- a/syntax-checks.mk
+++ b/syntax-checks.mk
@@ -26,11 +26,13 @@ xtests := $(shell \
dirs='$(srcdir) .'; \
fi; \
for d in $$dirs; do \
- for s in test tap sh; do \
- ls $$d/tests/*.$$s 2>/dev/null; \
+ for s in tap sh; do \
+ ls $$d/t/*.$$s $$d/t/ax/*.$$s 2>/dev/null; \
done; \
done | sort)
+xdefs = $(srcdir)/defs $(srcdir)/defs-static.in
+
ams := $(shell find $(srcdir) -name '*.am')
# Some simple checks, and then ordinary check. These are only really
@@ -94,9 +96,6 @@ maintainer-check: $(syntax_check_rules)
## Check that the list of tests given in the Makefile is equal to the
## list of all test scripts in the Automake testsuite.
-.PHONY: maintainer-check-list-of-tests
-maintainer-check-list-of-tests:
- $(MAKE) -C tests $@
maintainer-check: maintainer-check-list-of-tests
## Look for test whose names can cause spurious failures when used as
@@ -291,9 +290,8 @@ sc_AMDEP_TRUE_in_automake_in:
## Tests should never require GNU make explicitly: automake-ng assumes
## it unconditionally.
sc_tests_no_gmake_requirement:
- @if grep -iE '^ *required=.*\b(gmake|gnumake)\b' \
- $(xtests) $(srcdir)/tests/defs $(srcdir)/tests/defs-static.in \
- ; then \
+ @if grep -iE '^ *required=.*\b(g|gnu)make\b' $(xtests) $(xdefs); \
+ then \
echo 'Tests should never require GNU make explicitly.' 1>&2; \
exit 1; \
fi
@@ -302,9 +300,8 @@ sc_tests_no_gmake_requirement:
## used in the test suite is indeed GNU make: automake-ng assumes it
## unconditionally.
sc_tests_no_gmake_checking:
- @if grep -E '\b(is|using)_g(nu)?make\b' \
- $(xtests) $(srcdir)/tests/defs $(srcdir)/tests/defs-static.in \
- ; then \
+ @if grep -E '\b(is|using)_g(nu)?make\b' $(xtests) $(xdefs); \
+ then \
echo 'Tests should never explicitly check whether $$MAKE' \
'is GNU make.' 1>&2; \
exit 1; \
@@ -390,7 +387,7 @@ sc_tests_no_make_e:
exit 1; \
fi
sc_docs_no_make_e:
- @if grep '\bmake\b.* -[a-zA-Z0-9]*e' README tests/README; then \
+ @if grep '\bmake\b.* -[a-zA-Z0-9]*e' README t/README; then \
echo "Don't advocate the use of \"make -e\" in the manual or" \
" in the README files." 1>&2; \
exit 1; \
@@ -407,10 +404,7 @@ sc_tests_obsolete_variables:
"; \
seen=""; \
for v in $$vars; do \
- if grep -E "\b$$v\b" \
- $(xtests) $(srcdir)/tests/defs \
- $(srcdir)/tests/defs-static.in \
- ; then \
+ if grep -E "\b$$v\b" $(xtests) $(xdefs); then \
seen="$$seen $$v"; \
fi; \
done; \
@@ -480,7 +474,7 @@ sc_tests_here_document_format:
## Tests should never call exit directly, but use Exit.
## This is so that the exit status is transported correctly across the 0 trap.
-## Ignore comments, testsuite self tests, and one perl line in ext2.test.
+## Ignore comments, testsuite self tests, and one perl line in ext2.sh.
sc_tests_Exit_not_exit:
@found=false; for file in $(xtests); do \
case $$file in */self-check-*) continue;; esac; \
@@ -550,10 +544,10 @@ sc_tests_plain_egrep_fgrep:
## for configure input files in our testsuite. The latter has been
## deprecated for several years (at least since autoconf 2.50).
sc_tests_no_configure_in:
- @if grep -E '\bconfigure\\*\.in\b' $(xtests) $(srcdir)/tests/defs \
- | grep -Ev '/backcompat.*\.(test|tap):' \
- | grep -Ev '/autodist-configure-no-subdir\.test:' \
- | grep -Ev '/(configure|help)\.test:' \
+ @if grep -E '\bconfigure\\*\.in\b' $(xtests) $(xdefs) \
+ | grep -Ev '/backcompat.*\.(sh|tap):' \
+ | grep -Ev '/autodist-configure-no-subdir\.sh:' \
+ | grep -Ev '/(configure|help)\.sh:' \
| grep .; \
then \
echo "Use 'configure.ac', not 'configure.in', as the name" >&2; \
@@ -567,7 +561,7 @@ sc_tests_no_configure_in:
## AM_RECURSIVE_TARGETS. Suggest keeping test directories around for
## greppability of the Makefile.in files.
sc_ensure_testsuite_has_run:
- @if test ! -f tests/test-suite.log; then \
+ @if test ! -f t/test-suite.log; then \
echo 'Run "env keep_testdirs=yes make check" before' \
'running "make maintainer-check"' >&2; \
exit 1; \
@@ -577,7 +571,7 @@ sc_ensure_testsuite_has_run:
## Ensure our warning and error messages do not contain duplicate 'warning:'
prefixes.
## This test actually depends on the testsuite having been run before.
sc_tests_logs_duplicate_prefixes: sc_ensure_testsuite_has_run
- @if grep -E '(warning|error):.*(warning|error):' tests/*.log; then \
+ @if grep -E '(warning|error):.*(warning|error):' t/*.log; then \
echo 'Duplicate warning/error message prefixes seen in above tests.'
>&2; \
exit 1; \
fi
@@ -585,7 +579,7 @@ sc_tests_logs_duplicate_prefixes:
sc_ensure_testsuite_has_run
## Ensure variables are listed before rules in Makefile.in files we generate.
sc_tests_makefile_variable_order: sc_ensure_testsuite_has_run
@st=0; \
- for file in `find tests -name Makefile.in -print`; do \
+ for file in `find t -name Makefile.in -print`; do \
latevars=`sed -n \
-e :x -e 's/#.*//' \
-e '/\\\\$$/{' -e N -e 'b x' -e '}' \
diff --git a/tests/CheckListOfTests.am b/t/CheckListOfTests.am
similarity index 100%
rename from tests/CheckListOfTests.am
rename to t/CheckListOfTests.am
diff --git a/t/README b/t/README
new file mode 100644
index 0000000..f1cdc5f
--- /dev/null
+++ b/t/README
@@ -0,0 +1,284 @@
+ The Automake-NG test suite
+
+
+User interface
+==============
+
+
+Running the tests
+-----------------
+
+ To run all tests:
+
+ make -k check
+
+ By default, verbose output of a test 't/foo.sh' or 't/foo.tap' is retained
+ in the log file 't/foo.log'. Also, a summary log is created in the file
+ 'test-suite.log' (in the top-level directory).
+
+ You can use '-jN' for faster completion (it even helps on a uniprocessor
+ system, due to unavoidable sleep delays, as noted below):
+
+ make -k -j4
+
+ To rerun only failed tests:
+
+ make -k recheck
+
+ To run only tests that are newer than their last results:
+
+ make -k check RECHECK_LOGS=
+
+ To run only selected tests:
+
+ make -k check TESTS="t/foo.sh t/bar.tap"
+
+ To run the tests in cross-compilation mode, you should first configure
+ the Automake-NG source tree to a cross-compilation setup. For example,
+ to run with a Linux-to-MinGW cross compiler, you will need something
+ like this:
+
+ ./configure --host i586-mingw32msvc --build i686-pc-linux-gnu
+
+ To avoid possible spurious error, you really have to *explicitly* specify
+ '--build' in addition to '--host'; the 'lib/config.guess' script can help
+ determine the correct value to pass to '--build'.
+ Then you can just run the testsuite in the usual way, and the test cases
+ using a compiler should automatically use a cross-compilation setup.
+
+
+Interpretation
+--------------
+
+ Successes:
+ PASS - success
+ XFAIL - expected failure
+
+ Failures:
+ FAIL - failure
+ XPASS - unexpected success
+
+ Other:
+ SKIP - skipped tests (third party tools not available)
+ ERROR - some unexpected error condition
+
+
+About the tests
+---------------
+
+ There are two kinds of tests in the Automake-NG testsuite (both
+ implemented as shell scripts). The scripts with the '.sh' suffix
+ are "simple" tests, their outcome completely determined by their
+ exit status. Those with the '.tap' suffix use the TAP protocol.
+ If you want to run a test by hand, you can do so directly if it is
+ a simple test:
+
+ ./t/nogzip.sh
+
+ (it will be verbose by default), while if it is a TAP test you can pass
+ it to your preferred TAP runner, as in e.g.:
+
+ prove --verbose --merge ./t/add-missing.tap
+
+ The tests can also be run directly in a VPATH build, as with:
+
+ /path/to/srcdir/t/nogzip.sh
+ prove --verbose --merge /path/to/srcdir/t/add-missing.tap
+
+
+Supported shells
+----------------
+
+ By default, the tests are run by the $SHELL detected at configure
+ time. They also take care to re-execute themselves with that shell,
+ unless told not to. So, to run the tests with a different shell, say
+ '/path/to/another/sh', the user must use:
+
+ AM_TESTS_REEXEC=no /path/to/another/sh ./t/foo.sh
+ AM_TESTS_REEXEC=no prove -v -e /path/to/another/sh ./t/bar.tap
+
+ to run a test directly, and:
+
+ make check LOG_COMPILER=/path/to/sh
+
+ to run the test(s) through the makefile test driver.
+
+ The test scripts are written with portability in mind, so that they
+ should run with any decent Bourne-compatible shell.
+
+ However, some care must be used with Zsh, since, when not directly
+ started in Bourne-compatibility mode, it has some incompatibilities
+ in the handling of $0 which conflict with our usage. Our testsuite
+ can automatically work around these incompatibilities when a version
+ 4.3 or later of Zsh is used, but unfortunately not when an older
+ version of Zsh is used. Thus, if you want to run a test script, say
+ 'foo.sh', with Zsh 4.2, you *can't* simply do "zsh foo.sh", but
+ you *must* resort to:
+
+ AM_TESTS_REEXEC=no zsh -o no_function_argzero foo.sh
+
+ Note that this problem does not occur if Zsh is executed through
+ a symlink with a basename of 'sh', since in that case Zsh starts
+ in Bourne compatibility mode. So you should be perfectly safe
+ when /bin/sh is Zsh, even a it's version < 4.3.
+
+
+Reporting failures
+------------------
+
+ Send verbose output, i.e., the contents of test-suite.log, of failing
+ tests to <address@hidden>, along with the usual version numbers
+ (which Automake-NG, which Autoconf, which operating system, which make
+ version, which shell, etc.)
+
+
+
+Writing test cases
+==================
+
+
+Do
+--
+
+ If you plan to fix a bug, write the test case first. This way you'll
+ make sure the test catches the bug, and that it succeeds once you have
+ fixed the bug.
+
+ Add a copyright/license paragraph.
+
+ Explain what the test does.
+
+ Cite the PR number (if any), and the original reporter (if any), so
+ we can find or ask for information if needed.
+
+ If a test checks examples or idioms given in the documentation, make
+ sure the documentation reference them appropriately in comments, as in:
+ @c Keep in sync with autodist-config-headers.sh
+ @example
+ ...
+ @end example
+
+ Use "required=..." for required tools. Do not explicitly require
+ tools which can be taken for granted because they're listed in the
+ GNU Coding Standards (for example, 'gzip').
+
+ Include ./defs in every test script (see existing tests for examples
+ of how to do this).
+
+ Use the 'skip_' function to skip tests, with a meaningful message if
+ possible. Where convenient, use the 'warn_' function to print generic
+ warnings, the 'fail_' function for test failures, and the 'fatal_'
+ function for hard errors. In case a hard error is due to a failed
+ set-up of a test scenario, you can use the 'framework_fail_' function
+ instead.
+
+ For tests that use the 'parallel-tests' Automake-NG option, set the
+ shell variable 'am_parallel_tests' to "yes" before including ./defs.
+ For tests that are *not* meant to work with the 'parallel-tests'
+ Automake-NG option (these should be very very few), set the shell
+ variable 'am_parallel_tests' to "no" before including ./defs.
+
+ Some tests in the Automake-NG testsuite are auto-generated; those tests
+ might have custom extensions, but their basename (that is, with such
+ extension stripped) is expected to end with "-w" string, optionally
+ followed by decimal digits. For example, the name of a valid
+ auto-generated test can be 'color-w.sh' or 'tap-signal-w09.tap'.
+ Please don't name hand-written tests in a way that could cause them
+ to be confused with auto-generated tests; for example, 'u-v-w.sh'
+ or 'option-w0.tap' are *not* valid name for hand-written tests.
+
+ ./defs brings in some commonly required files, and sets a skeleton
+ configure.ac. If possible, append to this file. In some cases
+ you'll have to overwrite it, but this should be the exception. Note
+ that configure.ac registers Makefile.in but do not output anything by
+ default. If you need ./configure to create Makefile, append AC_OUTPUT
+ to configure.ac. In case you don't want ./defs to pre-populate your
+ test directory (which is a rare occurrence), set the 'am_create_testdir'
+ shell variable to "empty" before sourcing ./defs.
+
+ By default, the testcases are run with the errexit shell flag on,
+ to make it easier to catch failures you might not have thought of.
+ If this is undesirable in some testcase, you can use "set +e" to
+ disable the errexit flag (but please do so only if you have a very
+ good reason).
+
+ End the test script with a ":" or "Exit 0". Otherwise, when somebody
+ changes the test by adding a failing command after the last command,
+ the test will spuriously fail because $? is nonzero at the end. Note
+ that this is relevant even if the errexit shell flag is on, in case
+ the test contains commands like "grep ... Makefile.in && Exit 1" (and
+ there are indeed a lot of such tests).
+
+ Use $ACLOCAL, $AUTOMAKE, $AUTOCONF, $AUTOUPDATE, $AUTOHEADER,
+ $PERL, $MAKE, $EGREP, and $FGREP, instead of the corresponding
+ commands.
+
+ Use $sleep when you have to make sure that some file is newer
+ than another.
+
+ Use cat or grep or similar commands to display (part of) files that
+ may be interesting for debugging, so that when a user send a verbose
+ output we don't have to ask him for more details. Display stderr
+ output on the stderr file descriptor. If some redirected command is
+ likely to fail, display its output even in the failure case, before
+ exiting.
+
+ Use 'Exit' rather than 'exit' to abort for leave early from a test
+ case.
+
+ Use '$PATH_SEPARATOR', not hard-coded ':', as the separator of
+ PATH's entries.
+
+ It's more important to make sure that a feature works, than make sure
+ that the output of Automake-NG looks correct. It might look correct
+ and still fail to work. In other words, prefer running 'make' over
+ grepping Makefile.in (or do both).
+
+ If you run $ACLOCAL, $AUTOMAKE or $AUTOCONF several times in the
+ same test and change configure.ac by the meantime, do
+ rm -rf autom4te*.cache
+ before the following runs. On fast machines the new configure.ac
+ could otherwise have the same timestamp as the old autom4te.cache.
+
+ Use filenames with two consecutive spaces when testing that some
+ 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-ng (as with "make installcheck"). For
+ example, if you need to copy or grep an Automake-ng 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 the 'defs-static.in'
+ file.
+
+ When writing input for lex, include the following in the definitions
+ section:
+ %{
+ #define YY_NO_UNISTD_H 1
+ %}
+ to accommodate non-ANSI systems, since GNU flex generates code that
+ includes unistd.h otherwise. Also add:
+ int isatty (int fd) { return 0; }
+ to the definitions section if the generated code is to be compiled
+ by a C++ compiler, for similar reasons (i.e., the isatty(3) function
+ from that same unistd.h header would be required otherwise).
+
+ 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>.
+
+
+Do not
+------
+
+ Do not test an Automake-NG error with "$AUTOMAKE && Exit 1", or in
+ three years we'll discover that this test failed for some other bogus
+ reason. This happened many times. Better use something like
+
+ AUTOMAKE_fails
+ grep 'expected diagnostic' stderr
+
+ (Note this doesn't prevent the test from failing for another
+ reason, but at least it makes sure the original error is still
+ here.)
diff --git a/tests/ac-output-old.tap b/t/ac-output-old.tap
similarity index 100%
rename from tests/ac-output-old.tap
rename to t/ac-output-old.tap
diff --git a/tests/acloca10.test b/t/acloca10.sh
similarity index 100%
rename from tests/acloca10.test
rename to t/acloca10.sh
diff --git a/tests/acloca11.test b/t/acloca11.sh
similarity index 100%
rename from tests/acloca11.test
rename to t/acloca11.sh
diff --git a/tests/acloca12.test b/t/acloca12.sh
similarity index 100%
rename from tests/acloca12.test
rename to t/acloca12.sh
diff --git a/tests/acloca13.test b/t/acloca13.sh
similarity index 100%
rename from tests/acloca13.test
rename to t/acloca13.sh
diff --git a/tests/acloca14.test b/t/acloca14.sh
similarity index 100%
rename from tests/acloca14.test
rename to t/acloca14.sh
diff --git a/tests/acloca15.test b/t/acloca15.sh
similarity index 100%
rename from tests/acloca15.test
rename to t/acloca15.sh
diff --git a/tests/acloca16.test b/t/acloca16.sh
similarity index 100%
rename from tests/acloca16.test
rename to t/acloca16.sh
diff --git a/tests/acloca17.test b/t/acloca17.sh
similarity index 100%
rename from tests/acloca17.test
rename to t/acloca17.sh
diff --git a/tests/acloca18.test b/t/acloca18.sh
similarity index 100%
rename from tests/acloca18.test
rename to t/acloca18.sh
diff --git a/tests/acloca19.test b/t/acloca19.sh
similarity index 100%
rename from tests/acloca19.test
rename to t/acloca19.sh
diff --git a/tests/acloca20.test b/t/acloca20.sh
similarity index 100%
rename from tests/acloca20.test
rename to t/acloca20.sh
diff --git a/tests/acloca21.test b/t/acloca21.sh
similarity index 100%
rename from tests/acloca21.test
rename to t/acloca21.sh
diff --git a/tests/acloca22.test b/t/acloca22.sh
similarity index 100%
rename from tests/acloca22.test
rename to t/acloca22.sh
diff --git a/tests/acloca23.test b/t/acloca23.sh
similarity index 100%
rename from tests/acloca23.test
rename to t/acloca23.sh
diff --git a/tests/aclocal-acdir.test b/t/aclocal-acdir.sh
similarity index 100%
rename from tests/aclocal-acdir.test
rename to t/aclocal-acdir.sh
diff --git a/tests/aclocal-install-absdir.test b/t/aclocal-install-absdir.sh
similarity index 100%
rename from tests/aclocal-install-absdir.test
rename to t/aclocal-install-absdir.sh
diff --git a/tests/aclocal-install-fail.test b/t/aclocal-install-fail.sh
similarity index 100%
rename from tests/aclocal-install-fail.test
rename to t/aclocal-install-fail.sh
diff --git a/tests/aclocal-install-mkdir.test b/t/aclocal-install-mkdir.sh
similarity index 100%
rename from tests/aclocal-install-mkdir.test
rename to t/aclocal-install-mkdir.sh
diff --git a/tests/aclocal-no-install-no-mkdir.test
b/t/aclocal-no-install-no-mkdir.sh
similarity index 100%
rename from tests/aclocal-no-install-no-mkdir.test
rename to t/aclocal-no-install-no-mkdir.sh
diff --git a/tests/aclocal-path-install-serial.test
b/t/aclocal-path-install-serial.sh
similarity index 100%
rename from tests/aclocal-path-install-serial.test
rename to t/aclocal-path-install-serial.sh
diff --git a/tests/aclocal-path-install.test b/t/aclocal-path-install.sh
similarity index 100%
rename from tests/aclocal-path-install.test
rename to t/aclocal-path-install.sh
diff --git a/tests/aclocal-path-nonexistent.test b/t/aclocal-path-nonexistent.sh
similarity index 100%
rename from tests/aclocal-path-nonexistent.test
rename to t/aclocal-path-nonexistent.sh
diff --git a/tests/aclocal-path-precedence.test b/t/aclocal-path-precedence.sh
similarity index 100%
rename from tests/aclocal-path-precedence.test
rename to t/aclocal-path-precedence.sh
diff --git a/tests/aclocal-path.test b/t/aclocal-path.sh
similarity index 100%
rename from tests/aclocal-path.test
rename to t/aclocal-path.sh
diff --git a/tests/aclocal-print-acdir.test b/t/aclocal-print-acdir.sh
similarity index 100%
rename from tests/aclocal-print-acdir.test
rename to t/aclocal-print-acdir.sh
diff --git a/tests/aclocal-verbose-install.test b/t/aclocal-verbose-install.sh
similarity index 100%
rename from tests/aclocal-verbose-install.test
rename to t/aclocal-verbose-install.sh
diff --git a/tests/aclocal.test b/t/aclocal.sh
similarity index 100%
rename from tests/aclocal.test
rename to t/aclocal.sh
diff --git a/tests/aclocal3.test b/t/aclocal3.sh
similarity index 100%
rename from tests/aclocal3.test
rename to t/aclocal3.sh
diff --git a/tests/aclocal4.test b/t/aclocal4.sh
similarity index 100%
rename from tests/aclocal4.test
rename to t/aclocal4.sh
diff --git a/tests/aclocal5.test b/t/aclocal5.sh
similarity index 100%
rename from tests/aclocal5.test
rename to t/aclocal5.sh
diff --git a/tests/aclocal6.test b/t/aclocal6.sh
similarity index 100%
rename from tests/aclocal6.test
rename to t/aclocal6.sh
diff --git a/tests/aclocal7.test b/t/aclocal7.sh
similarity index 100%
rename from tests/aclocal7.test
rename to t/aclocal7.sh
diff --git a/tests/aclocal8.test b/t/aclocal8.sh
similarity index 100%
rename from tests/aclocal8.test
rename to t/aclocal8.sh
diff --git a/tests/aclocal9.test b/t/aclocal9.sh
similarity index 100%
rename from tests/aclocal9.test
rename to t/aclocal9.sh
diff --git a/tests/acsilent.test b/t/acsilent.sh
similarity index 100%
rename from tests/acsilent.test
rename to t/acsilent.sh
diff --git a/tests/acsubst.test b/t/acsubst.sh
similarity index 100%
rename from tests/acsubst.test
rename to t/acsubst.sh
diff --git a/tests/acsubst2.test b/t/acsubst2.sh
similarity index 100%
rename from tests/acsubst2.test
rename to t/acsubst2.sh
diff --git a/tests/add-missing.tap b/t/add-missing.tap
similarity index 100%
rename from tests/add-missing.tap
rename to t/add-missing.tap
diff --git a/tests/all.test b/t/all.sh
similarity index 100%
rename from tests/all.test
rename to t/all.sh
diff --git a/tests/all2.test b/t/all2.sh
similarity index 100%
rename from tests/all2.test
rename to t/all2.sh
diff --git a/tests/alloca.test b/t/alloca.sh
similarity index 100%
rename from tests/alloca.test
rename to t/alloca.sh
diff --git a/tests/alloca2.test b/t/alloca2.sh
similarity index 100%
rename from tests/alloca2.test
rename to t/alloca2.sh
diff --git a/tests/alpha.test b/t/alpha.sh
similarity index 100%
rename from tests/alpha.test
rename to t/alpha.sh
diff --git a/tests/alpha2.test b/t/alpha2.sh
similarity index 100%
rename from tests/alpha2.test
rename to t/alpha2.sh
diff --git a/tests/am-tests-environment.test b/t/am-tests-environment.sh
similarity index 100%
rename from tests/am-tests-environment.test
rename to t/am-tests-environment.sh
diff --git a/tests/amassign.test b/t/amassign.sh
similarity index 100%
rename from tests/amassign.test
rename to t/amassign.sh
diff --git a/tests/amhello-binpkg.test b/t/amhello-binpkg.sh
similarity index 100%
rename from tests/amhello-binpkg.test
rename to t/amhello-binpkg.sh
diff --git a/tests/amhello-cflags.test b/t/amhello-cflags.sh
similarity index 100%
rename from tests/amhello-cflags.test
rename to t/amhello-cflags.sh
diff --git a/tests/amhello-cross-compile.test b/t/amhello-cross-compile.sh
similarity index 100%
rename from tests/amhello-cross-compile.test
rename to t/amhello-cross-compile.sh
diff --git a/tests/ammissing.test b/t/ammissing.sh
similarity index 100%
rename from tests/ammissing.test
rename to t/ammissing.sh
diff --git a/tests/amopt.test b/t/amopt.sh
similarity index 100%
rename from tests/amopt.test
rename to t/amopt.sh
diff --git a/tests/amopts-location.test b/t/amopts-location.sh
similarity index 100%
rename from tests/amopts-location.test
rename to t/amopts-location.sh
diff --git a/tests/amopts-variable-expansion.test
b/t/amopts-variable-expansion.sh
similarity index 100%
rename from tests/amopts-variable-expansion.test
rename to t/amopts-variable-expansion.sh
diff --git a/tests/amsubst.test b/t/amsubst.sh
similarity index 100%
rename from tests/amsubst.test
rename to t/amsubst.sh
diff --git a/tests/ansi2knr-no-more.test b/t/ansi2knr-no-more.sh
similarity index 100%
rename from tests/ansi2knr-no-more.test
rename to t/ansi2knr-no-more.sh
diff --git a/tests/ar-lib.test b/t/ar-lib.sh
similarity index 100%
rename from tests/ar-lib.test
rename to t/ar-lib.sh
diff --git a/tests/ar-lib2.test b/t/ar-lib2.sh
similarity index 100%
rename from tests/ar-lib2.test
rename to t/ar-lib2.sh
diff --git a/tests/ar-lib3.test b/t/ar-lib3.sh
similarity index 100%
rename from tests/ar-lib3.test
rename to t/ar-lib3.sh
diff --git a/tests/ar-lib4.test b/t/ar-lib4.sh
similarity index 100%
rename from tests/ar-lib4.test
rename to t/ar-lib4.sh
diff --git a/tests/ar-lib5a.test b/t/ar-lib5a.sh
similarity index 100%
rename from tests/ar-lib5a.test
rename to t/ar-lib5a.sh
diff --git a/tests/ar-lib5b.test b/t/ar-lib5b.sh
similarity index 100%
rename from tests/ar-lib5b.test
rename to t/ar-lib5b.sh
diff --git a/tests/ar-lib6a.test b/t/ar-lib6a.sh
similarity index 100%
rename from tests/ar-lib6a.test
rename to t/ar-lib6a.sh
diff --git a/tests/ar-lib6b.test b/t/ar-lib6b.sh
similarity index 100%
rename from tests/ar-lib6b.test
rename to t/ar-lib6b.sh
diff --git a/tests/ar-lib7.test b/t/ar-lib7.sh
similarity index 100%
rename from tests/ar-lib7.test
rename to t/ar-lib7.sh
diff --git a/tests/ar.test b/t/ar.sh
similarity index 100%
rename from tests/ar.test
rename to t/ar.sh
diff --git a/tests/ar2.test b/t/ar2.sh
similarity index 100%
rename from tests/ar2.test
rename to t/ar2.sh
diff --git a/tests/ar3.test b/t/ar3.sh
similarity index 100%
rename from tests/ar3.test
rename to t/ar3.sh
diff --git a/tests/ar4.test b/t/ar4.sh
similarity index 100%
rename from tests/ar4.test
rename to t/ar4.sh
diff --git a/tests/ar5.test b/t/ar5.sh
similarity index 100%
rename from tests/ar5.test
rename to t/ar5.sh
diff --git a/tests/asm.test b/t/asm.sh
similarity index 100%
rename from tests/asm.test
rename to t/asm.sh
diff --git a/tests/asm2.test b/t/asm2.sh
similarity index 100%
rename from tests/asm2.test
rename to t/asm2.sh
diff --git a/tests/asm3.test b/t/asm3.sh
similarity index 100%
rename from tests/asm3.test
rename to t/asm3.sh
diff --git a/tests/autodist-acconfig-no-subdir.test
b/t/autodist-acconfig-no-subdir.sh
similarity index 100%
rename from tests/autodist-acconfig-no-subdir.test
rename to t/autodist-acconfig-no-subdir.sh
diff --git a/tests/autodist-acconfig.test b/t/autodist-acconfig.sh
similarity index 100%
rename from tests/autodist-acconfig.test
rename to t/autodist-acconfig.sh
diff --git a/tests/autodist-aclocal-m4.test b/t/autodist-aclocal-m4.sh
similarity index 100%
rename from tests/autodist-aclocal-m4.test
rename to t/autodist-aclocal-m4.sh
diff --git a/tests/autodist-config-headers.test b/t/autodist-config-headers.sh
similarity index 100%
rename from tests/autodist-config-headers.test
rename to t/autodist-config-headers.sh
diff --git a/tests/autodist-configure-no-subdir.test
b/t/autodist-configure-no-subdir.sh
similarity index 100%
rename from tests/autodist-configure-no-subdir.test
rename to t/autodist-configure-no-subdir.sh
diff --git a/tests/autodist-no-duplicate.test b/t/autodist-no-duplicate.sh
similarity index 100%
rename from tests/autodist-no-duplicate.test
rename to t/autodist-no-duplicate.sh
diff --git a/tests/autodist-stamp-vti.test b/t/autodist-stamp-vti.sh
similarity index 100%
rename from tests/autodist-stamp-vti.test
rename to t/autodist-stamp-vti.sh
diff --git a/tests/autodist-subdir.test b/t/autodist-subdir.sh
similarity index 100%
rename from tests/autodist-subdir.test
rename to t/autodist-subdir.sh
diff --git a/tests/autodist.test b/t/autodist.sh
similarity index 100%
rename from tests/autodist.test
rename to t/autodist.sh
diff --git a/tests/autohdr.test b/t/autohdr.sh
similarity index 100%
rename from tests/autohdr.test
rename to t/autohdr.sh
diff --git a/tests/autohdr2.test b/t/autohdr2.sh
similarity index 100%
rename from tests/autohdr2.test
rename to t/autohdr2.sh
diff --git a/tests/autohdr3.test b/t/autohdr3.sh
similarity index 100%
rename from tests/autohdr3.test
rename to t/autohdr3.sh
diff --git a/tests/autohdr4.test b/t/autohdr4.sh
similarity index 100%
rename from tests/autohdr4.test
rename to t/autohdr4.sh
diff --git a/tests/autohdrdry.test b/t/autohdrdry.sh
similarity index 100%
rename from tests/autohdrdry.test
rename to t/autohdrdry.sh
diff --git a/tests/automake-cmdline.tap b/t/automake-cmdline.tap
similarity index 100%
rename from tests/automake-cmdline.tap
rename to t/automake-cmdline.tap
diff --git a/tests/auxdir-autodetect.test b/t/auxdir-autodetect.sh
similarity index 100%
rename from tests/auxdir-autodetect.test
rename to t/auxdir-autodetect.sh
diff --git a/tests/auxdir-computed.tap b/t/auxdir-computed.tap
similarity index 100%
rename from tests/auxdir-computed.tap
rename to t/auxdir-computed.tap
diff --git a/tests/auxdir-misplaced.test b/t/auxdir-misplaced.sh
similarity index 100%
rename from tests/auxdir-misplaced.test
rename to t/auxdir-misplaced.sh
diff --git a/tests/auxdir-nonexistent.test b/t/auxdir-nonexistent.sh
similarity index 100%
rename from tests/auxdir-nonexistent.test
rename to t/auxdir-nonexistent.sh
diff --git a/tests/auxdir-unportable.tap b/t/auxdir-unportable.tap
similarity index 100%
rename from tests/auxdir-unportable.tap
rename to t/auxdir-unportable.tap
diff --git a/tests/auxdir.test b/t/auxdir.sh
similarity index 100%
rename from tests/auxdir.test
rename to t/auxdir.sh
diff --git a/tests/auxdir6.test b/t/auxdir6.sh
similarity index 100%
rename from tests/auxdir6.test
rename to t/auxdir6.sh
diff --git a/tests/auxdir7.test b/t/auxdir7.sh
similarity index 100%
rename from tests/auxdir7.test
rename to t/auxdir7.sh
diff --git a/tests/auxdir8.test b/t/auxdir8.sh
similarity index 100%
rename from tests/auxdir8.test
rename to t/auxdir8.sh
diff --git a/tests/depcomp-shuffle.sh b/t/ax/depcomp-shuffle.sh
old mode 100755
new mode 100644
similarity index 100%
rename from tests/depcomp-shuffle.sh
rename to t/ax/depcomp-shuffle.sh
diff --git a/tests/depcomp.sh b/t/ax/depcomp.sh
old mode 100755
new mode 100644
similarity index 100%
rename from tests/depcomp.sh
rename to t/ax/depcomp.sh
diff --git a/tests/distcheck-hook-m4.am b/t/ax/distcheck-hook-m4.am
similarity index 100%
rename from tests/distcheck-hook-m4.am
rename to t/ax/distcheck-hook-m4.am
diff --git a/tests/extract-testsuite-summary b/t/ax/extract-testsuite-summary.pl
similarity index 100%
rename from tests/extract-testsuite-summary
rename to t/ax/extract-testsuite-summary.pl
diff --git a/tests/ax/is b/t/ax/is
similarity index 100%
rename from tests/ax/is
rename to t/ax/is
diff --git a/tests/plain-functions.sh b/t/ax/plain-functions.sh
similarity index 100%
rename from tests/plain-functions.sh
rename to t/ax/plain-functions.sh
diff --git a/tests/tap-functions.sh b/t/ax/tap-functions.sh
similarity index 100%
rename from tests/tap-functions.sh
rename to t/ax/tap-functions.sh
diff --git a/t/ax/tap-setup.sh b/t/ax/tap-setup.sh
new file mode 100644
index 0000000..70487c3
--- /dev/null
+++ b/t/ax/tap-setup.sh
@@ -0,0 +1,47 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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/>.
+
+# Auxiliary shell script that copies the common data and files used by
+# many tests on TAP support into the current directory. It should be
+# sourced by client test scripts, and assumes the auxiliary test
+# 'tap-common-setup.test' has been run beforehand (it will error out
+# if this is not the case).
+
+# Check that we are running from a proper directory: last thing we want
+# is to overwrite some random user files.
+test -f ../../defs-static && test -f ../../defs && test -d ../../t \
+ || fatal_ "running from a wrong directory"
+
+test ! -f Makefile.am || mv Makefile.am Makefile.am~ \
+ || fatal_ "failed to save Makefile.am"
+
+test -d ../tap-common-setup.dir && cp -fpR ../tap-common-setup.dir/* . \
+ || fatal_ "couldn't get precomputed data files"
+
+fetch_tap_driver
+
+if test -f Makefile.am~; then
+ mv -f Makefile.am~ Makefile.am \
+ || fatal_ "failed to restore Makefile.am"
+ echo 'TEST_LOG_DRIVER = $(PERL) $(srcdir)/tap-driver' >> Makefile.am \
+ || fatal_ "failed to update Makefile.am"
+ $AUTOMAKE Makefile \
+ || fatal_ "failed to remake Makefile.in"
+ ./config.status Makefile \
+ || fatal_ "failed to remake Makefile"
+fi
+
+:
diff --git a/t/ax/tap-summary-aux.sh b/t/ax/tap-summary-aux.sh
new file mode 100644
index 0000000..2e2ac4c
--- /dev/null
+++ b/t/ax/tap-summary-aux.sh
@@ -0,0 +1,359 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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/>.
+
+# Auxiliary script for tests on TAP support: checking testsuite summary.
+
+am_parallel_tests=yes
+. ./defs || Exit 1
+
+br='============================================================================'
+
+case $use_colors in
+ yes|no) ;;
+ *) fatal_ "invalid \$use_colors value '$use_colors'"
+esac
+
+fetch_tap_driver
+
+cat > configure.ac <<END
+AC_INIT([GNU AutoTAP], [5.12], address@hidden)
+AM_INIT_AUTOMAKE([parallel-tests])
+AC_CONFIG_FILES([Makefile])
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+TEST_LOG_DRIVER = $(srcdir)/tap-driver
+TEST_LOG_COMPILER = cat
+TESTS = all.test
+END
+
+# The following shell variables are influential for this function:
+# - expect_failure
+# - use_colors
+do_check ()
+{
+ case $#,$1 in
+ 1,--pass) expect_failure=no;;
+ 1,--fail) expect_failure=yes;;
+ *) fatal_ "invalid usage of 'do_check'";;
+ esac
+ shift
+ cat > summary.exp
+ cat all.test
+ st=0
+ if test $use_colors = yes; then
+ make_cmd="$MAKE AM_COLOR_TESTS=always"
+ else
+ make_cmd=$MAKE
+ fi
+ $make_cmd check > stdout || st=$?
+ cat stdout
+ if test $expect_failure = yes; then
+ test $st -gt 0 || Exit 1
+ else
+ test $st -eq 0 || Exit 1
+ fi
+ $PERL "$am_testauxdir"/extract-testsuite-summary.pl stdout >summary.got \
+ || fatal_ "cannot extract testsuite summary"
+ cat summary.exp
+ cat summary.got
+ if test $use_colors = yes; then
+ # Use cmp, not diff, because the files might contain binary data.
+ compare=cmp
+ else
+ compare=diff
+ fi
+ $compare summary.exp summary.got || Exit 1
+}
+
+if test $use_colors = yes; then
+ red='[0;31m'
+ grn='[0;32m'
+ lgn='[1;32m'
+ blu='[1;34m'
+ mgn='[0;35m'
+ brg='[1m'
+ std='[m'
+ echo AUTOMAKE_OPTIONS = color-tests >> Makefile.am
+else
+ red= grn= lgn= blu= mgn= brg= std=
+fi
+
+ success_header="\
+${grn}${br}${std}
+${grn}Testsuite summary for GNU AutoTAP 5.12${std}
+${grn}${br}${std}"
+
+ success_footer=${grn}${br}${std}
+
+ failure_header="\
+${red}${br}${std}
+${red}Testsuite summary for GNU AutoTAP 5.12${std}
+${red}${br}${std}"
+
+ failure_footer="\
+${red}${br}${std}
+${red}See ./test-suite.log${std}
+${red}Please report to address@hidden
+${red}${br}${std}"
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE --add-missing
+
+./configure
+
+# 1 pass.
+{ echo 1..1 && echo ok; } > all.test
+do_check --pass <<END
+$success_header
+${brg}# TOTAL: 1${std}
+${grn}# PASS: 1${std}
+# SKIP: 0
+# XFAIL: 0
+# FAIL: 0
+# XPASS: 0
+# ERROR: 0
+$success_footer
+END
+
+# 1 skip.
+{ echo 1..1 && echo 'ok # SKIP'; } > all.test
+do_check --pass <<END
+$success_header
+${brg}# TOTAL: 1${std}
+# PASS: 0
+${blu}# SKIP: 1${std}
+# XFAIL: 0
+# FAIL: 0
+# XPASS: 0
+# ERROR: 0
+$success_footer
+END
+
+# 1 xfail.
+{ echo 1..1 && echo 'not ok # TODO'; } > all.test
+do_check --pass <<END
+$success_header
+${brg}# TOTAL: 1${std}
+# PASS: 0
+# SKIP: 0
+${lgn}# XFAIL: 1${std}
+# FAIL: 0
+# XPASS: 0
+# ERROR: 0
+$success_footer
+END
+
+# 1 fail.
+{ echo 1..1 && echo not ok; } > all.test
+do_check --fail <<END
+$failure_header
+${brg}# TOTAL: 1${std}
+# PASS: 0
+# SKIP: 0
+# XFAIL: 0
+${red}# FAIL: 1${std}
+# XPASS: 0
+# ERROR: 0
+$failure_footer
+END
+
+# 1 xpass.
+{ echo 1..1 && echo 'ok # TODO'; } > all.test
+do_check --fail <<END
+$failure_header
+${brg}# TOTAL: 1${std}
+# PASS: 0
+# SKIP: 0
+# XFAIL: 0
+# FAIL: 0
+${red}# XPASS: 1${std}
+# ERROR: 0
+$failure_footer
+END
+
+# 1 hard error.
+{ echo 1..1 && echo 'Bail out!'; } > all.test
+do_check --fail <<END
+$failure_header
+${brg}# TOTAL: 1${std}
+# PASS: 0
+# SKIP: 0
+# XFAIL: 0
+# FAIL: 0
+# XPASS: 0
+${mgn}# ERROR: 1${std}
+$failure_footer
+END
+
+# 3 non-failing results.
+cat > all.test <<END
+1..3
+ok
+not ok # TODO
+ok # SKIP
+END
+do_check --pass <<END
+$success_header
+${brg}# TOTAL: 3${std}
+${grn}# PASS: 1${std}
+${blu}# SKIP: 1${std}
+${lgn}# XFAIL: 1${std}
+# FAIL: 0
+# XPASS: 0
+# ERROR: 0
+$success_footer
+END
+
+# 1 pass, 1 skip, 1 fail.
+cat > all.test <<END
+1..3
+ok
+ok # SKIP
+not ok
+END
+do_check --fail <<END
+$failure_header
+${brg}# TOTAL: 3${std}
+${grn}# PASS: 1${std}
+${blu}# SKIP: 1${std}
+# XFAIL: 0
+${red}# FAIL: 1${std}
+# XPASS: 0
+# ERROR: 0
+$failure_footer
+END
+
+# 1 pass, 1 xfail, 1 xpass.
+cat > all.test <<END
+1..3
+ok
+ok # TODO
+not ok # TODO
+END
+do_check --fail <<END
+$failure_header
+${brg}# TOTAL: 3${std}
+${grn}# PASS: 1${std}
+# SKIP: 0
+${lgn}# XFAIL: 1${std}
+# FAIL: 0
+${red}# XPASS: 1${std}
+# ERROR: 0
+$failure_footer
+END
+
+# 1 skip, 1 xfail, 1 error.
+cat > all.test <<END
+1..3
+ok # SKIP
+not ok # TODO
+Bail out!
+END
+do_check --fail <<END
+$failure_header
+${brg}# TOTAL: 3${std}
+# PASS: 0
+${blu}# SKIP: 1${std}
+${lgn}# XFAIL: 1${std}
+# FAIL: 0
+# XPASS: 0
+${mgn}# ERROR: 1${std}
+$failure_footer
+END
+
+# 1 of each kind
+cat > all.test <<END
+1..6
+ok
+not ok
+ok # TODO
+not ok # TODO
+ok # SKIP
+Bail out!
+END
+do_check --fail <<END
+$failure_header
+${brg}# TOTAL: 6${std}
+${grn}# PASS: 1${std}
+${blu}# SKIP: 1${std}
+${lgn}# XFAIL: 1${std}
+${red}# FAIL: 1${std}
+${red}# XPASS: 1${std}
+${mgn}# ERROR: 1${std}
+$failure_footer
+END
+
+# Prepare some common data for later.
+for i in 0 1 2 3 4 5 6 7 8 9; do
+ for j in 0 1 2 3 4 5 6 7 8 9; do
+ echo "ok"
+ echo "not ok # TODO"
+ echo "ok # SKIP"
+ done
+done > tap
+
+# Lots of non-failures (300 per kind).
+(cat tap && cat tap && cat tap) > all.test
+test `wc -l <all.test` -eq 900 || Exit 99 # Sanity check.
+echo 1..900 >> all.test # Test plan.
+do_check --pass <<END
+$success_header
+${brg}# TOTAL: 900${std}
+${grn}# PASS: 300${std}
+${blu}# SKIP: 300${std}
+${lgn}# XFAIL: 300${std}
+# FAIL: 0
+# XPASS: 0
+# ERROR: 0
+$success_footer
+END
+
+# 1 failure and lots of non-failures means failure.
+(cat tap && echo "not ok" && cat tap) > all.test
+test `wc -l <all.test` -eq 601 || Exit 99 # Sanity check.
+echo 1..601 >> all.test # Test plan.
+do_check --fail <<END
+$failure_header
+${brg}# TOTAL: 601${std}
+${grn}# PASS: 200${std}
+${blu}# SKIP: 200${std}
+${lgn}# XFAIL: 200${std}
+${red}# FAIL: 1${std}
+# XPASS: 0
+# ERROR: 0
+$failure_footer
+END
+
+# 1 error and lots of non-failures means failure.
+(cat tap && sed 30q tap && echo 'Bail out!') > all.test
+test `wc -l <all.test` -eq 331 || Exit 99 # Sanity check.
+echo 1..331 >> all.test # Test plan.
+do_check --fail <<END
+$failure_header
+${brg}# TOTAL: 331${std}
+${grn}# PASS: 110${std}
+${blu}# SKIP: 110${std}
+${lgn}# XFAIL: 110${std}
+# FAIL: 0
+# XPASS: 0
+${mgn}# ERROR: 1${std}
+$failure_footer
+END
+
+:
diff --git a/t/ax/testsuite-summary-checks.sh b/t/ax/testsuite-summary-checks.sh
new file mode 100644
index 0000000..5531729
--- /dev/null
+++ b/t/ax/testsuite-summary-checks.sh
@@ -0,0 +1,105 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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 the testsuite summary with the parallel-tests harness. This
+# script is meant to be sourced by other test script, so that it can
+# be used to check different scenarios (colorized and non-colorized
+# testsuite output, packages with and without bug-report addresses,
+# testsuites in subdirectories, ...)
+
+am_parallel_tests=yes
+. ./defs || Exit 1
+
+case $use_colors in
+ yes)
+ AM_COLOR_TESTS=always; export AM_COLOR_TESTS
+ TERM=ansi; export TERM
+ am_opts='parallel-tests color-tests'
+ ;;
+ no)
+ am_opts='parallel-tests'
+ ;;
+ *)
+ fatal_ "invalid use_colors='$use_colors'";;
+esac
+
+cat > configure.ac <<END
+AC_INIT([GNU AutoFoo], [7.1], address@hidden)
+AM_INIT_AUTOMAKE([$am_opts])
+AC_CONFIG_FILES([Makefile])
+AC_OUTPUT
+END
+
+cat > Makefile.am <<'END'
+TEST_EXTENSIONS = .t
+T_LOG_COMPILER = $(SHELL) $(srcdir)/log-compiler
+## Will be defined at runtime.
+TESTS =
+$(TESTS):
+END
+
+cat > log-compiler <<'END'
+#!/bin/sh
+case "$1" in
+ pass*|*/pass*|xpass*|*/xpass*) exit 0;;
+ fail*|*/fail*|xfail*|*/xfail*) exit 1;;
+ skip*|*/skip*) exit 77;;
+ error*|/error*) exit 99;;
+ copy*|*/copy*) cat "$1";;
+ *) exit 99;;
+esac
+END
+
+# Quite complexish, but allow the tests in client scripts to be written
+# in a "data-driven fashion".
+do_check ()
+{
+ cat > summary.exp
+ expect_failure=false
+ tests=$* xfail_tests=
+ for t in $*; do
+ case $t in fail*|xpass*|error*) expect_failure=:;; esac
+ case $t in xfail*|xpass*) xfail_tests="$xfail_tests $t";; esac
+ done
+ set "TESTS=$tests"
+ test -z "$xfail_tests" || set "$@" XFAIL_TESTS="$xfail_tests"
+ st=0; $MAKE "$@" check >stdout || st=$?
+ cat stdout
+ if $expect_failure; then
+ test $st -gt 0 || Exit 1
+ else
+ test $st -eq 0 || Exit 1
+ fi
+ $PERL "$am_testauxdir"/extract-testsuite-summary.pl stdout >summary.got \
+ || fatal_ "cannot extract testsuite summary"
+ cat summary.exp
+ cat summary.got
+ if test $use_colors = yes; then
+ # Use cmp, not diff, because the files might contain binary data.
+ compare=cmp
+ else
+ compare=diff
+ fi
+ $compare summary.exp summary.got || Exit 1
+}
+
+br='============================================================================'
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE --add-missing
+
+:
diff --git a/tests/trivial-test-driver b/t/ax/trivial-test-driver
similarity index 100%
rename from tests/trivial-test-driver
rename to t/ax/trivial-test-driver
diff --git a/tests/backcompat.test b/t/backcompat.sh
similarity index 100%
rename from tests/backcompat.test
rename to t/backcompat.sh
diff --git a/tests/backcompat2.test b/t/backcompat2.sh
similarity index 100%
rename from tests/backcompat2.test
rename to t/backcompat2.sh
diff --git a/tests/backcompat3.test b/t/backcompat3.sh
similarity index 100%
rename from tests/backcompat3.test
rename to t/backcompat3.sh
diff --git a/tests/backcompat4.test b/t/backcompat4.sh
similarity index 100%
rename from tests/backcompat4.test
rename to t/backcompat4.sh
diff --git a/tests/backcompat5.test b/t/backcompat5.sh
similarity index 100%
rename from tests/backcompat5.test
rename to t/backcompat5.sh
diff --git a/tests/backcompat6.test b/t/backcompat6.sh
similarity index 100%
rename from tests/backcompat6.test
rename to t/backcompat6.sh
diff --git a/tests/backsl.test b/t/backsl.sh
similarity index 100%
rename from tests/backsl.test
rename to t/backsl.sh
diff --git a/tests/backsl2.test b/t/backsl2.sh
similarity index 100%
rename from tests/backsl2.test
rename to t/backsl2.sh
diff --git a/tests/backsl3.test b/t/backsl3.sh
similarity index 100%
rename from tests/backsl3.test
rename to t/backsl3.sh
diff --git a/tests/backsl4.test b/t/backsl4.sh
similarity index 100%
rename from tests/backsl4.test
rename to t/backsl4.sh
diff --git a/tests/badline.test b/t/badline.sh
similarity index 100%
rename from tests/badline.test
rename to t/badline.sh
diff --git a/tests/badopt.test b/t/badopt.sh
similarity index 100%
rename from tests/badopt.test
rename to t/badopt.sh
diff --git a/tests/badprog.test b/t/badprog.sh
similarity index 100%
rename from tests/badprog.test
rename to t/badprog.sh
diff --git a/tests/block.test b/t/block.sh
similarity index 100%
rename from tests/block.test
rename to t/block.sh
diff --git a/tests/bsource.test b/t/bsource.sh
similarity index 100%
rename from tests/bsource.test
rename to t/bsource.sh
diff --git a/tests/candist.test b/t/candist.sh
similarity index 100%
rename from tests/candist.test
rename to t/candist.sh
diff --git a/tests/canon-name.test b/t/canon-name.sh
similarity index 100%
rename from tests/canon-name.test
rename to t/canon-name.sh
diff --git a/tests/canon.test b/t/canon.sh
similarity index 100%
rename from tests/canon.test
rename to t/canon.sh
diff --git a/tests/canon2.test b/t/canon2.sh
similarity index 100%
rename from tests/canon2.test
rename to t/canon2.sh
diff --git a/tests/canon3.test b/t/canon3.sh
similarity index 100%
rename from tests/canon3.test
rename to t/canon3.sh
diff --git a/tests/canon4.test b/t/canon4.sh
similarity index 100%
rename from tests/canon4.test
rename to t/canon4.sh
diff --git a/tests/canon5.test b/t/canon5.sh
similarity index 100%
rename from tests/canon5.test
rename to t/canon5.sh
diff --git a/tests/canon6.test b/t/canon6.sh
similarity index 100%
rename from tests/canon6.test
rename to t/canon6.sh
diff --git a/tests/canon7.test b/t/canon7.sh
similarity index 100%
rename from tests/canon7.test
rename to t/canon7.sh
diff --git a/tests/canon8.test b/t/canon8.sh
similarity index 100%
rename from tests/canon8.test
rename to t/canon8.sh
diff --git a/t/ccnoco.sh b/t/ccnoco.sh
new file mode 100755
index 0000000..1df950d
--- /dev/null
+++ b/t/ccnoco.sh
@@ -0,0 +1,83 @@
+#! /bin/sh
+# Copyright (C) 2001-2012 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/>.
+
+# Test to make sure we can compile when the compiler doesn't
+# understand '-c -o'.
+
+required=gcc
+. ./defs || Exit 1
+
+cat >> configure.ac << 'END'
+AC_PROG_CC
+AM_PROG_CC_C_O
+# Make sure that $CC can be used after AM_PROG_CC_C_O.
+$CC -v || exit 1
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = wish
+wish_SOURCES = a.c
+# Make sure we need something strange.
+wish_CFLAGS = -g
+END
+
+cat > a.c << 'END'
+#include <stdio.h>
+
+int main ()
+{
+ printf ("hi\n");
+}
+END
+
+cat > Mycomp << END
+#!/bin/sh
+
+case " \$* " in
+ *\ -c*\ -o* | *\ -o*\ -c*)
+ exit 1
+ ;;
+esac
+
+# Use '$CC', not 'gcc', to honour the compiler chosen by 't/defs'.
+exec $CC "\$@"
+END
+
+chmod +x Mycomp
+
+# Make sure the compiler doesn't understand '-c -o'
+CC=`pwd`/Mycomp
+export CC
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE --copy --add-missing
+
+for vpath in : false; do
+ if $vpath; then
+ srcdir=..
+ mkdir build
+ cd build
+ else
+ srcdir=.
+ fi
+ $srcdir/configure
+ $MAKE
+ cd $srcdir
+done
+
+:
diff --git a/tests/ccnoco2.test b/t/ccnoco2.sh
similarity index 100%
rename from tests/ccnoco2.test
rename to t/ccnoco2.sh
diff --git a/t/ccnoco3.sh b/t/ccnoco3.sh
new file mode 100755
index 0000000..eb291ec
--- /dev/null
+++ b/t/ccnoco3.sh
@@ -0,0 +1,77 @@
+#! /bin/sh
+# Copyright (C) 2001-2012 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/>.
+
+# Test to make sure 'compile' doesn't call 'mv SRC SRC'.
+
+required=gcc
+. ./defs || Exit 1
+
+cat >> configure.ac << 'END'
+AC_PROG_CC
+AM_PROG_CC_C_O
+$CC --version; $CC -v; # For debugging.
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+AUTOMAKE_OPTIONS = subdir-objects
+bin_PROGRAMS = wish
+wish_SOURCES = a.c
+END
+
+mkdir sub
+
+cat > a.c << 'END'
+#include <stdio.h>
+
+int main ()
+{
+ printf ("hi\n");
+}
+END
+
+cat > Mycomp << END
+#!/bin/sh
+
+case " \$* " in
+ *\ -c*\ -o* | *\ -o*\ -c*)
+ exit 1
+ ;;
+esac
+
+# Use '$CC', not 'gcc', to honour the compiler chosen by 't/defs'.
+exec $CC "\$@"
+END
+
+chmod +x Mycomp
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE --copy --add-missing
+
+mkdir build
+cd build
+
+# Make sure the compiler doesn't understand '-c -o'
+CC=`pwd`/../Mycomp
+export CC
+
+../configure
+$MAKE 2>stderr || { cat stderr >&2; Exit 1; }
+cat stderr >&2
+grep 'mv.*the same file' stderr && Exit 1
+
+:
diff --git a/tests/check-concurrency-bug9245.test
b/t/check-concurrency-bug9245.sh
similarity index 100%
rename from tests/check-concurrency-bug9245.test
rename to t/check-concurrency-bug9245.sh
diff --git a/tests/check-exported-srcdir.test b/t/check-exported-srcdir.sh
similarity index 100%
rename from tests/check-exported-srcdir.test
rename to t/check-exported-srcdir.sh
diff --git a/tests/check-fd-redirect.test b/t/check-fd-redirect.sh
similarity index 100%
rename from tests/check-fd-redirect.test
rename to t/check-fd-redirect.sh
diff --git a/tests/check-no-test-driver.test b/t/check-no-test-driver.sh
similarity index 100%
rename from tests/check-no-test-driver.test
rename to t/check-no-test-driver.sh
diff --git a/tests/check-subst-prog.test b/t/check-subst-prog.sh
similarity index 100%
rename from tests/check-subst-prog.test
rename to t/check-subst-prog.sh
diff --git a/tests/check-subst.test b/t/check-subst.sh
similarity index 100%
rename from tests/check-subst.test
rename to t/check-subst.sh
diff --git a/tests/check-tests-in-builddir.test b/t/check-tests-in-builddir.sh
similarity index 100%
rename from tests/check-tests-in-builddir.test
rename to t/check-tests-in-builddir.sh
diff --git a/tests/check.test b/t/check.sh
similarity index 100%
rename from tests/check.test
rename to t/check.sh
diff --git a/tests/check10.test b/t/check10.sh
similarity index 100%
rename from tests/check10.test
rename to t/check10.sh
diff --git a/tests/check11.test b/t/check11.sh
similarity index 100%
rename from tests/check11.test
rename to t/check11.sh
diff --git a/tests/check12.test b/t/check12.sh
similarity index 100%
rename from tests/check12.test
rename to t/check12.sh
diff --git a/tests/check2.test b/t/check2.sh
similarity index 100%
rename from tests/check2.test
rename to t/check2.sh
diff --git a/tests/check3.test b/t/check3.sh
similarity index 100%
rename from tests/check3.test
rename to t/check3.sh
diff --git a/tests/check4.test b/t/check4.sh
similarity index 100%
rename from tests/check4.test
rename to t/check4.sh
diff --git a/tests/check5.test b/t/check5.sh
similarity index 100%
rename from tests/check5.test
rename to t/check5.sh
diff --git a/tests/check6.test b/t/check6.sh
similarity index 100%
rename from tests/check6.test
rename to t/check6.sh
diff --git a/tests/check7.test b/t/check7.sh
similarity index 100%
rename from tests/check7.test
rename to t/check7.sh
diff --git a/tests/check8.test b/t/check8.sh
similarity index 100%
rename from tests/check8.test
rename to t/check8.sh
diff --git a/tests/checkall.test b/t/checkall.sh
similarity index 100%
rename from tests/checkall.test
rename to t/checkall.sh
diff --git a/tests/clean.test b/t/clean.sh
similarity index 100%
rename from tests/clean.test
rename to t/clean.sh
diff --git a/tests/clean2.test b/t/clean2.sh
similarity index 100%
rename from tests/clean2.test
rename to t/clean2.sh
diff --git a/tests/colneq2.test b/t/colneq2.sh
similarity index 100%
rename from tests/colneq2.test
rename to t/colneq2.sh
diff --git a/tests/colon.test b/t/colon.sh
similarity index 100%
rename from tests/colon.test
rename to t/colon.sh
diff --git a/tests/colon2.test b/t/colon2.sh
similarity index 100%
rename from tests/colon2.test
rename to t/colon2.sh
diff --git a/tests/colon3.test b/t/colon3.sh
similarity index 100%
rename from tests/colon3.test
rename to t/colon3.sh
diff --git a/tests/colon4.test b/t/colon4.sh
similarity index 100%
rename from tests/colon4.test
rename to t/colon4.sh
diff --git a/tests/colon5.test b/t/colon5.sh
similarity index 100%
rename from tests/colon5.test
rename to t/colon5.sh
diff --git a/tests/colon6.test b/t/colon6.sh
similarity index 100%
rename from tests/colon6.test
rename to t/colon6.sh
diff --git a/tests/colon7.test b/t/colon7.sh
similarity index 100%
rename from tests/colon7.test
rename to t/colon7.sh
diff --git a/tests/color.test b/t/color.sh
similarity index 100%
rename from tests/color.test
rename to t/color.sh
diff --git a/tests/color2.test b/t/color2.sh
similarity index 100%
rename from tests/color2.test
rename to t/color2.sh
diff --git a/tests/commen10.test b/t/commen10.sh
similarity index 100%
rename from tests/commen10.test
rename to t/commen10.sh
diff --git a/tests/commen11.test b/t/commen11.sh
similarity index 100%
rename from tests/commen11.test
rename to t/commen11.sh
diff --git a/tests/comment.test b/t/comment.sh
similarity index 100%
rename from tests/comment.test
rename to t/comment.sh
diff --git a/tests/comment2.test b/t/comment2.sh
similarity index 100%
rename from tests/comment2.test
rename to t/comment2.sh
diff --git a/tests/comment3.test b/t/comment3.sh
similarity index 100%
rename from tests/comment3.test
rename to t/comment3.sh
diff --git a/tests/comment4.test b/t/comment4.sh
similarity index 100%
rename from tests/comment4.test
rename to t/comment4.sh
diff --git a/tests/comment5.test b/t/comment5.sh
similarity index 100%
rename from tests/comment5.test
rename to t/comment5.sh
diff --git a/tests/comment6.test b/t/comment6.sh
similarity index 100%
rename from tests/comment6.test
rename to t/comment6.sh
diff --git a/tests/comment7.test b/t/comment7.sh
similarity index 100%
rename from tests/comment7.test
rename to t/comment7.sh
diff --git a/tests/comment8.test b/t/comment8.sh
similarity index 100%
rename from tests/comment8.test
rename to t/comment8.sh
diff --git a/tests/comment9.test b/t/comment9.sh
similarity index 100%
rename from tests/comment9.test
rename to t/comment9.sh
diff --git a/tests/comments-in-var-def.test b/t/comments-in-var-def.sh
similarity index 100%
rename from tests/comments-in-var-def.test
rename to t/comments-in-var-def.sh
diff --git a/tests/compile.test b/t/compile.sh
similarity index 100%
rename from tests/compile.test
rename to t/compile.sh
diff --git a/tests/compile2.test b/t/compile2.sh
similarity index 100%
rename from tests/compile2.test
rename to t/compile2.sh
diff --git a/tests/compile3.test b/t/compile3.sh
similarity index 100%
rename from tests/compile3.test
rename to t/compile3.sh
diff --git a/tests/compile4.test b/t/compile4.sh
similarity index 100%
rename from tests/compile4.test
rename to t/compile4.sh
diff --git a/tests/compile5.test b/t/compile5.sh
similarity index 100%
rename from tests/compile5.test
rename to t/compile5.sh
diff --git a/tests/compile6.test b/t/compile6.sh
similarity index 100%
rename from tests/compile6.test
rename to t/compile6.sh
diff --git a/tests/compile_f90_c_cxx.test b/t/compile_f90_c_cxx.sh
similarity index 100%
rename from tests/compile_f90_c_cxx.test
rename to t/compile_f90_c_cxx.sh
diff --git a/tests/compile_f_c_cxx.test b/t/compile_f_c_cxx.sh
similarity index 100%
rename from tests/compile_f_c_cxx.test
rename to t/compile_f_c_cxx.sh
diff --git a/tests/cond-basic.test b/t/cond-basic.sh
similarity index 100%
rename from tests/cond-basic.test
rename to t/cond-basic.sh
diff --git a/tests/cond.test b/t/cond.sh
similarity index 100%
rename from tests/cond.test
rename to t/cond.sh
diff --git a/tests/cond10.test b/t/cond10.sh
similarity index 100%
rename from tests/cond10.test
rename to t/cond10.sh
diff --git a/tests/cond11.test b/t/cond11.sh
similarity index 100%
rename from tests/cond11.test
rename to t/cond11.sh
diff --git a/tests/cond13.test b/t/cond13.sh
similarity index 100%
rename from tests/cond13.test
rename to t/cond13.sh
diff --git a/tests/cond14.test b/t/cond14.sh
similarity index 100%
rename from tests/cond14.test
rename to t/cond14.sh
diff --git a/tests/cond15.test b/t/cond15.sh
similarity index 100%
rename from tests/cond15.test
rename to t/cond15.sh
diff --git a/tests/cond16.test b/t/cond16.sh
similarity index 100%
rename from tests/cond16.test
rename to t/cond16.sh
diff --git a/tests/cond17.test b/t/cond17.sh
similarity index 100%
rename from tests/cond17.test
rename to t/cond17.sh
diff --git a/tests/cond18.test b/t/cond18.sh
similarity index 100%
rename from tests/cond18.test
rename to t/cond18.sh
diff --git a/tests/cond19.test b/t/cond19.sh
similarity index 100%
rename from tests/cond19.test
rename to t/cond19.sh
diff --git a/tests/cond2.test b/t/cond2.sh
similarity index 100%
rename from tests/cond2.test
rename to t/cond2.sh
diff --git a/tests/cond20.test b/t/cond20.sh
similarity index 100%
rename from tests/cond20.test
rename to t/cond20.sh
diff --git a/tests/cond21.test b/t/cond21.sh
similarity index 100%
rename from tests/cond21.test
rename to t/cond21.sh
diff --git a/tests/cond22.test b/t/cond22.sh
similarity index 100%
rename from tests/cond22.test
rename to t/cond22.sh
diff --git a/tests/cond23.test b/t/cond23.sh
similarity index 100%
rename from tests/cond23.test
rename to t/cond23.sh
diff --git a/tests/cond24.test b/t/cond24.sh
similarity index 100%
rename from tests/cond24.test
rename to t/cond24.sh
diff --git a/tests/cond25.test b/t/cond25.sh
similarity index 100%
rename from tests/cond25.test
rename to t/cond25.sh
diff --git a/tests/cond26.test b/t/cond26.sh
similarity index 100%
rename from tests/cond26.test
rename to t/cond26.sh
diff --git a/tests/cond27.test b/t/cond27.sh
similarity index 100%
rename from tests/cond27.test
rename to t/cond27.sh
diff --git a/tests/cond28.test b/t/cond28.sh
similarity index 100%
rename from tests/cond28.test
rename to t/cond28.sh
diff --git a/tests/cond29.test b/t/cond29.sh
similarity index 100%
rename from tests/cond29.test
rename to t/cond29.sh
diff --git a/tests/cond3.test b/t/cond3.sh
similarity index 100%
rename from tests/cond3.test
rename to t/cond3.sh
diff --git a/tests/cond30.test b/t/cond30.sh
similarity index 100%
rename from tests/cond30.test
rename to t/cond30.sh
diff --git a/tests/cond31.test b/t/cond31.sh
similarity index 100%
rename from tests/cond31.test
rename to t/cond31.sh
diff --git a/tests/cond32.test b/t/cond32.sh
similarity index 100%
rename from tests/cond32.test
rename to t/cond32.sh
diff --git a/tests/cond33.test b/t/cond33.sh
similarity index 100%
rename from tests/cond33.test
rename to t/cond33.sh
diff --git a/tests/cond34.test b/t/cond34.sh
similarity index 100%
rename from tests/cond34.test
rename to t/cond34.sh
diff --git a/tests/cond35.test b/t/cond35.sh
similarity index 100%
rename from tests/cond35.test
rename to t/cond35.sh
diff --git a/tests/cond36.test b/t/cond36.sh
similarity index 100%
rename from tests/cond36.test
rename to t/cond36.sh
diff --git a/tests/cond37.test b/t/cond37.sh
similarity index 100%
rename from tests/cond37.test
rename to t/cond37.sh
diff --git a/tests/cond38.test b/t/cond38.sh
similarity index 100%
rename from tests/cond38.test
rename to t/cond38.sh
diff --git a/tests/cond39.test b/t/cond39.sh
similarity index 100%
rename from tests/cond39.test
rename to t/cond39.sh
diff --git a/tests/cond4.test b/t/cond4.sh
similarity index 100%
rename from tests/cond4.test
rename to t/cond4.sh
diff --git a/tests/cond40.test b/t/cond40.sh
similarity index 100%
rename from tests/cond40.test
rename to t/cond40.sh
diff --git a/tests/cond41.test b/t/cond41.sh
similarity index 100%
rename from tests/cond41.test
rename to t/cond41.sh
diff --git a/tests/cond42.test b/t/cond42.sh
similarity index 100%
rename from tests/cond42.test
rename to t/cond42.sh
diff --git a/tests/cond43.test b/t/cond43.sh
similarity index 100%
rename from tests/cond43.test
rename to t/cond43.sh
diff --git a/tests/cond44.test b/t/cond44.sh
similarity index 100%
rename from tests/cond44.test
rename to t/cond44.sh
diff --git a/tests/cond45.test b/t/cond45.sh
similarity index 100%
rename from tests/cond45.test
rename to t/cond45.sh
diff --git a/tests/cond46.test b/t/cond46.sh
similarity index 100%
rename from tests/cond46.test
rename to t/cond46.sh
diff --git a/tests/cond5.test b/t/cond5.sh
similarity index 100%
rename from tests/cond5.test
rename to t/cond5.sh
diff --git a/tests/cond6.test b/t/cond6.sh
similarity index 100%
rename from tests/cond6.test
rename to t/cond6.sh
diff --git a/tests/cond7.test b/t/cond7.sh
similarity index 100%
rename from tests/cond7.test
rename to t/cond7.sh
diff --git a/tests/cond8.test b/t/cond8.sh
similarity index 100%
rename from tests/cond8.test
rename to t/cond8.sh
diff --git a/tests/cond9.test b/t/cond9.sh
similarity index 100%
rename from tests/cond9.test
rename to t/cond9.sh
diff --git a/tests/condd.test b/t/condd.sh
similarity index 100%
rename from tests/condd.test
rename to t/condd.sh
diff --git a/tests/condhook.test b/t/condhook.sh
similarity index 100%
rename from tests/condhook.test
rename to t/condhook.sh
diff --git a/tests/condhook2.test b/t/condhook2.sh
similarity index 100%
rename from tests/condhook2.test
rename to t/condhook2.sh
diff --git a/tests/condinc.test b/t/condinc.sh
similarity index 100%
rename from tests/condinc.test
rename to t/condinc.sh
diff --git a/tests/condinc2.test b/t/condinc2.sh
similarity index 100%
rename from tests/condinc2.test
rename to t/condinc2.sh
diff --git a/tests/condlib.test b/t/condlib.sh
similarity index 100%
rename from tests/condlib.test
rename to t/condlib.sh
diff --git a/tests/condman2.test b/t/condman2.sh
similarity index 100%
rename from tests/condman2.test
rename to t/condman2.sh
diff --git a/tests/condman3.test b/t/condman3.sh
similarity index 100%
rename from tests/condman3.test
rename to t/condman3.sh
diff --git a/tests/confdeps.test b/t/confdeps.sh
similarity index 100%
rename from tests/confdeps.test
rename to t/confdeps.sh
diff --git a/tests/conff.test b/t/conff.sh
similarity index 100%
rename from tests/conff.test
rename to t/conff.sh
diff --git a/tests/conff2.test b/t/conff2.sh
similarity index 100%
rename from tests/conff2.test
rename to t/conff2.sh
diff --git a/tests/conffile-leading-dot.test b/t/conffile-leading-dot.sh
similarity index 100%
rename from tests/conffile-leading-dot.test
rename to t/conffile-leading-dot.sh
diff --git a/tests/confh.test b/t/confh.sh
similarity index 100%
rename from tests/confh.test
rename to t/confh.sh
diff --git a/tests/confh4.test b/t/confh4.sh
similarity index 100%
rename from tests/confh4.test
rename to t/confh4.sh
diff --git a/tests/confh5.test b/t/confh5.sh
similarity index 100%
rename from tests/confh5.test
rename to t/confh5.sh
diff --git a/tests/confh6.test b/t/confh6.sh
similarity index 100%
rename from tests/confh6.test
rename to t/confh6.sh
diff --git a/tests/confh7.test b/t/confh7.sh
similarity index 100%
rename from tests/confh7.test
rename to t/confh7.sh
diff --git a/tests/confh8.test b/t/confh8.sh
similarity index 100%
rename from tests/confh8.test
rename to t/confh8.sh
diff --git a/tests/configure.test b/t/configure.sh
similarity index 100%
rename from tests/configure.test
rename to t/configure.sh
diff --git a/tests/confincl.test b/t/confincl.sh
similarity index 100%
rename from tests/confincl.test
rename to t/confincl.sh
diff --git a/tests/conflnk.test b/t/conflnk.sh
similarity index 100%
rename from tests/conflnk.test
rename to t/conflnk.sh
diff --git a/tests/conflnk2.test b/t/conflnk2.sh
similarity index 100%
rename from tests/conflnk2.test
rename to t/conflnk2.sh
diff --git a/tests/conflnk3.test b/t/conflnk3.sh
similarity index 100%
rename from tests/conflnk3.test
rename to t/conflnk3.sh
diff --git a/tests/conflnk4.test b/t/conflnk4.sh
similarity index 100%
rename from tests/conflnk4.test
rename to t/conflnk4.sh
diff --git a/tests/confsub.test b/t/confsub.sh
similarity index 100%
rename from tests/confsub.test
rename to t/confsub.sh
diff --git a/tests/confvar.test b/t/confvar.sh
similarity index 100%
rename from tests/confvar.test
rename to t/confvar.sh
diff --git a/tests/confvar2.test b/t/confvar2.sh
similarity index 100%
rename from tests/confvar2.test
rename to t/confvar2.sh
diff --git a/tests/copy.test b/t/copy.sh
similarity index 100%
rename from tests/copy.test
rename to t/copy.sh
diff --git a/tests/cscope.tap b/t/cscope.tap
similarity index 100%
rename from tests/cscope.tap
rename to t/cscope.tap
diff --git a/tests/cscope2.test b/t/cscope2.sh
similarity index 100%
rename from tests/cscope2.test
rename to t/cscope2.sh
diff --git a/tests/cscope3.test b/t/cscope3.sh
similarity index 100%
rename from tests/cscope3.test
rename to t/cscope3.sh
diff --git a/tests/cxx.test b/t/cxx.sh
similarity index 100%
rename from tests/cxx.test
rename to t/cxx.sh
diff --git a/tests/cxx2.test b/t/cxx2.sh
similarity index 100%
rename from tests/cxx2.test
rename to t/cxx2.sh
diff --git a/tests/cxxcpp.test b/t/cxxcpp.sh
similarity index 100%
rename from tests/cxxcpp.test
rename to t/cxxcpp.sh
diff --git a/tests/cxxlibobj.test b/t/cxxlibobj.sh
similarity index 100%
rename from tests/cxxlibobj.test
rename to t/cxxlibobj.sh
diff --git a/tests/cxxlink.test b/t/cxxlink.sh
similarity index 100%
rename from tests/cxxlink.test
rename to t/cxxlink.sh
diff --git a/tests/cxxnoc.test b/t/cxxnoc.sh
similarity index 100%
rename from tests/cxxnoc.test
rename to t/cxxnoc.sh
diff --git a/tests/cxxo.test b/t/cxxo.sh
similarity index 100%
rename from tests/cxxo.test
rename to t/cxxo.sh
diff --git a/tests/cygnus-check-without-all.test b/t/cygnus-check-without-all.sh
similarity index 100%
rename from tests/cygnus-check-without-all.test
rename to t/cygnus-check-without-all.sh
diff --git a/tests/cygnus-dependency-tracking.test
b/t/cygnus-dependency-tracking.sh
similarity index 100%
rename from tests/cygnus-dependency-tracking.test
rename to t/cygnus-dependency-tracking.sh
diff --git a/tests/cygnus-imply-foreign.test b/t/cygnus-imply-foreign.sh
similarity index 100%
rename from tests/cygnus-imply-foreign.test
rename to t/cygnus-imply-foreign.sh
diff --git a/tests/cygnus-no-dist.test b/t/cygnus-no-dist.sh
similarity index 100%
rename from tests/cygnus-no-dist.test
rename to t/cygnus-no-dist.sh
diff --git a/tests/cygnus-no-installinfo.test b/t/cygnus-no-installinfo.sh
similarity index 100%
rename from tests/cygnus-no-installinfo.test
rename to t/cygnus-no-installinfo.sh
diff --git a/tests/cygnus-requires-maintainer-mode.test
b/t/cygnus-requires-maintainer-mode.sh
similarity index 100%
rename from tests/cygnus-requires-maintainer-mode.test
rename to t/cygnus-requires-maintainer-mode.sh
diff --git a/tests/cygwin32.test b/t/cygwin32.sh
similarity index 100%
rename from tests/cygwin32.test
rename to t/cygwin32.sh
diff --git a/tests/dash.test b/t/dash.sh
similarity index 100%
rename from tests/dash.test
rename to t/dash.sh
diff --git a/tests/defun.test b/t/defun.sh
similarity index 100%
rename from tests/defun.test
rename to t/defun.sh
diff --git a/tests/defun2.test b/t/defun2.sh
similarity index 100%
rename from tests/defun2.test
rename to t/defun2.sh
diff --git a/tests/dejagnu-absolute-builddir.test
b/t/dejagnu-absolute-builddir.sh
similarity index 100%
rename from tests/dejagnu-absolute-builddir.test
rename to t/dejagnu-absolute-builddir.sh
diff --git a/tests/dejagnu-relative-srcdir.test b/t/dejagnu-relative-srcdir.sh
similarity index 100%
rename from tests/dejagnu-relative-srcdir.test
rename to t/dejagnu-relative-srcdir.sh
diff --git a/tests/dejagnu-siteexp-append.test b/t/dejagnu-siteexp-append.sh
similarity index 100%
rename from tests/dejagnu-siteexp-append.test
rename to t/dejagnu-siteexp-append.sh
diff --git a/tests/dejagnu-siteexp-extend.test b/t/dejagnu-siteexp-extend.sh
similarity index 100%
rename from tests/dejagnu-siteexp-extend.test
rename to t/dejagnu-siteexp-extend.sh
diff --git a/tests/dejagnu-siteexp-useredit.test b/t/dejagnu-siteexp-useredit.sh
similarity index 100%
rename from tests/dejagnu-siteexp-useredit.test
rename to t/dejagnu-siteexp-useredit.sh
diff --git a/tests/dejagnu.test b/t/dejagnu.sh
similarity index 100%
rename from tests/dejagnu.test
rename to t/dejagnu.sh
diff --git a/tests/dejagnu2.test b/t/dejagnu2.sh
similarity index 100%
rename from tests/dejagnu2.test
rename to t/dejagnu2.sh
diff --git a/tests/dejagnu3.test b/t/dejagnu3.sh
similarity index 100%
rename from tests/dejagnu3.test
rename to t/dejagnu3.sh
diff --git a/tests/dejagnu4.test b/t/dejagnu4.sh
similarity index 100%
rename from tests/dejagnu4.test
rename to t/dejagnu4.sh
diff --git a/tests/dejagnu5.test b/t/dejagnu5.sh
similarity index 100%
rename from tests/dejagnu5.test
rename to t/dejagnu5.sh
diff --git a/tests/dejagnu6.test b/t/dejagnu6.sh
similarity index 100%
rename from tests/dejagnu6.test
rename to t/dejagnu6.sh
diff --git a/tests/dejagnu7.test b/t/dejagnu7.sh
similarity index 100%
rename from tests/dejagnu7.test
rename to t/dejagnu7.sh
diff --git a/tests/deleted-am.test b/t/deleted-am.sh
similarity index 100%
rename from tests/deleted-am.test
rename to t/deleted-am.sh
diff --git a/tests/deleted-m4.test b/t/deleted-m4.sh
similarity index 100%
rename from tests/deleted-m4.test
rename to t/deleted-m4.sh
diff --git a/tests/depacl2.test b/t/depacl2.sh
similarity index 100%
rename from tests/depacl2.test
rename to t/depacl2.sh
diff --git a/tests/depcomp-recover.test b/t/depcomp-recover.sh
similarity index 100%
rename from tests/depcomp-recover.test
rename to t/depcomp-recover.sh
diff --git a/t/depcomp-shuffle-sub-vpath.sh b/t/depcomp-shuffle-sub-vpath.sh
new file mode 100755
index 0000000..67f7c19
--- /dev/null
+++ b/t/depcomp-shuffle-sub-vpath.sh
@@ -0,0 +1,23 @@
+#! /bin/sh
+# Copyright (C) 1996-2012 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/>.
+
+# Dependency tracking in the face of added/removed/renamed files.
+# - VPATH build
+# - use of subdir-objects
+
+. ./defs-static || exit '99'
+xdir='sub' vpath='yes'
+. "$am_testauxdir"/depcomp-shuffle.sh
diff --git a/t/depcomp-shuffle-sub.sh b/t/depcomp-shuffle-sub.sh
new file mode 100755
index 0000000..a2bbf2f
--- /dev/null
+++ b/t/depcomp-shuffle-sub.sh
@@ -0,0 +1,23 @@
+#! /bin/sh
+# Copyright (C) 2002-2012 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/>.
+
+# Dependency tracking in the face of added/removed/renamed files.
+# - in-tree build
+# - use of subdir-objects
+
+. ./defs-static || exit '99'
+xdir='sub' vpath='no'
+. "$am_testauxdir"/depcomp-shuffle.sh
diff --git a/t/depcomp-shuffle-vpath.sh b/t/depcomp-shuffle-vpath.sh
new file mode 100755
index 0000000..2686a54
--- /dev/null
+++ b/t/depcomp-shuffle-vpath.sh
@@ -0,0 +1,23 @@
+#! /bin/sh
+# Copyright (C) 2010-2012 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/>.
+
+# Dependency tracking in the face of added/removed/renamed files.
+# - VPATH build
+# - no use of subdir-objects
+
+. ./defs-static || exit '99'
+xdir='' vpath='yes'
+. "$am_testauxdir"/depcomp-shuffle.sh
diff --git a/t/depcomp-shuffle.sh b/t/depcomp-shuffle.sh
new file mode 100755
index 0000000..e812608
--- /dev/null
+++ b/t/depcomp-shuffle.sh
@@ -0,0 +1,23 @@
+#! /bin/sh
+# Copyright (C) 2002-2012 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/>.
+
+# Dependency tracking in the face of added/removed/renamed files.
+# - in-tree build
+# - no use of subdir-objects
+
+. ./defs-static || exit '99'
+xdir='' vpath='no'
+. "$am_testauxdir"/depcomp-shuffle.sh
diff --git a/tests/depcomp.test b/t/depcomp.sh
similarity index 100%
rename from tests/depcomp.test
rename to t/depcomp.sh
diff --git a/tests/depcomp2.test b/t/depcomp2.sh
similarity index 100%
rename from tests/depcomp2.test
rename to t/depcomp2.sh
diff --git a/tests/depcomp8a.test b/t/depcomp8a.sh
similarity index 100%
rename from tests/depcomp8a.test
rename to t/depcomp8a.sh
diff --git a/tests/depcomp8b.test b/t/depcomp8b.sh
similarity index 100%
rename from tests/depcomp8b.test
rename to t/depcomp8b.sh
diff --git a/tests/depdist.test b/t/depdist.sh
similarity index 100%
rename from tests/depdist.test
rename to t/depdist.sh
diff --git a/tests/depend.test b/t/depend.sh
similarity index 100%
rename from tests/depend.test
rename to t/depend.sh
diff --git a/tests/depend3.test b/t/depend3.sh
similarity index 100%
rename from tests/depend3.test
rename to t/depend3.sh
diff --git a/tests/depend4.test b/t/depend4.sh
similarity index 100%
rename from tests/depend4.test
rename to t/depend4.sh
diff --git a/tests/deprecated-acinit.test b/t/deprecated-acinit.sh
similarity index 100%
rename from tests/deprecated-acinit.test
rename to t/deprecated-acinit.sh
diff --git a/tests/destdir.test b/t/destdir.sh
similarity index 100%
rename from tests/destdir.test
rename to t/destdir.sh
diff --git a/tests/dirlist-abspath.test b/t/dirlist-abspath.sh
similarity index 100%
rename from tests/dirlist-abspath.test
rename to t/dirlist-abspath.sh
diff --git a/tests/dirlist.test b/t/dirlist.sh
similarity index 100%
rename from tests/dirlist.test
rename to t/dirlist.sh
diff --git a/tests/dirlist2.test b/t/dirlist2.sh
similarity index 100%
rename from tests/dirlist2.test
rename to t/dirlist2.sh
diff --git a/tests/discover.test b/t/discover.sh
similarity index 100%
rename from tests/discover.test
rename to t/discover.sh
diff --git a/tests/dist-auxdir-many-subdirs.test b/t/dist-auxdir-many-subdirs.sh
similarity index 100%
rename from tests/dist-auxdir-many-subdirs.test
rename to t/dist-auxdir-many-subdirs.sh
diff --git a/tests/dist-auxfile-2.test b/t/dist-auxfile-2.sh
similarity index 100%
rename from tests/dist-auxfile-2.test
rename to t/dist-auxfile-2.sh
diff --git a/tests/dist-auxfile.test b/t/dist-auxfile.sh
similarity index 100%
rename from tests/dist-auxfile.test
rename to t/dist-auxfile.sh
diff --git a/tests/dist-formats.tap b/t/dist-formats.tap
similarity index 100%
rename from tests/dist-formats.tap
rename to t/dist-formats.tap
diff --git a/tests/dist-included-parent-dir.test b/t/dist-included-parent-dir.sh
similarity index 100%
rename from tests/dist-included-parent-dir.test
rename to t/dist-included-parent-dir.sh
diff --git a/tests/dist-missing-am.test b/t/dist-missing-am.sh
similarity index 100%
rename from tests/dist-missing-am.test
rename to t/dist-missing-am.sh
diff --git a/tests/dist-missing-included-m4.test b/t/dist-missing-included-m4.sh
similarity index 100%
rename from tests/dist-missing-included-m4.test
rename to t/dist-missing-included-m4.sh
diff --git a/tests/dist-missing-m4.test b/t/dist-missing-m4.sh
similarity index 100%
rename from tests/dist-missing-m4.test
rename to t/dist-missing-m4.sh
diff --git a/tests/dist-pr109765.test b/t/dist-pr109765.sh
similarity index 100%
rename from tests/dist-pr109765.test
rename to t/dist-pr109765.sh
diff --git a/tests/dist-readonly.test b/t/dist-readonly.sh
similarity index 100%
rename from tests/dist-readonly.test
rename to t/dist-readonly.sh
diff --git a/tests/dist-repeated.test b/t/dist-repeated.sh
similarity index 100%
rename from tests/dist-repeated.test
rename to t/dist-repeated.sh
diff --git a/tests/distcheck-configure-flags-am.test
b/t/distcheck-configure-flags-am.sh
similarity index 100%
rename from tests/distcheck-configure-flags-am.test
rename to t/distcheck-configure-flags-am.sh
diff --git a/tests/distcheck-configure-flags-subpkg.test
b/t/distcheck-configure-flags-subpkg.sh
similarity index 100%
rename from tests/distcheck-configure-flags-subpkg.test
rename to t/distcheck-configure-flags-subpkg.sh
diff --git a/tests/distcheck-configure-flags.test
b/t/distcheck-configure-flags.sh
similarity index 100%
rename from tests/distcheck-configure-flags.test
rename to t/distcheck-configure-flags.sh
diff --git a/tests/distcheck-hook.test b/t/distcheck-hook.sh
similarity index 100%
rename from tests/distcheck-hook.test
rename to t/distcheck-hook.sh
diff --git a/tests/distcheck-hook2.test b/t/distcheck-hook2.sh
similarity index 100%
rename from tests/distcheck-hook2.test
rename to t/distcheck-hook2.sh
diff --git a/t/distcheck-missing-m4.sh b/t/distcheck-missing-m4.sh
new file mode 100755
index 0000000..0e9007f
--- /dev/null
+++ b/t/distcheck-missing-m4.sh
@@ -0,0 +1,116 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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/>.
+
+# Test that we can define a distcheck-hook to diagnose m4 files
+# missing from the dist tarball (interaction with '--install').
+# See automake bug#9037.
+
+. ./defs || Exit 1
+
+cwd=`pwd` || fatal_ "cannot get current working directory"
+
+cp "$am_testauxdir"/distcheck-hook-m4.am . \
+ || fatal_ "cannot fetch makefile fragment 'distcheck-hook-m4.am'"
+
+cat > Makefile.am << 'END'
+## The lack of '--install' here is meant.
+ACLOCAL_AMFLAGS = -I m4
+include $(srcdir)/distcheck-hook-m4.am
+END
+
+cat >> configure.ac << 'END'
+dnl We *deliberately* don't use m4_pattern_forbid here.
+AC_OUTPUT
+MY_FOO
+MY_BAR
+MY_BAZ
+MY_ZAR
+END
+
+mkdir m4 acdir acdir1 acdir2 pth
+
+cat > acdir/dirlist << END
+$cwd/acdir1
+$cwd/acdir2
+END
+
+echo 'AC_DEFUN([MY_FOO], [:])' > m4/foo.m4
+echo 'AC_DEFUN([MY_BAR], [:])' > acdir1/bar.m4
+echo 'AC_DEFUN([MY_BAZ], [:])' > acdir1/baz.m4
+echo 'AC_DEFUN([MY_QUX], [:])' > acdir2/qux.m4
+echo 'AC_DEFUN([MY_ZAR], [:])' > pth/zar.m4
+echo 'AC_DEFUN([MY_BLA], [:])' > pth/bla.m4
+
+ACLOCAL="$ACLOCAL --system-acdir=$cwd/acdir"; export ACLOCAL
+ACLOCAL_PATH=$cwd/pth; export ACLOCAL_PATH
+
+# We don't use '--install' here. Our distcheck-hook should catch this.
+$ACLOCAL -I m4
+$AUTOCONF
+$EGREP 'MY_(FOO|BAR|BAZ|ZAR)' configure && Exit 1 # Sanity check.
+$AUTOMAKE
+
+check_no_spurious_error ()
+{
+ $EGREP -i 'mkdir:|:.*(permission|denied)' output && Exit 1
+ # On failure, some make implementations (such as Solaris make) print the
+ # whole failed recipe on stdout. The first grep works around this.
+ grep -v 'rm -rf ' output | grep -i 'autom4te.*\.cache' && Exit 1
+ : To placate 'set -e'.
+}
+
+./configure
+
+$MAKE distcheck >output 2>&1 && { cat output; Exit 1; }
+cat output
+for x in bar baz zar; do
+ $EGREP "required m4 file.*not distributed.* $x.m4( |$)" output
+done
+check_no_spurious_error
+
+# Now we use '--install', and "make distcheck" should pass.
+$ACLOCAL -I m4 --install
+test -f m4/bar.m4 # Sanity check.
+test -f m4/baz.m4 # Likewise.
+test -f m4/zar.m4 # Likewise.
+$MAKE distcheck
+
+# We start to use new "third-party" macros from new .m4 files, but forget
+# to re-run "aclocal --install" by hand, relying on automatic remake rules.
+# Our distcheck-hook should catch this too.
+cat >> configure.ac << 'END'
+MY_QUX
+MY_BLA
+END
+
+$MAKE
+$EGREP 'MY_(FOO|BAR|BAZ|QUX|ZAR|BLA)' configure && Exit 1 # Sanity check.
+
+$MAKE distcheck >output 2>&1 && { cat output; Exit 1; }
+cat output
+$EGREP "required m4 file.*not distributed.* qux.m4( |$)" output
+$EGREP "required m4 file.*not distributed.* bla.m4( |$)" output
+check_no_spurious_error
+# Check that we don't complain for files that should have been found.
+$FGREP " (bar|baz|zar).m4" output && Exit 1
+
+# Now we again use '--install', and "make distcheck" should pass.
+$ACLOCAL -I m4 --install
+test -f m4/qux.m4 # Sanity check.
+test -f m4/bla.m4 # Likewise.
+$MAKE distcheck
+
+:
diff --git a/t/distcheck-outdated-m4.sh b/t/distcheck-outdated-m4.sh
new file mode 100755
index 0000000..0fb624e
--- /dev/null
+++ b/t/distcheck-outdated-m4.sh
@@ -0,0 +1,134 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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/>.
+
+# Test that we can define a distcheck-hook to diagnose outdated m4
+# files in a dist tarball (interaction with '--install').
+# See automake bug#9037.
+
+. ./defs || Exit 1
+
+cwd=`pwd` || fatal_ "cannot get current working directory"
+
+cp "$am_testauxdir"/distcheck-hook-m4.am . \
+ || fatal_ "cannot fetch makefile fragment 'distcheck-hook-m4.am'"
+
+cat > Makefile.am << 'END'
+## The lack of '--install' here is meant.
+ACLOCAL_AMFLAGS = -I m4
+include $(srcdir)/distcheck-hook-m4.am
+END
+
+cat >> configure.ac << 'END'
+AC_OUTPUT
+MY_FOO
+MY_BAR
+MY_BAZ
+END
+
+mkdir m4 acdir
+echo 'AC_DEFUN([MY_FOO], [:])' > m4/foo.m4
+echo 'AC_DEFUN([MY_BAR], [:])' > acdir/bar.m4
+cat > acdir/baz.m4 << 'END'
+# serial 1
+AC_DEFUN([MY_BAZ], [:])
+END
+
+ACLOCAL="$ACLOCAL --system-acdir=$cwd/acdir"; export ACLOCAL
+
+# The use of '--install' here won't help when the installed file '.m4'
+# will become out-of-date w.r.t. the one in the system acdir.
+$ACLOCAL -I m4 --install
+$AUTOCONF
+$AUTOMAKE
+
+./configure
+$MAKE distcheck # Sanity check.
+
+check_no_spurious_error ()
+{
+ $EGREP -i 'mkdir:|:.*(permission|denied)' output && Exit 1
+ # On failure, some make implementations (such as Solaris make) print the
+ # whole failed recipe on stdout. The first grep works around this.
+ grep -v 'rm -rf ' output | grep -i 'autom4te.*\.cache' && Exit 1
+ : To placate 'set -e'.
+}
+
+# We start to use a new "third-party" macro in a new version
+# of a pre-existing third-party m4 file, but forget to re-run
+# "aclocal --install" by hand, relying on automatic remake
+# rules. Our distcheck-hook should catch this too.
+echo MY_ZARDOZ >> configure.ac
+
+cat > acdir/baz.m4 << 'END'
+# serial 2
+AC_DEFUN([MY_BAZ], [:])
+AC_DEFUN([MY_ZARDOZ], [:])
+END
+
+$MAKE # Rebuild configure and makefiles.
+$MAKE distcheck >output 2>&1 && { cat output; Exit 1; }
+cat output
+
+$EGREP "required m4 file.* outdated.* baz.m4( |$)" output
+check_no_spurious_error
+# Check that we don't complain for files that aren't outdated.
+$EGREP " (foo|bar).m4" output && Exit 1
+
+# Now we again use '--install' explicitly, and "make distcheck"
+# should pass.
+$ACLOCAL -I m4 --install
+$MAKE distcheck
+
+# Similar to what have been done above, but this time we:
+# - use ACLOCAL_PATH, and
+# - do not add the use of a new macro.
+
+echo MY_FNORD >> configure.ac
+
+mkdir pth
+cat > pth/fnord.m4 << 'END'
+# serial 1
+AC_DEFUN([MY_FNORD], [:])
+END
+
+ACLOCAL_PATH="$cwd/pth"; export ACLOCAL_PATH
+
+# The explicit use of '--install' here won't help when the installed file
+# '.m4' will become out-of-date w.r.t. the one in the system acdir.
+$ACLOCAL -I m4 --install
+$MAKE distcheck
+
+# Only increase serial number, without changing the other contents; this
+# is deliberate.
+cat > pth/fnord.m4 << 'END'
+# serial 2
+AC_DEFUN([MY_FNORD], [:])
+END
+
+$MAKE # Rebuild configure and makefiles.
+$MAKE distcheck >output 2>&1 && { cat output; Exit 1; }
+cat output
+$EGREP "required m4 file.* outdated.* fnord.m4( |$)" output
+check_no_spurious_error
+# Check that we don't complain for files that aren't outdated.
+$EGREP " (foo|bar|baz).m4" output && Exit 1
+
+# Now we again use '--install' explicitly, and "make distcheck"
+# should pass.
+$ACLOCAL -I m4 --install
+$MAKE distcheck
+
+:
diff --git a/tests/distcheck-override-infodir.test
b/t/distcheck-override-infodir.sh
similarity index 100%
rename from tests/distcheck-override-infodir.test
rename to t/distcheck-override-infodir.sh
diff --git a/tests/distcheck-pr10470.test b/t/distcheck-pr10470.sh
similarity index 100%
rename from tests/distcheck-pr10470.test
rename to t/distcheck-pr10470.sh
diff --git a/tests/distcheck-pr9579.test b/t/distcheck-pr9579.sh
similarity index 100%
rename from tests/distcheck-pr9579.test
rename to t/distcheck-pr9579.sh
diff --git a/tests/distcheck-writable-srcdir.test
b/t/distcheck-writable-srcdir.sh
similarity index 100%
rename from tests/distcheck-writable-srcdir.test
rename to t/distcheck-writable-srcdir.sh
diff --git a/tests/distcleancheck.test b/t/distcleancheck.sh
similarity index 100%
rename from tests/distcleancheck.test
rename to t/distcleancheck.sh
diff --git a/tests/distcom-subdir.test b/t/distcom-subdir.sh
similarity index 100%
rename from tests/distcom-subdir.test
rename to t/distcom-subdir.sh
diff --git a/tests/distcom2.test b/t/distcom2.sh
similarity index 100%
rename from tests/distcom2.test
rename to t/distcom2.sh
diff --git a/tests/distcom3.test b/t/distcom3.sh
similarity index 100%
rename from tests/distcom3.test
rename to t/distcom3.sh
diff --git a/tests/distcom4.test b/t/distcom4.sh
similarity index 100%
rename from tests/distcom4.test
rename to t/distcom4.sh
diff --git a/tests/distcom5.test b/t/distcom5.sh
similarity index 100%
rename from tests/distcom5.test
rename to t/distcom5.sh
diff --git a/tests/distdir.test b/t/distdir.sh
similarity index 100%
rename from tests/distdir.test
rename to t/distdir.sh
diff --git a/tests/disthook.test b/t/disthook.sh
similarity index 100%
rename from tests/disthook.test
rename to t/disthook.sh
diff --git a/tests/distlinks.test b/t/distlinks.sh
similarity index 100%
rename from tests/distlinks.test
rename to t/distlinks.sh
diff --git a/tests/distlinksbrk.test b/t/distlinksbrk.sh
similarity index 100%
rename from tests/distlinksbrk.test
rename to t/distlinksbrk.sh
diff --git a/tests/distname.test b/t/distname.sh
similarity index 100%
rename from tests/distname.test
rename to t/distname.sh
diff --git a/tests/dmalloc.test b/t/dmalloc.sh
similarity index 100%
rename from tests/dmalloc.test
rename to t/dmalloc.sh
diff --git a/tests/doc-parsing-buglets-tabs.test b/t/doc-parsing-buglets-tabs.sh
similarity index 100%
rename from tests/doc-parsing-buglets-tabs.test
rename to t/doc-parsing-buglets-tabs.sh
diff --git a/tests/dollar.test b/t/dollar.sh
similarity index 100%
rename from tests/dollar.test
rename to t/dollar.sh
diff --git a/tests/double.test b/t/double.sh
similarity index 100%
rename from tests/double.test
rename to t/double.sh
diff --git a/tests/dup2.test b/t/dup2.sh
similarity index 100%
rename from tests/dup2.test
rename to t/dup2.sh
diff --git a/tests/else.test b/t/else.sh
similarity index 100%
rename from tests/else.test
rename to t/else.sh
diff --git a/tests/empty.test b/t/empty.sh
similarity index 100%
rename from tests/empty.test
rename to t/empty.sh
diff --git a/tests/empty2.test b/t/empty2.sh
similarity index 100%
rename from tests/empty2.test
rename to t/empty2.sh
diff --git a/tests/empty3.test b/t/empty3.sh
similarity index 100%
rename from tests/empty3.test
rename to t/empty3.sh
diff --git a/tests/empty4.test b/t/empty4.sh
similarity index 100%
rename from tests/empty4.test
rename to t/empty4.sh
diff --git a/tests/exdir.test b/t/exdir.sh
similarity index 100%
rename from tests/exdir.test
rename to t/exdir.sh
diff --git a/tests/exdir2.test b/t/exdir2.sh
similarity index 100%
rename from tests/exdir2.test
rename to t/exdir2.sh
diff --git a/tests/exdir3.test b/t/exdir3.sh
similarity index 100%
rename from tests/exdir3.test
rename to t/exdir3.sh
diff --git a/tests/exeext.test b/t/exeext.sh
similarity index 100%
rename from tests/exeext.test
rename to t/exeext.sh
diff --git a/tests/exeext2.test b/t/exeext2.sh
similarity index 100%
rename from tests/exeext2.test
rename to t/exeext2.sh
diff --git a/tests/exeext3.test b/t/exeext3.sh
similarity index 100%
rename from tests/exeext3.test
rename to t/exeext3.sh
diff --git a/tests/exeext4.test b/t/exeext4.sh
similarity index 100%
rename from tests/exeext4.test
rename to t/exeext4.sh
diff --git a/tests/exsource.test b/t/exsource.sh
similarity index 100%
rename from tests/exsource.test
rename to t/exsource.sh
diff --git a/tests/ext.test b/t/ext.sh
similarity index 100%
rename from tests/ext.test
rename to t/ext.sh
diff --git a/tests/ext2.test b/t/ext2.sh
similarity index 100%
rename from tests/ext2.test
rename to t/ext2.sh
diff --git a/tests/ext3.test b/t/ext3.sh
similarity index 100%
rename from tests/ext3.test
rename to t/ext3.sh
diff --git a/tests/extra-portability.test b/t/extra-portability.sh
similarity index 100%
rename from tests/extra-portability.test
rename to t/extra-portability.sh
diff --git a/tests/extra-portability2.test b/t/extra-portability2.sh
similarity index 100%
rename from tests/extra-portability2.test
rename to t/extra-portability2.sh
diff --git a/tests/extra-programs-empty.test b/t/extra-programs-empty.sh
similarity index 100%
rename from tests/extra-programs-empty.test
rename to t/extra-programs-empty.sh
diff --git a/tests/extra.test b/t/extra.sh
similarity index 100%
rename from tests/extra.test
rename to t/extra.sh
diff --git a/tests/extra10.test b/t/extra10.sh
similarity index 100%
rename from tests/extra10.test
rename to t/extra10.sh
diff --git a/tests/extra11.test b/t/extra11.sh
similarity index 100%
rename from tests/extra11.test
rename to t/extra11.sh
diff --git a/tests/extra12.test b/t/extra12.sh
similarity index 100%
rename from tests/extra12.test
rename to t/extra12.sh
diff --git a/tests/extra2.test b/t/extra2.sh
similarity index 100%
rename from tests/extra2.test
rename to t/extra2.sh
diff --git a/tests/extra3.test b/t/extra3.sh
similarity index 100%
rename from tests/extra3.test
rename to t/extra3.sh
diff --git a/tests/extra4.test b/t/extra4.sh
similarity index 100%
rename from tests/extra4.test
rename to t/extra4.sh
diff --git a/tests/extra5.test b/t/extra5.sh
similarity index 100%
rename from tests/extra5.test
rename to t/extra5.sh
diff --git a/tests/extra6.test b/t/extra6.sh
similarity index 100%
rename from tests/extra6.test
rename to t/extra6.sh
diff --git a/tests/extra7.test b/t/extra7.sh
similarity index 100%
rename from tests/extra7.test
rename to t/extra7.sh
diff --git a/tests/extra8.test b/t/extra8.sh
similarity index 100%
rename from tests/extra8.test
rename to t/extra8.sh
diff --git a/tests/extra9.test b/t/extra9.sh
similarity index 100%
rename from tests/extra9.test
rename to t/extra9.sh
diff --git a/tests/extradep.test b/t/extradep.sh
similarity index 100%
rename from tests/extradep.test
rename to t/extradep.sh
diff --git a/tests/extradep2.test b/t/extradep2.sh
similarity index 100%
rename from tests/extradep2.test
rename to t/extradep2.sh
diff --git a/tests/f90only.test b/t/f90only.sh
similarity index 100%
rename from tests/f90only.test
rename to t/f90only.sh
diff --git a/tests/flavor.test b/t/flavor.sh
similarity index 100%
rename from tests/flavor.test
rename to t/flavor.sh
diff --git a/tests/flibs.test b/t/flibs.sh
similarity index 100%
rename from tests/flibs.test
rename to t/flibs.sh
diff --git a/tests/fn99.test b/t/fn99.sh
similarity index 100%
rename from tests/fn99.test
rename to t/fn99.sh
diff --git a/tests/fn99subdir.test b/t/fn99subdir.sh
similarity index 100%
rename from tests/fn99subdir.test
rename to t/fn99subdir.sh
diff --git a/tests/fnoc.test b/t/fnoc.sh
similarity index 100%
rename from tests/fnoc.test
rename to t/fnoc.sh
diff --git a/tests/fo.test b/t/fo.sh
similarity index 100%
rename from tests/fo.test
rename to t/fo.sh
diff --git a/tests/fonly.test b/t/fonly.sh
similarity index 100%
rename from tests/fonly.test
rename to t/fonly.sh
diff --git a/tests/forcemiss.test b/t/forcemiss.sh
similarity index 100%
rename from tests/forcemiss.test
rename to t/forcemiss.sh
diff --git a/tests/forcemiss2.test b/t/forcemiss2.sh
similarity index 100%
rename from tests/forcemiss2.test
rename to t/forcemiss2.sh
diff --git a/tests/fort1.test b/t/fort1.sh
similarity index 100%
rename from tests/fort1.test
rename to t/fort1.sh
diff --git a/tests/fort2.test b/t/fort2.sh
similarity index 100%
rename from tests/fort2.test
rename to t/fort2.sh
diff --git a/tests/fort4.test b/t/fort4.sh
similarity index 100%
rename from tests/fort4.test
rename to t/fort4.sh
diff --git a/tests/fort5.test b/t/fort5.sh
similarity index 100%
rename from tests/fort5.test
rename to t/fort5.sh
diff --git a/tests/fortdep.test b/t/fortdep.sh
similarity index 100%
rename from tests/fortdep.test
rename to t/fortdep.sh
diff --git a/tests/gcj.test b/t/gcj.sh
similarity index 100%
rename from tests/gcj.test
rename to t/gcj.sh
diff --git a/tests/gcj2.test b/t/gcj2.sh
similarity index 100%
rename from tests/gcj2.test
rename to t/gcj2.sh
diff --git a/tests/gcj3.test b/t/gcj3.sh
similarity index 100%
rename from tests/gcj3.test
rename to t/gcj3.sh
diff --git a/tests/gcj4.test b/t/gcj4.sh
similarity index 100%
rename from tests/gcj4.test
rename to t/gcj4.sh
diff --git a/tests/gcj5.test b/t/gcj5.sh
similarity index 100%
rename from tests/gcj5.test
rename to t/gcj5.sh
diff --git a/tests/gcj6.test b/t/gcj6.sh
similarity index 100%
rename from tests/gcj6.test
rename to t/gcj6.sh
diff --git a/t/get-sysconf.sh b/t/get-sysconf.sh
new file mode 100755
index 0000000..ac09a63
--- /dev/null
+++ b/t/get-sysconf.sh
@@ -0,0 +1,62 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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/>.
+
+# Dummy test case, aimed at reporting useful system information in the
+# final 'test-suite.log'. This way, if a user experiences a failure in
+# the Automake test suite and then only sends us the 'test-suite.log',
+# we won't have to ask him for more information to start analyzing the
+# failure (that had happened too many times in the past!).
+
+. ./defs || Exit 1
+
+st=0
+if test -d "$am_top_srcdir"/.git; then
+ # We are running from a git checkout.
+ (cd "$am_top_srcdir" && git log -1) || st=1
+elif test -f "$am_top_srcdir"/ChangeLog; then
+ # We are probably running from a distribution tarball.
+ awk '
+ BEGIN { first = 1 }
+ (first == 1) { print; first = 0; next; }
+ /^[^\t]/ { exit(0); }
+ { print }
+ ' "$am_top_srcdir"/ChangeLog || st=1
+else
+ # Some non-common but possibly valid setup (see for example the Homebrew
+ # problem reported in automake bug#10866); so just give an harmless
+ # warning instead of failing.
+ warn_ "no .git directory nor ChangeLog file found, some info won't" \
+ "be available"
+fi
+$PERL -V || st=1
+# It's OK for the user not to have the TAP::Parser module; this can
+# happen with older perl installation, or on MinGW/MSYS.
+$PERL -e 'use TAP::Parser; print $TAP::Parser::VERSION, "\n"' || :
+
+cat "$am_top_builddir/config.log" || st=1
+cat "$am_top_builddir/t/wrap/aclocal-$APIVERSION" || st=1
+cat "$am_top_builddir/t/wrap/automake-$APIVERSION" || st=1
+
+if test $st -eq 0; then
+ # This test SKIPs, so that all the information it has gathered and
+ # printed will get unconditionally copied into the 'test-suite.log'
+ # file.
+ Exit 77
+fi
+
+# Some unexpected error occurred; this must be reported as an hard
+# error by the testsuite driver.
+Exit 99
diff --git a/tests/gettext-macros.test b/t/gettext-macros.sh
similarity index 100%
rename from tests/gettext-macros.test
rename to t/gettext-macros.sh
diff --git a/tests/gettext.test b/t/gettext.sh
similarity index 100%
rename from tests/gettext.test
rename to t/gettext.sh
diff --git a/tests/gettext2.test b/t/gettext2.sh
similarity index 100%
rename from tests/gettext2.test
rename to t/gettext2.sh
diff --git a/tests/gettext3.test b/t/gettext3.sh
similarity index 100%
rename from tests/gettext3.test
rename to t/gettext3.sh
diff --git a/tests/gmake-vars.test b/t/gmake-vars.sh
similarity index 100%
rename from tests/gmake-vars.test
rename to t/gmake-vars.sh
diff --git a/tests/gnits.test b/t/gnits.sh
similarity index 100%
rename from tests/gnits.test
rename to t/gnits.sh
diff --git a/tests/gnits2.test b/t/gnits2.sh
similarity index 100%
rename from tests/gnits2.test
rename to t/gnits2.sh
diff --git a/tests/gnits3.test b/t/gnits3.sh
similarity index 100%
rename from tests/gnits3.test
rename to t/gnits3.sh
diff --git a/tests/gnumake.test b/t/gnumake.sh
similarity index 100%
rename from tests/gnumake.test
rename to t/gnumake.sh
diff --git a/tests/gnuwarn.test b/t/gnuwarn.sh
similarity index 100%
rename from tests/gnuwarn.test
rename to t/gnuwarn.sh
diff --git a/tests/gnuwarn2.test b/t/gnuwarn2.sh
similarity index 100%
rename from tests/gnuwarn2.test
rename to t/gnuwarn2.sh
diff --git a/tests/hdr-vars-defined-once.test b/t/hdr-vars-defined-once.sh
similarity index 100%
rename from tests/hdr-vars-defined-once.test
rename to t/hdr-vars-defined-once.sh
diff --git a/tests/header.test b/t/header.sh
similarity index 100%
rename from tests/header.test
rename to t/header.sh
diff --git a/tests/help-depend.test b/t/help-depend.sh
similarity index 100%
rename from tests/help-depend.test
rename to t/help-depend.sh
diff --git a/tests/help-depend2.test b/t/help-depend2.sh
similarity index 100%
rename from tests/help-depend2.test
rename to t/help-depend2.sh
diff --git a/tests/help-dmalloc.test b/t/help-dmalloc.sh
similarity index 100%
rename from tests/help-dmalloc.test
rename to t/help-dmalloc.sh
diff --git a/tests/help-init.test b/t/help-init.sh
similarity index 100%
rename from tests/help-init.test
rename to t/help-init.sh
diff --git a/tests/help-lispdir.test b/t/help-lispdir.sh
similarity index 100%
rename from tests/help-lispdir.test
rename to t/help-lispdir.sh
diff --git a/t/help-multilib.sh b/t/help-multilib.sh
new file mode 100755
index 0000000..c2a8d3c
--- /dev/null
+++ b/t/help-multilib.sh
@@ -0,0 +1,34 @@
+#! /bin/sh
+# Copyright (C) 2010-2012 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/>.
+
+# Make sure that our macro 'AM_ENABLE_MULTILIB' adds proper text to
+# the configure help screen.
+# FIXME: the features tested by this script has been moved in contrib.
+# FIXME: We should move this script accordingly.
+
+. ./defs || Exit 1
+
+cat > configure.ac <<END
+AC_INIT([$me], [1.0])
+AM_ENABLE_MULTILIB
+END
+
+cat "$am_top_srcdir"/contrib/multilib/multi.m4 > aclocal.m4
+$AUTOCONF
+
+grep_configure_help --enable-multilib ' many library versions \(default\)'
+
+:
diff --git a/tests/help-python.test b/t/help-python.sh
similarity index 100%
rename from tests/help-python.test
rename to t/help-python.sh
diff --git a/tests/help-silent.test b/t/help-silent.sh
similarity index 100%
rename from tests/help-silent.test
rename to t/help-silent.sh
diff --git a/tests/help-upc.test b/t/help-upc.sh
similarity index 100%
rename from tests/help-upc.test
rename to t/help-upc.sh
diff --git a/tests/help.test b/t/help.sh
similarity index 100%
rename from tests/help.test
rename to t/help.sh
diff --git a/tests/help2.test b/t/help2.sh
similarity index 100%
rename from tests/help2.test
rename to t/help2.sh
diff --git a/tests/help3.test b/t/help3.sh
similarity index 100%
rename from tests/help3.test
rename to t/help3.sh
diff --git a/tests/help4.test b/t/help4.sh
similarity index 100%
rename from tests/help4.test
rename to t/help4.sh
diff --git a/tests/hfs.test b/t/hfs.sh
similarity index 100%
rename from tests/hfs.test
rename to t/hfs.sh
diff --git a/tests/implicit.test b/t/implicit.sh
similarity index 100%
rename from tests/implicit.test
rename to t/implicit.sh
diff --git a/tests/info.test b/t/info.sh
similarity index 100%
rename from tests/info.test
rename to t/info.sh
diff --git a/tests/init.test b/t/init.sh
similarity index 100%
rename from tests/init.test
rename to t/init.sh
diff --git a/tests/init2.test b/t/init2.sh
similarity index 100%
rename from tests/init2.test
rename to t/init2.sh
diff --git a/tests/insh2.test b/t/insh2.sh
similarity index 100%
rename from tests/insh2.test
rename to t/insh2.sh
diff --git a/t/install-info-dir.sh b/t/install-info-dir.sh
new file mode 100755
index 0000000..9e40f54
--- /dev/null
+++ b/t/install-info-dir.sh
@@ -0,0 +1,177 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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/>.
+
+# Checks on the 'install-info' target.
+# Details about the individual checks' purposes and motivations are
+# inlined, below.
+
+# FIXME: this test is a good candidate for a conversion to TAP,
+# FIXME: and could be merged with 'txinfo27.test'.
+
+required=makeinfo
+. ./defs || Exit 1
+
+cwd=`pwd` || fatal_ "cannot get current working directory"
+
+mkdir bin
+saved_PATH=$PATH; export saved_PATH
+PATH=$cwd/bin$PATH_SEPARATOR$PATH; export PATH
+
+cat >> configure.ac <<'END'
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+info_TEXINFOS = foo.texi
+END
+
+cat > foo.texi << 'END'
+\input texinfo
address@hidden foo.info
address@hidden All the following directives might be required to allow older
address@hidden versions of the 'install-info' program (e.g., version 4.8) to
address@hidden create the 'dir' index file in ${infodir}. Don't remove them.
address@hidden foo
address@hidden Dummy utilities
address@hidden
+* Foo: (foo). Does nothing at all, but has a nice name.
address@hidden direntry
address@hidden Top
+Hello world!
address@hidden
+END
+
+$ACLOCAL
+$AUTOMAKE -a
+$AUTOCONF
+
+instdir=_inst
+destdir=_dest
+
+./configure --prefix="$cwd/$instdir" --infodir="$cwd/$instdir/info"
+
+$MAKE info
+test -f foo.info
+
+if install-info --version; then
+ have_installinfo=yes
+else
+ have_installinfo=no
+fi
+
+# The 'install-info' target updates the '${infodir}/dir' file
+# by default (if the 'install-info' program is available).
+# This should happen in a normal as well as in a DESTDIR installation.
+if test $have_installinfo = yes; then
+
+ $MAKE install-info
+ test -f $instdir/info/foo.info
+ test -f $instdir/info/dir
+ $FGREP 'Does nothing at all, but has a nice name' $instdir/info/dir
+
+ $MAKE uninstall
+ test ! -f $instdir/info/foo.info
+ $FGREP 'but has a nice name' $instdir/info/dir && Exit 1
+
+ dir="$destdir/$cwd/$instdir/info"
+
+ $MAKE DESTDIR="$cwd/$destdir" install-info
+ test -f "$dir"/foo.info
+ test -f "$dir"/dir
+ $FGREP 'Does nothing at all, but has a nice name' "$dir"/dir
+ $MAKE DESTDIR="$cwd/$destdir" uninstall
+ test ! -f "$dir"/foo.info
+ $FGREP 'but has a nice name' "$dir"/dir && Exit 1
+
+ unset dir
+
+fi
+
+rm -rf $instdir $destdir
+
+# The 'install-info' target doesn't fail if the 'install-info'
+# program is not available.
+cat > bin/install-info <<'END'
+#!/bin/sh
+echo error from install-info >&2
+exit 127
+END
+chmod a+x bin/install-info
+$MAKE install-info >output 2>&1 || { cat output; Exit 1; }
+cat output
+test -f $instdir/info/foo.info
+test ! -f $instdir/info/dir
+grep 'error from install-info' output && Exit 1
+
+rm -rf $instdir output
+
+if test $have_installinfo = yes; then
+ # The 'install-info' target doesn't try to guess whether the 'install-info'
+ # is the GNU or debian version.
+ unindent > bin/install-info <<'END'
+ #!/bin/sh
+ set -e; set -u;
+ for fd in 1 2; do
+ for str in dpkg debian Debian; do
+ eval "echo This is $str install-info >&$fd"
+ done
+ done
+ PATH=$saved_PATH; export PATH
+ exec install-info ${1+"$@"}
+END
+ $MAKE install-info
+ test -f $instdir/info/foo.info
+ test -f $instdir/info/dir
+ $MAKE uninstall
+ test ! -f $instdir/info/foo.info
+ test -f $instdir/info/dir
+ $FGREP 'but has a nice name' $instdir/info/dir && Exit 1
+ : For shells with busted 'set -e'.
+fi
+
+rm -rf $instdir bin/install-info
+
+# The 'AM_UPDATE_INFO_DIR' environment variable can be used to
+# prevent the creation or update of the '${infodir}/dir' file,
+# if set to a "no" value.
+for val in no NO n; do
+ rm -rf $instdir
+ env AM_UPDATE_INFO_DIR="$val" $MAKE install-info
+ test -f $instdir/info/foo.info
+ test ! -f $instdir/info/dir
+done
+
+$MAKE install-info
+chmod a-w $instdir/info/dir
+for val in no NO n; do
+ env AM_UPDATE_INFO_DIR="$val" $MAKE uninstall
+ $FGREP 'Does nothing at all, but has a nice name' $instdir/info/dir
+done
+
+if test $have_installinfo = yes; then
+ for val in 'yes' 'who cares!'; do
+ rm -rf $instdir
+ env AM_UPDATE_INFO_DIR="$val" $MAKE install-info
+ test -f $instdir/info/foo.info
+ test -f $instdir/info/dir
+ env AM_UPDATE_INFO_DIR="$val" $MAKE uninstall
+ test ! -f $instdir/info/foo.info
+ $FGREP 'but has a nice name' $instdir/info/dir && Exit 1
+ : For shells with busted 'set -e'.
+ done
+fi
+
+:
diff --git a/tests/install2.test b/t/install2.sh
similarity index 100%
rename from tests/install2.test
rename to t/install2.sh
diff --git a/tests/installdir.test b/t/installdir.sh
similarity index 100%
rename from tests/installdir.test
rename to t/installdir.sh
diff --git a/tests/instdat.test b/t/instdat.sh
similarity index 100%
rename from tests/instdat.test
rename to t/instdat.sh
diff --git a/tests/instdat2.test b/t/instdat2.sh
similarity index 100%
rename from tests/instdat2.test
rename to t/instdat2.sh
diff --git a/tests/instdir-cond.test b/t/instdir-cond.sh
old mode 100644
new mode 100755
similarity index 100%
rename from tests/instdir-cond.test
rename to t/instdir-cond.sh
diff --git a/tests/instdir-cond2.test b/t/instdir-cond2.sh
old mode 100644
new mode 100755
similarity index 100%
rename from tests/instdir-cond2.test
rename to t/instdir-cond2.sh
diff --git a/tests/instdir-java.test b/t/instdir-java.sh
similarity index 100%
rename from tests/instdir-java.test
rename to t/instdir-java.sh
diff --git a/tests/instdir-lisp.test b/t/instdir-lisp.sh
similarity index 100%
rename from tests/instdir-lisp.test
rename to t/instdir-lisp.sh
diff --git a/tests/instdir-ltlib.test b/t/instdir-ltlib.sh
similarity index 100%
rename from tests/instdir-ltlib.test
rename to t/instdir-ltlib.sh
diff --git a/tests/instdir-no-empty.test b/t/instdir-no-empty.sh
similarity index 100%
rename from tests/instdir-no-empty.test
rename to t/instdir-no-empty.sh
diff --git a/tests/instdir-prog.test b/t/instdir-prog.sh
similarity index 100%
rename from tests/instdir-prog.test
rename to t/instdir-prog.sh
diff --git a/tests/instdir-python.test b/t/instdir-python.sh
similarity index 100%
rename from tests/instdir-python.test
rename to t/instdir-python.sh
diff --git a/tests/instdir-texi.test b/t/instdir-texi.sh
similarity index 100%
rename from tests/instdir-texi.test
rename to t/instdir-texi.sh
diff --git a/tests/instdir.test b/t/instdir.sh
similarity index 100%
rename from tests/instdir.test
rename to t/instdir.sh
diff --git a/tests/instdir2.test b/t/instdir2.sh
similarity index 100%
rename from tests/instdir2.test
rename to t/instdir2.sh
diff --git a/tests/instexec.test b/t/instexec.sh
similarity index 100%
rename from tests/instexec.test
rename to t/instexec.sh
diff --git a/tests/instfail-info.test b/t/instfail-info.sh
similarity index 100%
rename from tests/instfail-info.test
rename to t/instfail-info.sh
diff --git a/tests/instfail-java.test b/t/instfail-java.sh
similarity index 100%
rename from tests/instfail-java.test
rename to t/instfail-java.sh
diff --git a/tests/instfail-libtool.test b/t/instfail-libtool.sh
similarity index 100%
rename from tests/instfail-libtool.test
rename to t/instfail-libtool.sh
diff --git a/tests/instfail.test b/t/instfail.sh
similarity index 100%
rename from tests/instfail.test
rename to t/instfail.sh
diff --git a/tests/insthook.test b/t/insthook.sh
similarity index 100%
rename from tests/insthook.test
rename to t/insthook.sh
diff --git a/tests/instman.test b/t/instman.sh
similarity index 100%
rename from tests/instman.test
rename to t/instman.sh
diff --git a/tests/instman2.test b/t/instman2.sh
similarity index 100%
rename from tests/instman2.test
rename to t/instman2.sh
diff --git a/tests/instmany-mans.test b/t/instmany-mans.sh
similarity index 100%
rename from tests/instmany-mans.test
rename to t/instmany-mans.sh
diff --git a/tests/instmany-python.test b/t/instmany-python.sh
similarity index 100%
rename from tests/instmany-python.test
rename to t/instmany-python.sh
diff --git a/tests/instmany.test b/t/instmany.sh
similarity index 100%
rename from tests/instmany.test
rename to t/instmany.sh
diff --git a/tests/instsh.test b/t/instsh.sh
similarity index 100%
rename from tests/instsh.test
rename to t/instsh.sh
diff --git a/tests/instsh2.test b/t/instsh2.sh
similarity index 100%
rename from tests/instsh2.test
rename to t/instsh2.sh
diff --git a/tests/instsh3.test b/t/instsh3.sh
similarity index 100%
rename from tests/instsh3.test
rename to t/instsh3.sh
diff --git a/tests/instspc.tap b/t/instspc.tap
similarity index 100%
rename from tests/instspc.tap
rename to t/instspc.tap
diff --git a/tests/interp.test b/t/interp.sh
similarity index 100%
rename from tests/interp.test
rename to t/interp.sh
diff --git a/tests/interp2.test b/t/interp2.sh
similarity index 100%
rename from tests/interp2.test
rename to t/interp2.sh
diff --git a/tests/interp3.test b/t/interp3.sh
similarity index 100%
rename from tests/interp3.test
rename to t/interp3.sh
diff --git a/tests/java-check.test b/t/java-check.sh
similarity index 100%
rename from tests/java-check.test
rename to t/java-check.sh
diff --git a/tests/java-clean.test b/t/java-clean.sh
similarity index 100%
rename from tests/java-clean.test
rename to t/java-clean.sh
diff --git a/tests/java-compile-install.test b/t/java-compile-install.sh
similarity index 100%
rename from tests/java-compile-install.test
rename to t/java-compile-install.sh
diff --git a/tests/java-compile-run-flat.test b/t/java-compile-run-flat.sh
similarity index 100%
rename from tests/java-compile-run-flat.test
rename to t/java-compile-run-flat.sh
diff --git a/tests/java-compile-run-nested.test b/t/java-compile-run-nested.sh
similarity index 100%
rename from tests/java-compile-run-nested.test
rename to t/java-compile-run-nested.sh
diff --git a/tests/java-empty-classpath.test b/t/java-empty-classpath.sh
similarity index 100%
rename from tests/java-empty-classpath.test
rename to t/java-empty-classpath.sh
diff --git a/tests/java-extra.test b/t/java-extra.sh
similarity index 100%
rename from tests/java-extra.test
rename to t/java-extra.sh
diff --git a/tests/java-mix.test b/t/java-mix.sh
similarity index 100%
rename from tests/java-mix.test
rename to t/java-mix.sh
diff --git a/tests/java-no-duplicate.test b/t/java-no-duplicate.sh
similarity index 100%
rename from tests/java-no-duplicate.test
rename to t/java-no-duplicate.sh
diff --git a/tests/java-nobase.test b/t/java-nobase.sh
similarity index 100%
rename from tests/java-nobase.test
rename to t/java-nobase.sh
diff --git a/tests/java-noinst.test b/t/java-noinst.sh
similarity index 100%
rename from tests/java-noinst.test
rename to t/java-noinst.sh
diff --git a/tests/java-rebuild.test b/t/java-rebuild.sh
similarity index 100%
rename from tests/java-rebuild.test
rename to t/java-rebuild.sh
diff --git a/tests/java-sources.test b/t/java-sources.sh
similarity index 100%
rename from tests/java-sources.test
rename to t/java-sources.sh
diff --git a/tests/java-uninstall.test b/t/java-uninstall.sh
similarity index 100%
rename from tests/java-uninstall.test
rename to t/java-uninstall.sh
diff --git a/tests/java.test b/t/java.sh
similarity index 100%
rename from tests/java.test
rename to t/java.sh
diff --git a/tests/java2.test b/t/java2.sh
similarity index 100%
rename from tests/java2.test
rename to t/java2.sh
diff --git a/tests/java3.test b/t/java3.sh
similarity index 100%
rename from tests/java3.test
rename to t/java3.sh
diff --git a/tests/javadir-undefined.test b/t/javadir-undefined.sh
similarity index 100%
rename from tests/javadir-undefined.test
rename to t/javadir-undefined.sh
diff --git a/tests/javaflags.test b/t/javaflags.sh
similarity index 100%
rename from tests/javaflags.test
rename to t/javaflags.sh
diff --git a/tests/javaprim.test b/t/javaprim.sh
similarity index 100%
rename from tests/javaprim.test
rename to t/javaprim.sh
diff --git a/tests/javasubst.test b/t/javasubst.sh
similarity index 100%
rename from tests/javasubst.test
rename to t/javasubst.sh
diff --git a/tests/ldadd.test b/t/ldadd.sh
similarity index 100%
rename from tests/ldadd.test
rename to t/ldadd.sh
diff --git a/tests/ldflags.test b/t/ldflags.sh
similarity index 100%
rename from tests/ldflags.test
rename to t/ldflags.sh
diff --git a/t/lex-clean-cxx.sh b/t/lex-clean-cxx.sh
new file mode 100755
index 0000000..1c57524
--- /dev/null
+++ b/t/lex-clean-cxx.sh
@@ -0,0 +1,127 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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 that C++ source and header files derived from non-distributed
+# Yacc sources are cleaned by "make clean", while C++ source and
+# header files derived from distributed Yacc sources are cleaned by
+# "make maintainer-clean".
+# See also sister test 'lex-clean.test'.
+
+required=lex
+. ./defs || Exit 1
+
+cat >> configure.ac << 'END'
+AC_PROG_CXX
+AC_PROG_LEX
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = foo bar baz qux
+
+foo_SOURCES = mainfoo.cc parsefoo.lxx
+
+bar_SOURCES = mainbar.cpp parsebar.ll
+bar_LFLAGS = $(AM_LFLAGS)
+
+baz_SOURCES = mainbaz.c++
+nodist_baz_SOURCES = parsebaz.l++
+
+qux_SOURCES = mainqux.cxx
+nodist_qux_SOURCES = parsequx.lpp
+qux_LFLAGS = $(AM_LFLAGS)
+
+parsebaz.l++ parsequx.lpp:
+ cp $(srcdir)/parsefoo.lxx $@
+
+CLEANFILES = parsebaz.l++ parsequx.lpp
+
+LDADD = $(LEXLIB)
+END
+
+cat > parsefoo.lxx << 'END'
+%{
+#define YY_NO_UNISTD_H 1
+int isatty (int fd) { return 0; }
+%}
+%%
+"GOOD" return EOF;
+.
+%%
+int yywrap (void)
+{
+ return 1;
+}
+END
+cp parsefoo.lxx parsebar.ll
+
+cat > mainfoo.cc << 'END'
+// This file should contain valid C++ but invalid C.
+using namespace std;
+int main (int argc, char **argv)
+{
+ extern int yylex (void);
+ return yylex ();
+}
+END
+cp mainfoo.cc mainbar.cpp
+cp mainfoo.cc mainbaz.c++
+cp mainfoo.cc mainqux.cxx
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE -a
+
+./configure
+
+cp config.status config.sav
+
+$MAKE
+ls -l
+# Sanity checks.
+test -f parsefoo.cxx
+test -f bar-parsebar.cc
+test -f parsebaz.l++
+test -f parsebaz.c++
+test -f parsequx.lpp
+test -f qux-parsequx.cpp
+
+for target in clean distclean; do
+ $MAKE $target
+ ls -l
+ test -f parsefoo.cxx
+ test -f bar-parsebar.cc
+ test ! -r parsebaz.l++
+ test ! -r parsebaz.c++
+ test ! -r parsequx.lpp
+ test ! -r qux-parsequx.cpp
+done
+
+cp config.sav config.status
+./config.status # re-create Makefile
+
+$MAKE maintainer-clean
+ls -l
+test -f parsefoo.lxx
+test -f parsebar.ll
+test ! -r parsefoo.cxx
+test ! -r bar-parsebar.cc
+test -f parsefoo.lxx
+test -f parsebar.ll
+test ! -r parsefoo.cxx
+test ! -r bar-parsebar.cc
+
+:
diff --git a/tests/lex-clean.test b/t/lex-clean.sh
similarity index 100%
rename from tests/lex-clean.test
rename to t/lex-clean.sh
diff --git a/t/lex-depend-cxx.sh b/t/lex-depend-cxx.sh
new file mode 100755
index 0000000..27895fc
--- /dev/null
+++ b/t/lex-depend-cxx.sh
@@ -0,0 +1,96 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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/>.
+
+# Test to make sure dependencies work with Lex/C++.
+# Test synthesized from PR automake/6.
+
+required=lex
+. ./defs || Exit 1
+
+cat >> configure.ac << 'END'
+AC_PROG_CXX
+AM_PROG_LEX
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+noinst_PROGRAMS = joe moe
+joe_SOURCES = joe.ll
+moe_SOURCES = moe.l++
+LDADD = $(LEXLIB)
+
+.PHONY: test-deps-exist
+test-deps-exist:
+ ls -l $(DEPDIR)
+ test -f $(DEPDIR)/joe.Po
+ test -f $(DEPDIR)/moe.Po
+
+.PHONY: test-obj-updated
+test-obj-updated: joe.$(OBJEXT) moe.$(OBJEXT)
+ stat older my-hdr.hxx joe.$(OBJEXT) moe.$(OBJEXT) || :
+ test `ls -t older joe.$(OBJEXT) | sed 1q` = joe.$(OBJEXT)
+ test `ls -t older moe.$(OBJEXT) | sed 1q` = moe.$(OBJEXT)
+END
+
+cat > joe.ll << 'END'
+%{
+#define YY_NO_UNISTD_H 1
+int isatty (int fd) { return 0; }
+%}
+%%
+"foo" return EOF;
+.
+%%
+#include "my-hdr.hxx"
+int yywrap (void)
+{
+ return 1;
+}
+int main (int argc, char **argv)
+{
+ printf("Hello, World!\n");
+ return 0;
+}
+END
+
+cp joe.ll moe.l++
+
+cat > my-hdr.hxx <<'END'
+// This header contains deliberetly invalid C (but valid C++)
+#include <cstdio>
+using namespace std;
+END
+
+$ACLOCAL
+$AUTOMAKE -a
+
+$FGREP joe.Po Makefile.in
+$FGREP moe.Po Makefile.in
+
+$AUTOCONF
+# Try to enable dependency tracking if possible, even if that means
+# using slow dependency extractors.
+./configure --enable-dependency-tracking
+
+$MAKE
+$MAKE test-deps-exist
+
+: > older
+$sleep
+touch my-hdr.hxx
+$MAKE test-obj-updated
+
+:
diff --git a/tests/lex-depend-grep.test b/t/lex-depend-grep.sh
similarity index 100%
rename from tests/lex-depend-grep.test
rename to t/lex-depend-grep.sh
diff --git a/tests/lex-depend.test b/t/lex-depend.sh
similarity index 100%
rename from tests/lex-depend.test
rename to t/lex-depend.sh
diff --git a/tests/lex-lib-external.test b/t/lex-lib-external.sh
similarity index 100%
rename from tests/lex-lib-external.test
rename to t/lex-lib-external.sh
diff --git a/tests/lex-lib.test b/t/lex-lib.sh
similarity index 100%
rename from tests/lex-lib.test
rename to t/lex-lib.sh
diff --git a/tests/lex-libobj.test b/t/lex-libobj.sh
similarity index 100%
rename from tests/lex-libobj.test
rename to t/lex-libobj.sh
diff --git a/tests/lex-line.test b/t/lex-line.sh
similarity index 100%
rename from tests/lex-line.test
rename to t/lex-line.sh
diff --git a/tests/lex-nodist.test b/t/lex-nodist.sh
similarity index 100%
rename from tests/lex-nodist.test
rename to t/lex-nodist.sh
diff --git a/tests/lex-noyywrap.test b/t/lex-noyywrap.sh
similarity index 100%
rename from tests/lex-noyywrap.test
rename to t/lex-noyywrap.sh
diff --git a/tests/lex-pr204.test b/t/lex-pr204.sh
similarity index 100%
rename from tests/lex-pr204.test
rename to t/lex-pr204.sh
diff --git a/tests/lex-subobj-nodep.test b/t/lex-subobj-nodep.sh
similarity index 100%
rename from tests/lex-subobj-nodep.test
rename to t/lex-subobj-nodep.sh
diff --git a/tests/lex.test b/t/lex.sh
similarity index 100%
rename from tests/lex.test
rename to t/lex.sh
diff --git a/tests/lex2.test b/t/lex2.sh
similarity index 100%
rename from tests/lex2.test
rename to t/lex2.sh
diff --git a/tests/lex3.test b/t/lex3.sh
similarity index 100%
rename from tests/lex3.test
rename to t/lex3.sh
diff --git a/tests/lex5.test b/t/lex5.sh
similarity index 100%
rename from tests/lex5.test
rename to t/lex5.sh
diff --git a/tests/lexcpp.test b/t/lexcpp.sh
similarity index 100%
rename from tests/lexcpp.test
rename to t/lexcpp.sh
diff --git a/tests/lexvpath.test b/t/lexvpath.sh
similarity index 100%
rename from tests/lexvpath.test
rename to t/lexvpath.sh
diff --git a/tests/lflags.test b/t/lflags.sh
similarity index 100%
rename from tests/lflags.test
rename to t/lflags.sh
diff --git a/tests/lflags2.test b/t/lflags2.sh
similarity index 100%
rename from tests/lflags2.test
rename to t/lflags2.sh
diff --git a/tests/libexec.test b/t/libexec.sh
similarity index 100%
rename from tests/libexec.test
rename to t/libexec.sh
diff --git a/tests/libobj-basic.test b/t/libobj-basic.sh
similarity index 100%
rename from tests/libobj-basic.test
rename to t/libobj-basic.sh
diff --git a/tests/libobj10.test b/t/libobj10.sh
similarity index 100%
rename from tests/libobj10.test
rename to t/libobj10.sh
diff --git a/tests/libobj12.test b/t/libobj12.sh
similarity index 100%
rename from tests/libobj12.test
rename to t/libobj12.sh
diff --git a/tests/libobj13.test b/t/libobj13.sh
similarity index 100%
rename from tests/libobj13.test
rename to t/libobj13.sh
diff --git a/tests/libobj14.test b/t/libobj14.sh
similarity index 100%
rename from tests/libobj14.test
rename to t/libobj14.sh
diff --git a/tests/libobj15a.test b/t/libobj15a.sh
similarity index 100%
rename from tests/libobj15a.test
rename to t/libobj15a.sh
diff --git a/tests/libobj15b.test b/t/libobj15b.sh
similarity index 100%
rename from tests/libobj15b.test
rename to t/libobj15b.sh
diff --git a/tests/libobj15c.test b/t/libobj15c.sh
similarity index 100%
rename from tests/libobj15c.test
rename to t/libobj15c.sh
diff --git a/tests/libobj16a.test b/t/libobj16a.sh
similarity index 100%
rename from tests/libobj16a.test
rename to t/libobj16a.sh
diff --git a/tests/libobj16b.test b/t/libobj16b.sh
similarity index 100%
rename from tests/libobj16b.test
rename to t/libobj16b.sh
diff --git a/tests/libobj17.test b/t/libobj17.sh
similarity index 100%
rename from tests/libobj17.test
rename to t/libobj17.sh
diff --git a/tests/libobj18.test b/t/libobj18.sh
similarity index 100%
rename from tests/libobj18.test
rename to t/libobj18.sh
diff --git a/tests/libobj19.test b/t/libobj19.sh
similarity index 100%
rename from tests/libobj19.test
rename to t/libobj19.sh
diff --git a/tests/libobj2.test b/t/libobj2.sh
similarity index 100%
rename from tests/libobj2.test
rename to t/libobj2.sh
diff --git a/tests/libobj20a.test b/t/libobj20a.sh
similarity index 100%
rename from tests/libobj20a.test
rename to t/libobj20a.sh
diff --git a/tests/libobj20b.test b/t/libobj20b.sh
similarity index 100%
rename from tests/libobj20b.test
rename to t/libobj20b.sh
diff --git a/tests/libobj20c.test b/t/libobj20c.sh
similarity index 100%
rename from tests/libobj20c.test
rename to t/libobj20c.sh
diff --git a/tests/libobj3.test b/t/libobj3.sh
similarity index 100%
rename from tests/libobj3.test
rename to t/libobj3.sh
diff --git a/tests/libobj4.test b/t/libobj4.sh
similarity index 100%
rename from tests/libobj4.test
rename to t/libobj4.sh
diff --git a/tests/libobj5.test b/t/libobj5.sh
similarity index 100%
rename from tests/libobj5.test
rename to t/libobj5.sh
diff --git a/tests/libobj7.test b/t/libobj7.sh
similarity index 100%
rename from tests/libobj7.test
rename to t/libobj7.sh
diff --git a/tests/library.test b/t/library.sh
similarity index 100%
rename from tests/library.test
rename to t/library.sh
diff --git a/tests/library2.test b/t/library2.sh
similarity index 100%
rename from tests/library2.test
rename to t/library2.sh
diff --git a/tests/library3.test b/t/library3.sh
similarity index 100%
rename from tests/library3.test
rename to t/library3.sh
diff --git a/tests/libtoo10.test b/t/libtoo10.sh
similarity index 100%
rename from tests/libtoo10.test
rename to t/libtoo10.sh
diff --git a/tests/libtoo11.test b/t/libtoo11.sh
similarity index 100%
rename from tests/libtoo11.test
rename to t/libtoo11.sh
diff --git a/tests/libtool-macros.test b/t/libtool-macros.sh
similarity index 100%
rename from tests/libtool-macros.test
rename to t/libtool-macros.sh
diff --git a/tests/libtool.test b/t/libtool.sh
similarity index 100%
rename from tests/libtool.test
rename to t/libtool.sh
diff --git a/tests/libtool2.test b/t/libtool2.sh
similarity index 100%
rename from tests/libtool2.test
rename to t/libtool2.sh
diff --git a/tests/libtool3.test b/t/libtool3.sh
similarity index 100%
rename from tests/libtool3.test
rename to t/libtool3.sh
diff --git a/tests/libtool4.test b/t/libtool4.sh
similarity index 100%
rename from tests/libtool4.test
rename to t/libtool4.sh
diff --git a/tests/libtool5.test b/t/libtool5.sh
similarity index 100%
rename from tests/libtool5.test
rename to t/libtool5.sh
diff --git a/tests/libtool6.test b/t/libtool6.sh
similarity index 100%
rename from tests/libtool6.test
rename to t/libtool6.sh
diff --git a/tests/libtool7.test b/t/libtool7.sh
similarity index 100%
rename from tests/libtool7.test
rename to t/libtool7.sh
diff --git a/tests/libtool8.test b/t/libtool8.sh
similarity index 100%
rename from tests/libtool8.test
rename to t/libtool8.sh
diff --git a/tests/libtool9.test b/t/libtool9.sh
similarity index 100%
rename from tests/libtool9.test
rename to t/libtool9.sh
diff --git a/tests/license.test b/t/license.sh
similarity index 100%
rename from tests/license.test
rename to t/license.sh
diff --git a/tests/license2.test b/t/license2.sh
similarity index 100%
rename from tests/license2.test
rename to t/license2.sh
diff --git a/tests/link_c_cxx.test b/t/link_c_cxx.sh
similarity index 100%
rename from tests/link_c_cxx.test
rename to t/link_c_cxx.sh
diff --git a/tests/link_cond.test b/t/link_cond.sh
similarity index 100%
rename from tests/link_cond.test
rename to t/link_cond.sh
diff --git a/tests/link_dist.test b/t/link_dist.sh
similarity index 100%
rename from tests/link_dist.test
rename to t/link_dist.sh
diff --git a/tests/link_f90_only.test b/t/link_f90_only.sh
similarity index 100%
rename from tests/link_f90_only.test
rename to t/link_f90_only.sh
diff --git a/tests/link_f_only.test b/t/link_f_only.sh
similarity index 100%
rename from tests/link_f_only.test
rename to t/link_f_only.sh
diff --git a/tests/link_fc.test b/t/link_fc.sh
similarity index 100%
rename from tests/link_fc.test
rename to t/link_fc.sh
diff --git a/tests/link_fccxx.test b/t/link_fccxx.sh
similarity index 100%
rename from tests/link_fccxx.test
rename to t/link_fccxx.sh
diff --git a/tests/link_fcxx.test b/t/link_fcxx.sh
similarity index 100%
rename from tests/link_fcxx.test
rename to t/link_fcxx.sh
diff --git a/tests/link_override.test b/t/link_override.sh
similarity index 100%
rename from tests/link_override.test
rename to t/link_override.sh
diff --git a/tests/lisp2.test b/t/lisp2.sh
similarity index 100%
rename from tests/lisp2.test
rename to t/lisp2.sh
diff --git a/tests/lisp3.test b/t/lisp3.sh
similarity index 100%
rename from tests/lisp3.test
rename to t/lisp3.sh
diff --git a/tests/lisp4.test b/t/lisp4.sh
similarity index 100%
rename from tests/lisp4.test
rename to t/lisp4.sh
diff --git a/tests/lisp5.test b/t/lisp5.sh
similarity index 100%
rename from tests/lisp5.test
rename to t/lisp5.sh
diff --git a/tests/lisp6.test b/t/lisp6.sh
similarity index 100%
rename from tests/lisp6.test
rename to t/lisp6.sh
diff --git a/tests/lisp7.test b/t/lisp7.sh
similarity index 100%
rename from tests/lisp7.test
rename to t/lisp7.sh
diff --git a/tests/lisp8.test b/t/lisp8.sh
similarity index 100%
rename from tests/lisp8.test
rename to t/lisp8.sh
diff --git a/tests/lispdry.test b/t/lispdry.sh
similarity index 100%
rename from tests/lispdry.test
rename to t/lispdry.sh
diff --git a/t/list-of-tests.mk b/t/list-of-tests.mk
new file mode 100644
index 0000000..365d918
--- /dev/null
+++ b/t/list-of-tests.mk
@@ -0,0 +1,1267 @@
+## Makefile fragment that holds the list of test scripts of the automake
+## testsuite. This fragment is meant to be included by the Makefile.am,
+## but also to be executed directly by make when bootstrapping automake.
+
+## Copyright (C) 2011-2012 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/>.
+
+# FIXME: this "expected failures" are in truth an hack used to
+# FIXME: to verify that some incorrect usages of our perl libraries
+# FIXME: raise an error. We should find a cleaner way to check that.
+perl_fake_XFAIL_TESTS = \
+t/pm/Cond2.pl \
+t/pm/Cond3.pl \
+t/pm/DisjCon2.pl \
+t/pm/DisjCon3.pl \
+t/pm/Version2.pl \
+t/pm/Version3.pl
+
+XFAIL_TESTS = \
+t/all.sh \
+t/yacc-bison-skeleton-cxx.sh \
+t/yacc-bison-skeleton.sh \
+t/cond17.sh \
+t/gcj6.sh \
+t/override-conditional-2.sh \
+t/dist-pr109765.sh \
+t/instdir-cond2.sh \
+t/interp3.sh \
+t/java-nobase.sh \
+t/objext-pr10128.sh \
+t/parallel-tests-many.sh \
+t/pr8365-remake-timing.sh \
+t/remake-am-pr10111.sh \
+t/remake-m4-pr10111.sh \
+t/txinfo5.sh \
+$(perl_fake_XFAIL_TESTS)
+
+perl_TESTS = \
+t/pm/Cond2.pl \
+t/pm/Cond3.pl \
+t/pm/Condition.pl \
+t/pm/Condition-t.pl \
+t/pm/DisjCon2.pl \
+t/pm/DisjCon3.pl \
+t/pm/DisjConditions.pl \
+t/pm/DisjConditions-t.pl \
+t/pm/Version.pl \
+t/pm/Version2.pl \
+t/pm/Version3.pl \
+t/pm/Wrap.pl
+
+# 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 improves performance on
+# concurrent testsuite runs.
+handwritten_TESTS = \
+t/get-sysconf.sh \
+$(perl_TESTS) \
+t/instspc.tap \
+t/aclocal.sh \
+t/aclocal3.sh \
+t/aclocal4.sh \
+t/aclocal5.sh \
+t/aclocal6.sh \
+t/aclocal7.sh \
+t/aclocal8.sh \
+t/aclocal9.sh \
+t/acloca10.sh \
+t/acloca11.sh \
+t/acloca12.sh \
+t/acloca13.sh \
+t/acloca14.sh \
+t/acloca15.sh \
+t/acloca16.sh \
+t/acloca17.sh \
+t/acloca18.sh \
+t/acloca19.sh \
+t/acloca20.sh \
+t/acloca21.sh \
+t/acloca22.sh \
+t/acloca23.sh \
+t/aclocal-acdir.sh \
+t/aclocal-install-absdir.sh \
+t/aclocal-print-acdir.sh \
+t/aclocal-path.sh \
+t/aclocal-path-install.sh \
+t/aclocal-path-install-serial.sh \
+t/aclocal-path-nonexistent.sh \
+t/aclocal-path-precedence.sh \
+t/aclocal-install-fail.sh \
+t/aclocal-install-mkdir.sh \
+t/aclocal-no-install-no-mkdir.sh \
+t/aclocal-verbose-install.sh \
+t/ac-output-old.tap \
+t/acsilent.sh \
+t/acsubst.sh \
+t/acsubst2.sh \
+t/add-missing.tap \
+t/all.sh \
+t/all2.sh \
+t/alloca.sh \
+t/alloca2.sh \
+t/alpha.sh \
+t/alpha2.sh \
+t/amhello-cflags.sh \
+t/amhello-cross-compile.sh \
+t/amhello-binpkg.sh \
+t/amassign.sh \
+t/ammissing.sh \
+t/amopt.sh \
+t/amopts-location.sh \
+t/amopts-variable-expansion.sh \
+t/amsubst.sh \
+t/ansi2knr-no-more.sh \
+t/ar-lib.sh \
+t/ar-lib2.sh \
+t/ar-lib3.sh \
+t/ar-lib4.sh \
+t/ar-lib5a.sh \
+t/ar-lib5b.sh \
+t/ar-lib6a.sh \
+t/ar-lib6b.sh \
+t/ar-lib7.sh \
+t/ar.sh \
+t/ar2.sh \
+t/ar3.sh \
+t/ar4.sh \
+t/ar5.sh \
+t/asm.sh \
+t/asm2.sh \
+t/asm3.sh \
+t/autodist.sh \
+t/autodist-subdir.sh \
+t/autodist-acconfig.sh \
+t/autodist-acconfig-no-subdir.sh \
+t/autodist-aclocal-m4.sh \
+t/autodist-config-headers.sh \
+t/autodist-configure-no-subdir.sh \
+t/autodist-no-duplicate.sh \
+t/autodist-stamp-vti.sh \
+t/autohdr.sh \
+t/autohdr2.sh \
+t/autohdr3.sh \
+t/autohdr4.sh \
+t/autohdrdry.sh \
+t/automake-cmdline.tap \
+t/auxdir.sh \
+t/auxdir6.sh \
+t/auxdir7.sh \
+t/auxdir8.sh \
+t/auxdir-autodetect.sh \
+t/auxdir-computed.tap \
+t/auxdir-misplaced.sh \
+t/auxdir-nonexistent.sh \
+t/auxdir-unportable.tap \
+t/backcompat.sh \
+t/backcompat2.sh \
+t/backcompat3.sh \
+t/backcompat4.sh \
+t/backcompat5.sh \
+t/backcompat6.sh \
+t/backsl.sh \
+t/backsl2.sh \
+t/backsl3.sh \
+t/backsl4.sh \
+t/badline.sh \
+t/badopt.sh \
+t/badprog.sh \
+t/block.sh \
+t/bsource.sh \
+t/candist.sh \
+t/canon.sh \
+t/canon2.sh \
+t/canon3.sh \
+t/canon4.sh \
+t/canon5.sh \
+t/canon6.sh \
+t/canon7.sh \
+t/canon8.sh \
+t/canon-name.sh \
+t/ccnoco.sh \
+t/ccnoco2.sh \
+t/ccnoco3.sh \
+t/check.sh \
+t/check2.sh \
+t/check3.sh \
+t/check4.sh \
+t/check5.sh \
+t/check6.sh \
+t/check7.sh \
+t/check8.sh \
+t/check10.sh \
+t/check11.sh \
+t/check12.sh \
+t/check-subst.sh \
+t/check-subst-prog.sh \
+t/check-exported-srcdir.sh \
+t/check-fd-redirect.sh \
+t/check-tests-in-builddir.sh \
+t/check-no-test-driver.sh \
+t/check-concurrency-bug9245.sh \
+t/checkall.sh \
+t/clean.sh \
+t/clean2.sh \
+t/colneq2.sh \
+t/colon.sh \
+t/colon2.sh \
+t/colon3.sh \
+t/colon4.sh \
+t/colon5.sh \
+t/colon6.sh \
+t/colon7.sh \
+t/color.sh \
+t/color2.sh \
+t/comment.sh \
+t/comment2.sh \
+t/comment3.sh \
+t/comment4.sh \
+t/comment5.sh \
+t/comment6.sh \
+t/comment7.sh \
+t/comment8.sh \
+t/comment9.sh \
+t/commen10.sh \
+t/commen11.sh \
+t/comments-in-var-def.sh \
+t/compile.sh \
+t/compile2.sh \
+t/compile3.sh \
+t/compile4.sh \
+t/compile5.sh \
+t/compile6.sh \
+t/compile_f90_c_cxx.sh \
+t/compile_f_c_cxx.sh \
+t/cond-basic.sh \
+t/cond.sh \
+t/cond2.sh \
+t/cond3.sh \
+t/cond4.sh \
+t/cond5.sh \
+t/cond6.sh \
+t/cond7.sh \
+t/cond8.sh \
+t/cond9.sh \
+t/cond10.sh \
+t/cond11.sh \
+t/cond13.sh \
+t/cond14.sh \
+t/cond15.sh \
+t/cond16.sh \
+t/cond17.sh \
+t/cond18.sh \
+t/cond19.sh \
+t/cond20.sh \
+t/cond21.sh \
+t/cond22.sh \
+t/cond23.sh \
+t/cond24.sh \
+t/cond25.sh \
+t/cond26.sh \
+t/cond27.sh \
+t/cond28.sh \
+t/cond29.sh \
+t/cond30.sh \
+t/cond31.sh \
+t/cond32.sh \
+t/cond33.sh \
+t/cond34.sh \
+t/cond35.sh \
+t/cond36.sh \
+t/cond37.sh \
+t/cond38.sh \
+t/cond39.sh \
+t/cond40.sh \
+t/cond41.sh \
+t/cond42.sh \
+t/cond43.sh \
+t/cond44.sh \
+t/cond45.sh \
+t/cond46.sh \
+t/condd.sh \
+t/condhook.sh \
+t/condhook2.sh \
+t/condinc.sh \
+t/condinc2.sh \
+t/condlib.sh \
+t/condman2.sh \
+t/condman3.sh \
+t/configure.sh \
+t/confdeps.sh \
+t/conff.sh \
+t/conff2.sh \
+t/conffile-leading-dot.sh \
+t/confh.sh \
+t/confh4.sh \
+t/confh5.sh \
+t/confh6.sh \
+t/confh7.sh \
+t/confh8.sh \
+t/confincl.sh \
+t/conflnk.sh \
+t/conflnk2.sh \
+t/conflnk3.sh \
+t/conflnk4.sh \
+t/confsub.sh \
+t/confvar.sh \
+t/confvar2.sh \
+t/copy.sh \
+t/cscope.tap \
+t/cscope2.sh \
+t/cscope3.sh \
+t/cxx.sh \
+t/cxx2.sh \
+t/cxxcpp.sh \
+t/cxxlibobj.sh \
+t/cxxlink.sh \
+t/cxxnoc.sh \
+t/cxxo.sh \
+t/cygnus-check-without-all.sh \
+t/cygnus-dependency-tracking.sh \
+t/cygnus-imply-foreign.sh \
+t/cygnus-no-dist.sh \
+t/cygnus-no-installinfo.sh \
+t/cygnus-requires-maintainer-mode.sh \
+t/cygwin32.sh \
+t/dash.sh \
+t/defun.sh \
+t/defun2.sh \
+t/dejagnu.sh \
+t/dejagnu2.sh \
+t/dejagnu3.sh \
+t/dejagnu4.sh \
+t/dejagnu5.sh \
+t/dejagnu6.sh \
+t/dejagnu7.sh \
+t/dejagnu-absolute-builddir.sh \
+t/dejagnu-relative-srcdir.sh \
+t/dejagnu-siteexp-extend.sh \
+t/dejagnu-siteexp-append.sh \
+t/dejagnu-siteexp-useredit.sh \
+t/deleted-am.sh \
+t/deleted-m4.sh \
+t/depacl2.sh \
+t/depcomp.sh \
+t/depcomp2.sh \
+t/depcomp8a.sh \
+t/depcomp8b.sh \
+t/depcomp-recover.sh \
+t/depcomp-shuffle-sub-vpath.sh \
+t/depcomp-shuffle-sub.sh \
+t/depcomp-shuffle-vpath.sh \
+t/depcomp-shuffle.sh \
+t/depdist.sh \
+t/depend.sh \
+t/depend3.sh \
+t/depend4.sh \
+t/deprecated-acinit.sh \
+t/destdir.sh \
+t/dirlist.sh \
+t/dirlist2.sh \
+t/dirlist-abspath.sh \
+t/discover.sh \
+t/dist-formats.tap \
+t/dist-auxdir-many-subdirs.sh \
+t/dist-auxfile-2.sh \
+t/dist-auxfile.sh \
+t/dist-included-parent-dir.sh \
+t/dist-missing-am.sh \
+t/dist-missing-included-m4.sh \
+t/dist-missing-m4.sh \
+t/dist-readonly.sh \
+t/dist-repeated.sh \
+t/dist-pr109765.sh \
+t/distcleancheck.sh \
+t/distcom2.sh \
+t/distcom3.sh \
+t/distcom4.sh \
+t/distcom5.sh \
+t/distcom-subdir.sh \
+t/distdir.sh \
+t/disthook.sh \
+t/distlinks.sh \
+t/distlinksbrk.sh \
+t/distname.sh \
+t/distcheck-configure-flags.sh \
+t/distcheck-configure-flags-am.sh \
+t/distcheck-configure-flags-subpkg.sh \
+t/distcheck-hook.sh \
+t/distcheck-hook2.sh \
+t/distcheck-writable-srcdir.sh \
+t/distcheck-missing-m4.sh \
+t/distcheck-outdated-m4.sh \
+t/distcheck-override-infodir.sh \
+t/distcheck-pr9579.sh \
+t/distcheck-pr10470.sh \
+t/dmalloc.sh \
+t/doc-parsing-buglets-tabs.sh \
+t/dollar.sh \
+t/double.sh \
+t/dup2.sh \
+t/else.sh \
+t/empty.sh \
+t/empty2.sh \
+t/empty3.sh \
+t/empty4.sh \
+t/exdir.sh \
+t/exdir2.sh \
+t/exdir3.sh \
+t/exeext.sh \
+t/exeext2.sh \
+t/exeext3.sh \
+t/exeext4.sh \
+t/exsource.sh \
+t/ext.sh \
+t/ext2.sh \
+t/ext3.sh \
+t/extra.sh \
+t/extra2.sh \
+t/extra3.sh \
+t/extra4.sh \
+t/extra5.sh \
+t/extra6.sh \
+t/extra7.sh \
+t/extra8.sh \
+t/extra9.sh \
+t/extra10.sh \
+t/extra11.sh \
+t/extra12.sh \
+t/extra-programs-empty.sh \
+t/extra-portability.sh \
+t/extra-portability2.sh \
+t/extradep.sh \
+t/extradep2.sh \
+t/f90only.sh \
+t/flavor.sh \
+t/flibs.sh \
+t/fn99.sh \
+t/fn99subdir.sh \
+t/fnoc.sh \
+t/fo.sh \
+t/forcemiss.sh \
+t/forcemiss2.sh \
+t/fort1.sh \
+t/fort2.sh \
+t/fort4.sh \
+t/fort5.sh \
+t/fonly.sh \
+t/fortdep.sh \
+t/gcj.sh \
+t/gcj2.sh \
+t/gcj3.sh \
+t/gcj4.sh \
+t/gcj5.sh \
+t/gcj6.sh \
+t/gettext.sh \
+t/gettext2.sh \
+t/gettext3.sh \
+t/gmake-vars.sh \
+t/gnumake.sh \
+t/gnuwarn.sh \
+t/gnuwarn2.sh \
+t/gnits.sh \
+t/gnits2.sh \
+t/gnits3.sh \
+t/hdr-vars-defined-once.sh \
+t/header.sh \
+t/help.sh \
+t/help2.sh \
+t/help3.sh \
+t/help4.sh \
+t/help-depend.sh \
+t/help-depend2.sh \
+t/help-dmalloc.sh \
+t/help-init.sh \
+t/help-lispdir.sh \
+t/help-multilib.sh \
+t/help-python.sh \
+t/help-silent.sh \
+t/help-upc.sh \
+t/hfs.sh \
+t/implicit.sh \
+t/info.sh \
+t/init.sh \
+t/init2.sh \
+t/insh2.sh \
+t/install2.sh \
+t/installdir.sh \
+t/instsh.sh \
+t/instsh2.sh \
+t/instsh3.sh \
+t/instdat.sh \
+t/instdat2.sh \
+t/instdir.sh \
+t/instdir2.sh \
+t/instdir-cond.sh \
+t/instdir-cond2.sh \
+t/instdir-no-empty.sh \
+t/instdir-java.sh \
+t/instdir-lisp.sh \
+t/instdir-ltlib.sh \
+t/instdir-prog.sh \
+t/instdir-python.sh \
+t/instdir-texi.sh \
+t/instexec.sh \
+t/instfail.sh \
+t/instfail-info.sh \
+t/instfail-java.sh \
+t/instfail-libtool.sh \
+t/insthook.sh \
+t/instman.sh \
+t/instman2.sh \
+t/instmany.sh \
+t/instmany-mans.sh \
+t/instmany-python.sh \
+t/install-info-dir.sh \
+t/interp.sh \
+t/interp2.sh \
+t/interp3.sh \
+t/java.sh \
+t/java2.sh \
+t/java3.sh \
+t/javadir-undefined.sh \
+t/javaflags.sh \
+t/java-check.sh \
+t/java-clean.sh \
+t/java-compile-install.sh \
+t/java-compile-run-flat.sh \
+t/java-compile-run-nested.sh \
+t/java-empty-classpath.sh \
+t/javaprim.sh \
+t/javasubst.sh \
+t/java-extra.sh \
+t/java-mix.sh \
+t/java-no-duplicate.sh \
+t/java-nobase.sh \
+t/java-noinst.sh \
+t/java-rebuild.sh \
+t/java-sources.sh \
+t/java-uninstall.sh \
+t/ldadd.sh \
+t/ldflags.sh \
+t/lex.sh \
+t/lex2.sh \
+t/lex3.sh \
+t/lex5.sh \
+t/lexcpp.sh \
+t/lexvpath.sh \
+t/lex-subobj-nodep.sh \
+t/lex-lib.sh \
+t/lex-lib-external.sh \
+t/lex-libobj.sh \
+t/lex-noyywrap.sh \
+t/lex-clean-cxx.sh \
+t/lex-clean.sh \
+t/lex-depend-cxx.sh \
+t/lex-depend-grep.sh \
+t/lex-depend.sh \
+t/lex-line.sh \
+t/lex-nodist.sh \
+t/lex-pr204.sh \
+t/lflags.sh \
+t/lflags2.sh \
+t/libexec.sh \
+t/libobj-basic.sh \
+t/libobj2.sh \
+t/libobj3.sh \
+t/libobj4.sh \
+t/libobj5.sh \
+t/libobj7.sh \
+t/libobj10.sh \
+t/libobj12.sh \
+t/libobj13.sh \
+t/libobj14.sh \
+t/libobj15a.sh \
+t/libobj15b.sh \
+t/libobj15c.sh \
+t/libobj16a.sh \
+t/libobj16b.sh \
+t/libobj17.sh \
+t/libobj18.sh \
+t/libobj19.sh \
+t/libobj20a.sh \
+t/libobj20b.sh \
+t/libobj20c.sh \
+t/library.sh \
+t/library2.sh \
+t/library3.sh \
+t/libtool.sh \
+t/libtool2.sh \
+t/libtool3.sh \
+t/libtool4.sh \
+t/libtool5.sh \
+t/libtool6.sh \
+t/libtool7.sh \
+t/libtool8.sh \
+t/libtool9.sh \
+t/libtoo10.sh \
+t/libtoo11.sh \
+t/license.sh \
+t/license2.sh \
+t/link_c_cxx.sh \
+t/link_cond.sh \
+t/link_dist.sh \
+t/link_f90_only.sh \
+t/link_fc.sh \
+t/link_fccxx.sh \
+t/link_fcxx.sh \
+t/link_f_only.sh \
+t/link_override.sh \
+t/lisp2.sh \
+t/lisp3.sh \
+t/lisp4.sh \
+t/lisp5.sh \
+t/lisp6.sh \
+t/lisp7.sh \
+t/lisp8.sh \
+t/lispdry.sh \
+t/listval.sh \
+t/location.sh \
+t/longline.sh \
+t/longlin2.sh \
+t/ltcond.sh \
+t/ltcond2.sh \
+t/ltconv.sh \
+t/ltdeps.sh \
+t/ltinit.sh \
+t/ltinstloc.sh \
+t/ltlibobjs.sh \
+t/ltlibsrc.sh \
+t/ltorder.sh \
+t/lzma.sh \
+t/m4-inclusion.sh \
+t/maintclean.sh \
+t/maintclean-vpath.sh \
+t/maintmode-configure-msg.sh \
+t/makefile-deps.sh \
+t/makej.sh \
+t/makej2.sh \
+t/maken.sh \
+t/maken3.sh \
+t/make-dryrun.tap \
+t/makevars.sh \
+t/man.sh \
+t/man2.sh \
+t/man3.sh \
+t/man4.sh \
+t/man5.sh \
+t/man6.sh \
+t/man7.sh \
+t/man8.sh \
+t/mdate.sh \
+t/mdate2.sh \
+t/mdate3.sh \
+t/mdate4.sh \
+t/mdate5.sh \
+t/mdate6.sh \
+t/missing.sh \
+t/missing2.sh \
+t/missing3.sh \
+t/missing4.sh \
+t/missing5.sh \
+t/missing6.sh \
+t/missing-auxfile-stops-makefiles-creation.sh \
+t/mkinstall.sh \
+t/mkinst2.sh \
+t/mkinst3.sh \
+t/mmode.sh \
+t/mmodely.sh \
+t/multlib.sh \
+t/no-extra-makefile-code.sh \
+t/no-outdir-option.sh \
+t/nobase.sh \
+t/nobase-libtool.sh \
+t/nobase-python.sh \
+t/nobase-nodist.sh \
+t/nodef.sh \
+t/nodef2.sh \
+t/nodep.sh \
+t/nodep2.sh \
+t/nodepcomp.sh \
+t/nodist.sh \
+t/nodist2.sh \
+t/nodist3.sh \
+t/noinst.sh \
+t/noinstdir.sh \
+t/nolink.sh \
+t/nostdinc.sh \
+t/notrans.sh \
+t/number.sh \
+t/objc.sh \
+t/objc2.sh \
+t/objdir.sh \
+t/objext-pr10128.sh \
+t/obsolete.sh \
+t/oldvars.sh \
+t/order.sh \
+t/output.sh \
+t/output2.sh \
+t/output3.sh \
+t/output4.sh \
+t/output5.sh \
+t/output6.sh \
+t/output7.sh \
+t/output8.sh \
+t/output9.sh \
+t/output10.sh \
+t/output11.sh \
+t/output12.sh \
+t/output13.sh \
+t/output-order.sh \
+t/override-conditional-1.sh \
+t/override-conditional-2.sh \
+t/override-html.sh \
+t/override-suggest-local.sh \
+t/parallel-am.sh \
+t/parallel-am2.sh \
+t/parallel-am3.sh \
+t/serial-tests.sh \
+t/parallel-tests.sh \
+t/parallel-tests2.sh \
+t/parallel-tests3.sh \
+t/parallel-tests5.sh \
+t/parallel-tests6.sh \
+t/parallel-tests8.sh \
+t/parallel-tests9.sh \
+t/parallel-tests10.sh \
+t/parallel-tests-exeext.sh \
+t/parallel-tests-suffix.sh \
+t/parallel-tests-suffix-prog.sh \
+t/parallel-tests-log-compiler-1.sh \
+t/parallel-tests-log-compiler-2.sh \
+t/parallel-tests-dry-run-1.sh \
+t/parallel-tests-dry-run-2.sh \
+t/parallel-tests-fd-redirect.sh \
+t/parallel-tests-fd-redirect-exeext.sh \
+t/parallel-tests-extra-programs.sh \
+t/parallel-tests-unreadable.sh \
+t/parallel-tests-subdir.sh \
+t/parallel-tests-interrupt.tap \
+t/parallel-tests-reset-term.sh \
+t/parallel-tests-harderror.sh \
+t/parallel-tests-log-override-1.sh \
+t/parallel-tests-log-override-2.sh \
+t/parallel-tests-log-override-recheck.sh \
+t/parallel-tests-log-compiler-example.sh \
+t/parallel-tests-cmdline-override.sh \
+t/parallel-tests-fork-bomb.sh \
+t/parallel-tests-empty-testlogs.sh \
+t/parallel-tests-driver-install.sh \
+t/parallel-tests-no-color-in-log.sh \
+t/parallel-tests-no-spurious-summary.sh \
+t/parallel-tests-exit-statuses.sh \
+t/parallel-tests-console-output.sh \
+t/parallel-tests-once.sh \
+t/parallel-tests-trailing-bslash.sh \
+t/parallel-tests-many.sh \
+t/tests-environment.sh \
+t/am-tests-environment.sh \
+t/tests-environment-backcompat.sh \
+t/testsuite-summary-color.sh \
+t/testsuite-summary-count.sh \
+t/testsuite-summary-count-many.sh \
+t/testsuite-summary-reference-log.sh \
+t/test-driver-acsubst.sh \
+t/test-driver-cond.sh \
+t/test-driver-custom-no-extra-driver.sh \
+t/test-driver-custom.sh \
+t/test-driver-custom-xfail-tests.sh \
+t/test-driver-custom-multitest.sh \
+t/test-driver-custom-multitest-recheck.sh \
+t/test-driver-custom-multitest-recheck2.sh \
+t/test-driver-create-log-dir.sh \
+t/test-driver-strip-vpath.sh \
+t/test-driver-trs-suffix-registered.sh \
+t/test-driver-fail.sh \
+t/test-driver-is-distributed.sh \
+t/test-harness-vpath-rewrite.sh \
+t/test-log.sh \
+t/test-logs-repeated.sh \
+t/test-metadata-global-log.sh \
+t/test-metadata-global-result.sh \
+t/test-metadata-recheck.sh \
+t/test-metadata-results.sh \
+t/test-missing.sh \
+t/test-missing2.sh \
+t/test-trs-basic.sh \
+t/test-trs-recover.sh \
+t/test-trs-recover2.sh \
+t/test-extensions.sh \
+t/test-extensions-cond.sh \
+t/parse.sh \
+t/pattern-rules.sh \
+t/pattern-rules2.sh \
+t/phony.sh \
+t/pluseq.sh \
+t/pluseq2.sh \
+t/pluseq3.sh \
+t/pluseq4.sh \
+t/pluseq5.sh \
+t/pluseq6.sh \
+t/pluseq7.sh \
+t/pluseq8.sh \
+t/pluseq9.sh \
+t/pluseq10.sh \
+t/pluseq11.sh \
+t/posixsubst-data.sh \
+t/posixsubst-extradist.sh \
+t/posixsubst-ldadd.sh \
+t/posixsubst-libraries.sh \
+t/posixsubst-ltlibraries.sh \
+t/posixsubst-programs.sh \
+t/posixsubst-scripts.sh \
+t/posixsubst-sources.sh \
+t/posixsubst-tests.sh \
+t/ppf77.sh \
+t/pr2.sh \
+t/pr9.sh \
+t/pr72.sh \
+t/pr87.sh \
+t/pr211.sh \
+t/pr220.sh \
+t/pr224.sh \
+t/pr229.sh \
+t/pr279.sh \
+t/pr279-2.sh \
+t/pr287.sh \
+t/pr300-lib.sh \
+t/pr300-ltlib.sh \
+t/pr300-prog.sh \
+t/pr307.sh \
+t/pr401.sh \
+t/pr401b.sh \
+t/pr401c.sh \
+t/prefix.sh \
+t/primary.sh \
+t/primary2.sh \
+t/primary3.sh \
+t/primary-prefix-invalid-couples.tap \
+t/primary-prefix-valid-couples.sh \
+t/primary-prefix-couples-force-valid.sh \
+t/primary-prefix-couples-documented-valid.sh \
+t/print-libdir.sh \
+t/proginst.sh \
+t/programs-primary-rewritten.sh \
+t/py-compile-basic.sh \
+t/py-compile-basic2.sh \
+t/py-compile-basedir.sh \
+t/py-compile-destdir.sh \
+t/py-compile-env.sh \
+t/py-compile-option-terminate.sh \
+t/py-compile-usage.sh \
+t/python.sh \
+t/python2.sh \
+t/python3.sh \
+t/python4.sh \
+t/python5.sh \
+t/python5b.sh \
+t/python6.sh \
+t/python7.sh \
+t/python8.sh \
+t/python9.sh \
+t/python10.sh \
+t/python11.sh \
+t/python12.sh \
+t/python-dist.sh \
+t/python-vars.sh \
+t/python-virtualenv.sh \
+t/python-pr10995.sh \
+t/recurs.sh \
+t/recurs2.sh \
+t/remake.sh \
+t/remake1a.sh \
+t/remake2.sh \
+t/remake3.sh \
+t/remake3a.sh \
+t/remake4.sh \
+t/remake5.sh \
+t/remake6.sh \
+t/remake7.sh \
+t/remake8a.sh \
+t/remake8b.sh \
+t/remake9a.sh \
+t/remake9b.sh \
+t/remake9c.sh \
+t/remake9d.sh \
+t/remake10a.sh \
+t/remake10b.sh \
+t/remake10c.sh \
+t/remake11.sh \
+t/remake12.sh \
+t/remake-all-1.sh \
+t/remake-subdir-from-subdir.sh \
+t/remake-subdir-gnu.sh \
+t/remake-subdir.sh \
+t/remake-subdir-long-time.sh \
+t/remake-gnulib-add-acsubst.sh \
+t/remake-gnulib-add-header.sh \
+t/remake-gnulib-remove-header.sh \
+t/remake-moved-m4-file.sh \
+t/remake-deleted-m4-file.sh \
+t/remake-renamed-m4-file.sh \
+t/remake-renamed-m4-macro-and-file.sh \
+t/remake-renamed-m4-macro.sh \
+t/remake-am-pr10111.sh \
+t/remake-m4-pr10111.sh \
+t/remake-deleted-am-2.sh \
+t/remake-deleted-am-subdir.sh \
+t/remake-deleted-am.sh \
+t/remake-renamed-am.sh \
+t/pr8365-remake-timing.sh \
+t/req.sh \
+t/reqd.sh \
+t/reqd2.sh \
+t/repeated-options.sh \
+t/rst-formatting.sh \
+t/rulepat.sh \
+t/self-check-cleanup.tap \
+t/self-check-configure-help.sh \
+t/self-check-dir.tap \
+t/self-check-env-sanitize.tap \
+t/self-check-exit.tap \
+t/self-check-explicit-skips.sh \
+t/self-check-is_newest.tap \
+t/self-check-me.tap \
+t/self-check-reexec.tap \
+t/self-check-report.sh \
+t/self-check-sanity.sh \
+t/self-check-seq.tap \
+t/self-check-is-blocked-signal.tap \
+t/self-check-tap.sh \
+t/self-check-unindent.tap \
+t/sanity.sh \
+t/scripts.sh \
+t/seenc.sh \
+t/silent.sh \
+t/silent2.sh \
+t/silent3.sh \
+t/silent4.sh \
+t/silent6.sh \
+t/silent7.sh \
+t/silent8.sh \
+t/silent9.sh \
+t/silentcxx.sh \
+t/silentcxx-gcc.sh \
+t/silentf77.sh \
+t/silentf90.sh \
+t/silent-amopts.sh \
+t/silent-many-gcc.sh \
+t/silent-many-generic.sh \
+t/silent-configsite.sh \
+t/silent-lex.sh \
+t/silent-yacc.sh \
+t/silent-yacc-headers.sh \
+t/srcsub.sh \
+t/srcsub2.sh \
+t/space.sh \
+t/specflg.sh \
+t/specflg2.sh \
+t/specflg3.sh \
+t/specflg6.sh \
+t/specflg7.sh \
+t/specflg8.sh \
+t/specflg9.sh \
+t/specflg10.sh \
+t/specflg-dummy.sh \
+t/spell.sh \
+t/spell2.sh \
+t/spell3.sh \
+t/spelling.sh \
+t/spy.sh \
+t/spy-rm.tap \
+t/spy-vpath-rewrite.sh \
+t/stdinc.sh \
+t/stamph2.sh \
+t/stdlib.sh \
+t/stdlib2.sh \
+t/strictness-override.sh \
+t/strictness-precedence.sh \
+t/strip.sh \
+t/strip2.sh \
+t/strip3.sh \
+t/subdir.sh \
+t/subdir2.sh \
+t/subdir3.sh \
+t/subdir4.sh \
+t/subdir5.sh \
+t/subdir6.sh \
+t/subdir8.sh \
+t/subdir9.sh \
+t/subdir10.sh \
+t/subdirbuiltsources.sh \
+t/subcond.sh \
+t/subcond2.sh \
+t/subcond3.sh \
+t/subobj.sh \
+t/subobj2.sh \
+t/subobj4.sh \
+t/subobj5.sh \
+t/subobj6.sh \
+t/subobj7.sh \
+t/subobj8.sh \
+t/subobj9.sh \
+t/subobj10.sh \
+t/subobj11a.sh \
+t/subobj11c.sh \
+t/subobjname.sh \
+t/subpkg.sh \
+t/subpkg2.sh \
+t/subpkg3.sh \
+t/subpkg4.sh \
+t/subpkg-yacc.sh \
+t/subst.sh \
+t/subst3.sh \
+t/subst4.sh \
+t/subst5.sh \
+t/subst-no-trailing-empty-line.sh \
+t/substref.sh \
+t/substre2.sh \
+t/substtarg.sh \
+t/suffix.sh \
+t/suffix2.sh \
+t/suffix3.tap \
+t/suffix4.sh \
+t/suffix5.sh \
+t/suffix6.sh \
+t/suffix6b.sh \
+t/suffix6c.sh \
+t/suffix7.sh \
+t/suffix8.tap \
+t/suffix9.sh \
+t/suffix10.tap \
+t/suffix11.tap \
+t/suffix12.sh \
+t/suffix13.sh \
+t/suffix-chain.tap \
+t/symlink.sh \
+t/symlink2.sh \
+t/syntax.sh \
+t/tap-ambiguous-directive.sh \
+t/tap-autonumber.sh \
+t/tap-bailout.sh \
+t/tap-bailout-leading-space.sh \
+t/tap-bailout-and-logging.sh \
+t/tap-bailout-suppress-badexit.sh \
+t/tap-bailout-suppress-later-diagnostic.sh \
+t/tap-bailout-suppress-later-errors.sh \
+t/tap-color.sh \
+t/tap-deps.sh \
+t/tap-diagnostic.sh \
+t/tap-empty-diagnostic.sh \
+t/tap-empty.sh \
+t/tap-escape-directive.sh \
+t/tap-escape-directive-2.sh \
+t/tap-exit.sh \
+t/tap-signal.tap \
+t/tap-fancy.sh \
+t/tap-fancy2.sh \
+t/tap-global-log.sh \
+t/tap-global-result.sh \
+t/tap-log.sh \
+t/tap-msg0-result.sh \
+t/tap-msg0-directive.sh \
+t/tap-msg0-planskip.sh \
+t/tap-msg0-bailout.sh \
+t/tap-msg0-misc.sh \
+t/tap-merge-stdout-stderr.sh \
+t/tap-no-merge-stdout-stderr.sh \
+t/tap-no-disable-hard-error.sh \
+t/tap-no-spurious-summary.sh \
+t/tap-no-spurious-numbers.sh \
+t/tap-no-spurious.sh \
+t/tap-not-ok-skip.sh \
+t/tap-number-wordboundary.sh \
+t/tap-numeric-description.sh \
+t/tap-negative-numbers.sh \
+t/tap-numbers-leading-zero.sh \
+t/tap-out-of-order.sh \
+t/tap-passthrough.sh \
+t/tap-passthrough-exit.sh \
+t/tap-plan.sh \
+t/tap-plan-corner.sh \
+t/tap-plan-errors.sh \
+t/tap-plan-middle.sh \
+t/tap-plan-whitespace.sh \
+t/tap-plan-leading-zero.sh \
+t/tap-plan-malformed.sh \
+t/tap-missing-plan-and-bad-exit.sh \
+t/tap-planskip.sh \
+t/tap-planskip-late.sh \
+t/tap-planskip-and-logging.sh \
+t/tap-planskip-unplanned.sh \
+t/tap-planskip-unplanned-corner.sh \
+t/tap-planskip-case-insensitive.sh \
+t/tap-planskip-whitespace.sh \
+t/tap-planskip-badexit.sh \
+t/tap-planskip-bailout.sh \
+t/tap-planskip-later-errors.sh \
+t/tap-realtime.sh \
+t/tap-test-number-0.sh \
+t/tap-recheck-logs.sh \
+t/tap-result-comment.sh \
+t/tap-todo-skip-together.sh \
+t/tap-todo-skip-whitespace.sh \
+t/tap-todo-skip.sh \
+t/tap-unplanned.sh \
+t/tap-whitespace-normalization.sh \
+t/tap-with-and-without-number.sh \
+t/tap-xfail-tests.sh \
+t/tap-common-setup.sh \
+t/tap-bad-prog.tap \
+t/tap-basic.sh \
+t/tap-diagnostic-custom.sh \
+t/tap-driver-stderr.sh \
+t/tap-doc.sh \
+t/tap-doc2.sh \
+t/tap-more.sh \
+t/tap-more2.sh \
+t/tap-recheck.sh \
+t/tap-summary.sh \
+t/tap-summary-color.sh \
+t/tags.sh \
+t/tags2.sh \
+t/tagsub.sh \
+t/tar.sh \
+t/tar2.sh \
+t/tar3.sh \
+t/tar-override.sh \
+t/target-cflags.sh \
+t/targetclash.sh \
+t/tests-environment-fd-redirect.sh \
+t/tests-environment-and-log-compiler.sh \
+t/txinfo.sh \
+t/txinfo2.sh \
+t/txinfo3.sh \
+t/txinfo4.sh \
+t/txinfo5.sh \
+t/txinfo5b.sh \
+t/txinfo6.sh \
+t/txinfo7.sh \
+t/txinfo8.sh \
+t/txinfo9.sh \
+t/txinfo10.sh \
+t/txinfo13.sh \
+t/txinfo16.sh \
+t/txinfo17.sh \
+t/txinfo19.sh \
+t/txinfo20.sh \
+t/txinfo21.sh \
+t/txinfo22.sh \
+t/txinfo23.sh \
+t/txinfo24.sh \
+t/txinfo25.sh \
+t/txinfo26.sh \
+t/txinfo27.sh \
+t/txinfo28.sh \
+t/txinfo29.sh \
+t/txinfo30.sh \
+t/txinfo31.sh \
+t/txinfo32.sh \
+t/txinfo33.sh \
+t/txinfo-no-clutter.sh \
+t/txinfo-unrecognized-extension.sh \
+t/transform.sh \
+t/transform2.sh \
+t/transform3.sh \
+t/uninstall-fail.sh \
+t/uninstall-pr9578.sh \
+t/unused.sh \
+t/upc.sh \
+t/upc2.sh \
+t/upc3.sh \
+t/vala.sh \
+t/vala1.sh \
+t/vala2.sh \
+t/vala3.sh \
+t/vala4.sh \
+t/vala5.sh \
+t/vala-vpath.sh \
+t/vala-mix.sh \
+t/vala-mix2.sh \
+t/vars.sh \
+t/vars-assign.sh \
+t/vartar.sh \
+t/vartypos.sh \
+t/vartypo2.sh \
+t/version.sh \
+t/version2.sh \
+t/version3.sh \
+t/version4.sh \
+t/version6.sh \
+t/version7.sh \
+t/version8.sh \
+t/vpath-rewrite.sh \
+t/vpath.sh \
+t/vtexi.sh \
+t/vtexi2.sh \
+t/vtexi3.sh \
+t/vtexi4.sh \
+t/warnings-override.sh \
+t/warnings-precedence.sh \
+t/warnings-strictness-interactions.sh \
+t/warnings-unknown.sh \
+t/warnopts.sh \
+t/warnings-win-over-strictness.sh \
+t/warning-groups-win-over-strictness.sh \
+t/werror.sh \
+t/werror2.sh \
+t/werror3.sh \
+t/werror4.sh \
+t/whoami.sh \
+t/xsource.sh \
+t/yacc.sh \
+t/yacc2.sh \
+t/yacc4.sh \
+t/yacc5.sh \
+t/yacc7.sh \
+t/yacc8.sh \
+t/yaccdry.sh \
+t/yaccpp.sh \
+t/yaccvpath.sh \
+t/yacc-auxdir.sh \
+t/yacc-basic.sh \
+t/yacc-cxx.sh \
+t/yacc-bison-skeleton-cxx.sh \
+t/yacc-bison-skeleton.sh \
+t/yacc-clean.sh \
+t/yacc-clean-cxx.sh \
+t/yacc-d-basic.sh \
+t/yacc-d-cxx.sh \
+t/yacc-d-vpath.sh \
+t/yacc-deleted-headers.sh \
+t/yacc-depend.sh \
+t/yacc-depend2.sh \
+t/yacc-dist-nobuild-subdir.sh \
+t/yacc-dist-nobuild.sh \
+t/yacc-line.sh \
+t/yacc-mix-c-cxx.sh \
+t/yacc-nodist.sh \
+t/yacc-pr204.sh \
+t/yacc-subobj-nodep.sh \
+t/yacc-weirdnames.sh \
+t/yflags.sh \
+t/yflags2.sh \
+t/yflags-cmdline-override.sh \
+t/yflags-conditional.sh \
+t/yflags-d-false-positives.sh \
+t/yflags-force-conditional.sh \
+t/yflags-force-override.sh \
+t/yflags-var-expand.sh \
+t/libtool-macros.sh \
+t/gettext-macros.sh
+
+print-list-of-tests:
+ @echo $(handwritten_TESTS)
+.PHONY: print-list-of-tests
diff --git a/tests/listval.test b/t/listval.sh
similarity index 100%
rename from tests/listval.test
rename to t/listval.sh
diff --git a/tests/location.test b/t/location.sh
similarity index 100%
rename from tests/location.test
rename to t/location.sh
diff --git a/tests/longlin2.test b/t/longlin2.sh
similarity index 100%
rename from tests/longlin2.test
rename to t/longlin2.sh
diff --git a/tests/longline.test b/t/longline.sh
similarity index 100%
rename from tests/longline.test
rename to t/longline.sh
diff --git a/tests/ltcond.test b/t/ltcond.sh
similarity index 100%
rename from tests/ltcond.test
rename to t/ltcond.sh
diff --git a/tests/ltcond2.test b/t/ltcond2.sh
similarity index 100%
rename from tests/ltcond2.test
rename to t/ltcond2.sh
diff --git a/tests/ltconv.test b/t/ltconv.sh
similarity index 100%
rename from tests/ltconv.test
rename to t/ltconv.sh
diff --git a/tests/ltdeps.test b/t/ltdeps.sh
similarity index 100%
rename from tests/ltdeps.test
rename to t/ltdeps.sh
diff --git a/tests/ltinit.test b/t/ltinit.sh
similarity index 100%
rename from tests/ltinit.test
rename to t/ltinit.sh
diff --git a/tests/ltinstloc.test b/t/ltinstloc.sh
similarity index 100%
rename from tests/ltinstloc.test
rename to t/ltinstloc.sh
diff --git a/tests/ltlibobjs.test b/t/ltlibobjs.sh
similarity index 100%
rename from tests/ltlibobjs.test
rename to t/ltlibobjs.sh
diff --git a/tests/ltlibsrc.test b/t/ltlibsrc.sh
similarity index 100%
rename from tests/ltlibsrc.test
rename to t/ltlibsrc.sh
diff --git a/tests/ltorder.test b/t/ltorder.sh
similarity index 100%
rename from tests/ltorder.test
rename to t/ltorder.sh
diff --git a/tests/lzma.test b/t/lzma.sh
similarity index 100%
rename from tests/lzma.test
rename to t/lzma.sh
diff --git a/tests/m4-inclusion.test b/t/m4-inclusion.sh
similarity index 100%
rename from tests/m4-inclusion.test
rename to t/m4-inclusion.sh
diff --git a/tests/maintclean-vpath.test b/t/maintclean-vpath.sh
similarity index 100%
rename from tests/maintclean-vpath.test
rename to t/maintclean-vpath.sh
diff --git a/tests/maintclean.test b/t/maintclean.sh
similarity index 100%
rename from tests/maintclean.test
rename to t/maintclean.sh
diff --git a/tests/maintmode-configure-msg.test b/t/maintmode-configure-msg.sh
similarity index 100%
rename from tests/maintmode-configure-msg.test
rename to t/maintmode-configure-msg.sh
diff --git a/tests/make-dryrun.tap b/t/make-dryrun.tap
similarity index 100%
rename from tests/make-dryrun.tap
rename to t/make-dryrun.tap
diff --git a/tests/makefile-deps.test b/t/makefile-deps.sh
similarity index 100%
rename from tests/makefile-deps.test
rename to t/makefile-deps.sh
diff --git a/tests/makej.test b/t/makej.sh
similarity index 100%
rename from tests/makej.test
rename to t/makej.sh
diff --git a/tests/makej2.test b/t/makej2.sh
similarity index 100%
rename from tests/makej2.test
rename to t/makej2.sh
diff --git a/tests/maken.test b/t/maken.sh
similarity index 100%
rename from tests/maken.test
rename to t/maken.sh
diff --git a/tests/maken3.test b/t/maken3.sh
similarity index 100%
rename from tests/maken3.test
rename to t/maken3.sh
diff --git a/tests/makevars.test b/t/makevars.sh
similarity index 100%
rename from tests/makevars.test
rename to t/makevars.sh
diff --git a/tests/man.test b/t/man.sh
similarity index 100%
rename from tests/man.test
rename to t/man.sh
diff --git a/tests/man2.test b/t/man2.sh
similarity index 100%
rename from tests/man2.test
rename to t/man2.sh
diff --git a/tests/man3.test b/t/man3.sh
similarity index 100%
rename from tests/man3.test
rename to t/man3.sh
diff --git a/tests/man4.test b/t/man4.sh
similarity index 100%
rename from tests/man4.test
rename to t/man4.sh
diff --git a/tests/man5.test b/t/man5.sh
similarity index 100%
rename from tests/man5.test
rename to t/man5.sh
diff --git a/tests/man6.test b/t/man6.sh
similarity index 100%
rename from tests/man6.test
rename to t/man6.sh
diff --git a/tests/man7.test b/t/man7.sh
similarity index 100%
rename from tests/man7.test
rename to t/man7.sh
diff --git a/tests/man8.test b/t/man8.sh
similarity index 100%
rename from tests/man8.test
rename to t/man8.sh
diff --git a/tests/mdate.test b/t/mdate.sh
similarity index 100%
rename from tests/mdate.test
rename to t/mdate.sh
diff --git a/tests/mdate2.test b/t/mdate2.sh
similarity index 100%
rename from tests/mdate2.test
rename to t/mdate2.sh
diff --git a/tests/mdate3.test b/t/mdate3.sh
similarity index 100%
rename from tests/mdate3.test
rename to t/mdate3.sh
diff --git a/tests/mdate4.test b/t/mdate4.sh
similarity index 100%
rename from tests/mdate4.test
rename to t/mdate4.sh
diff --git a/tests/mdate5.test b/t/mdate5.sh
similarity index 100%
rename from tests/mdate5.test
rename to t/mdate5.sh
diff --git a/tests/mdate6.test b/t/mdate6.sh
similarity index 100%
rename from tests/mdate6.test
rename to t/mdate6.sh
diff --git a/tests/missing-auxfile-stops-makefiles-creation.test
b/t/missing-auxfile-stops-makefiles-creation.sh
similarity index 100%
rename from tests/missing-auxfile-stops-makefiles-creation.test
rename to t/missing-auxfile-stops-makefiles-creation.sh
diff --git a/tests/missing.test b/t/missing.sh
similarity index 100%
rename from tests/missing.test
rename to t/missing.sh
diff --git a/tests/missing2.test b/t/missing2.sh
similarity index 100%
rename from tests/missing2.test
rename to t/missing2.sh
diff --git a/tests/missing3.test b/t/missing3.sh
similarity index 100%
rename from tests/missing3.test
rename to t/missing3.sh
diff --git a/tests/missing4.test b/t/missing4.sh
similarity index 100%
rename from tests/missing4.test
rename to t/missing4.sh
diff --git a/tests/missing5.test b/t/missing5.sh
similarity index 100%
rename from tests/missing5.test
rename to t/missing5.sh
diff --git a/tests/missing6.test b/t/missing6.sh
similarity index 100%
rename from tests/missing6.test
rename to t/missing6.sh
diff --git a/tests/mkinst2.test b/t/mkinst2.sh
similarity index 100%
rename from tests/mkinst2.test
rename to t/mkinst2.sh
diff --git a/tests/mkinst3.test b/t/mkinst3.sh
similarity index 100%
rename from tests/mkinst3.test
rename to t/mkinst3.sh
diff --git a/tests/mkinstall.test b/t/mkinstall.sh
similarity index 100%
rename from tests/mkinstall.test
rename to t/mkinstall.sh
diff --git a/tests/mmode.test b/t/mmode.sh
similarity index 100%
rename from tests/mmode.test
rename to t/mmode.sh
diff --git a/tests/mmodely.test b/t/mmodely.sh
similarity index 100%
rename from tests/mmodely.test
rename to t/mmodely.sh
diff --git a/t/multlib.sh b/t/multlib.sh
new file mode 100755
index 0000000..53e4ef6
--- /dev/null
+++ b/t/multlib.sh
@@ -0,0 +1,162 @@
+#! /bin/sh
+# Copyright (C) 2003-2012 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 multilib support.
+# Based on a test case from Ralf Corsepius.
+# FIXME: the features tested by this script has been moved in contrib.
+# FIXME: We should move this script accordingly.
+
+required=gcc
+. ./defs || Exit 1
+
+mldir=$am_top_srcdir/contrib/multilib
+mkdir m4
+cp "$mldir"/config-ml.in "$mldir"/symlink-tree .
+cp "$mldir"/multi.m4 m4
+
+ACLOCAL_PATH=${ACLOCAL_PATH+"$ACLOCAL_PATH:"}`pwd`/m4
+export ACLOCAL_PATH
+
+cat >configure.ac <<'END'
+AC_INIT([multlib], [1.0])
+AC_CONFIG_SRCDIR(libfoo/foo.c)
+AC_CONFIG_AUX_DIR(.)
+AM_INIT_AUTOMAKE
+AC_CONFIG_FILES([Makefile])
+AC_CONFIG_SUBDIRS(libfoo)
+AC_CONFIG_SUBDIRS(libbar)
+AC_OUTPUT
+END
+
+cat >mycc <<'END'
+#! /bin/sh
+case ${1+"$@"} in
+ *-print-multi-lib*)
+ echo ".;"
+ echo "debug;@g"
+ exit 0 ;;
+esac
+gcc ${1+"$@"}
+END
+
+chmod +x mycc
+PATH=`pwd`$PATH_SEPARATOR$PATH
+
+cat >Makefile.am <<'EOF'
+SUBDIRS = @subdirs@
+EXTRA_DIST = config-ml.in symlink-tree
+check-all:
+ test -f debug/libfoo/libfoo.a
+ test -f debug/libbar/libbar.a
+ test -f libfoo/libfoo.a
+ test -f libbar/libbar.a
+EOF
+
+# libfoo tests multilib supports when there are no subdirectories
+# libbar tests multilib supports when there are subdirectories
+
+mkdir libfoo
+cp "$mldir"/multilib.am libfoo/
+
+cat >libfoo/configure.ac <<'END'
+AC_PREREQ(2.57)
+AC_INIT(libfoo, 0.1, address@hidden)
+AC_CONFIG_SRCDIR(foo.c)
+# Apparently it doesn't work to have auxdir=.. when
+# multilib uses symlinked trees.
+AC_CONFIG_AUX_DIR(.)
+AM_INIT_AUTOMAKE
+AC_PROG_CC
+AM_PROG_AR
+AC_PROG_RANLIB
+AM_ENABLE_MULTILIB(Makefile,[..])
+AC_CONFIG_FILES([Makefile])
+AC_OUTPUT
+END
+
+cat >libfoo/Makefile.am <<'END'
+noinst_LIBRARIES = libfoo.a
+libfoo_a_SOURCES = foo.c
+include $(top_srcdir)/multilib.am
+END
+
+: > libfoo/foo.c
+
+mkdir libbar
+cp "$mldir"/multilib.am libbar/
+
+cat >libbar/configure.ac <<'END'
+AC_PREREQ(2.57)
+AC_INIT(libbar, 0.1, address@hidden)
+# Apparently it doesn't work to have auxdir=.. when
+# multilib uses symlinked trees.
+AC_CONFIG_AUX_DIR(.)
+AM_INIT_AUTOMAKE
+AC_PROG_CC
+AM_PROG_AR
+AC_PROG_RANLIB
+AM_ENABLE_MULTILIB(Makefile,[..])
+AC_CONFIG_FILES([Makefile sub/Makefile])
+AC_OUTPUT
+END
+
+cat >libbar/Makefile.am <<'END'
+SUBDIRS = sub
+noinst_LIBRARIES = libbar.a
+libbar_a_SOURCES = bar.c
+include $(top_srcdir)/multilib.am
+END
+
+mkdir libbar/sub
+echo 'include $(top_srcdir)/multilib.am' >libbar/sub/Makefile.am
+: > libbar/bar.c
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE --add-missing
+
+cd libfoo
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE --add-missing
+cd ..
+
+cd libbar
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE --add-missing
+cd ..
+
+# Check VPATH builds
+mkdir build
+cd build
+../configure --enable-multilib CC=mycc
+$MAKE
+test -f debug/libfoo/libfoo.a
+test -f debug/libbar/libbar.a
+test -f libfoo/libfoo.a
+test -f libbar/libbar.a
+$MAKE install
+$MAKE distcleancheck
+
+# Check standard builds.
+cd ..
+# Why to I have to specify --with-target-subdir?
+./configure --enable-multilib --with-target-subdir=. CC=mycc
+$MAKE check
+DISTCHECK_CONFIGURE_FLAGS='--enable-multilib CC=mycc' $MAKE distcheck
+
+:
diff --git a/tests/no-extra-makefile-code.test b/t/no-extra-makefile-code.sh
similarity index 100%
rename from tests/no-extra-makefile-code.test
rename to t/no-extra-makefile-code.sh
diff --git a/tests/no-outdir-option.test b/t/no-outdir-option.sh
similarity index 100%
rename from tests/no-outdir-option.test
rename to t/no-outdir-option.sh
diff --git a/tests/nobase-libtool.test b/t/nobase-libtool.sh
similarity index 100%
rename from tests/nobase-libtool.test
rename to t/nobase-libtool.sh
diff --git a/tests/nobase-nodist.test b/t/nobase-nodist.sh
similarity index 100%
rename from tests/nobase-nodist.test
rename to t/nobase-nodist.sh
diff --git a/tests/nobase-python.test b/t/nobase-python.sh
similarity index 100%
rename from tests/nobase-python.test
rename to t/nobase-python.sh
diff --git a/tests/nobase.test b/t/nobase.sh
similarity index 100%
rename from tests/nobase.test
rename to t/nobase.sh
diff --git a/tests/nodef.test b/t/nodef.sh
similarity index 100%
rename from tests/nodef.test
rename to t/nodef.sh
diff --git a/tests/nodef2.test b/t/nodef2.sh
similarity index 100%
rename from tests/nodef2.test
rename to t/nodef2.sh
diff --git a/tests/nodep.test b/t/nodep.sh
similarity index 100%
rename from tests/nodep.test
rename to t/nodep.sh
diff --git a/tests/nodep2.test b/t/nodep2.sh
similarity index 100%
rename from tests/nodep2.test
rename to t/nodep2.sh
diff --git a/tests/nodepcomp.test b/t/nodepcomp.sh
similarity index 100%
rename from tests/nodepcomp.test
rename to t/nodepcomp.sh
diff --git a/tests/nodist.test b/t/nodist.sh
similarity index 100%
rename from tests/nodist.test
rename to t/nodist.sh
diff --git a/tests/nodist2.test b/t/nodist2.sh
similarity index 100%
rename from tests/nodist2.test
rename to t/nodist2.sh
diff --git a/tests/nodist3.test b/t/nodist3.sh
similarity index 100%
rename from tests/nodist3.test
rename to t/nodist3.sh
diff --git a/tests/noinst.test b/t/noinst.sh
similarity index 100%
rename from tests/noinst.test
rename to t/noinst.sh
diff --git a/tests/noinstdir.test b/t/noinstdir.sh
similarity index 100%
rename from tests/noinstdir.test
rename to t/noinstdir.sh
diff --git a/tests/nolink.test b/t/nolink.sh
similarity index 100%
rename from tests/nolink.test
rename to t/nolink.sh
diff --git a/tests/nostdinc.test b/t/nostdinc.sh
similarity index 100%
rename from tests/nostdinc.test
rename to t/nostdinc.sh
diff --git a/tests/notrans.test b/t/notrans.sh
similarity index 100%
rename from tests/notrans.test
rename to t/notrans.sh
diff --git a/tests/number.test b/t/number.sh
similarity index 100%
rename from tests/number.test
rename to t/number.sh
diff --git a/tests/objc.test b/t/objc.sh
similarity index 100%
rename from tests/objc.test
rename to t/objc.sh
diff --git a/tests/objc2.test b/t/objc2.sh
similarity index 100%
rename from tests/objc2.test
rename to t/objc2.sh
diff --git a/tests/objdir.test b/t/objdir.sh
similarity index 100%
rename from tests/objdir.test
rename to t/objdir.sh
diff --git a/tests/objext-pr10128.test b/t/objext-pr10128.sh
similarity index 100%
rename from tests/objext-pr10128.test
rename to t/objext-pr10128.sh
diff --git a/tests/obsolete.test b/t/obsolete.sh
similarity index 100%
rename from tests/obsolete.test
rename to t/obsolete.sh
diff --git a/tests/oldvars.test b/t/oldvars.sh
similarity index 100%
rename from tests/oldvars.test
rename to t/oldvars.sh
diff --git a/tests/order.test b/t/order.sh
similarity index 100%
rename from tests/order.test
rename to t/order.sh
diff --git a/tests/output-order.test b/t/output-order.sh
similarity index 100%
rename from tests/output-order.test
rename to t/output-order.sh
diff --git a/tests/output.test b/t/output.sh
similarity index 100%
rename from tests/output.test
rename to t/output.sh
diff --git a/tests/output10.test b/t/output10.sh
similarity index 100%
rename from tests/output10.test
rename to t/output10.sh
diff --git a/tests/output11.test b/t/output11.sh
similarity index 100%
rename from tests/output11.test
rename to t/output11.sh
diff --git a/tests/output12.test b/t/output12.sh
similarity index 100%
rename from tests/output12.test
rename to t/output12.sh
diff --git a/tests/output13.test b/t/output13.sh
similarity index 100%
rename from tests/output13.test
rename to t/output13.sh
diff --git a/tests/output2.test b/t/output2.sh
similarity index 100%
rename from tests/output2.test
rename to t/output2.sh
diff --git a/tests/output3.test b/t/output3.sh
similarity index 100%
rename from tests/output3.test
rename to t/output3.sh
diff --git a/tests/output4.test b/t/output4.sh
similarity index 100%
rename from tests/output4.test
rename to t/output4.sh
diff --git a/tests/output5.test b/t/output5.sh
similarity index 100%
rename from tests/output5.test
rename to t/output5.sh
diff --git a/tests/output6.test b/t/output6.sh
similarity index 100%
rename from tests/output6.test
rename to t/output6.sh
diff --git a/tests/output7.test b/t/output7.sh
similarity index 100%
rename from tests/output7.test
rename to t/output7.sh
diff --git a/tests/output8.test b/t/output8.sh
similarity index 100%
rename from tests/output8.test
rename to t/output8.sh
diff --git a/tests/output9.test b/t/output9.sh
similarity index 100%
rename from tests/output9.test
rename to t/output9.sh
diff --git a/tests/override-conditional-1.test b/t/override-conditional-1.sh
similarity index 100%
rename from tests/override-conditional-1.test
rename to t/override-conditional-1.sh
diff --git a/tests/override-conditional-2.test b/t/override-conditional-2.sh
similarity index 100%
rename from tests/override-conditional-2.test
rename to t/override-conditional-2.sh
diff --git a/tests/override-html.test b/t/override-html.sh
similarity index 100%
rename from tests/override-html.test
rename to t/override-html.sh
diff --git a/tests/override-suggest-local.test b/t/override-suggest-local.sh
similarity index 100%
rename from tests/override-suggest-local.test
rename to t/override-suggest-local.sh
diff --git a/tests/parallel-am.test b/t/parallel-am.sh
similarity index 100%
rename from tests/parallel-am.test
rename to t/parallel-am.sh
diff --git a/tests/parallel-am2.test b/t/parallel-am2.sh
similarity index 100%
rename from tests/parallel-am2.test
rename to t/parallel-am2.sh
diff --git a/tests/parallel-am3.test b/t/parallel-am3.sh
similarity index 100%
rename from tests/parallel-am3.test
rename to t/parallel-am3.sh
diff --git a/tests/parallel-tests-cmdline-override.test
b/t/parallel-tests-cmdline-override.sh
similarity index 100%
rename from tests/parallel-tests-cmdline-override.test
rename to t/parallel-tests-cmdline-override.sh
diff --git a/tests/parallel-tests-console-output.test
b/t/parallel-tests-console-output.sh
similarity index 100%
rename from tests/parallel-tests-console-output.test
rename to t/parallel-tests-console-output.sh
diff --git a/tests/parallel-tests-driver-install.test
b/t/parallel-tests-driver-install.sh
similarity index 100%
rename from tests/parallel-tests-driver-install.test
rename to t/parallel-tests-driver-install.sh
diff --git a/tests/parallel-tests-dry-run-1.test b/t/parallel-tests-dry-run-1.sh
similarity index 100%
rename from tests/parallel-tests-dry-run-1.test
rename to t/parallel-tests-dry-run-1.sh
diff --git a/tests/parallel-tests-dry-run-2.test b/t/parallel-tests-dry-run-2.sh
similarity index 100%
rename from tests/parallel-tests-dry-run-2.test
rename to t/parallel-tests-dry-run-2.sh
diff --git a/tests/parallel-tests-empty-testlogs.test
b/t/parallel-tests-empty-testlogs.sh
similarity index 100%
rename from tests/parallel-tests-empty-testlogs.test
rename to t/parallel-tests-empty-testlogs.sh
diff --git a/tests/parallel-tests-exeext.test b/t/parallel-tests-exeext.sh
similarity index 100%
rename from tests/parallel-tests-exeext.test
rename to t/parallel-tests-exeext.sh
diff --git a/tests/parallel-tests-exit-statuses.test
b/t/parallel-tests-exit-statuses.sh
similarity index 100%
rename from tests/parallel-tests-exit-statuses.test
rename to t/parallel-tests-exit-statuses.sh
diff --git a/tests/parallel-tests-extra-programs.test
b/t/parallel-tests-extra-programs.sh
similarity index 100%
rename from tests/parallel-tests-extra-programs.test
rename to t/parallel-tests-extra-programs.sh
diff --git a/tests/parallel-tests-fd-redirect-exeext.test
b/t/parallel-tests-fd-redirect-exeext.sh
similarity index 100%
rename from tests/parallel-tests-fd-redirect-exeext.test
rename to t/parallel-tests-fd-redirect-exeext.sh
diff --git a/tests/parallel-tests-fd-redirect.test
b/t/parallel-tests-fd-redirect.sh
similarity index 100%
rename from tests/parallel-tests-fd-redirect.test
rename to t/parallel-tests-fd-redirect.sh
diff --git a/tests/parallel-tests-fork-bomb.test b/t/parallel-tests-fork-bomb.sh
similarity index 100%
rename from tests/parallel-tests-fork-bomb.test
rename to t/parallel-tests-fork-bomb.sh
diff --git a/tests/parallel-tests-harderror.test b/t/parallel-tests-harderror.sh
similarity index 100%
rename from tests/parallel-tests-harderror.test
rename to t/parallel-tests-harderror.sh
diff --git a/tests/parallel-tests-interrupt.tap b/t/parallel-tests-interrupt.tap
similarity index 100%
rename from tests/parallel-tests-interrupt.tap
rename to t/parallel-tests-interrupt.tap
diff --git a/tests/parallel-tests-log-compiler-1.test
b/t/parallel-tests-log-compiler-1.sh
similarity index 100%
rename from tests/parallel-tests-log-compiler-1.test
rename to t/parallel-tests-log-compiler-1.sh
diff --git a/tests/parallel-tests-log-compiler-2.test
b/t/parallel-tests-log-compiler-2.sh
similarity index 100%
rename from tests/parallel-tests-log-compiler-2.test
rename to t/parallel-tests-log-compiler-2.sh
diff --git a/tests/parallel-tests-log-compiler-example.test
b/t/parallel-tests-log-compiler-example.sh
similarity index 100%
rename from tests/parallel-tests-log-compiler-example.test
rename to t/parallel-tests-log-compiler-example.sh
diff --git a/tests/parallel-tests-log-override-1.test
b/t/parallel-tests-log-override-1.sh
similarity index 100%
rename from tests/parallel-tests-log-override-1.test
rename to t/parallel-tests-log-override-1.sh
diff --git a/tests/parallel-tests-log-override-2.test
b/t/parallel-tests-log-override-2.sh
similarity index 100%
rename from tests/parallel-tests-log-override-2.test
rename to t/parallel-tests-log-override-2.sh
diff --git a/tests/parallel-tests-log-override-recheck.test
b/t/parallel-tests-log-override-recheck.sh
similarity index 100%
rename from tests/parallel-tests-log-override-recheck.test
rename to t/parallel-tests-log-override-recheck.sh
diff --git a/tests/parallel-tests-many.test b/t/parallel-tests-many.sh
similarity index 100%
rename from tests/parallel-tests-many.test
rename to t/parallel-tests-many.sh
diff --git a/tests/parallel-tests-no-color-in-log.test
b/t/parallel-tests-no-color-in-log.sh
similarity index 100%
rename from tests/parallel-tests-no-color-in-log.test
rename to t/parallel-tests-no-color-in-log.sh
diff --git a/tests/parallel-tests-no-spurious-summary.test
b/t/parallel-tests-no-spurious-summary.sh
similarity index 100%
rename from tests/parallel-tests-no-spurious-summary.test
rename to t/parallel-tests-no-spurious-summary.sh
diff --git a/tests/parallel-tests-once.test b/t/parallel-tests-once.sh
similarity index 100%
rename from tests/parallel-tests-once.test
rename to t/parallel-tests-once.sh
diff --git a/tests/parallel-tests-reset-term.test
b/t/parallel-tests-reset-term.sh
similarity index 100%
rename from tests/parallel-tests-reset-term.test
rename to t/parallel-tests-reset-term.sh
diff --git a/tests/parallel-tests-subdir.test b/t/parallel-tests-subdir.sh
similarity index 100%
rename from tests/parallel-tests-subdir.test
rename to t/parallel-tests-subdir.sh
diff --git a/tests/parallel-tests-suffix-prog.test
b/t/parallel-tests-suffix-prog.sh
similarity index 100%
rename from tests/parallel-tests-suffix-prog.test
rename to t/parallel-tests-suffix-prog.sh
diff --git a/tests/parallel-tests-suffix.test b/t/parallel-tests-suffix.sh
similarity index 100%
rename from tests/parallel-tests-suffix.test
rename to t/parallel-tests-suffix.sh
diff --git a/tests/parallel-tests-trailing-bslash.test
b/t/parallel-tests-trailing-bslash.sh
similarity index 100%
rename from tests/parallel-tests-trailing-bslash.test
rename to t/parallel-tests-trailing-bslash.sh
diff --git a/tests/parallel-tests-unreadable.test
b/t/parallel-tests-unreadable.sh
similarity index 100%
rename from tests/parallel-tests-unreadable.test
rename to t/parallel-tests-unreadable.sh
diff --git a/tests/parallel-tests.test b/t/parallel-tests.sh
similarity index 100%
rename from tests/parallel-tests.test
rename to t/parallel-tests.sh
diff --git a/tests/parallel-tests10.test b/t/parallel-tests10.sh
similarity index 100%
rename from tests/parallel-tests10.test
rename to t/parallel-tests10.sh
diff --git a/t/parallel-tests2.sh b/t/parallel-tests2.sh
new file mode 100755
index 0000000..f7dae9f
--- /dev/null
+++ b/t/parallel-tests2.sh
@@ -0,0 +1,149 @@
+#! /bin/sh
+# Copyright (C) 2009-2012 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 parallel-tests features:
+# - check-html
+# - recheck-html
+# FIXME: the features tested by this script has been moved in contrib.
+# FIXME: We should move this script accordingly.
+
+am_parallel_tests=yes
+. ./defs || Exit 1
+
+# Try the variants that are tried in check-html.am.
+while :; do
+ for r2h in $RST2HTML rst2html rst2html.py; do
+ echo "$me: running $r2h --version"
+ # Don't use "&&" here, or a bug of 'set -e' present in some
+ # versions of the BSD shell will be triggered. We add the
+ # dummy "else" branch for extra safety.
+ if $r2h --version; then break 2; else :; fi
+ done
+ skip_all_ "no proper rst2html program found"
+done
+unset r2h
+
+cp "$am_top_srcdir"/contrib/check-html.am . \
+ || fatal_ "cannot fetch 'check-html.am' from contrib"
+
+cat >> configure.ac << 'END'
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+TEST_SUITE_LOG = mylog.log
+TESTS = foo.test bar.test baz.test
+check_SCRIPTS = bla
+bla:
+ echo bla > $@
+CLEANFILES = bla
+include $(srcdir)/check-html.am
+END
+
+cat > foo.test <<'END'
+#! /bin/sh
+echo "this is $0"
+test -f bla || exit 1
+exit 0
+END
+
+cat > bar.test <<'END'
+#! /bin/sh
+echo "this is $0"
+exit 99
+END
+
+cat > baz.test <<'END'
+#! /bin/sh
+echo "this is $0"
+exit 1
+END
+
+chmod a+x foo.test bar.test baz.test
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE -a
+
+./configure
+
+$MAKE check-html && Exit 1
+test -f mylog.html
+# check-html should cause check_SCRIPTS to be created.
+test -f bla
+
+# "make clean" should remove HTML files.
+$MAKE clean
+test ! -f mylog.html
+test ! -f bla
+
+# Always create the HTML output, even if there were no failures.
+rm -f mylog.html
+$MAKE TESTS=foo.test check-html
+test -f mylog.html
+
+# Create summarizing HTML output also with recheck-html.
+rm -f mylog.html
+$MAKE TESTS=foo.test recheck-html
+test -f mylog.html
+
+# Create HTML output for an individual test.
+$MAKE foo.html
+grep 'this is .*foo\.test' foo.html
+test ! -f bar.html
+test ! -f baz.html
+
+# Create HTML output for individual tests. Since the pre-existing log
+# files are expected to be used for the HTML conversion, this should
+# go smoothly even for failed tests.
+$MAKE bar.html baz.html
+grep 'this is .*bar\.test' bar.html
+grep 'this is .*baz\.test' baz.html
+
+# HTML output removed by mostlyclean.
+$MAKE mostlyclean
+test ! -f foo.html
+test ! -f bar.html
+test ! -f baz.html
+test ! -f mylog.html
+
+# check-html and recheck-html should cause check_SCRIPTS to be created,
+# and recheck-html should rerun no tests if check has not been run.
+
+$MAKE clean
+test ! -f mylog.html
+$MAKE check-html TEST_LOGS=foo.log
+test -f bla
+test -f foo.log
+test ! -f bar.log
+test ! -f baz.log
+test -f mylog.html
+
+$MAKE clean
+$MAKE recheck-html TESTS=foo.test
+test -f bla
+test ! -f foo.log
+test -f mylog.html
+
+$MAKE clean
+$MAKE recheck-html
+test -f bla
+test ! -f foo.log
+test ! -f bar.log
+test ! -f baz.log
+test -f mylog.html
+
+:
diff --git a/tests/parallel-tests3.test b/t/parallel-tests3.sh
similarity index 100%
rename from tests/parallel-tests3.test
rename to t/parallel-tests3.sh
diff --git a/tests/parallel-tests5.test b/t/parallel-tests5.sh
similarity index 100%
rename from tests/parallel-tests5.test
rename to t/parallel-tests5.sh
diff --git a/tests/parallel-tests6.test b/t/parallel-tests6.sh
similarity index 100%
rename from tests/parallel-tests6.test
rename to t/parallel-tests6.sh
diff --git a/tests/parallel-tests8.test b/t/parallel-tests8.sh
similarity index 100%
rename from tests/parallel-tests8.test
rename to t/parallel-tests8.sh
diff --git a/tests/parallel-tests9.test b/t/parallel-tests9.sh
similarity index 100%
rename from tests/parallel-tests9.test
rename to t/parallel-tests9.sh
diff --git a/tests/parse.test b/t/parse.sh
similarity index 100%
rename from tests/parse.test
rename to t/parse.sh
diff --git a/tests/pattern-rules.test b/t/pattern-rules.sh
similarity index 100%
rename from tests/pattern-rules.test
rename to t/pattern-rules.sh
diff --git a/tests/pattern-rules2.test b/t/pattern-rules2.sh
similarity index 100%
rename from tests/pattern-rules2.test
rename to t/pattern-rules2.sh
diff --git a/tests/phony.test b/t/phony.sh
similarity index 100%
rename from tests/phony.test
rename to t/phony.sh
diff --git a/tests/pluseq.test b/t/pluseq.sh
similarity index 100%
rename from tests/pluseq.test
rename to t/pluseq.sh
diff --git a/tests/pluseq10.test b/t/pluseq10.sh
similarity index 100%
rename from tests/pluseq10.test
rename to t/pluseq10.sh
diff --git a/tests/pluseq11.test b/t/pluseq11.sh
similarity index 100%
rename from tests/pluseq11.test
rename to t/pluseq11.sh
diff --git a/tests/pluseq2.test b/t/pluseq2.sh
similarity index 100%
rename from tests/pluseq2.test
rename to t/pluseq2.sh
diff --git a/tests/pluseq3.test b/t/pluseq3.sh
similarity index 100%
rename from tests/pluseq3.test
rename to t/pluseq3.sh
diff --git a/tests/pluseq4.test b/t/pluseq4.sh
similarity index 100%
rename from tests/pluseq4.test
rename to t/pluseq4.sh
diff --git a/tests/pluseq5.test b/t/pluseq5.sh
similarity index 100%
rename from tests/pluseq5.test
rename to t/pluseq5.sh
diff --git a/tests/pluseq6.test b/t/pluseq6.sh
similarity index 100%
rename from tests/pluseq6.test
rename to t/pluseq6.sh
diff --git a/tests/pluseq7.test b/t/pluseq7.sh
similarity index 100%
rename from tests/pluseq7.test
rename to t/pluseq7.sh
diff --git a/tests/pluseq8.test b/t/pluseq8.sh
similarity index 100%
rename from tests/pluseq8.test
rename to t/pluseq8.sh
diff --git a/tests/pluseq9.test b/t/pluseq9.sh
similarity index 100%
rename from tests/pluseq9.test
rename to t/pluseq9.sh
diff --git a/tests/pm/Cond2.pl b/t/pm/Cond2.pl
similarity index 100%
rename from tests/pm/Cond2.pl
rename to t/pm/Cond2.pl
diff --git a/tests/pm/Cond3.pl b/t/pm/Cond3.pl
similarity index 100%
rename from tests/pm/Cond3.pl
rename to t/pm/Cond3.pl
diff --git a/tests/pm/Condition-t.pl b/t/pm/Condition-t.pl
similarity index 100%
rename from tests/pm/Condition-t.pl
rename to t/pm/Condition-t.pl
diff --git a/tests/pm/Condition.pl b/t/pm/Condition.pl
similarity index 100%
rename from tests/pm/Condition.pl
rename to t/pm/Condition.pl
diff --git a/tests/pm/DisjCon2.pl b/t/pm/DisjCon2.pl
similarity index 100%
rename from tests/pm/DisjCon2.pl
rename to t/pm/DisjCon2.pl
diff --git a/tests/pm/DisjCon3.pl b/t/pm/DisjCon3.pl
similarity index 100%
rename from tests/pm/DisjCon3.pl
rename to t/pm/DisjCon3.pl
diff --git a/tests/pm/DisjConditions-t.pl b/t/pm/DisjConditions-t.pl
similarity index 100%
rename from tests/pm/DisjConditions-t.pl
rename to t/pm/DisjConditions-t.pl
diff --git a/tests/pm/DisjConditions.pl b/t/pm/DisjConditions.pl
similarity index 100%
rename from tests/pm/DisjConditions.pl
rename to t/pm/DisjConditions.pl
diff --git a/tests/pm/Version.pl b/t/pm/Version.pl
similarity index 100%
rename from tests/pm/Version.pl
rename to t/pm/Version.pl
diff --git a/tests/pm/Version2.pl b/t/pm/Version2.pl
similarity index 100%
rename from tests/pm/Version2.pl
rename to t/pm/Version2.pl
diff --git a/tests/pm/Version3.pl b/t/pm/Version3.pl
similarity index 100%
rename from tests/pm/Version3.pl
rename to t/pm/Version3.pl
diff --git a/tests/pm/Wrap.pl b/t/pm/Wrap.pl
similarity index 100%
rename from tests/pm/Wrap.pl
rename to t/pm/Wrap.pl
diff --git a/tests/posixsubst-data.test b/t/posixsubst-data.sh
similarity index 100%
rename from tests/posixsubst-data.test
rename to t/posixsubst-data.sh
diff --git a/tests/posixsubst-extradist.test b/t/posixsubst-extradist.sh
similarity index 100%
rename from tests/posixsubst-extradist.test
rename to t/posixsubst-extradist.sh
diff --git a/tests/posixsubst-ldadd.test b/t/posixsubst-ldadd.sh
similarity index 100%
rename from tests/posixsubst-ldadd.test
rename to t/posixsubst-ldadd.sh
diff --git a/tests/posixsubst-libraries.test b/t/posixsubst-libraries.sh
similarity index 100%
rename from tests/posixsubst-libraries.test
rename to t/posixsubst-libraries.sh
diff --git a/tests/posixsubst-ltlibraries.test b/t/posixsubst-ltlibraries.sh
similarity index 100%
rename from tests/posixsubst-ltlibraries.test
rename to t/posixsubst-ltlibraries.sh
diff --git a/tests/posixsubst-programs.test b/t/posixsubst-programs.sh
similarity index 100%
rename from tests/posixsubst-programs.test
rename to t/posixsubst-programs.sh
diff --git a/tests/posixsubst-scripts.test b/t/posixsubst-scripts.sh
similarity index 100%
rename from tests/posixsubst-scripts.test
rename to t/posixsubst-scripts.sh
diff --git a/tests/posixsubst-sources.test b/t/posixsubst-sources.sh
similarity index 100%
rename from tests/posixsubst-sources.test
rename to t/posixsubst-sources.sh
diff --git a/tests/posixsubst-tests.test b/t/posixsubst-tests.sh
similarity index 100%
rename from tests/posixsubst-tests.test
rename to t/posixsubst-tests.sh
diff --git a/tests/ppf77.test b/t/ppf77.sh
similarity index 100%
rename from tests/ppf77.test
rename to t/ppf77.sh
diff --git a/tests/pr2.test b/t/pr2.sh
similarity index 100%
rename from tests/pr2.test
rename to t/pr2.sh
diff --git a/tests/pr211.test b/t/pr211.sh
similarity index 100%
rename from tests/pr211.test
rename to t/pr211.sh
diff --git a/tests/pr220.test b/t/pr220.sh
similarity index 100%
rename from tests/pr220.test
rename to t/pr220.sh
diff --git a/tests/pr224.test b/t/pr224.sh
similarity index 100%
rename from tests/pr224.test
rename to t/pr224.sh
diff --git a/tests/pr229.test b/t/pr229.sh
similarity index 100%
rename from tests/pr229.test
rename to t/pr229.sh
diff --git a/tests/pr279-2.test b/t/pr279-2.sh
similarity index 100%
rename from tests/pr279-2.test
rename to t/pr279-2.sh
diff --git a/tests/pr279.test b/t/pr279.sh
similarity index 100%
rename from tests/pr279.test
rename to t/pr279.sh
diff --git a/tests/pr287.test b/t/pr287.sh
similarity index 100%
rename from tests/pr287.test
rename to t/pr287.sh
diff --git a/tests/pr300-lib.test b/t/pr300-lib.sh
similarity index 100%
rename from tests/pr300-lib.test
rename to t/pr300-lib.sh
diff --git a/tests/pr300-ltlib.test b/t/pr300-ltlib.sh
similarity index 100%
rename from tests/pr300-ltlib.test
rename to t/pr300-ltlib.sh
diff --git a/tests/pr300-prog.test b/t/pr300-prog.sh
similarity index 100%
rename from tests/pr300-prog.test
rename to t/pr300-prog.sh
diff --git a/tests/pr307.test b/t/pr307.sh
similarity index 100%
rename from tests/pr307.test
rename to t/pr307.sh
diff --git a/tests/pr401.test b/t/pr401.sh
similarity index 100%
rename from tests/pr401.test
rename to t/pr401.sh
diff --git a/tests/pr401b.test b/t/pr401b.sh
similarity index 100%
rename from tests/pr401b.test
rename to t/pr401b.sh
diff --git a/tests/pr401c.test b/t/pr401c.sh
similarity index 100%
rename from tests/pr401c.test
rename to t/pr401c.sh
diff --git a/tests/pr72.test b/t/pr72.sh
similarity index 100%
rename from tests/pr72.test
rename to t/pr72.sh
diff --git a/tests/pr8365-remake-timing.test b/t/pr8365-remake-timing.sh
similarity index 100%
rename from tests/pr8365-remake-timing.test
rename to t/pr8365-remake-timing.sh
diff --git a/tests/pr87.test b/t/pr87.sh
similarity index 100%
rename from tests/pr87.test
rename to t/pr87.sh
diff --git a/tests/pr9.test b/t/pr9.sh
similarity index 100%
rename from tests/pr9.test
rename to t/pr9.sh
diff --git a/tests/prefix.test b/t/prefix.sh
similarity index 100%
rename from tests/prefix.test
rename to t/prefix.sh
diff --git a/tests/primary-prefix-couples-documented-valid.test
b/t/primary-prefix-couples-documented-valid.sh
similarity index 100%
rename from tests/primary-prefix-couples-documented-valid.test
rename to t/primary-prefix-couples-documented-valid.sh
diff --git a/tests/primary-prefix-couples-force-valid.test
b/t/primary-prefix-couples-force-valid.sh
similarity index 100%
rename from tests/primary-prefix-couples-force-valid.test
rename to t/primary-prefix-couples-force-valid.sh
diff --git a/tests/primary-prefix-invalid-couples.tap
b/t/primary-prefix-invalid-couples.tap
similarity index 100%
rename from tests/primary-prefix-invalid-couples.tap
rename to t/primary-prefix-invalid-couples.tap
diff --git a/tests/primary-prefix-valid-couples.test
b/t/primary-prefix-valid-couples.sh
similarity index 100%
rename from tests/primary-prefix-valid-couples.test
rename to t/primary-prefix-valid-couples.sh
diff --git a/tests/primary.test b/t/primary.sh
similarity index 100%
rename from tests/primary.test
rename to t/primary.sh
diff --git a/tests/primary2.test b/t/primary2.sh
similarity index 100%
rename from tests/primary2.test
rename to t/primary2.sh
diff --git a/tests/primary3.test b/t/primary3.sh
similarity index 100%
rename from tests/primary3.test
rename to t/primary3.sh
diff --git a/tests/print-libdir.test b/t/print-libdir.sh
similarity index 100%
rename from tests/print-libdir.test
rename to t/print-libdir.sh
diff --git a/tests/proginst.test b/t/proginst.sh
similarity index 100%
rename from tests/proginst.test
rename to t/proginst.sh
diff --git a/tests/programs-primary-rewritten.test
b/t/programs-primary-rewritten.sh
similarity index 100%
rename from tests/programs-primary-rewritten.test
rename to t/programs-primary-rewritten.sh
diff --git a/tests/py-compile-basedir.test b/t/py-compile-basedir.sh
similarity index 100%
rename from tests/py-compile-basedir.test
rename to t/py-compile-basedir.sh
diff --git a/tests/py-compile-basic.test b/t/py-compile-basic.sh
similarity index 100%
rename from tests/py-compile-basic.test
rename to t/py-compile-basic.sh
diff --git a/tests/py-compile-basic2.test b/t/py-compile-basic2.sh
similarity index 100%
rename from tests/py-compile-basic2.test
rename to t/py-compile-basic2.sh
diff --git a/tests/py-compile-destdir.test b/t/py-compile-destdir.sh
similarity index 100%
rename from tests/py-compile-destdir.test
rename to t/py-compile-destdir.sh
diff --git a/tests/py-compile-env.test b/t/py-compile-env.sh
similarity index 100%
rename from tests/py-compile-env.test
rename to t/py-compile-env.sh
diff --git a/tests/py-compile-option-terminate.test
b/t/py-compile-option-terminate.sh
similarity index 100%
rename from tests/py-compile-option-terminate.test
rename to t/py-compile-option-terminate.sh
diff --git a/tests/py-compile-usage.test b/t/py-compile-usage.sh
similarity index 100%
rename from tests/py-compile-usage.test
rename to t/py-compile-usage.sh
diff --git a/tests/python-dist.test b/t/python-dist.sh
similarity index 100%
rename from tests/python-dist.test
rename to t/python-dist.sh
diff --git a/tests/python-pr10995.test b/t/python-pr10995.sh
similarity index 100%
rename from tests/python-pr10995.test
rename to t/python-pr10995.sh
diff --git a/tests/python-vars.test b/t/python-vars.sh
similarity index 100%
rename from tests/python-vars.test
rename to t/python-vars.sh
diff --git a/tests/python-virtualenv.test b/t/python-virtualenv.sh
similarity index 100%
rename from tests/python-virtualenv.test
rename to t/python-virtualenv.sh
diff --git a/tests/python.test b/t/python.sh
similarity index 100%
rename from tests/python.test
rename to t/python.sh
diff --git a/tests/python10.test b/t/python10.sh
similarity index 100%
rename from tests/python10.test
rename to t/python10.sh
diff --git a/tests/python11.test b/t/python11.sh
similarity index 100%
rename from tests/python11.test
rename to t/python11.sh
diff --git a/tests/python12.test b/t/python12.sh
similarity index 100%
rename from tests/python12.test
rename to t/python12.sh
diff --git a/tests/python2.test b/t/python2.sh
similarity index 100%
rename from tests/python2.test
rename to t/python2.sh
diff --git a/tests/python3.test b/t/python3.sh
similarity index 100%
rename from tests/python3.test
rename to t/python3.sh
diff --git a/tests/python4.test b/t/python4.sh
similarity index 100%
rename from tests/python4.test
rename to t/python4.sh
diff --git a/tests/python5.test b/t/python5.sh
similarity index 100%
rename from tests/python5.test
rename to t/python5.sh
diff --git a/tests/python5b.test b/t/python5b.sh
similarity index 100%
rename from tests/python5b.test
rename to t/python5b.sh
diff --git a/tests/python6.test b/t/python6.sh
similarity index 100%
rename from tests/python6.test
rename to t/python6.sh
diff --git a/tests/python7.test b/t/python7.sh
similarity index 100%
rename from tests/python7.test
rename to t/python7.sh
diff --git a/tests/python8.test b/t/python8.sh
similarity index 100%
rename from tests/python8.test
rename to t/python8.sh
diff --git a/tests/python9.test b/t/python9.sh
similarity index 100%
rename from tests/python9.test
rename to t/python9.sh
diff --git a/tests/recurs.test b/t/recurs.sh
similarity index 100%
rename from tests/recurs.test
rename to t/recurs.sh
diff --git a/tests/recurs2.test b/t/recurs2.sh
similarity index 100%
rename from tests/recurs2.test
rename to t/recurs2.sh
diff --git a/tests/remake-all-1.test b/t/remake-all-1.sh
similarity index 100%
rename from tests/remake-all-1.test
rename to t/remake-all-1.sh
diff --git a/tests/remake-am-pr10111.test b/t/remake-am-pr10111.sh
similarity index 100%
rename from tests/remake-am-pr10111.test
rename to t/remake-am-pr10111.sh
diff --git a/tests/remake-deleted-am-2.test b/t/remake-deleted-am-2.sh
similarity index 100%
rename from tests/remake-deleted-am-2.test
rename to t/remake-deleted-am-2.sh
diff --git a/tests/remake-deleted-am-subdir.test b/t/remake-deleted-am-subdir.sh
similarity index 100%
rename from tests/remake-deleted-am-subdir.test
rename to t/remake-deleted-am-subdir.sh
diff --git a/tests/remake-deleted-am.test b/t/remake-deleted-am.sh
similarity index 100%
rename from tests/remake-deleted-am.test
rename to t/remake-deleted-am.sh
diff --git a/tests/remake-deleted-m4-file.test b/t/remake-deleted-m4-file.sh
similarity index 100%
rename from tests/remake-deleted-m4-file.test
rename to t/remake-deleted-m4-file.sh
diff --git a/tests/remake-gnulib-add-acsubst.test
b/t/remake-gnulib-add-acsubst.sh
similarity index 100%
rename from tests/remake-gnulib-add-acsubst.test
rename to t/remake-gnulib-add-acsubst.sh
diff --git a/tests/remake-gnulib-add-header.test b/t/remake-gnulib-add-header.sh
similarity index 100%
rename from tests/remake-gnulib-add-header.test
rename to t/remake-gnulib-add-header.sh
diff --git a/tests/remake-gnulib-remove-header.test
b/t/remake-gnulib-remove-header.sh
similarity index 100%
rename from tests/remake-gnulib-remove-header.test
rename to t/remake-gnulib-remove-header.sh
diff --git a/tests/remake-m4-pr10111.test b/t/remake-m4-pr10111.sh
similarity index 100%
rename from tests/remake-m4-pr10111.test
rename to t/remake-m4-pr10111.sh
diff --git a/tests/remake-moved-m4-file.test b/t/remake-moved-m4-file.sh
similarity index 100%
rename from tests/remake-moved-m4-file.test
rename to t/remake-moved-m4-file.sh
diff --git a/tests/remake-renamed-am.test b/t/remake-renamed-am.sh
similarity index 100%
rename from tests/remake-renamed-am.test
rename to t/remake-renamed-am.sh
diff --git a/tests/remake-renamed-m4-file.test b/t/remake-renamed-m4-file.sh
similarity index 100%
rename from tests/remake-renamed-m4-file.test
rename to t/remake-renamed-m4-file.sh
diff --git a/tests/remake-renamed-m4-macro-and-file.test
b/t/remake-renamed-m4-macro-and-file.sh
similarity index 100%
rename from tests/remake-renamed-m4-macro-and-file.test
rename to t/remake-renamed-m4-macro-and-file.sh
diff --git a/tests/remake-renamed-m4-macro.test b/t/remake-renamed-m4-macro.sh
similarity index 100%
rename from tests/remake-renamed-m4-macro.test
rename to t/remake-renamed-m4-macro.sh
diff --git a/tests/remake-subdir-from-subdir.test
b/t/remake-subdir-from-subdir.sh
similarity index 100%
rename from tests/remake-subdir-from-subdir.test
rename to t/remake-subdir-from-subdir.sh
diff --git a/tests/remake-subdir-gnu.test b/t/remake-subdir-gnu.sh
similarity index 100%
rename from tests/remake-subdir-gnu.test
rename to t/remake-subdir-gnu.sh
diff --git a/tests/remake-subdir-long-time.test b/t/remake-subdir-long-time.sh
similarity index 100%
rename from tests/remake-subdir-long-time.test
rename to t/remake-subdir-long-time.sh
diff --git a/tests/remake-subdir.test b/t/remake-subdir.sh
similarity index 100%
rename from tests/remake-subdir.test
rename to t/remake-subdir.sh
diff --git a/tests/remake.test b/t/remake.sh
similarity index 100%
rename from tests/remake.test
rename to t/remake.sh
diff --git a/tests/remake10a.test b/t/remake10a.sh
similarity index 100%
rename from tests/remake10a.test
rename to t/remake10a.sh
diff --git a/tests/remake10b.test b/t/remake10b.sh
similarity index 100%
rename from tests/remake10b.test
rename to t/remake10b.sh
diff --git a/tests/remake10c.test b/t/remake10c.sh
similarity index 100%
rename from tests/remake10c.test
rename to t/remake10c.sh
diff --git a/tests/remake11.test b/t/remake11.sh
similarity index 100%
rename from tests/remake11.test
rename to t/remake11.sh
diff --git a/tests/remake12.test b/t/remake12.sh
similarity index 100%
rename from tests/remake12.test
rename to t/remake12.sh
diff --git a/tests/remake1a.test b/t/remake1a.sh
similarity index 100%
rename from tests/remake1a.test
rename to t/remake1a.sh
diff --git a/tests/remake2.test b/t/remake2.sh
similarity index 100%
rename from tests/remake2.test
rename to t/remake2.sh
diff --git a/tests/remake3.test b/t/remake3.sh
similarity index 100%
rename from tests/remake3.test
rename to t/remake3.sh
diff --git a/tests/remake3a.test b/t/remake3a.sh
similarity index 100%
rename from tests/remake3a.test
rename to t/remake3a.sh
diff --git a/tests/remake4.test b/t/remake4.sh
similarity index 100%
rename from tests/remake4.test
rename to t/remake4.sh
diff --git a/tests/remake5.test b/t/remake5.sh
similarity index 100%
rename from tests/remake5.test
rename to t/remake5.sh
diff --git a/tests/remake6.test b/t/remake6.sh
similarity index 100%
rename from tests/remake6.test
rename to t/remake6.sh
diff --git a/tests/remake7.test b/t/remake7.sh
similarity index 100%
rename from tests/remake7.test
rename to t/remake7.sh
diff --git a/tests/remake8a.test b/t/remake8a.sh
similarity index 100%
rename from tests/remake8a.test
rename to t/remake8a.sh
diff --git a/tests/remake8b.test b/t/remake8b.sh
similarity index 100%
rename from tests/remake8b.test
rename to t/remake8b.sh
diff --git a/tests/remake9a.test b/t/remake9a.sh
similarity index 100%
rename from tests/remake9a.test
rename to t/remake9a.sh
diff --git a/tests/remake9b.test b/t/remake9b.sh
similarity index 100%
rename from tests/remake9b.test
rename to t/remake9b.sh
diff --git a/tests/remake9c.test b/t/remake9c.sh
similarity index 100%
rename from tests/remake9c.test
rename to t/remake9c.sh
diff --git a/tests/remake9d.test b/t/remake9d.sh
similarity index 100%
rename from tests/remake9d.test
rename to t/remake9d.sh
diff --git a/tests/repeated-options.test b/t/repeated-options.sh
similarity index 100%
rename from tests/repeated-options.test
rename to t/repeated-options.sh
diff --git a/tests/req.test b/t/req.sh
similarity index 100%
rename from tests/req.test
rename to t/req.sh
diff --git a/tests/reqd.test b/t/reqd.sh
similarity index 100%
rename from tests/reqd.test
rename to t/reqd.sh
diff --git a/tests/reqd2.test b/t/reqd2.sh
similarity index 100%
rename from tests/reqd2.test
rename to t/reqd2.sh
diff --git a/tests/rst-formatting.test b/t/rst-formatting.sh
similarity index 100%
rename from tests/rst-formatting.test
rename to t/rst-formatting.sh
diff --git a/tests/rulepat.test b/t/rulepat.sh
similarity index 100%
rename from tests/rulepat.test
rename to t/rulepat.sh
diff --git a/tests/sanity.test b/t/sanity.sh
similarity index 100%
rename from tests/sanity.test
rename to t/sanity.sh
diff --git a/tests/scripts.test b/t/scripts.sh
similarity index 100%
rename from tests/scripts.test
rename to t/scripts.sh
diff --git a/tests/seenc.test b/t/seenc.sh
similarity index 100%
rename from tests/seenc.test
rename to t/seenc.sh
diff --git a/t/self-check-cleanup.tap b/t/self-check-cleanup.tap
new file mode 100755
index 0000000..3ea5281
--- /dev/null
+++ b/t/self-check-cleanup.tap
@@ -0,0 +1,181 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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/>.
+
+# Sanity check for the automake testsuite.
+# Check creation/removal of temporary test working directory by './defs'.
+
+. ./defs || Exit 1
+
+if test x"$sh_errexit_works" != x"yes"; then
+ skip_all_ "$me: no working exit trap with 'set -e'"
+fi
+
+plan_ 42
+
+# We still need a little hack to make ./defs work outside automake's
+# tree 'tests' subdirectory. Not a big deal.
+sed "s|^am_top_builddir=.*|am_top_builddir='`pwd`'|" \
+ "$am_top_builddir"/defs-static >defs-static
+diff "$am_top_builddir"/defs-static defs-static \
+ && fatal_ "failed to edit defs-static"
+cp "$am_top_builddir"/defs .
+
+AM_TESTS_REEXEC=no; export AM_TESTS_REEXEC
+
+if ln -s defs foo && test -h foo; then
+ have_symlinks=yes
+else
+ have_symlinks=no
+fi
+export have_symlinks # Is used also by spawned shells.
+
+# Don't let a failure poison all subsequent tests.
+do_clean ()
+{
+ # Don't try to be smart and use find here, that has caused issues
+ # and extra ERROR results in the past. Be dumb and safe.
+ for d in t t/* t/*/* t/*/*/*; do
+ test ! -d t/$d || chmod u+rwx t/$d || :
+ done
+ rm -rf t
+}
+
+# Check that pre-test cleanup works also with directories with
+# "null" permissions, and containing broken symlinks.
+mkdir t t/dummy.dir t/dummy.dir/sub
+(
+ cd t/dummy.dir
+ touch file sub/file
+ if test $have_symlinks = yes; then
+ ln -s file symlink
+ ln -s none brokenlink
+ fi
+)
+chmod 000 t/dummy.dir/sub/* t/dummy.dir/file
+test $have_symlinks = yes && chmod 000 t/dummy.dir/symlink
+chmod 500 t/dummy.dir/sub t/dummy.dir
+command_ok_ "pre-cleanup can deal with low-perms testdir" \
+ $SHELL -c '. ./defs' dummy.sh
+command_ok_ "pre-cleanup removed low-perms testdir" \
+ eval 'test ! -f dummy.dir \
+ && test ! -d dummy.dir \
+ && test ! -r dummy.dir'
+
+do_clean
+
+# Check that post-test cleanup works also with directories with
+# "null" permissions, and containing broken symlinks.
+command_ok_ "post-cleanup can deal with low-perms testdir" \
+ $SHELL -c '
+ stderr_fileno_=2
+ . ./defs || Exit 1
+ set -e
+ mkdir dir dir/sub
+ cd dir
+ touch file sub/file
+ if test $have_symlinks = yes; then
+ ln -s file symlink
+ ln -s none brokenlink
+ fi
+ cd ..
+ chmod 000 dir/sub/* dir/file
+ test $have_symlinks = yes && chmod 000 dir/symlink
+ chmod 500 dir/sub dir
+ :
+' t/dummy.sh
+command_ok_ "post-cleanup removed null-perms testdir" \
+ eval 'test ! -f dummy.dir \
+ && test ! -d dummy.dir \
+ && test ! -r dummy.dir'
+
+do_clean
+
+# Check that pre-test cleanup does not unduly change the permissions of
+# files to which symlinks in the temporary test directory point to.
+if test $have_symlinks = yes; then
+
+ mkdir dir
+ chmod 000 dir
+ : > file
+ chmod 000 file
+
+ mkdir t t/dummy.dir
+ (cd t/dummy.dir && ln -s ../../dir ../../file .)
+
+ command_ok_ "pre-cleanup with testdir with zero-perms symlinks" \
+ $SHELL -c '. ./defs' dummy.sh
+ ls -l # For debugging.
+ command_ok_ "pre-cleanup chmod doesn't follow symlinks to files" \
+ eval 'ls -l file | grep "^----------.*file"'
+ command_ok_ "pre-cleanup chmod doesn't follow symlinks to dirs" \
+ eval 'ls -ld dir | grep "^d---------.*dir"'
+
+ command_ok_ "post-cleanup with testdir with zero-perms symlinks" \
+ $SHELL -c '
+ ocwd=`pwd` || exit 1
+ stderr_fileno_=2
+ . ./defs || Exit 1
+ ln -s "$ocwd/dir" "$ocwd/file" .
+ ' t/dummy.sh
+ ls -l # For debugging.
+ command_ok_ "post-cleanup chmod doesn't follow symlinks to files" \
+ eval 'ls -l file | grep "^----------.*file"'
+ command_ok_ "post-cleanup chmod doesn't follow symlinks to dirs" \
+ eval 'ls -ld dir | grep "^d---------.*dir"'
+
+ chmod u+rwx dir file
+ rmdir dir
+ rm -f file
+
+else # $have_symlinks = no
+ skip_row_ 6 "symlinks not supported"
+fi
+
+do_clean
+
+# Check that the cleanup trap does not remove the temporary
+# test directory in case of test failure, skip, hard-error,
+# or when receiving a signal.
+
+for st in 1 2 3 10 77 99 126 127 130 255; do
+ command_ok_ "exit trap doesn't clobber exit status $st" not $SHELL -c "
+ stderr_fileno_=2
+ . ./defs
+ : > foo
+ Exit $st
+ " t/dummy.sh
+ command_ok_ "testdir not removed if exiting with status $st" \
+ test -f t/dummy.dir/foo
+ do_clean
+done
+
+for sig in 1 2 3 9 13 15; do
+ if is_blocked_signal $sig; then
+ skip_row_ 2 -r "signal $sig seems blocked"
+ continue
+ fi
+ command_ok_ "exit trap doesn't clobber signal $sig" not $SHELL -c "
+ stderr_fileno_=2
+ . ./defs
+ : > foo
+ kill -$sig \$\$
+ " t/dummy.sh
+ command_ok_ "testdir not removed if getting signal $sig" \
+ test -f t/dummy.dir/foo
+ do_clean
+done
+
+:
diff --git a/tests/self-check-configure-help.test
b/t/self-check-configure-help.sh
similarity index 100%
rename from tests/self-check-configure-help.test
rename to t/self-check-configure-help.sh
diff --git a/t/self-check-dir.tap b/t/self-check-dir.tap
new file mode 100755
index 0000000..322677a
--- /dev/null
+++ b/t/self-check-dir.tap
@@ -0,0 +1,73 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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/>.
+
+# Sanity check for the automake testsuite.
+# Check that tests using './defs' create a proper temporary directory,
+# and run in it. Also check that we can prevent the pre-population
+# and the creation of such directory if we want.
+
+am_create_testdir=no
+. ./defs || Exit 99
+
+plan_ 5
+
+AM_TESTS_REEXEC=no; export AM_TESTS_REEXEC
+
+# This needs to be consistent with what $SHELL deems to be the
+# current working directory.
+cwd=`$SHELL -c 'pwd'` || fatal_ "can't get current working directory"
+echo "$cwd"
+
+do_check ()
+{
+ test ! -d _self.dir || rm -rf _self.dir \
+ || framework_failure_ "cleaning up _self.dir"
+ command_ok_ "$1 [$2]" $SHELL -c "
+ $2
+ . ./defs || Exit 99
+ # Don't fail if 'ls -l' fails; avoids possible racy spurious failures.
+ pwd; ls -l || : # For debugging.
+ $3
+ " t/_self.sh
+}
+
+do_check 'testdir has the expected path' \
+ 'unset am_create_testdir' \
+ 'case `pwd` in '"$cwd"'/t/_self.dir);; *) Exit 1;; esac'
+
+do_check 'fully pre-populated testdir' \
+ 'unset am_create_testdir' \
+ 'test -f install-sh || Exit 1
+ test -f configure.ac || Exit 1
+ case `pwd` in '"$cwd"'/t/_self.dir) : ;; *) Exit 1;; esac'
+
+do_check 'testdir has the expected path' \
+ 'am_create_testdir=empty' \
+ 'case `pwd` in '"$cwd"'/t/_self.dir) : ;; *) Exit 1;; esac'
+
+do_check 'do not pre-populate testdir' \
+ 'am_create_testdir=empty' \
+ 'ls -a | grep -v "^\\.\\{1,2\\}$" | grep . && Exit 1; :'
+
+do_check 'do not create nor chdir in testdir' \
+ 'am_create_testdir=no' \
+ 'test ! -d t/_self.dir || Exit 1
+ test ! -f t/_self.dir || Exit 1
+ test ! -r t/_self.dir || Exit 1
+ grep "self-check-dir\.tap" Makefile || Exit 1
+ case `pwd` in '"$cwd"') : ;; *) Exit 1;; esac'
+
+:
diff --git a/tests/self-check-env-sanitize.tap b/t/self-check-env-sanitize.tap
similarity index 100%
rename from tests/self-check-env-sanitize.tap
rename to t/self-check-env-sanitize.tap
diff --git a/t/self-check-exit.tap b/t/self-check-exit.tap
new file mode 100755
index 0000000..c866dbc
--- /dev/null
+++ b/t/self-check-exit.tap
@@ -0,0 +1,112 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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/>.
+
+# Sanity check for the automake testsuite.
+# Check that, in case of failing commands, the correct exit status is
+# passed to the exit trap installed by the './defs' script.
+# Also check that the 'errexit' shell flag is active.
+
+am_create_testdir=no
+. ./defs || Exit 99
+
+plan_ 34
+
+# This test becomes more cumbersome if we keep the 'errexit' shell flag
+# set. And removing it is no big deal, as this test is a TAP-based one,
+# so that false positives remain very unlikely.
+set +e
+
+AM_TESTS_REEXEC=no; export AM_TESTS_REEXEC
+
+# It's especially important that the 'unset' is done before sourcing
+# ./defs, i.e., when 'set -e' is not active yet, for the benefit of shells
+# (like Bash 2.05 and Solaris 10 /bin/ksh) that returns a non-zero status
+# when unsetting an already-unset variable.
+init='stderr_fileno_=2; unset am_explicit_skips; . ./defs'
+
+# Required so that the code in defs doesn't go crazy trying to creating a
+# temporary directory in the absolute dir of $SHELL.
+dummy_test_script=t/$me.sh
+
+for st in 1 2 3 4 5 77 99 126 127 128 129 130 255; do
+ for exit_cmd in "Exit $st" "sh -c 'exit $st'"; do
+ $SHELL -c "$init; $exit_cmd; :" "$dummy_test_script"
+ command_ok_ "$exit_cmd" test $? -eq $st
+ done
+done
+
+for sig in 1 2 13 15; do
+ if is_blocked_signal $sig; then
+ skip_ -r "signal $sig seems blocked"
+ continue
+ fi
+ if test $sig -eq 2; then
+ # Some Korn shells might otherwise get a spurious SIGINT signal when
+ # one is sent to the child $SHELL. For more details, see:
+ # <http://lists.gnu.org/archive/html/bug-autoconf/2011-09/msg00004.html>
+ trap : 2
+ fi
+ $SHELL -c "$init; kill -$sig \$\$; :" "$dummy_test_script"
+ rc=$?
+ if test $sig -eq 2; then
+ # Reset default SIGINT handler as portably as possible.
+ trap 2 || trap - 2
+ fi
+ if test x"$sh_errexit_works" = x"yes"; then
+ # The exit trap should turn into an hard errors any failure
+ # caused by signals.
+ command_ok_ "kill -$sig" test $rc -eq 99
+ else
+ # The exit trap is not installed, so that the shell should exit
+ # with status 128+n when receiving signal number n. But don't
+ # be too strict in the check, as POSIX only says that "The exit
+ # status of a command that terminated because it received a
+ # signal shall be reported as greater than 128".
+ command_ok_ "kill -$sig" test $rc -gt 128
+ fi
+ unset rc
+done
+
+: Non-existent program.
+# Solaris 10 /bin/sh erroneously exit with success right away when the
+# following three conditions are met at the same time:
+# 1. the 'errexit' flag is active,
+# 2. an exit trap is installed, and
+# 3. a non-existing command is issued.
+# Note that the non-existent command is issued as the last command to
+# the shell in the next line; this is deliberate.
+if $SHELL -c 'set -e; trap "exit \$?" 0; non-existent-program'; then
+ maybe_todo=TODO reason="known Solaris /bin/sh bug"
+else
+ maybe_todo="" reason=""
+fi
+$SHELL -c "$init; non-existent-program; :" "$dummy_test_script"
+command_ok_ "command not found" -D "$maybe_todo" -r "$reason" \
+ -- test $? -gt 0
+
+: Non-executable command.
+test -f Makefile && test ! -x Makefile || \
+ framowork_failure_ "no proper Makefile in the current directory"
+$SHELL -c "$init; ./Makefile; :" "$dummy_test_script"
+command_ok_ "permission denied" test $? -gt 0
+
+: Syntax errors in the test code.
+$SHELL -c "$init; if :; then" "$dummy_test_script"
+command_ok_ "syntax error 1" test $? -gt 0
+$SHELL -c "$init; fi" "$dummy_test_script"
+command_ok_ "syntax error 2" test $? -gt 0
+
+:
diff --git a/t/self-check-explicit-skips.sh b/t/self-check-explicit-skips.sh
new file mode 100755
index 0000000..3e7a77c
--- /dev/null
+++ b/t/self-check-explicit-skips.sh
@@ -0,0 +1,56 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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/>.
+
+# Sanity check for the automake testsuite.
+# Check creation/removal of temporary test working directory by './defs'.
+
+am_create_testdir=empty
+. ./defs || Exit 1
+
+test x"$sh_errexit_works" = x"yes" || skip_ "no working shell exit trap"
+
+# We still need a little hack to make ./defs work outside automake's
+# tree 'tests' subdirectory. Not a big deal.
+sed "s|^am_top_builddir=.*|am_top_builddir='`pwd`'|" \
+ "$am_top_builddir"/defs-static > defs-static
+diff "$am_top_builddir"/defs-static defs-static \
+ && fatal_ "failed to edit defs-static"
+cp "$am_top_builddir"/defs .
+
+set +e
+
+unset am_explicit_skips stderr_fileno_
+AM_TESTS_REEXEC=no; export AM_TESTS_REEXEC
+
+$SHELL -c '. ./defs; (exit 77); exit 77' dummy.test
+test $? -eq 77 || Exit 1
+
+am_explicit_skips=no $SHELL -c '. ./defs; sh -c "exit 77"' dummy.test
+test $? -eq 77 || Exit 1
+
+am_explicit_skips=yes $SHELL -c '. ./defs; (exit 77); exit 77' dummy.test
+test $? -eq 78 || Exit 1
+
+am_explicit_skips=y $SHELL -c '. ./defs; sh -c "exit 77"' dummy.test
+test $? -eq 78 || Exit 1
+
+am_explicit_skips=yes $SHELL -c '. ./defs; Exit 77' dummy.test
+test $? -eq 77 || Exit 1
+
+am_explicit_skips=y $SHELL -c '. ./defs; skip_ "foo"' dummy.test
+test $? -eq 77 || Exit 1
+
+:
diff --git a/tests/self-check-is-blocked-signal.tap
b/t/self-check-is-blocked-signal.tap
similarity index 100%
rename from tests/self-check-is-blocked-signal.tap
rename to t/self-check-is-blocked-signal.tap
diff --git a/tests/self-check-is_newest.tap b/t/self-check-is_newest.tap
similarity index 100%
rename from tests/self-check-is_newest.tap
rename to t/self-check-is_newest.tap
diff --git a/t/self-check-me.tap b/t/self-check-me.tap
new file mode 100755
index 0000000..5c83ee6
--- /dev/null
+++ b/t/self-check-me.tap
@@ -0,0 +1,73 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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/>.
+
+# Sanity check for the automake testsuite.
+# Make sure that $me gets automatically defined by './defs', and that it
+# can be overridden by the test script.
+
+am_create_testdir=no
+. ./defs || Exit 1
+
+plan_ 14
+
+AM_TESTS_REEXEC=no; export AM_TESTS_REEXEC
+
+# This test becomes cumbersome if we keep the 'errexit' shell flag set.
+# And removing it is no big deal, as this test is a TAP-based one, so
+# that false positives remain very unlikely.
+set +e
+
+do_check ()
+{
+ $SHELL -c '. ./defs && echo me=$me' "$1" | grep "^me=$2$"
+ command_ok_ "me=$1" test $? -eq 0
+}
+
+for e in sh tap; do
+ do_check foo-bar-.$e 'foo-bar-'
+ do_check _foo__bar.$e '_foo__bar'
+ do_check 012.$e '012'
+ do_check a.b.c.$e 'a\.b\.c'
+done
+
+do_check foo.bar 'foo\.bar'
+do_check abc. 'abc\.'
+
+# If we override $me, ./defs should not modify it.
+
+s=`$SHELL -c 'me=foo.sh && . ./defs && echo me=$me' bad.sh`
+command_ok_ "override of \$me before ./defs causes no error" \
+ test $? -eq 0
+
+r='ok'
+printf '%s\n' "$s" | grep '^me=foo\.sh$' || r='not ok'
+printf '%s\n' "$s" | grep 'me=bad' && r='not ok'
+result_ "$r" "override of \$me before ./defs is honored"
+unset r
+
+# Overriding $me after sourcing ./defs-static should work.
+s=`$SHELL -c '. ./defs-static && me=zardoz &&
+ . ./defs && echo me=$me' bad.sh`
+command_ok_ "override of \$me after ./defs-static causes no error" \
+ test $? -eq 0
+
+r='ok'
+printf '%s\n' "$s" | grep '^me=zardoz$' || r='not ok'
+printf '%s\n' "$s" | grep 'me=bad' && r='not ok'
+result_ "$r" "override of \$me after ./defs-static is honored"
+unset r
+
+:
diff --git a/t/self-check-reexec.tap b/t/self-check-reexec.tap
new file mode 100755
index 0000000..8237c08
--- /dev/null
+++ b/t/self-check-reexec.tap
@@ -0,0 +1,205 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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/>.
+
+# Sanity check for the automake testsuite.
+# Check that automatic re-execution of test script with the
+# configure-time $SHELL.
+
+am_create_testdir=empty
+. ./defs || Exit 1
+
+plan_ 32
+
+unset AM_TESTS_REEXEC BASH_VERSION || :
+
+cwd=`pwd` || fatal_ "cannot get current working directory"
+cp "$am_top_builddir"/defs . || fatal_ "fetching 'defs' from top_builddir"
+
+#
+# Search for required bash and non-bash shells.
+#
+
+for bash_shell in "$SHELL" bash bash3 bash4 :; do
+ test "$bash_shell" = : && break
+ $bash_shell --version || continue
+ $bash_shell -c 'test -n "$BASH_VERSION"' || continue
+ break
+done
+
+# This might not be optimal, but it's much better than writing wrapper
+# scripts acting as "fake" shells.
+for non_bash_shell in /bin/sh /bin/ksh "$SHELL" sh ksh ash dash pdksh :; do
+ test "$non_bash_shell" = : && break
+ $non_bash_shell -c 'exit 0' || continue
+ $non_bash_shell -c 'test -n "$BASH_VERSION"' && continue
+ break
+done
+
+echo "bash_shell='$bash_shell'"
+echo "non_bash_shell='$non_bash_shell'"
+
+# This would denote an internal error.
+if test "$bash_shell" = : && test "$non_bash_shell" = :; then
+ fatal_ "we couldn't find a bash shell nor a non-bash one"
+fi
+
+#
+# Functions used throughout the test.
+#
+
+get_ddata ()
+{
+ case $1 in
+ ""|*/) dsep=;;
+ *) dsep=/;;
+ esac
+ case $1 in
+ "") dname="no dir";;
+ /*) dname="absolute dir";;
+ *) dname="dir '$1'";;
+ esac
+}
+
+get_sh ()
+{
+ case $1 in
+ bash) sh=$bash_shell;;
+ non-bash) sh=$non_bash_shell;;
+ *) fatal_ "get_sh: invalid shell type '$1'";;
+ esac
+}
+
+#
+# Check how to default, force or prevent a re-execution.
+#
+
+cat > need-bash.sh <<'END'
+#!/bin/false
+. ./defs
+# Ensure that the script gets re-executed with bash. Also ensure that
+# non-standard syntax used after the inclusion of './defs' doesn't cause
+# non-bash shells to fail.
+# Subshell required to prevent some shells (e.g., Solaris 10 /bin/sh)
+# from only complaining on stderr but then exiting with exit status 0.
+(foo=abac && test xbxc = ${foo//a/x} && test -n "$BASH_VERSION")
+END
+
+sed -e "s|^am_top_builddir=.*|am_top_builddir='$cwd'|" \
+ -e 's|^SHELL=.*$|SHELL=bash; export SHELL|' \
+ < "$am_top_builddir"/defs-static >defs-static
+
+do_reexec ()
+{
+ command_ok_ "re-exec if AM_TESTS_REEXEC=$1" \
+ env AM_TESTS_REEXEC="$1" $non_bash_shell need-bash.sh
+}
+
+dont_reexec ()
+{
+ command_ok_ "don't re-exec if AM_TESTS_REEXEC=$1" \
+ not env AM_TESTS_REEXEC="$1" $non_bash_shell need-bash.sh
+}
+
+if test "$bash_shell" = :; then
+ skip_row_ 10 -r "no bash shell found" AM_TESTS_REEXEC
+elif test "$non_bash_shell" = :; then
+ skip_row_ 10 -r "no non-bash shell found" AM_TESTS_REEXEC
+else
+ command_ok_ "re-exec if AM_TESTS_REEXEC unset" \
+ $non_bash_shell need-bash.sh
+ do_reexec ''
+ do_reexec yes
+ do_reexec y
+ do_reexec true
+ do_reexec 1
+ dont_reexec no
+ dont_reexec n
+ dont_reexec false
+ dont_reexec 0
+fi
+
+#
+# Check message about the re-execution. Also check that arguments passed
+# to a test script are preserved by a re-exec, even in "corner" cases.
+#
+
+cat > dummy.sh <<'END'
+#!/bin/sh
+. ./defs
+:
+END
+
+cat > checkargs.sh <<'END'
+. ./defs
+test $# -eq 3 && test x"$1" = x'a' && test x"$2" = x && test x"$3" = x"-e"
+END
+
+chmod a+x dummy.sh checkargs.sh
+
+mkdir sub
+cp dummy.sh checkargs.sh defs sub
+sed -e "s|^am_top_builddir=.*|am_top_builddir='$cwd'|" \
+ < "$am_top_builddir"/defs-static > defs-static
+sed -e "s|^am_top_builddir=.*|am_top_builddir='$cwd/sub'|" \
+ < "$am_top_builddir"/defs-static > sub/defs-static
+
+check_preserve_args ()
+{
+ dir=$1; shift
+ get_ddata "$dir"
+ $sh "${dir}${dsep}checkargs.sh" a '' -e && r='ok' || r='not ok'
+ result_ "$r" "$sh re-exec preserving args [$dname]"
+}
+
+check_reexec_message ()
+{
+ dir=$1; shift
+ get_ddata "$dir"
+ $sh "${dir}${dsep}dummy.sh" "$@" \
+ | grep "^dummy: exec $SHELL ${dir}${dsep}dummy\\.sh $*\$" \
+ && r='ok' || r='not ok'
+ result_ "$r" "$sh display re-exec message [$dname] [args: $*]"
+}
+
+./dummy.sh a b | grep "^dummy: exec $SHELL \\./dummy\\.sh a b$" \
+ && r='ok' || r='not ok'
+result_ "$r" "direct run display re-exec message [args: a b]"
+
+./checkargs.sh a '' -e && r='ok' || r='not ok'
+result_ "$r" "direct re-exec preserving args"
+
+for sh_type in non-bash bash; do
+ get_sh $sh_type
+ if test "$sh" = :; then
+ skip_row_ 5 -r "no $sh_type shell available" "re-exec message"
+ skip_row_ 5 -r "no $sh_type shell available" "re-exec preserving args"
+ continue
+ fi
+ check_preserve_args ''
+ check_reexec_message '' a b c
+ check_preserve_args .
+ check_reexec_message . a b c
+ cd sub
+ check_preserve_args ..
+ check_reexec_message .. a b c
+ cd ..
+ check_preserve_args "$cwd"
+ check_reexec_message "$cwd" a -b c-
+ check_preserve_args sub
+ check_reexec_message sub 1 2 3 4
+done
+
+:
diff --git a/tests/self-check-report.test b/t/self-check-report.sh
similarity index 100%
rename from tests/self-check-report.test
rename to t/self-check-report.sh
diff --git a/t/self-check-sanity.sh b/t/self-check-sanity.sh
new file mode 100755
index 0000000..64e489c
--- /dev/null
+++ b/t/self-check-sanity.sh
@@ -0,0 +1,77 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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/>.
+
+# Sanity check for the automake testsuite.
+# Test the sanity checks performed by the 'defs' script. Also check
+# that we can use 'defs' elsewhere, when we duplicate some of the
+# infrastructure from the automake/tests subdirectory.
+
+am_create_testdir=empty
+. ./defs || Exit 1
+
+# Avoid to confuse traces from child processed with our own traces.
+show_stderr ()
+{
+ sed 's/^/ | /' stderr >&2
+}
+
+AM_TESTS_REEXEC=no; export AM_TESTS_REEXEC
+
+source_defs=". '$am_top_builddir/defs'"
+
+if $SHELL -c "$source_defs" dummy.test 2>stderr; then
+ show_stderr
+ Exit 1
+else
+ show_stderr
+ grep 'defs-static: not found in current directory' stderr
+fi
+
+sed 's|^am_top_srcdir=.*|am_top_srcdir=foo|' \
+ "$am_top_builddir"/defs-static > defs-static
+if $SHELL -c "$source_defs" t/dummy.test 2>stderr; then
+ show_stderr
+ Exit 1
+else
+ show_stderr
+ grep 'foo/defs-static\.in not found.*check \$am_top_srcdir' stderr
+fi
+
+sed 's|^am_top_builddir=.*|am_top_builddir=foo|' \
+ "$am_top_builddir"/defs-static > defs-static
+if $SHELL -c "$source_defs" t/dummy.test 2>stderr; then
+ show_stderr
+ Exit 1
+else
+ show_stderr
+ grep 'foo/defs-static not found.*check \$am_top_builddir' stderr
+fi
+
+# We still need a little hack to make ./defs work outside automake's
+# tree 'tests' subdirectory. Not a big deal.
+sed "s|^am_top_builddir=.*|am_top_builddir='`pwd`'|" \
+ "$am_top_builddir"/defs-static > defs-static
+# Redefining *srcdir and *builddir variables in the environment shouldn't
+# cause problems
+env \
+ builddir=bad-dir srcdir=bad-dir \
+ top_builddir=bad-dir top_srcdir=bad-dir \
+ abs_builddir=bad-dir abs_srcdir=bad-dir \
+ abs_top_builddir=bad-dir abs_top_srcdir=bad-dir \
+ $SHELL -c "$source_defs && echo '!OK!' > ../foo" t/dummy.test
+$FGREP '!OK!' t/foo
+
+:
diff --git a/tests/self-check-seq.tap b/t/self-check-seq.tap
similarity index 100%
rename from tests/self-check-seq.tap
rename to t/self-check-seq.tap
diff --git a/tests/self-check-tap.test b/t/self-check-tap.sh
similarity index 100%
rename from tests/self-check-tap.test
rename to t/self-check-tap.sh
diff --git a/tests/self-check-unindent.tap b/t/self-check-unindent.tap
similarity index 100%
rename from tests/self-check-unindent.tap
rename to t/self-check-unindent.tap
diff --git a/tests/serial-tests.test b/t/serial-tests.sh
similarity index 100%
rename from tests/serial-tests.test
rename to t/serial-tests.sh
diff --git a/tests/silent-amopts.test b/t/silent-amopts.sh
similarity index 100%
rename from tests/silent-amopts.test
rename to t/silent-amopts.sh
diff --git a/tests/silent-configsite.test b/t/silent-configsite.sh
similarity index 100%
rename from tests/silent-configsite.test
rename to t/silent-configsite.sh
diff --git a/tests/silent-lex.test b/t/silent-lex.sh
similarity index 100%
rename from tests/silent-lex.test
rename to t/silent-lex.sh
diff --git a/tests/silent-many-gcc.test b/t/silent-many-gcc.sh
similarity index 100%
rename from tests/silent-many-gcc.test
rename to t/silent-many-gcc.sh
diff --git a/tests/silent-many-generic.test b/t/silent-many-generic.sh
similarity index 100%
rename from tests/silent-many-generic.test
rename to t/silent-many-generic.sh
diff --git a/tests/silent-yacc-headers.test b/t/silent-yacc-headers.sh
similarity index 100%
rename from tests/silent-yacc-headers.test
rename to t/silent-yacc-headers.sh
diff --git a/tests/silent-yacc.test b/t/silent-yacc.sh
similarity index 100%
rename from tests/silent-yacc.test
rename to t/silent-yacc.sh
diff --git a/tests/silent.test b/t/silent.sh
similarity index 100%
rename from tests/silent.test
rename to t/silent.sh
diff --git a/tests/silent2.test b/t/silent2.sh
similarity index 100%
rename from tests/silent2.test
rename to t/silent2.sh
diff --git a/tests/silent3.test b/t/silent3.sh
similarity index 100%
rename from tests/silent3.test
rename to t/silent3.sh
diff --git a/tests/silent4.test b/t/silent4.sh
similarity index 100%
rename from tests/silent4.test
rename to t/silent4.sh
diff --git a/tests/silent6.test b/t/silent6.sh
similarity index 100%
rename from tests/silent6.test
rename to t/silent6.sh
diff --git a/tests/silent7.test b/t/silent7.sh
similarity index 100%
rename from tests/silent7.test
rename to t/silent7.sh
diff --git a/tests/silent8.test b/t/silent8.sh
similarity index 100%
rename from tests/silent8.test
rename to t/silent8.sh
diff --git a/tests/silent9.test b/t/silent9.sh
similarity index 100%
rename from tests/silent9.test
rename to t/silent9.sh
diff --git a/tests/silentcxx-gcc.test b/t/silentcxx-gcc.sh
similarity index 100%
rename from tests/silentcxx-gcc.test
rename to t/silentcxx-gcc.sh
diff --git a/tests/silentcxx.test b/t/silentcxx.sh
similarity index 100%
rename from tests/silentcxx.test
rename to t/silentcxx.sh
diff --git a/tests/silentf77.test b/t/silentf77.sh
similarity index 100%
rename from tests/silentf77.test
rename to t/silentf77.sh
diff --git a/tests/silentf90.test b/t/silentf90.sh
similarity index 100%
rename from tests/silentf90.test
rename to t/silentf90.sh
diff --git a/tests/space.test b/t/space.sh
similarity index 100%
rename from tests/space.test
rename to t/space.sh
diff --git a/tests/specflg-dummy.test b/t/specflg-dummy.sh
similarity index 100%
rename from tests/specflg-dummy.test
rename to t/specflg-dummy.sh
diff --git a/tests/specflg.test b/t/specflg.sh
similarity index 100%
rename from tests/specflg.test
rename to t/specflg.sh
diff --git a/tests/specflg10.test b/t/specflg10.sh
similarity index 100%
rename from tests/specflg10.test
rename to t/specflg10.sh
diff --git a/tests/specflg2.test b/t/specflg2.sh
similarity index 100%
rename from tests/specflg2.test
rename to t/specflg2.sh
diff --git a/tests/specflg3.test b/t/specflg3.sh
similarity index 100%
rename from tests/specflg3.test
rename to t/specflg3.sh
diff --git a/tests/specflg6.test b/t/specflg6.sh
similarity index 100%
rename from tests/specflg6.test
rename to t/specflg6.sh
diff --git a/tests/specflg7.test b/t/specflg7.sh
similarity index 100%
rename from tests/specflg7.test
rename to t/specflg7.sh
diff --git a/tests/specflg8.test b/t/specflg8.sh
similarity index 100%
rename from tests/specflg8.test
rename to t/specflg8.sh
diff --git a/tests/specflg9.test b/t/specflg9.sh
similarity index 100%
rename from tests/specflg9.test
rename to t/specflg9.sh
diff --git a/tests/spell.test b/t/spell.sh
similarity index 100%
rename from tests/spell.test
rename to t/spell.sh
diff --git a/tests/spell2.test b/t/spell2.sh
similarity index 100%
rename from tests/spell2.test
rename to t/spell2.sh
diff --git a/tests/spell3.test b/t/spell3.sh
similarity index 100%
rename from tests/spell3.test
rename to t/spell3.sh
diff --git a/tests/spelling.test b/t/spelling.sh
similarity index 100%
rename from tests/spelling.test
rename to t/spelling.sh
diff --git a/tests/spy-rm.tap b/t/spy-rm.tap
similarity index 100%
rename from tests/spy-rm.tap
rename to t/spy-rm.tap
diff --git a/tests/spy-vpath-rewrite.test b/t/spy-vpath-rewrite.sh
similarity index 100%
rename from tests/spy-vpath-rewrite.test
rename to t/spy-vpath-rewrite.sh
diff --git a/tests/spy.test b/t/spy.sh
similarity index 100%
rename from tests/spy.test
rename to t/spy.sh
diff --git a/tests/srcsub.test b/t/srcsub.sh
similarity index 100%
rename from tests/srcsub.test
rename to t/srcsub.sh
diff --git a/tests/srcsub2.test b/t/srcsub2.sh
similarity index 100%
rename from tests/srcsub2.test
rename to t/srcsub2.sh
diff --git a/tests/stamph2.test b/t/stamph2.sh
similarity index 100%
rename from tests/stamph2.test
rename to t/stamph2.sh
diff --git a/tests/stdinc.test b/t/stdinc.sh
similarity index 100%
rename from tests/stdinc.test
rename to t/stdinc.sh
diff --git a/tests/stdlib.test b/t/stdlib.sh
similarity index 100%
rename from tests/stdlib.test
rename to t/stdlib.sh
diff --git a/tests/stdlib2.test b/t/stdlib2.sh
similarity index 100%
rename from tests/stdlib2.test
rename to t/stdlib2.sh
diff --git a/tests/strictness-override.test b/t/strictness-override.sh
similarity index 100%
rename from tests/strictness-override.test
rename to t/strictness-override.sh
diff --git a/tests/strictness-precedence.test b/t/strictness-precedence.sh
similarity index 100%
rename from tests/strictness-precedence.test
rename to t/strictness-precedence.sh
diff --git a/tests/strip.test b/t/strip.sh
similarity index 100%
rename from tests/strip.test
rename to t/strip.sh
diff --git a/tests/strip2.test b/t/strip2.sh
similarity index 100%
rename from tests/strip2.test
rename to t/strip2.sh
diff --git a/tests/strip3.test b/t/strip3.sh
similarity index 100%
rename from tests/strip3.test
rename to t/strip3.sh
diff --git a/tests/subcond.test b/t/subcond.sh
similarity index 100%
rename from tests/subcond.test
rename to t/subcond.sh
diff --git a/tests/subcond2.test b/t/subcond2.sh
similarity index 100%
rename from tests/subcond2.test
rename to t/subcond2.sh
diff --git a/tests/subcond3.test b/t/subcond3.sh
similarity index 100%
rename from tests/subcond3.test
rename to t/subcond3.sh
diff --git a/tests/subdir.test b/t/subdir.sh
similarity index 100%
rename from tests/subdir.test
rename to t/subdir.sh
diff --git a/tests/subdir10.test b/t/subdir10.sh
similarity index 100%
rename from tests/subdir10.test
rename to t/subdir10.sh
diff --git a/tests/subdir2.test b/t/subdir2.sh
similarity index 100%
rename from tests/subdir2.test
rename to t/subdir2.sh
diff --git a/tests/subdir3.test b/t/subdir3.sh
similarity index 100%
rename from tests/subdir3.test
rename to t/subdir3.sh
diff --git a/tests/subdir4.test b/t/subdir4.sh
similarity index 100%
rename from tests/subdir4.test
rename to t/subdir4.sh
diff --git a/tests/subdir5.test b/t/subdir5.sh
similarity index 100%
rename from tests/subdir5.test
rename to t/subdir5.sh
diff --git a/tests/subdir6.test b/t/subdir6.sh
similarity index 100%
rename from tests/subdir6.test
rename to t/subdir6.sh
diff --git a/tests/subdir8.test b/t/subdir8.sh
similarity index 100%
rename from tests/subdir8.test
rename to t/subdir8.sh
diff --git a/tests/subdir9.test b/t/subdir9.sh
similarity index 100%
rename from tests/subdir9.test
rename to t/subdir9.sh
diff --git a/tests/subdirbuiltsources.test b/t/subdirbuiltsources.sh
similarity index 100%
rename from tests/subdirbuiltsources.test
rename to t/subdirbuiltsources.sh
diff --git a/tests/subobj.test b/t/subobj.sh
similarity index 100%
rename from tests/subobj.test
rename to t/subobj.sh
diff --git a/tests/subobj10.test b/t/subobj10.sh
similarity index 100%
rename from tests/subobj10.test
rename to t/subobj10.sh
diff --git a/tests/subobj11a.test b/t/subobj11a.sh
similarity index 100%
rename from tests/subobj11a.test
rename to t/subobj11a.sh
diff --git a/tests/subobj11c.test b/t/subobj11c.sh
similarity index 100%
rename from tests/subobj11c.test
rename to t/subobj11c.sh
diff --git a/tests/subobj2.test b/t/subobj2.sh
similarity index 100%
rename from tests/subobj2.test
rename to t/subobj2.sh
diff --git a/tests/subobj4.test b/t/subobj4.sh
similarity index 100%
rename from tests/subobj4.test
rename to t/subobj4.sh
diff --git a/tests/subobj5.test b/t/subobj5.sh
similarity index 100%
rename from tests/subobj5.test
rename to t/subobj5.sh
diff --git a/tests/subobj6.test b/t/subobj6.sh
similarity index 100%
rename from tests/subobj6.test
rename to t/subobj6.sh
diff --git a/tests/subobj7.test b/t/subobj7.sh
similarity index 100%
rename from tests/subobj7.test
rename to t/subobj7.sh
diff --git a/tests/subobj8.test b/t/subobj8.sh
similarity index 100%
rename from tests/subobj8.test
rename to t/subobj8.sh
diff --git a/tests/subobj9.test b/t/subobj9.sh
similarity index 100%
rename from tests/subobj9.test
rename to t/subobj9.sh
diff --git a/tests/subobjname.test b/t/subobjname.sh
similarity index 100%
rename from tests/subobjname.test
rename to t/subobjname.sh
diff --git a/tests/subpkg-yacc.test b/t/subpkg-yacc.sh
similarity index 100%
rename from tests/subpkg-yacc.test
rename to t/subpkg-yacc.sh
diff --git a/tests/subpkg.test b/t/subpkg.sh
similarity index 100%
rename from tests/subpkg.test
rename to t/subpkg.sh
diff --git a/tests/subpkg2.test b/t/subpkg2.sh
similarity index 100%
rename from tests/subpkg2.test
rename to t/subpkg2.sh
diff --git a/tests/subpkg3.test b/t/subpkg3.sh
similarity index 100%
rename from tests/subpkg3.test
rename to t/subpkg3.sh
diff --git a/tests/subpkg4.test b/t/subpkg4.sh
similarity index 100%
rename from tests/subpkg4.test
rename to t/subpkg4.sh
diff --git a/tests/subst-no-trailing-empty-line.test
b/t/subst-no-trailing-empty-line.sh
similarity index 100%
rename from tests/subst-no-trailing-empty-line.test
rename to t/subst-no-trailing-empty-line.sh
diff --git a/tests/subst.test b/t/subst.sh
similarity index 100%
rename from tests/subst.test
rename to t/subst.sh
diff --git a/tests/subst3.test b/t/subst3.sh
similarity index 100%
rename from tests/subst3.test
rename to t/subst3.sh
diff --git a/tests/subst4.test b/t/subst4.sh
similarity index 100%
rename from tests/subst4.test
rename to t/subst4.sh
diff --git a/tests/subst5.test b/t/subst5.sh
similarity index 100%
rename from tests/subst5.test
rename to t/subst5.sh
diff --git a/tests/substre2.test b/t/substre2.sh
similarity index 100%
rename from tests/substre2.test
rename to t/substre2.sh
diff --git a/tests/substref.test b/t/substref.sh
similarity index 100%
rename from tests/substref.test
rename to t/substref.sh
diff --git a/tests/substtarg.test b/t/substtarg.sh
similarity index 100%
rename from tests/substtarg.test
rename to t/substtarg.sh
diff --git a/tests/suffix-chain.tap b/t/suffix-chain.tap
similarity index 100%
rename from tests/suffix-chain.tap
rename to t/suffix-chain.tap
diff --git a/tests/suffix.test b/t/suffix.sh
similarity index 100%
rename from tests/suffix.test
rename to t/suffix.sh
diff --git a/tests/suffix10.tap b/t/suffix10.tap
similarity index 100%
rename from tests/suffix10.tap
rename to t/suffix10.tap
diff --git a/tests/suffix11.tap b/t/suffix11.tap
similarity index 100%
rename from tests/suffix11.tap
rename to t/suffix11.tap
diff --git a/tests/suffix12.test b/t/suffix12.sh
similarity index 100%
rename from tests/suffix12.test
rename to t/suffix12.sh
diff --git a/tests/suffix13.test b/t/suffix13.sh
similarity index 100%
rename from tests/suffix13.test
rename to t/suffix13.sh
diff --git a/tests/suffix2.test b/t/suffix2.sh
similarity index 100%
rename from tests/suffix2.test
rename to t/suffix2.sh
diff --git a/tests/suffix3.tap b/t/suffix3.tap
similarity index 100%
rename from tests/suffix3.tap
rename to t/suffix3.tap
diff --git a/tests/suffix4.test b/t/suffix4.sh
similarity index 100%
rename from tests/suffix4.test
rename to t/suffix4.sh
diff --git a/tests/suffix5.test b/t/suffix5.sh
similarity index 100%
rename from tests/suffix5.test
rename to t/suffix5.sh
diff --git a/tests/suffix6.test b/t/suffix6.sh
similarity index 100%
rename from tests/suffix6.test
rename to t/suffix6.sh
diff --git a/tests/suffix6b.test b/t/suffix6b.sh
similarity index 100%
rename from tests/suffix6b.test
rename to t/suffix6b.sh
diff --git a/tests/suffix6c.test b/t/suffix6c.sh
similarity index 100%
rename from tests/suffix6c.test
rename to t/suffix6c.sh
diff --git a/tests/suffix7.test b/t/suffix7.sh
similarity index 100%
rename from tests/suffix7.test
rename to t/suffix7.sh
diff --git a/tests/suffix8.tap b/t/suffix8.tap
similarity index 100%
rename from tests/suffix8.tap
rename to t/suffix8.tap
diff --git a/tests/suffix9.test b/t/suffix9.sh
similarity index 100%
rename from tests/suffix9.test
rename to t/suffix9.sh
diff --git a/tests/symlink.test b/t/symlink.sh
similarity index 100%
rename from tests/symlink.test
rename to t/symlink.sh
diff --git a/tests/symlink2.test b/t/symlink2.sh
similarity index 100%
rename from tests/symlink2.test
rename to t/symlink2.sh
diff --git a/tests/syntax.test b/t/syntax.sh
similarity index 100%
rename from tests/syntax.test
rename to t/syntax.sh
diff --git a/tests/tags.test b/t/tags.sh
similarity index 100%
rename from tests/tags.test
rename to t/tags.sh
diff --git a/tests/tags2.test b/t/tags2.sh
similarity index 100%
rename from tests/tags2.test
rename to t/tags2.sh
diff --git a/tests/tagsub.test b/t/tagsub.sh
similarity index 100%
rename from tests/tagsub.test
rename to t/tagsub.sh
diff --git a/t/tap-ambiguous-directive.sh b/t/tap-ambiguous-directive.sh
new file mode 100755
index 0000000..32b1b80
--- /dev/null
+++ b/t/tap-ambiguous-directive.sh
@@ -0,0 +1,56 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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/>.
+
+# TAP support:
+# - handling of "ambiguous" TODO and SKIP directives
+# See also related test 'tap-todo-skip-together.test'.
+
+am_parallel_tests=yes
+. ./defs || Exit 1
+
+. "$am_testauxdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
+
+cat > all.test <<END
+1..6
+ok 1 # foo SKIP
+not ok 2 # bar TODO
+ok 3 # :SKIP
+not ok 4 # :TODO
+ok 5 # SKIP SKIP
+not ok 6 # TODO TODO
+END
+
+$MAKE check >stdout && { cat stdout; Exit 1; }
+cat stdout
+
+count_test_results total=6 pass=2 fail=2 xpass=0 xfail=1 skip=1 error=0
+
+cat > exp << 'END'
+PASS: all.test 1 # foo SKIP
+FAIL: all.test 2 # bar TODO
+PASS: all.test 3 # :SKIP
+FAIL: all.test 4 # :TODO
+SKIP: all.test 5 # SKIP SKIP
+XFAIL: all.test 6 # TODO TODO
+END
+
+$FGREP ': all.test' stdout > got
+
+cat exp
+cat got
+diff exp got
+
+:
diff --git a/t/tap-autonumber.sh b/t/tap-autonumber.sh
new file mode 100755
index 0000000..43df711
--- /dev/null
+++ b/t/tap-autonumber.sh
@@ -0,0 +1,75 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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/>.
+
+# TAP support:
+# - unnumbered tests are OK, as long as their final total number
+# agrees with the plan
+# - test results without number get automatically numbered in the
+# console progress output
+
+am_parallel_tests=yes
+. ./defs || Exit 1
+
+. "$am_testauxdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
+
+cat > all.test <<'END'
+1..14
+ok
+ok foo
+ok - foo2
+not ok
+not ok bar
+not ok - bar2
+; See that we can intermingle different kind of results without
+; messing up the autonumbering
+ok
+ok # TODO
+not ok # TODO who cares?
+ok
+not ok
+ok muuu # SKIP
+not ok
+ok
+END
+
+$MAKE check TESTS=all.test >stdout && { cat stdout; Exit 1; }
+cat stdout
+count_test_results total=14 pass=6 fail=5 xpass=1 xfail=1 skip=1 error=0
+
+cat > exp <<'END'
+PASS: all.test 1
+PASS: all.test 2 foo
+PASS: all.test 3 - foo2
+FAIL: all.test 4
+FAIL: all.test 5 bar
+FAIL: all.test 6 - bar2
+PASS: all.test 7
+XPASS: all.test 8 # TODO
+XFAIL: all.test 9 # TODO who cares?
+PASS: all.test 10
+FAIL: all.test 11
+SKIP: all.test 12 muuu # SKIP
+FAIL: all.test 13
+PASS: all.test 14
+END
+
+$FGREP ': all.test' stdout > got
+
+cat exp
+cat got
+diff exp got
+
+:
diff --git a/tests/tap-bad-prog.tap b/t/tap-bad-prog.tap
similarity index 100%
rename from tests/tap-bad-prog.tap
rename to t/tap-bad-prog.tap
diff --git a/t/tap-bailout-and-logging.sh b/t/tap-bailout-and-logging.sh
new file mode 100755
index 0000000..cc95d98
--- /dev/null
+++ b/t/tap-bailout-and-logging.sh
@@ -0,0 +1,49 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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/>.
+
+# TAP support:
+# - even after a "Bail out!" directive, all input is still copied in
+# the log file
+
+am_parallel_tests=yes
+. ./defs || Exit 1
+
+. "$am_testauxdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
+
+cat > all.test <<END
+First line
+Bail out!
+non-TAP line after bailout
+# TAP diagnostic after bailout
+1..0 # SKIP TAP plan after bailout
+ok 1 - TAP result after bailout
+END
+
+$MAKE check && { cat all.log; Exit 1; }
+cat all.log
+
+for rx in \
+ 'First line' \
+ 'Bail out!' \
+ 'non-TAP line after bailout' \
+ '# TAP diagnostic after bailout' \
+ '1\.\.0 # SKIP TAP plan after bailout' \
+ 'ok 1 - TAP result after bailout' \
+; do
+ grep "^$rx$" all.log
+done
+
+:
diff --git a/t/tap-bailout-leading-space.sh b/t/tap-bailout-leading-space.sh
new file mode 100755
index 0000000..ead0738
--- /dev/null
+++ b/t/tap-bailout-leading-space.sh
@@ -0,0 +1,71 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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/>.
+
+# Older versions of prove and TAP::Harness (e.g., 3.17) didn't recognize
+# a "Bail out!" directive that was preceded by whitespace, but more modern
+# versions (e.g., 3.23) do. So we leave this behaviour undefined for the
+# perl implementation of the Automake TAP driver, but expect the latter,
+# "more modern" behaviour in our awk TAP driver.
+
+am_parallel_tests=yes
+am_tap_implementation=shell
+. ./defs || Exit 1
+
+. "$am_testauxdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
+
+cat > a.test <<END
+1..1
+ok 1
+ Bail out!
+END
+
+cat > b.test <<END
+1..1
+ok 1 # SKIP
+${tab}Bail out!
+END
+
+cat > c.test <<END
+1..1
+ ${tab} ${tab}${tab}Bail out! FUBAR! $tab
+END
+
+cat >> exp <<END
+PASS: a.test 1
+ERROR: a.test - Bail out!
+SKIP: b.test 1
+ERROR: b.test - Bail out!
+ERROR: c.test - Bail out! FUBAR!
+END
+
+$MAKE TESTS='a.test b.test c.test' check >stdout && { cat stdout; Exit 1; }
+cat stdout
+
+count_test_results total=5 pass=1 fail=0 xpass=0 xfail=0 skip=1 error=3
+
+LC_ALL=C sort exp > t
+mv -f t exp
+
+# We need the sort below to account for parallel make usage.
+grep ': [abcde]\.test' stdout \
+ | sed "s/[ $tab]*#[ $tab]*SKIP.*//" \
+ | LC_ALL=C sort > got
+
+cat exp
+cat got
+diff exp got
+
+:
diff --git a/t/tap-bailout-suppress-badexit.sh
b/t/tap-bailout-suppress-badexit.sh
new file mode 100755
index 0000000..1962639
--- /dev/null
+++ b/t/tap-bailout-suppress-badexit.sh
@@ -0,0 +1,65 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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/>.
+
+# Basic TAP test protocol support:
+# - A "Bail out!" directive causes the driver to ignore the exit
+# status of the test script.
+
+am_parallel_tests=yes
+. ./defs || Exit 1
+
+tests='exit.test exit127.test sighup.test sigterm.test'
+
+cat > Makefile.am <<END
+TESTS = $tests
+END
+
+. "$am_testauxdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
+
+cat > exit.test << 'END'
+#!/bin/sh
+echo 'Bail out!'
+exit 1
+END
+
+cat > exit127.test << 'END'
+#!/bin/sh
+echo 'Bail out!'
+exit 127
+END
+
+cat > sighup.test << 'END'
+#!/bin/sh
+echo 'Bail out!'
+kill -1 $$
+END
+
+cat > sigterm.test << 'END'
+#!/bin/sh
+echo 'Bail out!'
+kill -15 $$
+END
+
+chmod a+x $tests
+
+$MAKE check >stdout && { cat stdout; Exit 1; }
+cat stdout
+
+count_test_results total=4 pass=0 fail=0 xpass=0 xfail=0 skip=0 error=4
+for tst in $tests; do grep "^ERROR: $tst - Bail out!" stdout; done
+$EGREP "ERROR: .*(exit.*status|terminat.*signal)" stdout && Exit 1
+
+:
diff --git a/t/tap-bailout-suppress-later-diagnostic.sh
b/t/tap-bailout-suppress-later-diagnostic.sh
new file mode 100755
index 0000000..9bc29de
--- /dev/null
+++ b/t/tap-bailout-suppress-later-diagnostic.sh
@@ -0,0 +1,45 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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/>.
+
+# TAP support:
+# - A "Bail out!" directive causes the driver to ignore any TAP
+# diagnostic message in the rest of the following TAP stream.
+
+am_parallel_tests=yes
+. ./defs || Exit 1
+
+. "$am_testauxdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
+
+echo AM_TEST_LOG_DRIVER_FLAGS = --comments >> Makefile
+
+cat > all.test <<END
+1..1
+# sanity check
+ok 1
+Bail out!
+# not seen
+END
+
+# Doing the sums above, we have:
+
+$MAKE check >stdout && { cat stdout; Exit 1; }
+cat stdout
+
+count_test_results total=2 pass=1 fail=0 xpass=0 xfail=0 skip=0 error=1
+grep '# all.test: sanity check' stdout
+grep 'not seen' stdout && Exit 1
+
+:
diff --git a/t/tap-bailout-suppress-later-errors.sh
b/t/tap-bailout-suppress-later-errors.sh
new file mode 100755
index 0000000..8b30542
--- /dev/null
+++ b/t/tap-bailout-suppress-later-errors.sh
@@ -0,0 +1,74 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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/>.
+
+# TAP support:
+# - A "Bail out!" directive causes the driver to ignore any TAP
+# result or error in the rest of the following TAP stream.
+
+am_parallel_tests=yes
+. ./defs || Exit 1
+
+. "$am_testauxdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
+
+# Various errors that can all be squashed into a single test script.
+cat > foo.test << 'END'
+1..5
+Bail out!
+# All possible test results.
+# Test out-of-order.
+ok 4
+# Extra TAP plan.
+1..2
+# Another bailout directive.
+Bail out! Not seen.
+# Stop now, with too few tests run.
+END
+
+# Tests run after a "SKIP" plan.
+cat > bar.test << 'END'
+1..0 # SKIP
+Bail out!
+ok 1
+END
+
+# Too many tests run.
+cat > baz.test << 'END'
+1..1
+ok 1
+Bail out!
+ok 2
+ok 3
+END
+
+$MAKE TESTS='foo.test bar.test baz.test' check >stdout \
+ && { cat stdout; Exit 1; }
+cat stdout
+
+count_test_results total=5 pass=1 fail=0 xpass=0 xfail=0 skip=1 error=3
+
+grep '^ERROR: foo\.test - Bail out!$' stdout
+grep '^ERROR: bar\.test - Bail out!$' stdout
+grep '^SKIP: bar\.test' stdout
+grep '^ERROR: baz\.test - Bail out!$' stdout
+grep '^PASS: baz\.test 1$' stdout
+
+$FGREP 'Not seen' stdout && Exit 1
+
+test `$FGREP -c ': foo.test' stdout` -eq 1
+test `$FGREP -c ': bar.test' stdout` -eq 2
+test `$FGREP -c ': baz.test' stdout` -eq 2
+
+:
diff --git a/t/tap-bailout.sh b/t/tap-bailout.sh
new file mode 100755
index 0000000..1ac40c5
--- /dev/null
+++ b/t/tap-bailout.sh
@@ -0,0 +1,138 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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/>.
+
+# Basic TAP test protocol support:
+# - "Bail out!" magic
+
+am_parallel_tests=yes
+. ./defs || Exit 1
+
+. "$am_testauxdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
+
+: > exp
+
+#------------------------------------------------------------------
+
+# Bailout without explanation.
+
+cat > a.test <<END
+1..4
+ok 1
+not ok 2
+Bail out!
+not ok 3
+ok 4 # SKIP
+END
+
+cat >> exp <<END
+PASS: a.test 1
+FAIL: a.test 2
+ERROR: a.test - Bail out!
+END
+
+# pass += 1, fail +=1, error += 1
+
+#------------------------------------------------------------------
+
+# Bailout with explanation.
+
+cat > b.test <<END
+1..7
+ok 1 # SKIP
+ok 2 # TODO
+not ok 3 # TODO
+Bail out! We're out of disk space.
+ok 4
+not ok 5
+not ok 6 # TODO
+ok 7 # TODO
+END
+
+cat >> exp <<END
+SKIP: b.test 1 # SKIP
+XPASS: b.test 2 # TODO
+XFAIL: b.test 3 # TODO
+ERROR: b.test - Bail out! We're out of disk space.
+END
+
+# skip += 1, xpass += 1, xfail += 1, error += 1
+
+#------------------------------------------------------------------
+
+# Bail out before the test plan.
+
+cat > c.test <<END
+ok 1
+ok 2
+Bail out! BOOOH!
+1..2
+END
+
+cat >> exp <<END
+PASS: c.test 1
+PASS: c.test 2
+ERROR: c.test - Bail out! BOOOH!
+END
+
+# pass += 2, error += 1
+
+#------------------------------------------------------------------
+
+# Bailout on the first line.
+
+cat > d.test <<END
+Bail out! mktemp -d: Permission denied
+ok 1
+END
+
+echo 'ERROR: d.test - Bail out! mktemp -d: Permission denied' >> exp
+
+# error += 1
+
+#------------------------------------------------------------------
+
+# TAP input comprised only of a bailout directive.
+
+cat > e.test <<END
+Bail out!
+END
+
+echo "ERROR: e.test - Bail out!" >> exp
+
+# error += 1
+
+#------------------------------------------------------------------
+
+# Doing the sums above, we have:
+test_counts='total=12 pass=3 fail=1 xpass=1 xfail=1 skip=1 error=5'
+
+$MAKE TESTS='a.test b.test c.test d.test e.test' check >stdout \
+ && { cat stdout; Exit 1; }
+cat stdout
+
+count_test_results $test_counts
+
+LC_ALL=C sort exp > t
+mv -f t exp
+
+# We need the sort below to account for parallel make usage.
+grep ': [abcde]\.test' stdout | LC_ALL=C sort > got
+
+cat exp
+cat got
+diff exp got
+
+:
diff --git a/tests/tap-basic.test b/t/tap-basic.sh
similarity index 100%
rename from tests/tap-basic.test
rename to t/tap-basic.sh
diff --git a/t/tap-color.sh b/t/tap-color.sh
new file mode 100755
index 0000000..c677c31
--- /dev/null
+++ b/t/tap-color.sh
@@ -0,0 +1,175 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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/>.
+
+# TAP support:
+# - colorization of TAP results and diagnostic messages
+
+am_parallel_tests=yes
+. ./defs || Exit 1
+
+TERM=ansi; export TERM
+
+esc=''
+# Escape '[' for grep, below.
+red="$esc\[0;31m"
+grn="$esc\[0;32m"
+lgn="$esc\[1;32m"
+blu="$esc\[1;34m"
+mgn="$esc\[0;35m"
+std="$esc\[m"
+
+# Check that grep can parse nonprinting characters.
+# BSD 'grep' works from a pipe, but not a seekable file.
+# GNU or BSD 'grep -a' works on files, but is not portable.
+case `echo "$std" | grep .` in
+ "$std") ;;
+ *) echo "$me: grep can't parse nonprinting characters" >&2; Exit 77;;
+esac
+
+cat > Makefile.am << 'END'
+AUTOMAKE_OPTIONS = color-tests
+AM_TEST_LOG_DRIVER_FLAGS = --comments
+TEST_LOG_COMPILER = cat
+TESTS = all.test skip.test bail.test badplan.test noplan.test \
+ few.test many.test order.test afterlate.test
+END
+
+. "$am_testauxdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
+
+cat > all.test << 'END'
+1..5
+ok 1 - foo
+# Hi! I shouldn't be colorized!
+not ok 2 - bar # TODO td
+ok 3 - baz # SKIP sk
+not ok 4 - quux
+ok 5 - zardoz # TODO
+END
+
+cat > skip.test << 'END'
+1..0 # SKIP whole script
+END
+
+cat > bail.test << 'END'
+1..1
+ok 1
+Bail out!
+END
+
+cat > badplan.test << 'END'
+1..2
+ok 1
+1..2
+ok 2
+END
+
+cat > noplan.test << 'END'
+ok 1
+END
+
+cat > few.test << 'END'
+1..2
+ok 1
+END
+
+cat > many.test << 'END'
+1..1
+ok 1
+ok 2
+END
+
+cat > order.test << 'END'
+1..1
+ok 5
+END
+
+cat > afterlate.test << 'END'
+ok 1
+1..2
+ok 2
+END
+
+AM_COLOR_TESTS=always $MAKE check >stdout && { cat stdout; Exit 1; }
+cat stdout
+
+test_color ()
+{
+ # Not a useless use of cat; see above comments about grep.
+ cat stdout | grep "^${grn}PASS${std}: all\.test 1 - foo$"
+ cat stdout | grep "^${lgn}XFAIL${std}: all\.test 2 - bar # TODO td$"
+ cat stdout | grep "^${blu}SKIP${std}: all\.test 3 - baz # SKIP sk$"
+ cat stdout | grep "^${red}FAIL${std}: all\.test 4 - quux$"
+ cat stdout | grep "^${red}XPASS${std}: all\.test 5 - zardoz # TODO$"
+ cat stdout | grep "^${blu}SKIP${std}: skip\.test - whole script$"
+ cat stdout | grep "^${grn}PASS${std}: bail\.test 1$"
+ cat stdout | grep "^${mgn}ERROR${std}: bail\.test - Bail out!$"
+ cat stdout | grep "^${mgn}ERROR${std}: badplan\.test - multiple test plans$"
+ cat stdout | grep "^${mgn}ERROR${std}: noplan\.test - missing test plan$"
+ cat stdout | grep "^${mgn}ERROR${std}: few.test - too few tests run
(expected 2, got 1)$"
+ cat stdout | grep "^${mgn}ERROR${std}: many.test - too many tests run
(expected 1, got 2)$"
+ cat stdout | grep "^${mgn}ERROR${std}: many.test 2 # UNPLANNED$"
+ cat stdout | grep "^${mgn}ERROR${std}: order.test 5 # OUT-OF-ORDER
(expecting 1)$"
+ cat stdout | grep "^${mgn}ERROR${std}: afterlate\.test 2 # AFTER LATE PLAN$"
+ # Diagnostic messages shouldn't be colorized.
+ cat stdout | grep "^# all\.test: Hi! I shouldn't be colorized!$"
+ :
+}
+
+test_no_color ()
+{
+ # With make implementations that, like Solaris make, in case of errors
+ # print the whole failing recipe on standard output, we should content
+ # ourselves with a laxer check, to avoid false positives.
+ # Keep this in sync with lib/am/check.am:$(am__color_tests).
+ if $FGREP '= Xalways || test -t 1 ' stdout; then
+ # Extra verbose make, resort to laxer checks.
+ # But we also want to check that the testsuite summary is not unduly
+ # colorized.
+ (
+ set +e # In case some grepped regex below isn't matched.
+ # Not a useless use of cat; see above comments about grep.
+ cat stdout | grep "TOTAL.*:"
+ cat stdout | grep "PASS.*:"
+ cat stdout | grep "FAIL.*:"
+ cat stdout | grep "SKIP.*:"
+ cat stdout | grep "XFAIL.*:"
+ cat stdout | grep "XPASS.*:"
+ cat stdout | grep "ERROR.*:"
+ cat stdout | grep "^#"
+ cat stdout | grep 'test.*expected'
+ cat stdout | grep 'test.*not run'
+ cat stdout | grep '===='
+ cat stdout | grep '[Ss]ee .*test-suite\.log'
+ cat stdout | grep '[Tt]estsuite summary'
+ ) | grep "$esc" && Exit 1
+ : For shells with broken 'set -e'
+ else
+ cat stdout | grep "$esc" && Exit 1
+ : For shells with broken 'set -e'
+ fi
+}
+
+# It should be possible to override AM_COLOR_TESTS also from the
+# environment.
+AM_COLOR_TESTS=always $MAKE check >stdout && { cat stdout; Exit 1; }
+cat stdout
+test_color
+
+$MAKE check >stdout && { cat stdout; Exit 1; }
+cat stdout
+test_no_color
+
+:
diff --git a/tests/tap-common-setup.test b/t/tap-common-setup.sh
similarity index 100%
rename from tests/tap-common-setup.test
rename to t/tap-common-setup.sh
diff --git a/t/tap-deps.sh b/t/tap-deps.sh
new file mode 100755
index 0000000..5049171
--- /dev/null
+++ b/t/tap-deps.sh
@@ -0,0 +1,87 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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/>.
+
+# Basic TAP test protocol support:
+# - dependencies between test scripts
+
+am_parallel_tests=yes
+. ./defs || Exit 1
+
+cat > Makefile.am << 'END'
+# The tests are *deliberately* listed in inversed order here.
+TESTS = c.test b.test a.test
+b.log: a.log
+c.log: b.log
+END
+
+. "$am_testauxdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
+
+cat > a.test << 'END'
+#!/bin/sh
+echo 1..2
+echo ok 1
+# Creative quoting below to please maintainer-check.
+sleep '3'
+echo ok 2
+: > a.run
+END
+
+cat > b.test << 'END'
+#!/bin/sh
+echo 1..2
+if test -f a.run; then
+ echo ok 1
+else
+ echo not ok 1
+fi
+# Creative quoting below to please maintainer-check.
+sleep '3'
+echo ok 2
+: > b.run
+END
+
+cat > c.test << 'END'
+#!/bin/sh
+echo 1..1
+test -f b.run || { echo 'Bail out!'; exit 1; }
+echo ok 1
+rm -f a.run b.run
+END
+
+chmod a+x *.test
+
+$MAKE check >stdout || { cat stdout; Exit 1; }
+cat stdout
+
+count_test_results total=5 pass=5 fail=0 xpass=0 xfail=0 skip=0 error=0
+
+cat > exp << 'END'
+PASS: a.test 1
+PASS: a.test 2
+PASS: b.test 1
+PASS: b.test 2
+PASS: c.test 1
+END
+
+grep ': [abc]\.test' stdout > got
+
+cat exp
+cat got
+diff exp got
+
+# TODO: it would be nice to also redo the checks forcing parallel make...
+
+:
diff --git a/tests/tap-diagnostic-custom.test b/t/tap-diagnostic-custom.sh
similarity index 100%
rename from tests/tap-diagnostic-custom.test
rename to t/tap-diagnostic-custom.sh
diff --git a/t/tap-diagnostic.sh b/t/tap-diagnostic.sh
new file mode 100755
index 0000000..460b98b
--- /dev/null
+++ b/t/tap-diagnostic.sh
@@ -0,0 +1,124 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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/>.
+
+# TAP support:
+# - diagnostic messages (TAP lines with leading "#")
+# - flags '--comments' and '--no-comments' of the TAP test driver
+
+am_parallel_tests=yes
+. ./defs || Exit 1
+
+. "$am_testauxdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
+
+metacharacters=\''"\$!&()[]<>#;^?*'
+
+cat > all.test <<END
+1..4
+# Hi! I'm a comment.
+# Tests begin.
+ok 1
+not ok 2 - foo # TODO
+ok 3 - bar # SKIP
+# Tests end.
+ok - zardoz
+# Shell metacharacters here: $metacharacters
+.# Leading characters before "#", not a TAP diagnostic line.
+x # Leading characters before "#", not a TAP diagnostic line.
+ # Leading whitespace before "#", not a TAP diagnostic line.
+${tab}# Leading whitespace before "#", not a TAP diagnostic line.
+ ${tab} # Leading whitespace before "#", not a TAP diagnostic line.
+END
+
+cat > exp <<END
+# all.test: Hi! I'm a comment.
+# all.test: Tests begin.
+PASS: all.test 1
+XFAIL: all.test 2 - foo # TODO
+SKIP: all.test 3 - bar # SKIP
+# all.test: Tests end.
+PASS: all.test 4 - zardoz
+# all.test: Shell metacharacters here: $metacharacters
+END
+
+$MAKE check >stdout || { cat stdout; Exit 1; }
+cat stdout
+$EGREP -i "#.*all\\.test|a comment|(Tests|Shell) " stdout && Exit 1
+count_test_results total=4 pass=2 fail=0 xpass=0 xfail=1 skip=1 error=0
+
+echo 'AM_TEST_LOG_DRIVER_FLAGS = --comments' >> Makefile
+$MAKE check >stdout || { cat stdout; Exit 1; }
+cat stdout
+$FGREP ' all.test' stdout > got
+cat exp
+cat got
+diff exp got
+count_test_results total=4 pass=2 fail=0 xpass=0 xfail=1 skip=1 error=0
+
+$MAKE check TEST_LOG_DRIVER_FLAGS="--no-comments" >stdout \
+ || { cat stdout; Exit 1; }
+cat stdout
+$EGREP -i "#.*all\\.test|a comment|(Tests|Shell) " stdout && Exit 1
+count_test_results total=4 pass=2 fail=0 xpass=0 xfail=1 skip=1 error=0
+
+# The "#"-prepended lines here shouldn't be parsed as test results.
+cat > all.test <<END
+1..1
+ok
+# ok
+#ok
+# not ok
+#not ok
+# Bail out!
+#Bail out!
+# SKIP
+#SKIP
+# TODO
+#TODO
+END
+
+$MAKE check >stdout || { cat stdout; Exit 1; }
+cat stdout
+count_test_results total=1 pass=1 fail=0 xpass=0 xfail=0 skip=0 error=0
+
+# Diagnostic without leading whitespace, or with extra leading whitespace,
+# is ok. Be laxer in the grepping checks, to allow for whitespace
+# normalization by the TAP driver.
+
+ws="[ $tab]"
+ws0p="${ws}*"
+ws1p="${ws}${ws0p}"
+
+cat > all.test <<END
+1..1
+ok 1
+#foo
+#bar${tab}
+# zardoz ${tab}
+# ${tab} ${tab}${tab}foo bar${tab}baz ${tab}
+END
+
+$MAKE check >stdout || { cat stdout; Exit 1; }
+cat stdout
+count_test_results total=1 pass=1 fail=0 xpass=0 xfail=0 skip=0 error=0
+
+grep "^# all.test:${ws0p}foo$" stdout
+grep "^# all.test:${ws0p}bar${ws0p}$" stdout
+grep "^# all.test:${ws1p}zardoz${ws0p}$" stdout
+grep "^# all.test:${ws1p}foo bar${tab}baz${ws0p}$" stdout
+
+test `grep -c '^# all\.test:' stdout` -eq 4
+
+:
diff --git a/tests/tap-doc.test b/t/tap-doc.sh
similarity index 100%
rename from tests/tap-doc.test
rename to t/tap-doc.sh
diff --git a/tests/tap-doc2.test b/t/tap-doc2.sh
similarity index 100%
rename from tests/tap-doc2.test
rename to t/tap-doc2.sh
diff --git a/tests/tap-driver-stderr.test b/t/tap-driver-stderr.sh
similarity index 100%
rename from tests/tap-driver-stderr.test
rename to t/tap-driver-stderr.sh
diff --git a/t/tap-empty-diagnostic.sh b/t/tap-empty-diagnostic.sh
new file mode 100755
index 0000000..1a8a99b
--- /dev/null
+++ b/t/tap-empty-diagnostic.sh
@@ -0,0 +1,41 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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/>.
+
+# TAP support:
+# - empty diagnostic messages are discarder
+
+am_parallel_tests=yes
+. ./defs || Exit 1
+
+. "$am_testauxdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
+
+sed 's/\$$//' > all.test <<END
+1..1$
+ok 1$
+#$
+# $
+#${tab}$
+# ${tab} $tab${tab}$
+END
+
+$MAKE check >stdout || { cat stdout; Exit 1; }
+cat stdout
+
+grep '^PASS:.*all\.test' stdout # Sanity check.
+grep '#.*all\.test' stdout && Exit 1
+grep "all\.test[ $tab]*:[ $tab]*$" stdout && Exit 1
+
+:
diff --git a/t/tap-empty.sh b/t/tap-empty.sh
new file mode 100755
index 0000000..4d3bfda
--- /dev/null
+++ b/t/tap-empty.sh
@@ -0,0 +1,55 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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/>.
+
+# TAP support: the following situations should be flagged as errors:
+# - empty TAP input
+# - blank TAP input
+
+am_parallel_tests=yes
+. ./defs || Exit 1
+
+. "$am_testauxdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
+
+# Empty TAP input.
+: > empty.test
+
+# Blank TAP input (one empty line).
+echo > blank.test
+
+# Blank TAP input (one whitespace-only line).
+cat > white.test <<END
+ ${tab}
+END
+
+# Blank TAP input (few blank and whitespace-only lines).
+cat > white2.test <<END
+
+
+ ${tab} ${tab}${tab}
+
+${tab}
+
+END
+
+for input in empty blank white white2; do
+ cp $input.test all.test
+ $MAKE check >stdout && { cat stdout; Exit 1; }
+ cat stdout
+ count_test_results total=1 pass=0 fail=0 xpass=0 xfail=0 skip=0 error=1
+ grep '^ERROR: all\.test - missing test plan$' stdout
+done
+
+:
diff --git a/t/tap-escape-directive-2.sh b/t/tap-escape-directive-2.sh
new file mode 100755
index 0000000..595c384
--- /dev/null
+++ b/t/tap-escape-directive-2.sh
@@ -0,0 +1,55 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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/>.
+
+# TAP support:
+# - "escape" TODO and SKIP directives (by escaping the "#" character)
+
+am_parallel_tests=yes
+. ./defs || Exit 1
+
+. "$am_testauxdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
+
+cat > all.test <<'END'
+1..8
+
+not ok \ # TODO
+ok \ # SKIP
+
+not ok \\# TODO
+ok \\# SKIP
+
+ok \\\# TODO
+ok \\\# SKIP
+
+not ok \\\\\\\\\\# TODO
+ok \\\\\\\\\\# SKIP
+END
+
+$MAKE check >stdout || { cat stdout; Exit 1; }
+cat stdout
+
+count_test_results total=8 pass=2 fail=0 xpass=0 xfail=3 skip=3 error=0
+
+grep '^XFAIL: all\.test 1 .*# TODO' stdout
+grep '^SKIP: all\.test 2 .*# SKIP' stdout
+grep '^XFAIL: all\.test 3 .*# TODO' stdout
+grep '^SKIP: all\.test 4 .*# SKIP' stdout
+grep '^PASS: all\.test 5 .*# TODO' stdout
+grep '^PASS: all\.test 6 .*# SKIP' stdout
+grep '^XFAIL: all\.test 7 .*# TODO' stdout
+grep '^SKIP: all\.test 8 .*# SKIP' stdout
+
+:
diff --git a/t/tap-escape-directive.sh b/t/tap-escape-directive.sh
new file mode 100755
index 0000000..8b24251
--- /dev/null
+++ b/t/tap-escape-directive.sh
@@ -0,0 +1,39 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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/>.
+
+# TAP support:
+# - "escape" TODO and SKIP directives (by escaping the "#" character)
+
+am_parallel_tests=yes
+. ./defs || Exit 1
+
+. "$am_testauxdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
+
+cat > all.test <<'END'
+1..2
+ok \# TODO
+ok \# SKIP
+END
+
+$MAKE check >stdout || { cat stdout; Exit 1; }
+cat stdout
+
+count_test_results total=2 pass=2 fail=0 xpass=0 xfail=0 skip=0 error=0
+
+grep '^PASS: all\.test 1 .*# TODO' stdout
+grep '^PASS: all\.test 2 .*# SKIP' stdout
+
+:
diff --git a/t/tap-exit.sh b/t/tap-exit.sh
new file mode 100755
index 0000000..abc1ace
--- /dev/null
+++ b/t/tap-exit.sh
@@ -0,0 +1,54 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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/>.
+
+# TAP support:
+# - an exit status != 0 of a test script causes an hard error
+# - the '--ignore-exit' option causes the TAP test driver to ignore
+# exit statuses of the test scripts.
+
+am_parallel_tests=yes
+. ./defs || Exit 1
+
+echo TESTS = > Makefile.am
+for st in 1 2 77 99; do
+ unindent > exit${st}.test <<END
+ #!/bin/sh
+ echo 1..1
+ echo ok 1
+ exit $st
+END
+ echo TESTS += exit${st}.test >> Makefile.am
+done
+
+chmod a+x *.test
+
+. "$am_testauxdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
+
+$MAKE check >stdout && { cat stdout; Exit 1; }
+cat stdout
+count_test_results total=8 pass=4 fail=0 xpass=0 xfail=0 skip=0 error=4
+
+grep '^ERROR: exit1\.test - exited with status 1$' stdout
+grep '^ERROR: exit2\.test - exited with status 2$' stdout
+grep '^ERROR: exit77\.test - exited with status 77$' stdout
+grep '^ERROR: exit99\.test - exited with status 99$' stdout
+
+echo TEST_LOG_DRIVER_FLAGS = --ignore-exit >> Makefile
+$MAKE check >stdout || { cat stdout; Exit 1; }
+cat stdout
+count_test_results total=4 pass=4 fail=0 xpass=0 xfail=0 skip=0 error=0
+
+:
diff --git a/t/tap-fancy.sh b/t/tap-fancy.sh
new file mode 100755
index 0000000..6815ac5
--- /dev/null
+++ b/t/tap-fancy.sh
@@ -0,0 +1,133 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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/>.
+
+# TAP support: some unusual forms for valid TAP input.
+# See also related test 'tap-fancy2.test'.
+
+am_parallel_tests=yes
+. ./defs || Exit 1
+
+. "$am_testauxdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
+
+#
+# From manpage Test::Harness::TAP(3):
+#
+# ``Lines written to standard output matching /^(not )?ok\b/ must be
+# interpreted as test lines. All other lines must not be considered
+# test output.''
+#
+# Unfortunately, the exact format of TODO and SKIP directives is not as
+# clearly described in that manpage; but a simple reverse-engineering of
+# the prove(1) utility shows that it is probably given by the perl regex
+# /#\s*(TODO|SKIP)\b/.
+#
+
+cat > all.test <<END
+1..21
+
+ok? a question
+not ok? a question
+
+ok+plus
+not ok+plus
+
+ok-minus
+not ok-minus
+
+ok#55
+not ok#55
+
+ok${tab} ${tab}9
+ok ${tab}${tab} 10
+
+not ok${tab} ${tab}11
+not ok ${tab}${tab} 12
+
+ok# SKIP
+ok${tab}#SKIP--who cares?
+ok?#SKIP!
+ok!#SKIP?
+
+not ok# TODO
+not ok${tab}#TODO--who cares?
+not ok?#TODO!
+not ok!#TODO?
+
+ok~#TODO
+END
+
+$MAKE check >stdout && { cat stdout; Exit 1; }
+cat stdout
+
+count_test_results total=21 pass=6 fail=6 xfail=4 xpass=1 skip=4 error=0
+
+#
+# "Weird" characters support.
+#
+
+# The "#" character might cause confusion w.r.t. TAP directives (TODO,
+# SKIP), so we don't attempt to use it.
+weirdchars=\''"$!&()[]<>;^?*/@%=,.:'
+
+cat > all.test <<END
+1..6
+ok $weirdchars
+not ok $weirdchars
+ok $weirdchars # TODO
+not ok $weirdchars # TODO
+ok $weirdchars # SKIP
+Bail out! $weirdchars
+END
+
+$MAKE check >stdout && { cat stdout; Exit 1; }
+cat stdout
+
+count_test_results total=6 pass=1 fail=1 xfail=1 xpass=1 skip=1 error=1
+$FGREP "PASS: all.test 1 $weirdchars" stdout
+$FGREP "FAIL: all.test 2 $weirdchars" stdout
+$FGREP "XPASS: all.test 3 $weirdchars" stdout
+$FGREP "XFAIL: all.test 4 $weirdchars" stdout
+$FGREP "SKIP: all.test 5 $weirdchars" stdout
+$FGREP "ERROR: all.test - Bail out! $weirdchars" stdout
+
+#
+# Trailing backslashes does not confuse the parser.
+#
+
+bs='\'
+
+cat > all.test <<END
+1..6
+ok $bs
+not ok $bs
+ok # TODO $bs
+not ok # TODO $bs
+ok # SKIP $bs
+Bail out! $bs
+END
+
+$MAKE check >stdout && { cat stdout; Exit 1; }
+cat stdout
+
+count_test_results total=6 pass=1 fail=1 xfail=1 xpass=1 skip=1 error=1
+grep '^PASS: all\.test 1 \\$' stdout
+grep '^FAIL: all\.test 2 \\$' stdout
+grep '^XPASS: all\.test 3 # TODO \\$' stdout
+grep '^XFAIL: all\.test 4 # TODO \\$' stdout
+grep '^SKIP: all\.test 5 # SKIP \\$' stdout
+grep '^ERROR: all\.test - Bail out! \\$' stdout
+
+:
diff --git a/t/tap-fancy2.sh b/t/tap-fancy2.sh
new file mode 100755
index 0000000..bb51d54
--- /dev/null
+++ b/t/tap-fancy2.sh
@@ -0,0 +1,138 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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/>.
+
+# TAP support: more unusual forms for valid TAP input.
+# See also related test 'tap-fancy.test'.
+
+am_parallel_tests=yes
+. ./defs || Exit 1
+
+. "$am_testauxdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
+
+#
+# From manpage Test::Harness::TAP(3):
+#
+# ``Lines written to standard output matching /^(not )?ok\b/ must be
+# interpreted as test lines. All other lines must not be considered
+# test output.''
+#
+# Unfortunately, the exact format of TODO and SKIP directives is not as
+# clearly described in that manpage; but a simple reverse-engineering of
+# the prove(1) utility shows that it is probably given by the perl regex
+# /#\s*(TODO|SKIP)\b/.
+#
+
+# To avoid problems with backslashes in echo arguments.
+xecho () { printf '%s\n' "$*"; }
+
+# There are 34 values for $str ...
+for str in \
+ \' \
+ '"' \
+ '`' \
+ '#' \
+ '$' \
+ '!' \
+ '\' \
+ '/' \
+ '&' \
+ '%' \
+ '(' \
+ ')' \
+ '|' \
+ '^' \
+ '~' \
+ '?' \
+ '*' \
+ '+' \
+ '-' \
+ ',' \
+ ':' \
+ ';' \
+ '=' \
+ '<' \
+ '>' \
+ '@' \
+ '[' \
+ ']' \
+ '{' \
+ '}' \
+ '\\' \
+ '...' \
+ '?[a-zA-Z0-9]*' \
+ '*.*' \
+; do
+ # ... each of them add 1 pass, 1 fail, ...
+ xecho "ok${str}"
+ xecho "not ok${str}"
+ # ... and (generally) 4 skips, 4 xfails, and 4 xpasses ...
+ for settings in \
+ 'result="ok" directive=SKIP' \
+ 'result="not ok" directive=TODO' \
+ 'result="ok" directive=TODO' \
+ ; do
+ eval "$settings"
+ xecho "${result}# ${directive}${str}"
+ # ... but 6 skips, 6 xpasses and 6 xfails are to be removed, since
+ # they might not work with $str = '#' or $str = '\' ...
+ if test x"$str" != x'#' && test x"$str" != x'\'; then
+ xecho "${result}${str}#${directive}"
+ xecho "${result}${str}# ${tab}${tab} ${directive}"
+ xecho "${result}${str}#${directive}${str}"
+ fi
+ done
+done > all.test
+
+# Sanity check against a previous use of unportable usages of backslashes
+# with the "echo" builtin.
+if grep '[^\\]\\#' all.test; then
+ framework_failure_ "writing backslashes in all.test"
+fi
+
+# ... so that we finally have:
+pass=34
+fail=34
+xfail=130 # = 4 * 34 - 6
+xpass=130 # = 4 * 34 - 6
+skip=130 # = 4 * 34 - 6
+error=0
+total=`expr $pass + $fail + $xfail + $xpass + $skip`
+
+# Even nastier! But accordingly to the specifics, it should still work.
+for result in 'ok' 'not ok'; do
+ echo "${result}{[(<#${tab}TODO>)]}" >> all.test
+done
+echo "ok{[(<#${tab}SKIP>)]}" >> all.test
+
+# We have to update some test counts.
+xfail=`expr $xfail + 1`
+xpass=`expr $xpass + 1`
+skip=`expr $skip + 1`
+total=`expr $total + 3`
+
+# And add the test plan!
+echo 1..$total >> all.test
+
+$MAKE check >stdout && { cat stdout; Exit 1; }
+cat stdout
+
+$EGREP '^(PASS|FAIL|SKIP).*#.*TODO' stdout && Exit 1
+$EGREP '^X?(PASS|FAIL).*#.*SKIP' stdout && Exit 1
+
+count_test_results total=$total pass=$pass fail=$fail skip=$skip \
+ xpass=$xpass xfail=$xfail error=$error
+
+:
diff --git a/t/tap-global-log.sh b/t/tap-global-log.sh
new file mode 100755
index 0000000..2c01046
--- /dev/null
+++ b/t/tap-global-log.sh
@@ -0,0 +1,122 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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/>.
+
+# TAP support:
+# - which log files get copied in the global log?
+
+am_parallel_tests=yes
+. ./defs || Exit 1
+
+. "$am_testauxdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
+
+cat > ok.test << 'END'
+1..5
+ok 1
+ok 2
+ok 3
+not seen in global log
+ok 4
+ok 5
+END
+
+cat > top << 'END'
+1..6
+ok 1
+ok 2
+ok 3
+END
+
+cat > bot << 'END'
+ok 5
+ok 6
+END
+
+cat top - bot > skip.test << 'END'
+ok # SKIP
+::skip::
+END
+
+cat top - bot > todo.test << 'END'
+not ok # TODO
+::todo::
+END
+
+cat top - bot > fail.test << 'END'
+not ok
+::fail::
+END
+
+cat top - bot > xpass.test << 'END'
+ok # TODO
+::xpass::
+END
+
+cat top - bot > bail.test << 'END'
+::bail::
+Bail out!
+END
+
+cat top - bot > error.test << 'END'
+::error::
+1..7
+END
+
+# Created with "dd if=/dev/urandom count=1 | base64-encode"
+cat > hodgepodge <<'END'
+1+0 records in
+1+0 records out
+512 bytes (512 B) copied, 0.000241092 s, 2.1 MB/s
+gdivnV4VhL4DOzhE3zULJuun3PwqqQqMdATVcZbIQkNgyRvNBoqqHMBQEs7QsjDbp2nK+Szz
+EcelGyvXmHrW7yImaom6Yrg95k31VCmp/pGDRnTDwDrcOPJiv9jDReEmTAQkPuqLO+mFNly+
+DDHM9fNbzGumstsQ3wq3DOXz1pCV3JXwhjeaHSboeEbmr55bX0XHLSKaecctA0rXDXEyZWZ/
+ODlawSrAXzw0H7a+xBwjnNXZ3zYiwk3x+WQrPqNjb+qXiLLTxAKzx2/KnaFhxkPlte5jPRNB
+FciDolL+H/10LsCdSzLOrGnY2zH6vL2JMZfxjnb73zWFcdWWE01LTD7wpN5O1MP3+N47lcVe
+lWbkD04cJvhwxLElYSO24B743GG5EyGYt9SeZRE6xbgwq3fVOS8KqjwGxwi4adSBTtw0CV8W
+S/6n8dck1vBvjA+qpk0zMSYSqc3+jzW9UiGTmTEIwfw80p/lGNsfjcNBJ86nFkWUnHmrsi8k
+Dv57sK70mTg239g08f5Uvdga/5UreMBSgB0hUj5sbq57r7B1fsVr0Kag468la8zKy3ZEZ0gX
+++sbaJ9WGHhnKvjooeH+4Y6HwAFsdINde++FlCmp4EuNKKEEuXbSKLaOTy3+6pJ2DYdvRCL+
+frZwxH4hcrw8qh+8IakB02viewZS/qT57v4=
+END
+
+exec 5>misc.test
+echo 'ok # SKIP' >&5
+cat hodgepodge >&5
+echo 'not ok # TODO' >&5
+echo 'ok' >&5
+exec 5>&-
+
+cat > skipall.test << 'END'
+1..0 # SKIP all
+END
+
+# We don't care about the exit status of "make check" here.
+$MAKE TESTS="`echo *.test`" check || :
+cat test-suite.log
+
+grep ':.*ok|not seen' test-suite.log && Exit 1
+
+for s in skip todo fail xpass bail error; do
+ $FGREP "::$s::" test-suite.log
+done
+
+grep '^1\.\.0 # SKIP all$' test-suite.log
+
+case `cat test-suite.log` in
+ *"`cat hodgepodge`"*) ;;
+ *) Exit 1;;
+esac
+
+:
diff --git a/t/tap-global-result.sh b/t/tap-global-result.sh
new file mode 100755
index 0000000..62f57e3
--- /dev/null
+++ b/t/tap-global-result.sh
@@ -0,0 +1,187 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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/>.
+
+# TAP support:
+# - which global test result derives from different test results
+# mixed in a single script?
+
+am_parallel_tests=yes
+. ./defs || Exit 1
+
+. "$am_testauxdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
+
+cat > ok.test <<END
+1..3
+ok 1
+not ok 2 # TODO
+ok 3 # SKIP
+END
+
+cat > skip.test <<'END'
+1..3
+ok 1 # SKIP
+ok 2 # SKIP
+ok 3 # SKIP
+END
+
+cat > skipall.test <<'END'
+1..0 # SKIP
+foo
+# bar
+END
+
+cat > fail.test <<'END'
+1..1
+not ok 1
+END
+
+(sed '1s/.*/1..4/' ok.test && echo 'not ok 4') > fail2.test
+
+cat > xpass.test <<'END'
+1..1
+ok 1 # TODO
+END
+
+(sed '1s/.*/1..4/' ok.test && echo 'ok 4 # TODO') > xpass2.test
+
+echo 'Bail out!' > bail.test
+
+(cat ok.test && echo 'Bail out!') > bail2.test
+
+cat > bail3.test <<'END'
+1..0 # SKIP
+Bail out!
+END
+
+# Too many tests.
+cat > error.test <<'END'
+1..2
+ok 1
+ok 2 # SKIP
+not ok 3
+not ok 4 # TODO
+END
+
+# Too few tests.
+cat > error2.test <<'END'
+1..4
+ok 1
+not ok 2 # TODO
+ok 3 # SKIP
+END
+
+# Repeated plan.
+cat > error3.test <<'END'
+1..2
+1..2
+ok 1
+ok 2
+END
+
+# Too many tests, after a "SKIP" plan.
+cat > error4.test <<'END'
+1..0 # SKIP
+ok 1
+ok 2
+END
+
+# Tests out of order.
+cat > error5.test <<'END'
+1..4
+not ok 1 # TODO
+ok 3
+ok 2
+ok 4
+END
+
+# Wrong test number.
+cat > error6.test <<'END'
+1..2
+ok 1 # SKIP
+ok 7
+END
+
+# No plan.
+cat > error7.test <<'END'
+ok 1 # SKIP
+ok 2 # TODO
+not ok 3 # TODO
+ok 4
+END
+
+cat > hodgepodge.test <<'END'
+1..2
+not ok 1
+ok 2 # TODO
+Bail out!
+END
+
+cat > hodgepodge-all.test <<'END'
+1..4
+ok 1
+ok 2 # SKIP
+not ok 2 # TODO
+not ok 3
+ok 4 # TODO
+Bail out!
+END
+
+tests=`echo *.test` # Also required later.
+
+$MAKE TESTS="$tests" check >stdout && { cat stdout; Exit 1; }
+cat stdout
+
+# Dirty trick required here.
+for tst in `echo " $tests " | sed 's/.test / /'`; do
+ echo :copy-in-global-log: yes >> $tst.trs
+done
+
+rm -f test-suite.log
+$MAKE TESTS="$tests" test-suite.log && Exit 1
+cat test-suite.log
+
+have_rst_section ()
+{
+ eqeq=`echo "$1" | sed 's/./=/g'`
+ # Assume $1 contains no RE metacharacters.
+ sed -n "/^$1$/,/^$eqeq$/p" test-suite.log > got
+ (echo "$1" && echo "$eqeq") > exp
+ cat exp
+ cat got
+ diff exp got
+}
+
+have_rst_section 'PASS: ok'
+have_rst_section 'SKIP: skip'
+have_rst_section 'SKIP: skipall'
+have_rst_section 'FAIL: fail'
+have_rst_section 'FAIL: fail2'
+have_rst_section 'FAIL: xpass'
+have_rst_section 'FAIL: xpass2'
+have_rst_section 'ERROR: bail'
+have_rst_section 'ERROR: bail2'
+have_rst_section 'ERROR: bail3'
+have_rst_section 'ERROR: error'
+have_rst_section 'ERROR: error2'
+have_rst_section 'ERROR: error3'
+have_rst_section 'ERROR: error4'
+have_rst_section 'ERROR: error5'
+have_rst_section 'ERROR: error6'
+have_rst_section 'ERROR: error7'
+have_rst_section 'ERROR: hodgepodge'
+have_rst_section 'ERROR: hodgepodge-all'
+
+:
diff --git a/t/tap-log.sh b/t/tap-log.sh
new file mode 100755
index 0000000..4bc7f28
--- /dev/null
+++ b/t/tap-log.sh
@@ -0,0 +1,164 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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/>.
+
+# TAP support:
+# - log file creation
+# - log file removal
+# - stdout and stderr of a script go in its log file
+# - TEST_SUITE_LOG redefinition, at either automake or make time
+# - VERBOSE environment variable support
+# Keep in sync with 'test-log.test'.
+
+am_parallel_tests=yes
+. ./defs || Exit 1
+
+cat > Makefile.am << 'END'
+TESTS = pass.test skip.test xfail.test fail.test xpass.test error.test
+TEST_SUITE_LOG = global.log
+END
+
+. "$am_testauxdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
+
+# Custom markers, for use in grepping checks.
+cmarker=::: # comment marker
+pmarker=%%% # plain maker
+
+cat > pass.test <<END
+#! /bin/sh -e
+echo 1..1
+echo "$pmarker pass $pmarker" >&2
+echo "# $cmarker pass $cmarker" >&2
+echo "ok 1"
+END
+
+cat > skip.test <<END
+#! /bin/sh -e
+echo 1..1
+echo "$pmarker skip $pmarker"
+echo "# $cmarker skip $cmarker"
+echo "ok 1 # SKIP"
+END
+
+cat > xfail.test <<END
+#! /bin/sh -e
+echo 1..1
+echo "$pmarker xfail $pmarker" >&2
+echo "# $cmarker xfail $cmarker" >&2
+echo "not ok 1 # TODO"
+END
+
+cat > fail.test <<END
+#! /bin/sh -e
+echo 1..1
+echo "$pmarker fail $pmarker"
+echo "# $cmarker fail $cmarker"
+echo "not ok 1"
+END
+
+cat > xpass.test <<END
+#! /bin/sh -e
+echo 1..1
+echo "$pmarker xpass $pmarker" >&2
+echo "# $cmarker xpass $cmarker" >&2
+echo "ok 1 # TODO"
+END
+
+cat > error.test <<END
+#! /bin/sh -e
+echo 1..1
+echo "$pmarker error $pmarker"
+echo "# $cmarker error $cmarker"
+echo 'Bail out!'
+END
+
+chmod a+x *.test
+
+$MAKE check TEST_SUITE_LOG=my.log && Exit 1
+ls -l # For debugging.
+test ! -f test-suite.log
+test ! -f global.log
+test -f my.log
+st=0
+for result in pass fail xfail xpass skip error; do
+ cat $result.log # For debugging.
+ $FGREP "$pmarker $result $pmarker" $result.log || st=1
+ $FGREP "$cmarker $result $cmarker" $result.log || st=1
+done
+test $st -eq 0 || Exit 1
+cat my.log # For debugging.
+for result in xfail fail xpass skip error; do
+ cat $result.log # For debugging.
+ $FGREP "$pmarker $result $pmarker" my.log || st=1
+ $FGREP "$cmarker $result $cmarker" my.log || st=1
+done
+test `$FGREP -c "$pmarker" my.log` -eq 5
+test `$FGREP -c "$cmarker" my.log` -eq 5
+
+# Passed test scripts shouldn't be mentioned in the global log.
+$EGREP '(^pass|[^x]pass)\.test' my.log && Exit 1
+# But failing (expectedly or not) and skipped ones should.
+$FGREP 'xfail.test' my.log
+$FGREP 'skip.test' my.log
+$FGREP 'fail.test' my.log
+$FGREP 'xpass.test' my.log
+$FGREP 'error.test' my.log
+
+touch error2.log test-suite.log global.log
+$MAKE mostlyclean TEST_SUITE_LOG=my.log
+ls -l # For debugging.
+test ! -f my.log
+test ! -f pass.log
+test ! -f fail.log
+test ! -f xfail.log
+test ! -f xpass.log
+test ! -f skip.log
+test ! -f error.log
+# "make mostlyclean" shouldn't remove unrelated log files.
+test -f error2.log
+test -f test-suite.log
+test -f global.log
+
+rm -f *.log
+
+VERBOSE=yes $MAKE check >stdout && { cat stdout; Exit 1; }
+cat stdout
+cat global.log
+test ! -f my.log
+test ! -f test-suite.log
+# Check that VERBOSE causes the global testsuite log to be
+# emitted on stdout.
+out=`cat stdout`
+log=`cat global.log`
+case $out in *"$log"*) ;; *) Exit 1;; esac
+
+touch error2.log test-suite.log my.log
+$MAKE clean
+ls -l # For debugging.
+test ! -f global.log
+test ! -f pass.log
+test ! -f fail.log
+test ! -f xfail.log
+test ! -f xpass.log
+test ! -f skip.log
+test ! -f error.log
+# "make clean" shouldn't remove unrelated log files.
+test -f error2.log
+test -f test-suite.log
+test -f my.log
+
+rm -f *.log
+
+:
diff --git a/t/tap-merge-stdout-stderr.sh b/t/tap-merge-stdout-stderr.sh
new file mode 100755
index 0000000..bf06069
--- /dev/null
+++ b/t/tap-merge-stdout-stderr.sh
@@ -0,0 +1,72 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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/>.
+
+# TAP support:
+# - The Automake TAP driver has an option that instruct it to read TAP
+# input also from the stderr of the test command, not only its stdout.
+
+am_parallel_tests=yes
+. ./defs || Exit 1
+
+fetch_tap_driver
+
+cat > Makefile.am << 'END'
+AM_TEST_LOG_DRIVER_FLAGS = --comments --merge
+TESTS = all.test
+END
+
+. "$am_testauxdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
+
+cat > all.test <<END
+#!/bin/sh
+echo 1..4
+echo ok 1 >&2
+echo ok 2
+echo "not ok 3 # TODO" >&2
+echo "ok 4 # SKIP"
+echo "# foo foo foo" >&2
+END
+chmod a+x all.test
+
+$MAKE check >stdout || { cat stdout; Exit 1; }
+cat stdout
+
+count_test_results total=4 pass=2 fail=0 xpass=0 xfail=1 skip=1 error=0
+grep '^# all\.test: foo foo foo' stdout
+
+cat > all.test <<END
+#!/bin/sh
+echo 1..1
+echo ok 1
+echo 'Bail out!' >&2
+END
+
+$MAKE check >stdout && { cat stdout; Exit 1; }
+cat stdout
+
+count_test_results total=2 pass=1 fail=0 xpass=0 xfail=0 skip=0 error=1
+
+# See that the option '--no-merge' can override the effect of '--merge'.
+
+$MAKE check TEST_LOG_DRIVER_FLAGS=--no-merge >stdout \
+ || { cat stdout; Exit 1; }
+cat stdout
+
+count_test_results total=1 pass=1 fail=0 xpass=0 xfail=0 skip=0 error=0
+
+
+
+:
diff --git a/t/tap-missing-plan-and-bad-exit.sh
b/t/tap-missing-plan-and-bad-exit.sh
new file mode 100755
index 0000000..e1ea4fd
--- /dev/null
+++ b/t/tap-missing-plan-and-bad-exit.sh
@@ -0,0 +1,43 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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/>.
+
+# TAP support:
+# - if a test script exits with non-zero status before printing the TAP
+# plan, then the driver reports both "missing plan" and "exited with
+# non-zero status" errors.
+
+am_parallel_tests=yes
+. ./defs || Exit 1
+
+cat > foo.test <<END
+#!/bin/sh
+exit 123
+END
+
+echo TESTS = foo.test > Makefile.am
+
+chmod a+x foo.test
+
+. "$am_testauxdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
+
+$MAKE check >stdout && { cat stdout; Exit 1; }
+cat stdout
+count_test_results total=2 pass=0 fail=0 xpass=0 xfail=0 skip=0 error=2
+
+grep '^ERROR: foo\.test - exited with status 123$' stdout
+grep '^ERROR: foo\.test - missing test plan$' stdout
+
+:
diff --git a/tests/tap-more.test b/t/tap-more.sh
similarity index 100%
rename from tests/tap-more.test
rename to t/tap-more.sh
diff --git a/tests/tap-more2.test b/t/tap-more2.sh
similarity index 100%
rename from tests/tap-more2.test
rename to t/tap-more2.sh
diff --git a/t/tap-msg0-bailout.sh b/t/tap-msg0-bailout.sh
new file mode 100755
index 0000000..dc7cf36
--- /dev/null
+++ b/t/tap-msg0-bailout.sh
@@ -0,0 +1,38 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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/>.
+
+# TAP support:
+# - literal strings "0" and "0.0" as a test description in the message
+# of a "plan with skip" TAP plan
+# generally true!
+
+am_parallel_tests=yes
+. ./defs || Exit 1
+
+. "$am_testauxdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
+
+echo 'Bail out! 0' > a.test
+echo 'Bail out! 0.0' > b.test
+
+$MAKE TESTS='a.test b.test' check >stdout && { cat stdout; Exit 1; }
+cat stdout
+
+count_test_results total=2 pass=0 fail=0 xpass=0 xfail=0 skip=0 error=2
+
+grep '^ERROR: a.test - Bail out! 0$' stdout
+grep '^ERROR: b.test - Bail out! 0\.0$' stdout
+
+:
diff --git a/t/tap-msg0-directive.sh b/t/tap-msg0-directive.sh
new file mode 100755
index 0000000..04d3790
--- /dev/null
+++ b/t/tap-msg0-directive.sh
@@ -0,0 +1,41 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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/>.
+
+# TAP support:
+# - literal string "0" as a TODO or SKIP message
+
+am_parallel_tests=yes
+. ./defs || Exit 1
+
+. "$am_testauxdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
+
+cat > all.test << 'END'
+1..3
+ok 1 # TODO 0
+not ok 2 # TODO 0
+ok 3 # SKIP 0
+END
+
+$MAKE check >stdout && { cat stdout; Exit 1; }
+cat stdout
+
+count_test_results total=3 pass=0 fail=0 xpass=1 xfail=1 skip=1 error=0
+
+grep '^XPASS: all\.test 1 # TODO 0$' stdout
+grep '^XFAIL: all\.test 2 # TODO 0$' stdout
+grep '^SKIP: all\.test 3 # SKIP 0$' stdout
+
+:
diff --git a/t/tap-msg0-misc.sh b/t/tap-msg0-misc.sh
new file mode 100755
index 0000000..6a515a8
--- /dev/null
+++ b/t/tap-msg0-misc.sh
@@ -0,0 +1,82 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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/>.
+
+# TAP support:
+# - literal "0" and "0.0" in a test description and a TODO/SKIP message
+# at the same time
+
+am_parallel_tests=yes
+. ./defs || Exit 1
+
+. "$am_testauxdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
+
+cat > all.test << 'END'
+1..14
+
+ok 1 0
+ok 2 0.0
+
+ok 3 0 # TODO 0
+ok 4 0.0 # TODO 0
+ok 5 0 # TODO 0.0
+ok 6 0.0 # TODO 0.0
+
+not ok 7 0 # TODO 0
+not ok 8 0.0 # TODO 0
+not ok 9 0 # TODO 0.0
+not ok 10 0.0 # TODO 0.0
+
+ok 11 0 # SKIP 0
+ok 12 0.0 # SKIP 0
+ok 13 0 # SKIP 0.0
+ok 14 0.0 # SKIP 0.0
+
+END
+
+$MAKE check >stdout && { cat stdout; Exit 1; }
+cat stdout
+
+count_test_results total=14 pass=2 fail=0 xpass=4 xfail=4 skip=4 error=0
+
+sed '/^ *$/d' > exp << 'END'
+
+PASS: all.test 1 0
+PASS: all.test 2 0.0
+
+XPASS: all.test 3 0 # TODO 0
+XPASS: all.test 4 0.0 # TODO 0
+XPASS: all.test 5 0 # TODO 0.0
+XPASS: all.test 6 0.0 # TODO 0.0
+
+XFAIL: all.test 7 0 # TODO 0
+XFAIL: all.test 8 0.0 # TODO 0
+XFAIL: all.test 9 0 # TODO 0.0
+XFAIL: all.test 10 0.0 # TODO 0.0
+
+SKIP: all.test 11 0 # SKIP 0
+SKIP: all.test 12 0.0 # SKIP 0
+SKIP: all.test 13 0 # SKIP 0.0
+SKIP: all.test 14 0.0 # SKIP 0.0
+
+END
+
+$FGREP ': all.test' stdout > got
+
+cat exp
+cat got
+diff exp got
+
+:
diff --git a/t/tap-msg0-planskip.sh b/t/tap-msg0-planskip.sh
new file mode 100755
index 0000000..2706ac6
--- /dev/null
+++ b/t/tap-msg0-planskip.sh
@@ -0,0 +1,37 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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/>.
+
+# TAP support:
+# - literal strings "0" and "0.0" as the reason of the skip in a "TAP
+# plan with skip" (i.e., "1..0 # SKIP ...").
+
+am_parallel_tests=yes
+. ./defs || Exit 1
+
+. "$am_testauxdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
+
+echo '1..0 # SKIP 0' > a.test
+echo '1..0 # SKIP 0.0' > b.test
+
+$MAKE TESTS='a.test b.test' check >stdout || { cat stdout; Exit 1; }
+cat stdout
+
+count_test_results total=2 pass=0 fail=0 xpass=0 xfail=0 skip=2 error=0
+
+grep '^SKIP: a.test - 0$' stdout
+grep '^SKIP: b.test - 0\.0$' stdout
+
+:
diff --git a/t/tap-msg0-result.sh b/t/tap-msg0-result.sh
new file mode 100755
index 0000000..8c464c4
--- /dev/null
+++ b/t/tap-msg0-result.sh
@@ -0,0 +1,63 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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/>.
+
+# TAP support:
+# - the string "0" as a test description
+
+am_parallel_tests=yes
+. ./defs || Exit 1
+
+. "$am_testauxdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
+
+cat > all.test << 'END'
+1..10
+ok 1 0
+ok - 0
+not ok 3 0
+not ok - 0
+ok 5 0 # TODO
+ok - 0 # TODO
+not ok 7 0 # TODO
+not ok - 0 # TODO
+ok 9 0 # SKIP
+ok - 0 # SKIP
+END
+
+$MAKE check >stdout && { cat stdout; Exit 1; }
+cat stdout
+
+count_test_results total=10 pass=2 fail=2 xpass=2 xfail=2 skip=2 error=0
+
+cat > exp << 'END'
+PASS: all.test 1 0
+PASS: all.test 2 - 0
+FAIL: all.test 3 0
+FAIL: all.test 4 - 0
+XPASS: all.test 5 0 # TODO
+XPASS: all.test 6 - 0 # TODO
+XFAIL: all.test 7 0 # TODO
+XFAIL: all.test 8 - 0 # TODO
+SKIP: all.test 9 0 # SKIP
+SKIP: all.test 10 - 0 # SKIP
+END
+
+$FGREP ': all.test' stdout > got
+
+cat exp
+cat got
+diff exp got
+
+:
diff --git a/t/tap-negative-numbers.sh b/t/tap-negative-numbers.sh
new file mode 100755
index 0000000..67ecb1e
--- /dev/null
+++ b/t/tap-negative-numbers.sh
@@ -0,0 +1,58 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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/>.
+
+# TAP support:
+# - don't spuriously recognize negative TAP result numbers, but correctly
+# interpret them as test descriptions instead
+
+am_parallel_tests=yes
+. ./defs || Exit 1
+
+. "$am_testauxdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
+
+cat > all.test <<'END'
+1..7
+ok -1
+not ok -3
+ok -2 # SKIP
+not ok -5 # TODO
+ok -04 # TODO
+ok -121
+not ok -50000
+END
+
+$MAKE check >stdout && { cat stdout; Exit 1; }
+cat stdout
+
+count_test_results total=7 pass=2 fail=2 xpass=1 xfail=1 skip=1 error=0
+
+cat > exp <<'END'
+PASS: all.test 1 -1
+FAIL: all.test 2 -3
+SKIP: all.test 3 -2 # SKIP
+XFAIL: all.test 4 -5 # TODO
+XPASS: all.test 5 -04 # TODO
+PASS: all.test 6 -121
+FAIL: all.test 7 -50000
+END
+
+$FGREP ': all.test' stdout > got
+
+cat exp
+cat got
+diff exp got
+
+:
diff --git a/t/tap-no-disable-hard-error.sh b/t/tap-no-disable-hard-error.sh
new file mode 100755
index 0000000..c95e20e
--- /dev/null
+++ b/t/tap-no-disable-hard-error.sh
@@ -0,0 +1,50 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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/>.
+
+# TAP support:
+# - "Bail out!" magic and TAP parse errors are not disabled nor turned
+# into simple failures by the definition DISABLE_HARD_ERRORS.
+
+am_parallel_tests=yes
+. ./defs || Exit 1
+
+cat > Makefile.am << 'END'
+DISABLE_HARD_ERRORS = yes
+TEST_LOG_COMPILER = cat
+TESTS = bail.test few.test noplan.test
+END
+
+. "$am_testauxdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
+
+cat > bail.test <<END
+1..1
+Bail out!
+END
+
+cat > few.test <<END
+1..1
+END
+
+cat > noplan.test <<END
+# nothing here
+END
+
+$MAKE check >stdout && { cat stdout; Exit 1; }
+cat stdout
+
+count_test_results total=3 pass=0 fail=0 xpass=0 xfail=0 skip=0 error=3
+
+:
diff --git a/t/tap-no-merge-stdout-stderr.sh b/t/tap-no-merge-stdout-stderr.sh
new file mode 100755
index 0000000..0236ef8
--- /dev/null
+++ b/t/tap-no-merge-stdout-stderr.sh
@@ -0,0 +1,53 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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/>.
+
+# TAP support:
+# - By default, TAP input is only from the stdout (and not the stderr)
+# of the test command.
+
+am_parallel_tests=yes
+. ./defs || Exit 1
+
+cat > Makefile.am << 'END'
+TEST_LOG_DRIVER_FLAGS = --comments
+TESTS = all.test
+END
+
+. "$am_testauxdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
+
+cat > all.test <<END
+#!/bin/sh
+echo 1..2
+echo 'not ok' >&2
+echo 'not ok 1 # TODO' >&2
+echo 'ok 1'
+echo '# foo foo foo'
+echo '# bar bar bar' >&2
+echo 'ok 44 # TODO' >&2
+echo 'Bail out!' >&2
+echo 'ok 2 # SKIP'
+END
+
+chmod a+x all.test
+
+$MAKE check >stdout || { cat stdout; Exit 1; }
+cat stdout
+
+count_test_results total=2 pass=1 fail=0 xpass=0 xfail=0 skip=1 error=0
+$FGREP 'foo foo foo' stdout
+$FGREP 'bar bar bar' stdout && Exit 1
+
+:
diff --git a/t/tap-no-spurious-numbers.sh b/t/tap-no-spurious-numbers.sh
new file mode 100755
index 0000000..2fc993e
--- /dev/null
+++ b/t/tap-no-spurious-numbers.sh
@@ -0,0 +1,99 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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/>.
+
+# TAP support:
+# - we shouldn't spuriously recognize as TAP result numbers what it
+# not, even if it seems pretty close
+
+am_parallel_tests=yes
+. ./defs || Exit 1
+
+. "$am_testauxdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
+
+cat > prefixes <<'END'
+A
+a
+_
++
+-
+=
+/
+*
+.
+:
+,
+;
+$
+@
+%
+&
+#
+?
+!
+|
+\
+"
+`
+'
+(
+)
+[
+]
+{
+}
+<
+>
+END
+
+n=`wc -l <prefixes`
+
+# See the loop below to understand this initialization.
+pass=`expr $n '*' 3`
+fail=$pass
+skip=`expr $pass - 3`
+xfail=$skip
+xpass=$xfail
+error=0
+total=`expr $pass + $fail + $skip + $xfail + $xpass`
+
+echo 1..$total > all.test
+
+highno=1000
+
+for result in 'ok' 'not ok'; do
+ for spacing in "" " " "$tab"; do
+ subst="$result &$spacing$higno"
+ sed -e "s|.*|$subst|" prefixes
+ for directive in TODO SKIP; do
+ test "$result $directive" != "not ok SKIP" || continue
+ sed -e '/^#$/d' -e "s|.*|$subst # $directive|" prefixes
+ done
+ done
+done >> all.test
+
+cat all.test # For debugging.
+
+# Sanity checks.
+grep '#.*#' all.test && framework_failure_ "creating all.test"
+test `wc -l <all.test` -lt $highno || framework_failure_ "creating all.test"
+
+$MAKE check >stdout || :
+cat stdout
+
+count_test_results total=$total pass=$pass fail=$fail skip=$skip \
+ xpass=$xpass xfail=$xfail error=$error
+
+:
diff --git a/t/tap-no-spurious-summary.sh b/t/tap-no-spurious-summary.sh
new file mode 100755
index 0000000..8da15e8
--- /dev/null
+++ b/t/tap-no-spurious-summary.sh
@@ -0,0 +1,47 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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/>.
+
+# TAP support:
+# - ':test-results:' directives in test scripts' output doesn't
+# originate spurious results in the testsuite summary
+
+am_parallel_tests=yes
+. ./defs || Exit 1
+
+. "$am_testauxdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
+
+cat > all.test <<'END'
+1..1
+:test-result: PASS
+:test-result: FAIL
+:test-result: XPASS
+:test-result: XFAIL
+:test-result: SKIP
+:test-result: ERROR
+:test-result: UNKNOWN
+ok 1
+END
+
+$MAKE check >stdout || { cat stdout; Exit 1; }
+cat stdout
+
+count_test_results total=1 pass=1 fail=0 xpass=0 xfail=0 skip=0 error=0
+
+for result in PASS FAIL XPASS XFAIL SKIP ERROR UNKNOWN; do
+ grep "^ *:test-result: $result$" all.log
+done
+
+:
diff --git a/t/tap-no-spurious.sh b/t/tap-no-spurious.sh
new file mode 100755
index 0000000..ac6e668
--- /dev/null
+++ b/t/tap-no-spurious.sh
@@ -0,0 +1,114 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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/>.
+
+# TAP support:
+# - don't spuriously recognize lines that are "almost" TAP lines as
+# real TAP lines
+
+am_parallel_tests=yes
+. ./defs || Exit 1
+
+. "$am_testauxdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
+
+echo 1..5 > all.test
+
+# The only recognized directives are "TODO" and "SKIP".
+# So the following should count as passed tests.
+cat >> all.test <<END
+ok 1 # XFAIL
+ok 2 # SKIPPED
+ok 3 # TO DO
+ok 4 # TODOALL
+ok 5 # FIXME
+END
+
+# According to documentation of Test::Harness::TAP(3):
+#
+# ``Lines written to standard output matching /^(not )?ok\b/
+# must be interpreted as test lines. All other lines must
+# not be considered test output.''
+
+cat >> all.test <<END
+ ok
+ ok 1
+${tab}ok
+${tab}ok 1
+ not ok
+ not ok 1
+${tab}not ok
+${tab}not ok 1
+notok
+notok 1
+not${tab}ok
+not${tab}ok 1
+not ok
+not ok 1
+no ok
+no ok 1
+# ok
+# not ok
+# ok 1
+# not ok 1
+#ok
+#not ok
+#ok 1
+#not ok 1
+END
+
+set +x # Don't pollute logs too much.
+for r in 'ok' 'not ok'; do
+ for s1 in \
+ a b c d e f g h i j k l m n o p q r s t u v w x y z \
+ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z \
+ 0 1 2 3 4 5 6 7 8 9 _ ab 0a 23 a1B2c _o _x_y_
+ do
+ for s2 in '' @ % + - = / . : \; \* \? \& \! \# \$ \< \> \\; do
+ printf '%s\n' "$r$s1$s2"
+ done
+ done
+done >> all.test
+set -x # Reset shell xtraces.
+
+# The prove(1) utility doesn't bail out on these, so our driver
+# shouldn't either.
+# See comments in 'tap-bailout-leading-space.test' for an explanation
+# of why we don't have a whitespace-prepended "Bail out!" line here.
+cat >> all.test <<'END'
+bailout
+bailout!
+bail out
+bail out!
+Bailout
+Bailout!
+Bail out
+ Bail out
+#Bail out!
+# Bail out!
+END
+
+cat all.test # For debugging.
+
+# Minor sanity check.
+test `grep -c '^ok1$' all.test` -eq 1 \
+ && test `grep -c '^not ok1$' all.test` -eq 1 \
+ || framework_failure_ "creating all.test"
+
+$MAKE check >stdout || { cat stdout; Exit 1; }
+cat stdout
+
+count_test_results total=5 pass=5 fail=0 xpass=0 xfail=0 skip=0 error=0
+
+:
diff --git a/t/tap-not-ok-skip.sh b/t/tap-not-ok-skip.sh
new file mode 100755
index 0000000..8cfffe2
--- /dev/null
+++ b/t/tap-not-ok-skip.sh
@@ -0,0 +1,39 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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/>.
+
+# TAP support:
+# - a "not ok # SKIP" line should count as a failure, for consistency
+# with the prove(1) utility.
+
+am_parallel_tests=yes
+. ./defs || Exit 1
+
+. "$am_testauxdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
+
+cat > all.test <<'END'
+1..4
+not ok # SKIP
+not ok 2 # SKIP
+not ok - foo # SKIP
+not ok 4 - bar # SKIP
+END
+
+$MAKE check >stdout && { cat stdout; Exit 1; }
+cat stdout
+
+count_test_results total=4 pass=0 fail=4 skip=0 xpass=0 xfail=0 error=0
+
+:
diff --git a/t/tap-number-wordboundary.sh b/t/tap-number-wordboundary.sh
new file mode 100755
index 0000000..7aa2c7f
--- /dev/null
+++ b/t/tap-number-wordboundary.sh
@@ -0,0 +1,112 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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/>.
+
+# TAP support:
+# - TAP result numbers terminated by a non-whitespace "word boundary"
+# character are recognized
+
+am_parallel_tests=yes
+. ./defs || Exit 1
+
+. "$am_testauxdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
+
+cat > all.test <<'END'
+1..5
+ok 1: foo1
+not ok 2- foo2
+ok 3@ foo3 # SKIP
+not ok 4?&%$ foo4 # TODO
+ok 5"`!! foo5 # TODO
+END
+
+$MAKE check >stdout && { cat stdout; Exit 1; }
+cat stdout
+
+count_test_results total=5 pass=1 fail=1 skip=1 xpass=1 xfail=1 error=0
+
+$EGREP '^PASS: all\.test 1 ?: foo1$' stdout
+$EGREP '^FAIL: all\.test 2 ?- foo2$' stdout
+$EGREP '^SKIP: all\.test 3 ?@ foo3 # SKIP$' stdout
+$EGREP '^XFAIL: all\.test 4 ?\?&%\$ foo4 # TODO$' stdout
+$EGREP '^XPASS: all\.test 5 ?"`!! foo5 # TODO$' stdout
+
+cat > all.test <<'END'
+1..3
+ok 2: quux
+not ok 1!
+ok 476$ # SKIP
+END
+
+$MAKE check >stdout && { cat stdout; Exit 1; }
+cat stdout
+
+count_test_results total=3 pass=0 fail=0 skip=0 xpass=0 xfail=0 error=3
+
+$EGREP '^ERROR: all\.test 2 ?: quux # OUT-OF-ORDER \(expecting 1\)$' stdout
+$EGREP '^ERROR: all\.test 1 ?! # OUT-OF-ORDER \(expecting 2\)$' stdout
+$EGREP '^ERROR: all\.test 476 ?\$ # OUT-OF-ORDER \(expecting 3\)$' stdout
+
+cat > punctuation <<'END'
+'
+"
+`
+#
+$
+!
+\
+/
+&
+%
+(
+)
+|
+^
+~
+?
+*
++
+-
+,
+:
+;
+=
+<
+>
+@
+[
+]
+{
+}
+\
+END
+
+# Strip any extra whitespace, for Solaris' wc.
+planned=`wc -l <punctuation | tr -d " $tab"`
+
+echo 1..$planned > all.test
+awk '{print "ok " NR $0 }' punctuation >> all.test
+# For debugging.
+cat all.test
+# Sanity check.
+grep "^ok 1'$" all.test || framework_failure_ "creating all.test"
+
+$MAKE check >stdout || { cat stdout; Exit 1; }
+cat stdout
+
+count_test_results total=$planned pass=$planned \
+ fail=0 skip=0 xpass=0 xfail=0 error=0
+
+:
diff --git a/t/tap-numbers-leading-zero.sh b/t/tap-numbers-leading-zero.sh
new file mode 100755
index 0000000..345b31f
--- /dev/null
+++ b/t/tap-numbers-leading-zero.sh
@@ -0,0 +1,109 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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/>.
+
+# TAP support:
+# - how does TAP result numbers with leading zero fares?
+
+am_parallel_tests=yes
+. ./defs || Exit 1
+
+. "$am_testauxdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
+
+do_checks ()
+{
+ $MAKE check >stdout && { cat stdout; Exit 1; }
+ cat stdout
+ count_test_results "$@"
+ # Allow some normalization of leading zeros, without forcing it.
+ LC_ALL=C sed -n 's/: all\.test 0*\([0-9]\)/: all.test \1/p' stdout > got
+ cat exp
+ cat got
+ diff exp got
+}
+
+cat > all.test <<END
+1..15
+
+ok 01
+ok 0002
+
+not ok 03
+not ok 0004
+
+ok 05 # SKIP
+ok 0006 # SKIP
+
+not ok 07 # TODO
+not ok 0008 # TODO
+
+ok 009
+ok 010
+
+ok 00000011
+not ok 0012
+ok 00000013 # SKIP
+not ok 0014 # TODO
+ok 00000015 # TODO
+END
+
+cat > exp <<END
+PASS: all.test 1
+PASS: all.test 2
+FAIL: all.test 3
+FAIL: all.test 4
+SKIP: all.test 5 # SKIP
+SKIP: all.test 6 # SKIP
+XFAIL: all.test 7 # TODO
+XFAIL: all.test 8 # TODO
+PASS: all.test 9
+PASS: all.test 10
+PASS: all.test 11
+FAIL: all.test 12
+SKIP: all.test 13 # SKIP
+XFAIL: all.test 14 # TODO
+XPASS: all.test 15 # TODO
+END
+
+do_checks total=15 pass=5 fail=3 xpass=1 xfail=3 skip=3 error=0
+
+cat > all.test <<END
+1..8
+
+ok 010
+not ok 003
+ok 0001 # SKIP
+not ok 010 # TODO
+ok 00100 # TODO
+
+ok 06
+ok 00007
+ok 8
+END
+
+cat > exp <<END
+ERROR: all.test 10 # OUT-OF-ORDER (expecting 1)
+ERROR: all.test 3 # OUT-OF-ORDER (expecting 2)
+ERROR: all.test 1 # OUT-OF-ORDER (expecting 3)
+ERROR: all.test 10 # OUT-OF-ORDER (expecting 4)
+ERROR: all.test 100 # OUT-OF-ORDER (expecting 5)
+PASS: all.test 6
+PASS: all.test 7
+PASS: all.test 8
+END
+
+do_checks total=8 pass=3 fail=0 xpass=0 xfail=0 skip=0 error=5
+
+:
diff --git a/t/tap-numeric-description.sh b/t/tap-numeric-description.sh
new file mode 100755
index 0000000..b2f54f3
--- /dev/null
+++ b/t/tap-numeric-description.sh
@@ -0,0 +1,69 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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/>.
+
+# TAP result lines whose description is a number.
+
+am_parallel_tests=yes
+. ./defs || Exit 1
+
+. "$am_testauxdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
+
+# Some random numbers to be used as test names. The definitions below are
+# selected so that $x<n> != <n> for every n >= 1. We can't use positional
+# parameters for this unfortunately, since Solaris 10 /bin/sh doesn't allow
+# the dereferencing of parameters from ${10} onwards.
+x1=5 x2=7 x3=45 x4=11 x5=7 x6=3 x7=6 x8=9 x9=1000 x10=1
+
+cat > all.test <<END
+1..10
+ok 1 ${x1}
+ok - ${x2}
+not ok 3 ${x3}
+not ok - ${x4}
+ok 5 ${x5} # SKIP
+ok - ${x6} # SKIP
+not ok 7 ${x7} # TODO
+not ok - ${x8} # TODO
+ok 9 ${x9} # TODO
+ok - ${x10} # TODO
+END
+
+cat > exp <<END
+PASS: all.test 1 ${x1}
+PASS: all.test 2 - ${x2}
+FAIL: all.test 3 ${x3}
+FAIL: all.test 4 - ${x4}
+SKIP: all.test 5 ${x5} # SKIP
+SKIP: all.test 6 - ${x6} # SKIP
+XFAIL: all.test 7 ${x7} # TODO
+XFAIL: all.test 8 - ${x8} # TODO
+XPASS: all.test 9 ${x9} # TODO
+XPASS: all.test 10 - ${x10} # TODO
+END
+
+$MAKE check >stdout && { cat stdout; Exit 1; }
+cat stdout
+
+count_test_results total=10 pass=2 fail=2 xpass=2 xfail=2 skip=2 error=0
+
+$FGREP ': all.test' stdout > got
+
+cat exp
+cat got
+diff exp got
+
+
+:
diff --git a/t/tap-out-of-order.sh b/t/tap-out-of-order.sh
new file mode 100755
index 0000000..8c62ea6
--- /dev/null
+++ b/t/tap-out-of-order.sh
@@ -0,0 +1,81 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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/>.
+
+# TAP support:
+# - out-of-order test results
+
+am_parallel_tests=yes
+. ./defs || Exit 1
+
+. "$am_testauxdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
+
+cat > a.test <<END
+1..3
+ok
+not ok 2 # TODO
+ok 71
+END
+
+cat > b.test <<END
+1..5
+ok 1
+ok 2
+ok 4 foo # SKIP mu
+not ok 2 bar # TODO um
+ok 5
+END
+
+cat > c.test <<END
+1..4
+ok 1
+ok foo
+ok 4 - zardoz
+not ok 3
+END
+
+# This is documented as an "test out of sequence" error in the
+# TAP::Parser documentation. Keep it in sync with the example
+# there.
+cat > d.test <<'END'
+1..5
+ok 1
+ok 2
+ok 15
+ok 16
+ok 17
+END
+
+$MAKE TESTS='a.test b.test c.test d.test' check >stdout \
+ && { cat stdout; Exit 1; }
+cat stdout
+
+count_test_results total=17 pass=8 fail=0 xpass=0 xfail=1 skip=0 error=8
+
+test `$FGREP -c ': a.test' stdout` -eq 3
+test `$FGREP -c ': b.test' stdout` -eq 5
+test `$FGREP -c ': c.test' stdout` -eq 4
+test `$FGREP -c ': d.test' stdout` -eq 5
+
+grep '^ERROR: a\.test 71 # OUT-OF-ORDER (expecting 3)$' stdout
+grep '^ERROR: b\.test 4 foo # OUT-OF-ORDER (expecting 3)$' stdout
+grep '^ERROR: b\.test 2 bar # OUT-OF-ORDER (expecting 4)$' stdout
+grep '^ERROR: c\.test 4 - zardoz # OUT-OF-ORDER (expecting 3)$' stdout
+grep '^ERROR: c\.test 3 # OUT-OF-ORDER (expecting 4)$' stdout
+grep '^ERROR: d\.test 15 # OUT-OF-ORDER (expecting 3)$' stdout
+grep '^ERROR: d\.test 16 # OUT-OF-ORDER (expecting 4)$' stdout
+grep '^ERROR: d\.test 17 # OUT-OF-ORDER (expecting 5)$' stdout
+
+:
diff --git a/t/tap-passthrough-exit.sh b/t/tap-passthrough-exit.sh
new file mode 100755
index 0000000..63c757b
--- /dev/null
+++ b/t/tap-passthrough-exit.sh
@@ -0,0 +1,59 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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/>.
+
+# TAP support:
+# - non-success exit status of a test script is reported in the
+# log file
+# See also related test 'tap-passthrough.test'.
+
+am_parallel_tests=yes
+. ./defs || Exit 1
+
+cat > Makefile.am << 'END'
+TEST_LOG_COMPILER = $(SHELL)
+TESTS =
+END
+
+exit_statuses='1 2 77 99'
+
+for e in $exit_statuses; do
+ unindent > exit-$e.test <<END
+ #!/bin/sh
+ echo 1..1
+ echo ok 1
+ exit $e
+END
+ echo TESTS += exit-$e.test >> Makefile.am
+done
+
+. "$am_testauxdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
+
+st=0
+$MAKE check || st=$?
+for e in $exit_statuses; do cat exit-$e.log; done
+cat test-suite.log
+test $st -gt 0 || Exit 1
+
+for e in $exit_statuses; do
+ for log in exit-$e.log test-suite.log; do
+ grep "^ERROR: exit-$e\\.test - exited with status $e$" $log
+ done
+done
+
+$MAKE check TEST_LOG_DRIVER_FLAGS='--ignore-exit'
+$FGREP ".test - exited with status" *.log && Exit 1
+
+:
diff --git a/t/tap-passthrough.sh b/t/tap-passthrough.sh
new file mode 100755
index 0000000..3b5863d
--- /dev/null
+++ b/t/tap-passthrough.sh
@@ -0,0 +1,166 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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/>.
+
+# TAP support:
+# - all input (valid TAP lines, invalid TAP lines, non-TAP lines)
+# are passed through in the log file
+# - TAP errors are reported in the log file too
+# See also related test 'tap-passthrough-exit.test'.
+
+am_parallel_tests=yes
+. ./defs || Exit 1
+
+weirdchars=\''"address@hidden&()[]<>#;,:.^?*/'
+
+. "$am_testauxdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
+
+#
+# Only successful tests.
+#
+
+# The whitespace in this test might be normalized in the testsuite
+# progress output, but should be copied verbatim in the log files.
+cat > ok.test <<END
+1..6
+TAP plan in the previous line.
+ok${tab}
+ok 2
+ok - foo
+ok 4 - x
+ This is not a TAP line, but should still be copied in the log file!
+# some diagnostic${tab}
+not ok # TODO low priority
+ok # SKIP who cares?
+$weirdchars
+END
+
+$MAKE TESTS=ok.test check || { cat ok.log; Exit 1; }
+cat ok.log
+
+for rx in \
+ '1\.\.6' \
+ 'TAP plan in the previous line\.' \
+ "ok${tab}" \
+ 'ok 2' \
+ 'ok - foo' \
+ 'ok 4 - x' \
+ ' This is not a TAP line, but should still be copied in the log file!' \
+ "# some diagnostic${tab}" \
+ 'not ok # TODO low priority' \
+ 'ok # SKIP who cares?' \
+; do
+ grep "^$rx$" ok.log
+done
+$FGREP "$weirdchars" ok.log
+
+#
+# Mixed failing/successful tests.
+#
+
+cat > tiny.test <<END
+1..1
+ok
+END
+
+cat > ok.test <<END
+1..1
+ok
+only one success here
+END
+
+cat > ko.test <<END
+1..5
+foo foo foo
+ok${tab}
+ok 2
+not ok - foo
+not ok 4 - x
+# diagnostic ko
+ bar${tab}bar${tab}bar
+ok # TODO dunno
+$weirdchars
+END
+
+cat > bail.test <<END
+Bail out! Test is taking too long!
+END
+
+cat > skip.test <<END
+1..0 # Skipped: WWW::Mechanize not installed
+END
+
+cat > err.test <<END
+1..3
+ok 1
+Invalid test count
+ok 23
+Misplaced plan
+1..13
+ok
+Extra test
+ok
+Last line
+END
+
+st=0
+$MAKE check \
+ TESTS='tiny.test ok.test ko.test bail.test skip.test err.test' || st=$?
+cat tiny.log
+cat ok.log
+cat ko.log
+cat bail.log
+cat skip.log
+cat err.log
+test $st -gt 0 || Exit 1
+
+grep '^1\.\.1$' tiny.log
+grep '^ok$' tiny.log
+grep '^only one success here$' ok.log
+
+for rx in \
+ '1\.\.5' \
+ 'foo foo foo' \
+ "ok${tab}" \
+ 'ok 2' \
+ 'not ok - foo' \
+ 'not ok 4 - x' \
+ '# diagnostic ko' \
+ " bar${tab}bar${tab}bar" \
+ 'ok # TODO dunno' \
+; do
+ grep "^$rx$" ko.log
+done
+$FGREP "$weirdchars" ko.log
+
+grep '^Bail out! Test is taking too long!$' bail.log
+grep '^1\.\.0 # Skipped: WWW::Mechanize not installed$' skip.log
+
+for rx in \
+ '^1\.\.3$' \
+ '^Invalid test count$' \
+ '^ok 23$' \
+ '^Misplaced plan$' \
+ '^1\.\.13$' \
+ '^ERROR:.* multiple test plans' \
+ '^Extra test$' \
+ '^Last line$' \
+ '^ERROR:.* [tT]oo many tests run.*expected 3, got 4' \
+ '^ERROR:.* err\.test 23 .*OUT[ -]OF[ -]ORDER.*expecting 2' \
+; do
+ grep "$rx" err.log
+done
+
+:
diff --git a/t/tap-plan-corner.sh b/t/tap-plan-corner.sh
new file mode 100755
index 0000000..52f813b
--- /dev/null
+++ b/t/tap-plan-corner.sh
@@ -0,0 +1,198 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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/>.
+
+# TAP support:
+# - some corner cases for TAP plan
+
+am_parallel_tests=yes
+. ./defs || Exit 1
+
+. "$am_testauxdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
+
+# -------------------------------------------------------------------------
+
+cat > leading-repeated.test <<END
+1..1
+1..1
+ok 1
+END
+
+cat > trailing-repeated.test <<END
+ok 1
+1..1
+1..1
+END
+
+for pos in leading trailing; do
+ $MAKE TESTS="$pos-repeated.test" check >stdout \
+ && { cat stdout; Exit 1; }
+ cat stdout
+ count_test_results total=2 pass=1 fail=0 xpass=0 xfail=0 skip=0 error=1
+ grep "^ERROR: $pos-repeated\\.test - multiple test plans$" stdout
+done
+
+# -------------------------------------------------------------------------
+
+cat > leading-repeated.test <<END
+1..2
+ok 1
+1..2
+ok 2
+END
+
+cat > trailing-repeated.test <<END
+ok 1
+1..2
+ok 2
+1..2
+END
+
+$MAKE TESTS="leading-repeated.test trailing-repeated.test" check >stdout \
+ && { cat stdout; Exit 1; }
+cat stdout
+count_test_results total=6 pass=3 fail=0 xpass=0 xfail=0 skip=0 error=3
+grep "^ERROR: leading-repeated\\.test - multiple test plans$" stdout
+grep "^ERROR: trailing-repeated\\.test - multiple test plans$" stdout
+grep "^ERROR: trailing-repeated\\.test 2 # AFTER LATE PLAN$" stdout
+grep "leading .*AFTER LATE PLAN" stdout && Exit 1
+
+# -------------------------------------------------------------------------
+
+cat > 1.test <<END
+1..0
+1..0
+END
+
+cat > 2.test <<END
+1..0 # SKIP
+1..0
+END
+
+cat > 3.test <<END
+1..0
+1..0 # SKIP
+END
+
+cat > 4.test <<END
+1..0 # SKIP
+1..0 # SKIP
+END
+
+$MAKE TESTS="1.test 2.test 3.test 4.test" check >stdout \
+ && { cat stdout; Exit 1; }
+cat stdout
+count_test_results total=8 pass=0 fail=0 xpass=0 xfail=0 skip=4 error=4
+for i in 1 2 3 4; do
+ grep "^ERROR: $i\\.test - multiple test plans$" stdout
+done
+
+# -------------------------------------------------------------------------
+
+cat > all.test <<END
+1..5
+ok 1
+ok 2
+1..5
+ok 3
+1..5
+ok 4
+1..5
+ok 5
+END
+
+$MAKE check >stdout && { cat stdout; Exit 1; }
+cat stdout
+count_test_results total=8 pass=5 fail=0 xpass=0 xfail=0 skip=0 error=3
+
+cat > exp <<'END'
+PASS: all.test 1
+PASS: all.test 2
+ERROR: all.test - multiple test plans
+PASS: all.test 3
+ERROR: all.test - multiple test plans
+PASS: all.test 4
+ERROR: all.test - multiple test plans
+PASS: all.test 5
+END
+
+$FGREP ': all.test' stdout > got
+
+cat exp
+cat got
+diff exp got
+
+# -------------------------------------------------------------------------
+
+cat > all.test <<END
+1..2
+ok 1
+ok 2
+1..3
+ok 3
+END
+
+$MAKE check >stdout && { cat stdout; Exit 1; }
+cat stdout
+count_test_results total=5 pass=2 fail=0 xpass=0 xfail=0 skip=0 error=3
+
+cat > exp <<'END'
+PASS: all.test 1
+PASS: all.test 2
+ERROR: all.test - multiple test plans
+ERROR: all.test 3 # UNPLANNED
+ERROR: all.test - too many tests run (expected 2, got 3)
+END
+
+$FGREP ': all.test' stdout > got
+
+cat exp
+cat got
+diff exp got
+
+# -------------------------------------------------------------------------
+
+cat > all.test <<END
+ok 1
+ok 2
+ok 3
+1..5
+1..5
+ok 4
+1..5
+ok 5
+END
+
+$MAKE check >stdout && { cat stdout; Exit 1; }
+cat stdout
+count_test_results total=7 pass=3 fail=0 xpass=0 xfail=0 skip=0 error=4
+
+cat > exp <<'END'
+PASS: all.test 1
+PASS: all.test 2
+PASS: all.test 3
+ERROR: all.test - multiple test plans
+ERROR: all.test 4 # AFTER LATE PLAN
+ERROR: all.test - multiple test plans
+ERROR: all.test 5 # AFTER LATE PLAN
+END
+
+$FGREP ': all.test' stdout > got
+
+cat exp
+cat got
+diff exp got
+
+:
diff --git a/t/tap-plan-errors.sh b/t/tap-plan-errors.sh
new file mode 100755
index 0000000..1b74059
--- /dev/null
+++ b/t/tap-plan-errors.sh
@@ -0,0 +1,114 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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/>.
+
+# TAP support: the following situations should be flagged as errors:
+# - unmatched test plan (too few tests run)
+# - multiple test plans
+# - missing test plan
+# - misplaced test plan (tests run after a late plan)
+# Checks about unplanned tests are performed in 'tap-unplanned.test'
+# and 'tap-skip-whole-badcount.test'. More checks about corner-cases
+# in TAP plans are performed in 'tap-plan-corner.test'.
+
+am_parallel_tests=yes
+. ./defs || Exit 1
+
+. "$am_testauxdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
+
+my_check ()
+{
+ cat > all.test
+ test -n "$err" || fatal_ "\$err not set before calling my_check"
+ cat all.test # For debugging.
+ $MAKE check >stdout && { cat stdout; Exit 1; }
+ cat stdout
+ count_test_results "$@"
+ grep "^ERROR: all\\.test $err$" stdout
+ unset err
+}
+
+err='- too few tests run (expected 2, got 1)'
+my_check total=2 pass=1 fail=0 xpass=0 xfail=0 skip=0 error=1 <<END
+1..2
+ok 1
+END
+
+err='- too few tests run (expected 12, got 3)'
+my_check total=4 pass=2 fail=0 xpass=0 xfail=1 skip=0 error=1 <<END
+ok 1
+ok 2
+not ok 3 # TODO
+1..12
+END
+
+err='- too few tests run (expected 1, got 0)'
+my_check total=1 pass=0 fail=0 xpass=0 xfail=0 skip=0 error=1 <<END
+1..1
+END
+
+err='2 # AFTER LATE PLAN'
+my_check total=2 pass=1 fail=0 xpass=0 xfail=0 skip=0 error=1 <<END
+ok 1
+1..2
+ok 2
+END
+
+err='5 # AFTER LATE PLAN'
+my_check total=5 pass=4 fail=0 xpass=0 xfail=0 skip=0 error=1 <<END
+ok 1
+ok 2
+ok 3
+ok 4
+1..5
+ok 5
+END
+
+err='- missing test plan'
+my_check total=2 pass=1 fail=0 xpass=0 xfail=0 skip=0 error=1 <<END
+ok 1
+END
+
+
+# The two test plans here are deliberately equal.
+err='- multiple test plans'
+my_check total=3 pass=2 fail=0 xpass=0 xfail=0 skip=0 error=1 <<END
+1..2
+ok 1
+ok 2
+1..2
+END
+
+# The second plan is diagnosed as extra, and only the first one is
+# relevant w.r.t. the number of the expected test.
+err='- multiple test plans'
+my_check total=4 pass=3 fail=0 xpass=0 xfail=0 skip=0 error=1 <<END
+1..3
+ok 1
+ok 2
+1..2
+ok 3
+END
+
+# As above, in a slightly different situation.
+err='- multiple test plans'
+my_check total=3 pass=2 fail=0 xpass=0 xfail=0 skip=0 error=1 <<END
+1..2
+ok 1
+ok 2
+1..4
+END
+
+:
diff --git a/t/tap-plan-leading-zero.sh b/t/tap-plan-leading-zero.sh
new file mode 100755
index 0000000..a86fbee
--- /dev/null
+++ b/t/tap-plan-leading-zero.sh
@@ -0,0 +1,57 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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/>.
+
+# TAP support:
+# - TAP plans with numbers having leading zeroes, as in "1..01"
+# - TAP "SKIP" plans with multiple zeroes, as in "1..00 # SKIP"
+# This is consistent with the behaviour of the 'prove' utility.
+
+am_parallel_tests=yes
+. ./defs || Exit 1
+
+. "$am_testauxdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
+
+cat > a.test <<END
+1..01
+ok 1
+END
+
+cat > b.test <<END
+1..0002
+ok 1
+ok 2
+END
+
+echo 1..010 > c.test
+for i in 1 2 3 4 5 6 7 8 9 10; do echo ok $i; done >> c.test
+
+echo 1..00100 > d.test
+for i in 1 2 3 4 5 6 7 8 9 10; do
+ for j in 1 2 3 4 5 6 7 8 9 10; do
+ echo ok
+ done
+done >> d.test
+
+echo 1..00 > e.test
+echo '1..000 # SKIP' > f.test
+
+$MAKE TESTS='a.test b.test c.test d.test e.test f.test' check >stdout \
+ || { cat stdout; Exit 1; }
+cat stdout
+
+count_test_results total=115 pass=113 xfail=0 skip=2 fail=0 xpass=0 error=0
+
+:
diff --git a/t/tap-plan-malformed.sh b/t/tap-plan-malformed.sh
new file mode 100755
index 0000000..ef3580c
--- /dev/null
+++ b/t/tap-plan-malformed.sh
@@ -0,0 +1,60 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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/>.
+
+# TAP support: a malformed TAP plan is not recognized. The checks in
+# here should be consistent with the behaviour of the 'prove' utility.
+
+am_parallel_tests=yes
+. ./defs || Exit 1
+
+. "$am_testauxdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
+
+cat > a.test <<END
+1..1 foo
+END
+
+cat > b.test <<END
+ 1..2
+ok 1
+ok 2
+END
+
+cat > c.test <<END
+1..1 # SKIP
+END
+
+cat > d.test <<END
+1..2 # foo bar
+not ok 1 # TODO
+not ok 2 # TODO
+END
+
+cat > e.test <<END
+0..0
+END
+
+tests_list=`echo *.test`
+
+$MAKE TESTS="$tests_list" check >stdout && { cat stdout; Exit 1; }
+cat stdout
+
+count_test_results total=9 pass=2 fail=0 xpass=0 xfail=2 skip=0 error=5
+
+for tst in $tests_list; do
+ grep "^ERROR: $tst - missing test plan$" stdout
+done
+
+:
diff --git a/t/tap-plan-middle.sh b/t/tap-plan-middle.sh
new file mode 100755
index 0000000..e48d395
--- /dev/null
+++ b/t/tap-plan-middle.sh
@@ -0,0 +1,83 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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/>.
+
+# TAP support:
+# - test plan preceding and/or following non-result TAP lines
+
+am_parallel_tests=yes
+. ./defs || Exit 1
+
+. "$am_testauxdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
+
+cat > top1.test <<END
+non-TAP line, ignored
+1..1
+ok 1
+END
+
+cat > top2.test <<END
+some
+non-TAP
+lines
+are
+ignored
+# and a TAP comment won't cause problems either
+1..2
+ok 1
+ok 2
+END
+
+# Try with a blank line too, just to be sure.
+cat > top3.test <<END
+
+1..1
+ok 1
+END
+
+cat > bot1.test <<END
+ok 1 # SKIP
+1..1
+bla blah blah ...
+END
+
+cat > bot2.test <<END
+ok 1
+ok 2
+not ok 3 # TODO
+1..3
address@hidden (a cursing comment :-)
+END
+
+# Try with a blank line too, just to be sure.
+cat > bot3.test <<END
+ok 1
+not ok 2 # TODO
+ok 3 # SKIP
+ok 4 # SKIP
+1..4
+
+END
+
+tests=`echo *.test`
+
+for tap_flags in "" "--comments"; do
+ $MAKE check TEST_LOG_DRIVER_FLAGS="$tap_flags" TESTS="$tests" >stdout \
+ || { cat stdout; Exit 1; }
+ cat stdout
+ count_test_results total=12 pass=7 xfail=2 skip=3 fail=0 xpass=0 error=0
+done
+
+:
diff --git a/t/tap-plan-whitespace.sh b/t/tap-plan-whitespace.sh
new file mode 100755
index 0000000..193da55
--- /dev/null
+++ b/t/tap-plan-whitespace.sh
@@ -0,0 +1,41 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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/>.
+
+# TAP support:
+# - plan line with trailing whitespace is recognized and handled correctly
+
+am_parallel_tests=yes
+. ./defs || Exit 1
+
+. "$am_testauxdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
+
+sed 's/\$$//' > foo.test <<END
+1..2 $
+ok 1$
+ok 2$
+END
+
+cat > bar.test <<END
+1..1$tab $tab$tab
+ok 1
+END
+
+$MAKE TESTS='foo.test bar.test' check >stdout || { cat stdout; Exit 1; }
+cat stdout
+
+count_test_results total=3 pass=3 fail=0 error=0 xpass=0 xfail=0 skip=0
+
+:
diff --git a/t/tap-plan.sh b/t/tap-plan.sh
new file mode 100755
index 0000000..cb47ccd
--- /dev/null
+++ b/t/tap-plan.sh
@@ -0,0 +1,52 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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/>.
+
+# TAP support:
+# - test scripts with the test plan at the beginning
+# - test scripts with the test plan at the end
+
+am_parallel_tests=yes
+. ./defs || Exit 1
+
+. "$am_testauxdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
+
+cat > top.test <<END
+1..3
+ok 1
+ok 2 # SKIP
+ok 3
+# a trailing comment
+END
+
+cat > bot.test <<END
+ok 1
+# a comment
+ok 2
+not ok 3 # TODO
+# another comment
+ok
+1..4
+END
+
+for tap_flags in "" "--comments"; do
+ $MAKE TEST_LOG_DRIVER_FLAGS="$tap_flags" TESTS="top.test bot.test" \
+ check >stdout || { cat stdout; Exit 1; }
+ cat stdout
+ count_test_results total=7 pass=5 xfail=1 skip=1 fail=0 xpass=0 error=0
+done
+
+
+:
diff --git a/t/tap-planskip-and-logging.sh b/t/tap-planskip-and-logging.sh
new file mode 100755
index 0000000..8e9da1e
--- /dev/null
+++ b/t/tap-planskip-and-logging.sh
@@ -0,0 +1,74 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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/>.
+
+# TAP support:
+# - interactions between "TAP plan with SKIP" and logging of earlier or
+# later TAP or non-TAP text
+
+am_parallel_tests=yes
+. ./defs || Exit 1
+
+. "$am_testauxdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
+
+echo TEST_LOG_DRIVER_FLAGS = --comments >> Makefile
+
+cat > foo.test <<END
+1..0
+a non-TAP line
+# a comment
+END
+
+cat > foo2.test <<END
+a non-TAP line 2
+# a comment 2
+1..0
+END
+
+cat > bar.test <<END
+# an early comment
+an early non-TAP line
+ $tab
+1..0 # SKIP
+# a later comment
+a later non-TAP line
+END
+
+$MAKE TESTS='foo.test foo2.test bar.test' check >stdout \
+ || { cat stdout; Exit 1; }
+cat stdout
+
+count_test_results total=3 pass=0 fail=0 xpass=0 xfail=0 skip=3 error=0
+
+grep '^# foo\.test: a comment$' stdout
+grep '^# foo2\.test: a comment 2$' stdout
+grep '^# bar\.test: an early comment$' stdout
+grep '^# bar\.test: a later comment$' stdout
+
+cat foo.log
+cat foo2.log
+cat bar.log
+
+grep '^a non-TAP line$' foo.log
+grep '^# a comment$' foo.log
+grep '^a non-TAP line 2$' foo2.log
+grep '^# a comment 2$' foo2.log
+grep '^# an early comment' bar.log
+grep '^an early non-TAP line$' bar.log
+grep '^# a later comment' bar.log
+grep '^a later non-TAP line$' bar.log
+grep "^ $tab$" bar.log
+
+:
diff --git a/t/tap-planskip-badexit.sh b/t/tap-planskip-badexit.sh
new file mode 100755
index 0000000..fbb3b56
--- /dev/null
+++ b/t/tap-planskip-badexit.sh
@@ -0,0 +1,52 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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/>.
+
+# TAP support:
+# - an exit status != 0 of a test script causes an hard error, even if
+# the last line of output is a "SKIP plan" (e.g., "1..0 # SKIP").
+
+am_parallel_tests=yes
+. ./defs || Exit 1
+
+echo TESTS = one.test two.test > Makefile.am
+
+. "$am_testauxdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
+
+cat > one.test <<'END'
+#!/bin/sh
+echo '1..0 # SKIP'
+exit 1
+END
+
+cat > two.test <<'END'
+#!/bin/sh
+echo '1..0'
+exit 22
+END
+
+chmod a+x one.test two.test
+
+$MAKE check >stdout && { cat stdout; Exit 1; }
+cat stdout
+
+# The 'prove' utility reports both the skip and the non-zero exit status,
+# so we do the same.
+count_test_results total=4 pass=0 fail=0 xpass=0 xfail=0 skip=2 error=2
+
+grep '^ERROR: one\.test - exited with status 1$' stdout
+grep '^ERROR: two\.test - exited with status 22$' stdout
+
+:
diff --git a/t/tap-planskip-bailout.sh b/t/tap-planskip-bailout.sh
new file mode 100755
index 0000000..7fb72e9
--- /dev/null
+++ b/t/tap-planskip-bailout.sh
@@ -0,0 +1,36 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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/>.
+
+# TAP support:
+# - a "Bail out!" directive causes an hard error, even if coming after
+# a "SKIP plan" (e.g., "1..0 # SKIP").
+
+am_parallel_tests=yes
+. ./defs || Exit 1
+
+. "$am_testauxdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
+
+cat > all.test <<END
+1..0 # SKIP
+Bail out!
+END
+
+$MAKE check >stdout && { cat stdout; Exit 1; }
+cat stdout
+count_test_results total=2 pass=0 fail=0 xpass=0 xfail=0 skip=1 error=1
+grep '^ERROR: all\.test - Bail out!' stdout
+
+:
diff --git a/t/tap-planskip-case-insensitive.sh
b/t/tap-planskip-case-insensitive.sh
new file mode 100755
index 0000000..2fd7b01
--- /dev/null
+++ b/t/tap-planskip-case-insensitive.sh
@@ -0,0 +1,46 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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/>.
+
+# TAP support:
+# - "SKIP" keyword in a TAP plan is case-insensitive
+
+am_parallel_tests=yes
+. ./defs || Exit 1
+
+. "$am_testauxdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
+
+# These nested loops are clearer without indentation.
+
+i=0
+for c1 in s S; do
+for c2 in k K; do
+for c3 in i I; do
+for c4 in p P; do
+ i=`expr $i + 1`
+ case $i in ?) i=0$i; esac
+ echo "1..0 # $c1$c2$c3$c4 foobar" > $i.test
+done; done; done; done
+
+$MAKE TESTS="`echo *.test`" check >stdout || { cat stdout; Exit 1; }
+cat stdout
+
+count_test_results total=16 pass=0 fail=0 xpass=0 xfail=0 skip=16 error=0
+
+for tst in *.test; do
+ grep "^SKIP: $tst .* foobar$" stdout
+done
+
+:
diff --git a/t/tap-planskip-late.sh b/t/tap-planskip-late.sh
new file mode 100755
index 0000000..6c8d4f5
--- /dev/null
+++ b/t/tap-planskip-late.sh
@@ -0,0 +1,44 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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/>.
+
+# TAP support:
+# - the special "plan with SKIP" can also be used "late" in the TAP
+# stream, i.e., preceded by non-TAP output or TAP diagnostic.
+
+am_parallel_tests=yes
+. ./defs || Exit 1
+
+. "$am_testauxdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
+
+cat > foo.test <<END
+some non-TAP text, will be copied in the global log
+1..0 # SKIP from the last line
+END
+
+cat > bar.test <<END
+# some TAP diagnostic, will go to console
+1..0
+END
+
+$MAKE TESTS='foo.test bar.test' check >stdout || { cat stdout; Exit 1; }
+cat stdout
+
+grep '^SKIP: foo\.test .* from the last line$' stdout
+grep '^SKIP: bar\.test$' stdout
+test `grep -c ': .*\.test' stdout` -eq 2
+count_test_results total=2 pass=0 fail=0 xpass=0 xfail=0 skip=2 error=0
+
+:
diff --git a/t/tap-planskip-later-errors.sh b/t/tap-planskip-later-errors.sh
new file mode 100755
index 0000000..a73dbce
--- /dev/null
+++ b/t/tap-planskip-later-errors.sh
@@ -0,0 +1,40 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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/>.
+
+# TAP support:
+# - TAP errors following a "TAP plan with SKIP" are still diagnosed.
+
+am_parallel_tests=yes
+. ./defs || Exit 1
+
+. "$am_testauxdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
+
+cat > all.test <<END
+1..0
+a non-TAP line
+1..3
+1..5
+# a comment
+1..1
+END
+
+$MAKE check >stdout && { cat stdout; Exit 1; }
+cat stdout
+
+count_test_results total=4 pass=0 fail=0 xpass=0 xfail=0 skip=1 error=3
+test `grep -c '^ERROR: all\.test - multiple test plans' stdout` -eq 3
+
+:
diff --git a/t/tap-planskip-unplanned-corner.sh
b/t/tap-planskip-unplanned-corner.sh
new file mode 100755
index 0000000..6bd5d1e
--- /dev/null
+++ b/t/tap-planskip-unplanned-corner.sh
@@ -0,0 +1,48 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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/>.
+
+# TAP support:
+# - test results seen in a TAP stream that has a "plan with SKIP" are
+# flagged as errors, even if all of them are "SKIP" results.
+
+am_parallel_tests=yes
+. ./defs || Exit 1
+
+. "$am_testauxdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
+
+cat > foo.test <<END
+1..0 # SKIP
+ok 1 # SKIP
+END
+
+cat > bar.test <<END
+ok 1 # SKIP
+1..0 # SKIP
+END
+
+$MAKE TESTS='foo.test bar.test' check >stdout && { cat stdout; Exit 1; }
+cat stdout
+
+count_test_results total=5 pass=0 fail=0 xpass=0 xfail=0 skip=2 error=3
+
+# Don't be too strict w.r.t. the format of the "skip whole test" message.
+grep '^SKIP: foo\.test$' stdout || grep '^SKIP: foo\.test [^0-9]' stdout
+grep '^ERROR: foo\.test 1 # UNPLANNED$' stdout
+grep '^ERROR: foo\.test - too many tests run (expected 0, got 1)$' stdout
+grep '^SKIP: bar\.test 1 # SKIP$' stdout
+grep '^ERROR: bar\.test - too many tests run (expected 0, got 1)$' stdout
+
+:
diff --git a/t/tap-planskip-unplanned.sh b/t/tap-planskip-unplanned.sh
new file mode 100755
index 0000000..4aeb4de
--- /dev/null
+++ b/t/tap-planskip-unplanned.sh
@@ -0,0 +1,73 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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/>.
+
+# TAP support:
+# - a "plan with skip" given after one or more test result have already
+# been seen is an error
+# - any test result following a "plan with skip" is an error.
+
+am_parallel_tests=yes
+. ./defs || Exit 1
+
+. "$am_testauxdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
+
+cat > all.test <<END
+ok 1
+1..0 # SKIP too late
+END
+$MAKE check >stdout && { cat stdout; Exit 1; }
+cat stdout
+count_test_results total=2 pass=1 fail=0 xpass=0 xfail=0 skip=0 error=1
+grep '^ERROR: all\.test - too many tests run (expected 0, got 1)$' stdout
+
+cat > all.test <<END
+ok 1
+ok 2 # SKIP
+not ok 3 # TODO
+1..0 # SKIP too late
+END
+$MAKE check >stdout && { cat stdout; Exit 1; }
+cat stdout
+count_test_results total=4 pass=1 fail=0 xpass=0 xfail=1 skip=1 error=1
+grep '^ERROR: all\.test - too many tests run (expected 0, got 3)$' stdout
+
+cat > all.test <<END
+1..0 # SKIP falsified later
+ok 1
+END
+$MAKE check >stdout && { cat stdout; Exit 1; }
+cat stdout
+count_test_results total=3 pass=0 fail=0 xpass=0 xfail=0 skip=1 error=2
+grep '^ERROR: all\.test 1 # UNPLANNED$' stdout
+grep '^ERROR: all\.test - too many tests run (expected 0, got 1)$' stdout
+
+cat > all.test <<END
+1..0 # SKIP falsified later
+ok 1
+ok 2 # SKIP
+not ok 3
+not ok 4 # TODO
+END
+$MAKE check >stdout && { cat stdout; Exit 1; }
+cat stdout
+count_test_results total=6 pass=0 fail=0 xpass=0 xfail=0 skip=1 error=5
+grep '^ERROR: all\.test 1 # UNPLANNED$' stdout
+grep '^ERROR: all\.test 2 # UNPLANNED$' stdout
+grep '^ERROR: all\.test 3 # UNPLANNED$' stdout
+grep '^ERROR: all\.test 4 # UNPLANNED$' stdout
+grep '^ERROR: all\.test - too many tests run (expected 0, got 4)$' stdout
+
+:
diff --git a/t/tap-planskip-whitespace.sh b/t/tap-planskip-whitespace.sh
new file mode 100755
index 0000000..c6aa7a7
--- /dev/null
+++ b/t/tap-planskip-whitespace.sh
@@ -0,0 +1,48 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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/>.
+
+# TAP support:
+# - normalization of whitespace in console testsuite progress associated
+# with a SKIP directive in the TAP plan
+
+am_parallel_tests=yes
+. ./defs || Exit 1
+
+. "$am_testauxdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
+
+cat > foo.test <<END
+1..0${tab}${tab} #${tab}SKIP ${tab}Strip leading & trailing ${tab}${tab}
+END
+
+cat > bar.test <<END
+1..0 #SKIP Preserve ${tab} middle${tab}${tab}space
+END
+
+cat > baz.test <<END
+1..0 # SKIP${tab} Strip${tab}external preserve ${tab}middle ${tab}${sp}
+END
+
+$MAKE TESTS='foo.test bar.test baz.test' check > stdout \
+ || { cat stdout; Exit 1; }
+cat stdout
+
+count_test_results total=3 pass=0 fail=0 error=0 xpass=0 xfail=0 skip=3
+
+grep "SKIP: foo\\.test - Strip leading & trailing$" stdout
+grep "SKIP: bar\\.test - Preserve ${tab} middle${tab}${tab}space" stdout
+grep "SKIP: baz\\.test - Strip${tab}external preserve ${tab}middle" stdout
+
+:
diff --git a/t/tap-planskip.sh b/t/tap-planskip.sh
new file mode 100755
index 0000000..80d951c
--- /dev/null
+++ b/t/tap-planskip.sh
@@ -0,0 +1,78 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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/>.
+
+# Basic TAP test protocol support:
+# - special plan format to skip all the tests in a script
+
+am_parallel_tests=yes
+. ./defs || Exit 1
+
+. "$am_testauxdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
+
+weirdchars=\''"$!&()[]<>#;^?*/@%=,.:'
+
+cat > foo.test <<END
+1..0
+END
+
+cat > bar.test <<END
+blah
+# blah
+1..0$tab $tab
+END
+
+# It is undefined whether the comment after the plan below should
+# count as an explanation; still, the test should be skipped.
+cat > baz.test <<END
+1..0 # WWW::Mechanize not installed
+other
+ junk
+ lines
+END
+
+cat > wget.test <<END
+1..0 # SKIP wget(1) not installed
+# See also curl.test
+END
+
+cat > curl.test <<END
+1..0 # SKIP: Can't connect to gnu.org!
+# See also wget.test
+END
+
+cat > mu.test <<END
+1..0 # SKIP $weirdchars
+END
+
+$MAKE TESTS='foo.test bar.test baz.test wget.test curl.test mu.test' \
+ check >stdout || { cat stdout; Exit 1; }
+cat stdout
+
+count_test_results total=6 pass=0 fail=0 xpass=0 xfail=0 skip=6 error=0
+
+# Look for a regression where the "1..0" wasn't being stripped from the
+# SKIP message.
+$FGREP '1..0' stdout && Exit 1
+
+grep '^SKIP: foo\.test$' stdout
+grep '^SKIP: bar\.test$' stdout
+grep '^SKIP: baz\.test' stdout # Deliberately laxer, see above for why.
+grep '^SKIP: wget\.test .* wget(1) not installed$' stdout
+grep '^SKIP: curl\.test .* Can'\''t connect to gnu\.org!$' stdout
+grep '^SKIP: mu\.test' stdout | $FGREP "$weirdchars" stdout
+test `grep -c ': .*\.test' stdout` -eq 6
+
+:
diff --git a/t/tap-realtime.sh b/t/tap-realtime.sh
new file mode 100755
index 0000000..d664250
--- /dev/null
+++ b/t/tap-realtime.sh
@@ -0,0 +1,109 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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/>.
+
+# TAP support:
+# - testsuite progress on console should happen mostly "in real time";
+# i.e., it's not acceptable for the driver to wait the end of the
+# script to start displaying results from it.
+# FIXME: this test uses expect(1) to ensure line buffering from make and
+# children, and is pretty hacky and complex; is there a better way to
+# accomplish the checks done here?
+
+am_parallel_tests=yes
+. ./defs || Exit 1
+
+cat >expect-check <<'END'
+eval spawn $env(SHELL) -c ":"
+expect eof
+END
+expect -f expect-check || {
+ echo "$me: failed to find a working expect program" >&2
+ Exit 77
+}
+rm -f expect-check
+
+cat > Makefile.am << 'END'
+TESTS = all.test
+END
+. "$am_testauxdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
+
+cat > all.test <<'END'
+#! /bin/sh
+echo 1..3
+
+# Creative quoting to placate maintainer-check.
+sleep="sleep "3
+
+# The awk+shell implementation of the TAP driver must "read ahead" of one
+# line in order to catch the exit status of the test script it runs. So
+# be sure to echo one "dummy" line after each result line in order not to
+# cause false positives.
+
+echo ok 1 - foo
+echo DUMMY
+$sleep
+test -f ok-1 || { echo 'Bail out!'; exit 1; }
+
+echo ok 2 - bar
+echo DUMMY
+$sleep
+test -f ok-2 || { echo 'Bail out!'; exit 1; }
+
+echo ok 3 - baz
+echo DUMMY
+$sleep
+test -f ok-3 || { echo 'Bail out!'; exit 1; }
+
+: > all-is-well
+END
+
+chmod a+x all.test
+
+cat > expect-make <<'END'
+eval spawn $env(MAKE) check
+expect {
+ "PASS: all.test 1 - foo" {
+ open "ok-1" "w"
+ exp_continue
+ }
+ "PASS: all.test 2 - bar" {
+ open "ok-2" "w"
+ exp_continue
+ }
+ "PASS: all.test 3 - baz" {
+ open "ok-3" "w"
+ exp_continue
+ }
+ "Testsuite summary" {
+ exit 0
+ }
+ timeout {
+ puts "expect timed out"
+ exit 1
+ }
+ default {
+ puts "expect error"
+ exit 1
+ }
+}
+END
+
+# Expect should simulate a tty as stdout, which should ensure a
+# line-buffered output.
+MAKE=$MAKE expect -f expect-make
+test -f all-is-well
+
+:
diff --git a/t/tap-recheck-logs.sh b/t/tap-recheck-logs.sh
new file mode 100755
index 0000000..36a59ca
--- /dev/null
+++ b/t/tap-recheck-logs.sh
@@ -0,0 +1,119 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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/>.
+
+# TAP support:
+# - RECHECK_LOGS
+
+am_parallel_tests=yes
+. ./defs || Exit 1
+
+cat > Makefile.am << 'END'
+TEST_LOG_COMPILER = cat
+TESTS = foo.test bar.test baz.test
+baz.log: zardoz
+END
+
+. "$am_testauxdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
+
+: > zardoz
+
+cat > foo.test <<'END'
+1..2
+ok 1
+ok 2
+END
+
+cat > bar.test <<'END'
+1..1
+not ok 1
+END
+
+cat > baz.test <<'END'
+1..1
+Bail out!
+END
+
+# Even the tests that are not re-run should contribute to the testsuite
+# summary when obtained by "make check RECHECK_LOGS=".
+grep_summary ()
+{
+ grep '^# TOTAL: *4$' stdout
+ grep '^# PASS: *2$' stdout
+ grep '^# XPASS: *0$' stdout
+ grep '^# FAIL: *1$' stdout
+ grep '^# XFAIL: *0$' stdout
+ grep '^# SKIP: *0$' stdout
+ grep '^# ERROR: *1$' stdout
+}
+
+$MAKE check && Exit 1
+test -f foo.log
+test -f bar.log
+test -f baz.log
+
+rm -f foo.log bar.log
+
+$MAKE RECHECK_LOGS= check > stdout && { cat stdout; Exit 1; }
+cat stdout
+test -f foo.log
+test -f bar.log
+grep '^PASS: foo\.test 1$' stdout
+grep '^PASS: foo\.test 2$' stdout
+grep '^FAIL: bar\.test 1$' stdout
+grep 'baz\.test' stdout && Exit 1
+grep_summary
+
+$sleep
+touch foo.test
+# We re-run only a successful test, but the tests that failed in the
+# previous run should still be taken into account, and cause an overall
+# failure.
+$MAKE RECHECK_LOGS= check > stdout && { cat stdout; Exit 1; }
+cat stdout
+grep '^PASS: foo\.test 1$' stdout
+grep '^PASS: foo\.test 2$' stdout
+grep 'ba[rz]\.test' stdout && Exit 1
+is_newest foo.log foo.test
+grep_summary
+
+$sleep
+touch zardoz
+$MAKE RECHECK_LOGS= check > stdout && { cat stdout; Exit 1; }
+cat stdout
+grep '^ERROR: baz\.test' stdout
+$EGREP '(foo|bar)\.test' stdout && Exit 1
+is_newest baz.log zardoz
+grep_summary
+
+# Now, explicitly retry with all test logs already updated, and ensure
+# that the summary is still displayed.
+$MAKE RECHECK_LOGS= check > stdout && { cat stdout; Exit 1; }
+cat stdout
+$EGREP '(foo|bar|baz)\.test' stdout && Exit 1
+grep_summary
+
+# The following should re-run foo.test (and only foo.test), even if its
+# log file is up-to-date.
+: > older
+$MAKE RECHECK_LOGS=foo.log check > stdout && { cat stdout; Exit 1; }
+cat stdout
+grep '^PASS: foo\.test 1$' stdout
+grep '^PASS: foo\.test 2$' stdout
+grep 'ba[rz]\.test' stdout && Exit 1
+is_newest foo.log older
+grep_summary
+
+:
diff --git a/tests/tap-recheck.test b/t/tap-recheck.sh
similarity index 100%
rename from tests/tap-recheck.test
rename to t/tap-recheck.sh
diff --git a/t/tap-result-comment.sh b/t/tap-result-comment.sh
new file mode 100755
index 0000000..7162df0
--- /dev/null
+++ b/t/tap-result-comment.sh
@@ -0,0 +1,54 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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/>.
+
+# TAP support:
+# - non-directive comments in TAP results are kept verbatim
+
+am_parallel_tests=yes
+. ./defs || Exit 1
+
+. "$am_testauxdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
+
+cat > all.test <<END
+1..5
+ok 1 # TDO
+not ok 2 # SKP
+ok #SIKP${tab}${sp}
+not ok # TOD${tab}
+ok 5 # ${tab}${tab}TOOD${tab}${sp}${sp}
+END
+
+$MAKE check >stdout && { cat stdout; Exit 1; }
+cat stdout
+
+count_test_results total=5 pass=3 fail=2 xpass=0 xfail=0 skip=0 error=0
+
+# Don't be too strict about trailing white space.
+$FGREP ': all.test' stdout | sed "s/[$sp$tab]*$//" > got
+
+cat > exp <<END
+PASS: all.test 1 # TDO
+FAIL: all.test 2 # SKP
+PASS: all.test 3 #SIKP
+FAIL: all.test 4 # TOD
+PASS: all.test 5 # ${tab}${tab}TOOD
+END
+
+cat exp
+cat got
+diff exp got
+
+:
diff --git a/tests/tap-signal.tap b/t/tap-signal.tap
similarity index 100%
rename from tests/tap-signal.tap
rename to t/tap-signal.tap
diff --git a/t/tap-summary-color.sh b/t/tap-summary-color.sh
new file mode 100755
index 0000000..a28512b
--- /dev/null
+++ b/t/tap-summary-color.sh
@@ -0,0 +1,23 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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/>.
+
+# TAP support:
+# - colorized testsuite summary
+
+. ./defs-static
+
+use_colors=yes
+. "$am_testauxdir"/tap-summary-aux.sh
diff --git a/t/tap-summary.sh b/t/tap-summary.sh
new file mode 100755
index 0000000..deee099
--- /dev/null
+++ b/t/tap-summary.sh
@@ -0,0 +1,23 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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/>.
+
+# TAP support:
+# - colorized testsuite summary
+
+. ./defs-static
+
+use_colors=no
+. "$am_testauxdir"/tap-summary-aux.sh
diff --git a/t/tap-test-number-0.sh b/t/tap-test-number-0.sh
new file mode 100755
index 0000000..7df554c
--- /dev/null
+++ b/t/tap-test-number-0.sh
@@ -0,0 +1,86 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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/>.
+
+# TAP support:
+# - a test result numbered as 0 is to be considered out-of-order
+# This is consistent with the behaviour of the 'prove' utility.
+
+am_parallel_tests=yes
+. ./defs || Exit 1
+
+if test $am_tap_implementation = perl; then
+ $PERL -MTAP::Parser -e 1 \
+ || skip_ "cannot import TAP::Parser perl module"
+ if $PERL -w -e '
+ use warnings FATAL => "all"; use strict;
+ use TAP::Parser;
+ my $parser = TAP::Parser->new({tap => "1..1\n" . "ok 0\n"});
+ my $result = $parser->next;
+ $result->is_plan or die "first line is not TAP plan";
+ $result = $parser->next;
+ $result->is_test or die "second line is not TAP test result";
+ my $testno = $result->number;
+ $parser->next and die "unexpected further TAP stream";
+ exit ($testno == 0 ? 0 : 77);
+ '; then
+ : # Nothing to do.
+ elif test $? -eq 77; then
+ skip_ 'TAP::Parser bug: test number 0 gets relabelled as 1'
+ else
+ fatal_ "error analyzing TAP::Parser module for bugs"
+ fi
+fi
+
+. "$am_testauxdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
+
+cat > a.test <<END
+1..1
+ok 0
+END
+
+cat > b.test <<END
+1..1
+not ok 0
+END
+
+cat > c.test <<END
+1..1
+ok 0 foo # SKIP
+END
+
+cat > d.test <<END
+1..1
+not ok 0 bar # TODO
+END
+
+cat > e.test <<END
+1..1
+ok 0 # TODO
+END
+
+$MAKE TESTS='a.test b.test c.test d.test e.test' check >stdout \
+ && { cat stdout; Exit 1; }
+cat stdout
+
+count_test_results total=5 pass=0 fail=0 xpass=0 xfail=0 skip=0 error=5
+
+grep '^ERROR: a\.test 0 # OUT-OF-ORDER (expecting 1)$' stdout
+grep '^ERROR: b\.test 0 # OUT-OF-ORDER (expecting 1)$' stdout
+grep '^ERROR: c\.test 0 foo # OUT-OF-ORDER (expecting 1)$' stdout
+grep '^ERROR: d\.test 0 bar # OUT-OF-ORDER (expecting 1)$' stdout
+grep '^ERROR: e\.test 0 # OUT-OF-ORDER (expecting 1)$' stdout
+
+:
diff --git a/t/tap-todo-skip-together.sh b/t/tap-todo-skip-together.sh
new file mode 100755
index 0000000..e911532
--- /dev/null
+++ b/t/tap-todo-skip-together.sh
@@ -0,0 +1,40 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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/>.
+
+# TAP support:
+# - TODO and SKIP directives on the same line: the first one wins
+# See also related test 'tap-ambiguous-directive.test'.
+
+am_parallel_tests=yes
+. ./defs || Exit 1
+
+. "$am_testauxdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
+
+cat > all.test <<END
+1..2
+ok 1 # SKIP TODO
+not ok 2 # TODO SKIP
+END
+
+$MAKE check >stdout || { cat stdout; Exit 1; }
+cat stdout
+
+count_test_results total=2 pass=0 fail=0 xpass=0 xfail=1 skip=1 error=0
+
+grep '^SKIP: all\.test 1 ' stdout
+grep '^XFAIL: all\.test 2 ' stdout
+
+:
diff --git a/t/tap-todo-skip-whitespace.sh b/t/tap-todo-skip-whitespace.sh
new file mode 100755
index 0000000..9d7afb9
--- /dev/null
+++ b/t/tap-todo-skip-whitespace.sh
@@ -0,0 +1,100 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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/>.
+
+# TAP support:
+# - normalization of whitespace in console testsuite progress associated
+# with TODO and SKIP directives
+
+am_parallel_tests=yes
+. ./defs || Exit 1
+
+. "$am_testauxdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
+
+cat > stub.tap <<END
+1 # TODO
+2 # TODO foo?
+3 # TODO: bar!
+4 aa # TODO
+5 bb # TODO fnord 5
+6 cc # TODO:${tab}fnord 6
+7 - x # TODO
+8 - y # TODO fnord $tab 8
+9 - z # TODO: fnord 9 $tab
+10# TODO x0
+11$tab# TODO x1
+12 $tab$tab # TODO x2
+13 asd# TODO x3
+14 sad$tab# TODO x4
+15 das$tab$tab # TODO x5
+END
+
+cat > stub.exp <<END
+1 # TODO
+2 # TODO foo?
+3 # TODO: bar!
+4 aa # TODO
+5 bb # TODO fnord 5
+6 cc # TODO:${tab}fnord 6
+7 - x # TODO
+8 - y # TODO fnord $tab 8
+9 - z # TODO: fnord 9
+10 # TODO x0
+11 # TODO x1
+12 # TODO x2
+13 asd # TODO x3
+14 sad # TODO x4
+15 das # TODO x5
+END
+
+plan=1..15
+
+my_make_check ()
+{
+ xpass=0 xfail=0 skip=0
+ case $1 in
+ xpass|xfail|skip) eval $1=15;;
+ *) fatal_ "bad argument '$1' for my_make_check";;
+ esac
+ cat all.test
+ $MAKE check >stdout || : # Don't care about the exit status in this test.
+ cat stdout
+ count_test_results total=15 pass=0 fail=0 error=0 \
+ xpass=$xpass xfail=$xfail skip=$skip
+ # Don't be too strict w.r.t. possible normalization of "TODO: foo" into
+ # "TODO : foo" (as is done by, e.g., the 'TAP::Parser' perl module).
+ LC_ALL=C grep '^[A-Z][A-Z]*:' stdout \
+ | sed -e 's/# TODO *:/# TODO:/' -e 's/# SKIP *:/# SKIP:/' > got
+ cat exp
+ cat got
+ diff exp got
+}
+
+# For "TODO" directives leading to XPASS results.
+(echo $plan && sed -e 's/^/ok /' stub.tap) > all.test
+sed -e 's/^/XPASS: all.test /' stub.exp > exp
+my_make_check xpass
+
+# For "TODO" directives leading to XFAIL results.
+(echo $plan && sed -e 's/^/not ok /' stub.tap) > all.test
+sed -e 's/^/XFAIL: all.test /' stub.exp > exp
+my_make_check xfail
+
+# For "SKIP" directives.
+(echo $plan && sed -e 's/^/ok /' -e 's/TODO/SKIP/' stub.tap) > all.test
+sed -e 's/TODO/SKIP/' -e 's/^/SKIP: all.test /' stub.exp > exp
+my_make_check skip
+
+:
diff --git a/t/tap-todo-skip.sh b/t/tap-todo-skip.sh
new file mode 100755
index 0000000..e261d57
--- /dev/null
+++ b/t/tap-todo-skip.sh
@@ -0,0 +1,91 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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/>.
+
+# TAP support:
+# - TODO and SKIP directives are case-insensitive
+# - TODO and SKIP directives can be followed optionally by a colon ":"
+# and by an optional explanation.
+# - our driver isn't fooled into recognizing TODO and SKIP directives
+# spuriously
+# - the reasons for TODO and SKIP, if present, are nicely printed in
+# the testsuite progress output
+
+am_parallel_tests=yes
+. ./defs || Exit 1
+
+. "$am_testauxdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
+
+# ----------------------------------------------------- #
+# Check all possible combinations of: #
+# - uppercase/lowercase #
+# - with/without colon character ":" #
+# - with/without explanatory message #
+# in TODO and SKIP directives. #
+# ----------------------------------------------------- #
+
+# There are 2 * 2^6 + 2 * 2^6 = 256 tests.
+echo 1..256 > all.test
+
+# These nested loops are clearer without indentation.
+
+for c1 in t T; do
+for c2 in o O; do
+for c3 in d D; do
+for c4 in o O; do
+for ex in '' ':' ' foo' ': foo'; do
+ echo "not ok # $c1$c2$c3$c4$ex"
+ echo "not ok# $c1$c2$c3$c4$ex"
+done; done; done; done; done >> all.test
+
+for c1 in s S; do
+for c2 in k K; do
+for c3 in i I; do
+for c4 in p P; do
+for ex in '' ':' ' foo' ': foo'; do
+ echo "ok # $c1$c2$c3$c4$ex"
+ echo "ok# $c1$c2$c3$c4$ex"
+done; done; done; done; done >> all.test
+
+cat all.test # For debugging.
+
+$MAKE check >stdout || { cat stdout; Exit 1; }
+cat stdout
+
+count_test_results total=256 pass=0 fail=0 xpass=0 xfail=128 skip=128 error=0
+
+# -------------------------------------------------------- #
+# TODO ans SKIP directives aren't recognized spuriously. #
+# -------------------------------------------------------- #
+
+cat > all.test <<'END'
+1..9
+ok TODO
+ok - TODO
+ok 3 TODO
+ok 4 - TODO
+ok SKIP
+ok - SKIP
+ok 7 SKIP
+ok 8 - SKIP
+ok 9
+END
+
+$MAKE check >stdout || { cat stdout; Exit 1; }
+cat stdout
+
+count_test_results total=9 pass=9 fail=0 xpass=0 xfail=0 skip=0 error=0
+
+:
diff --git a/t/tap-unplanned.sh b/t/tap-unplanned.sh
new file mode 100755
index 0000000..38c51fc
--- /dev/null
+++ b/t/tap-unplanned.sh
@@ -0,0 +1,159 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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/>.
+
+# TAP support:
+# - unplanned tests are properly reported as errors
+
+am_parallel_tests=yes
+. ./defs || Exit 1
+
+. "$am_testauxdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
+
+cat > all.test <<END
+1..1
+ok 1
+ok 2
+END
+$MAKE check >stdout && { cat stdout; Exit 1; }
+cat stdout
+count_test_results total=3 pass=1 fail=0 xpass=0 xfail=0 skip=0 error=2
+grep '^ERROR: all\.test - too many tests run (expected 1, got 2)$' stdout
+grep '^ERROR: all\.test 2 # UNPLANNED$' stdout
+
+cat > all.test <<END
+1..2
+ok 1
+ok 2
+ok 3
+END
+$MAKE check >stdout && { cat stdout; Exit 1; }
+cat stdout
+count_test_results total=4 pass=2 fail=0 xpass=0 xfail=0 skip=0 error=2
+grep '^ERROR: all\.test - too many tests run (expected 2, got 3)$' stdout
+grep '^ERROR: all\.test 3 # UNPLANNED$' stdout
+
+# Interaction with XFAIL_TESTS.
+cat > all.test <<END
+1..2
+not ok 1
+ok 2 # SKIP
+ok 3
+not ok 4
+ok 5 # SKIP
+END
+$MAKE XFAIL_TESTS=all.test check >stdout && { cat stdout; Exit 1; }
+cat stdout
+count_test_results total=6 pass=0 fail=0 xpass=0 xfail=1 skip=1 error=4
+grep '^ERROR: all\.test - too many tests run (expected 2, got 5)$' stdout
+grep '^ERROR: all\.test 3 # UNPLANNED$' stdout
+grep '^ERROR: all\.test 4 # UNPLANNED$' stdout
+grep '^ERROR: all\.test 5 # UNPLANNED$' stdout
+
+cat > all.test <<END
+1..1
+ok 1
+
+ok
+ok 3
+ok foo
+ok 5 - bar bar
+
+not ok
+not ok 7
+not ok foo
+not ok 9 - bar bar
+
+ok # TODO
+ok 11 # TODO
+ok foo # TODO
+ok 13 - bar bar # TODO
+
+not ok # TODO
+not ok 15 # TODO
+not ok foo # TODO
+not ok 17 - bar bar # TODO
+
+ok # SKIP
+ok 19 # SKIP
+ok foo # SKIP
+ok 21 - bar bar # SKIP
+END
+
+cat > t <<END
+
+2
+3
+4 foo
+5 - bar bar
+
+6
+7
+8 foo
+9 - bar bar
+
+10
+11
+12 foo
+13 - bar bar
+
+14
+15
+16 foo
+17 - bar bar
+
+18
+19
+20 foo
+21 - bar bar
+
+END
+
+$MAKE check >stdout && { cat stdout; Exit 1; }
+cat stdout
+count_test_results total=22 pass=1 fail=0 xpass=0 xfail=0 skip=0 error=21
+
+echo 'PASS: all.test 1' > exp
+sed -e '/^$/d' -e 's/.*/ERROR: all.test & # UNPLANNED/' t >> exp
+echo 'ERROR: all.test - too many tests run (expected 1, got 21)' >> exp
+
+$FGREP ': all.test' stdout > got
+
+cat exp
+cat got
+diff exp got
+
+# Note that, if the TAP input has a trailing plan, it is not possible
+# to flag unplanned tests as such, since we do not know they're unplanned
+# until the plan is reached; still, we should give at least an error
+# message about the unmatched number of tests once we've got the plan.
+
+for x in 'ok' 'ok 3' 'not ok' 'not ok # TODO' 'ok # TODO' 'ok # SKIP'; do
+ unindent > all.test <<END
+ ok 1
+ ok 2 # SKIP
+ $x
+ 1..2
+END
+ $MAKE check >stdout && { cat stdout; Exit 1; }
+ cat stdout
+ test `$FGREP -c ': all.test' stdout` -eq 4
+ $EGREP '^PASS: all\.test 1($| )' stdout
+ $EGREP '^SKIP: all\.test 2($| )' stdout
+ $EGREP ': all\.test 3($| )' stdout
+ grep '^ERROR: all\.test - too many tests run (expected 2, got 3)$' stdout
+done
+
+:
diff --git a/t/tap-whitespace-normalization.sh
b/t/tap-whitespace-normalization.sh
new file mode 100755
index 0000000..2274674
--- /dev/null
+++ b/t/tap-whitespace-normalization.sh
@@ -0,0 +1,165 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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/>.
+
+# TAP support: whitespace normalization (or lack thereof) in the testsuite
+# progress output on console. We keep all these checks here in a single
+# script so that a potential cosmetic change in the output format won't
+# force us to tweak dozens of other tests (hopefully).
+# See also related test 'tap-todo-skip-whitespace.test'.
+
+am_parallel_tests=yes
+. ./defs || Exit 1
+
+cat > Makefile.am << 'END'
+TEST_LOG_COMPILER = cat
+TESTS =
+END
+
+: > exp
+
+spaces_a=${sp}${tab}${tab}${sp}${sp}${tab}
+spaces_b=${tab}${tab}${sp}${tab}${sp}${sp}${sp}
+
+#-----------------------------------------------------------------------
+
+echo TESTS += numbers.test >> Makefile.am
+
+cat > numbers.test <<END
+1..6
+ok${spaces_a}1
+ok 2${spaces_b}
+ok${spaces_a}3${spaces_b}
+not ok${spaces_b}4
+not ok 5${spaces_a}
+not ok${spaces_b}6${spaces_a}
+END
+
+cat >> exp <<END
+PASS: numbers.test 1
+PASS: numbers.test 2
+PASS: numbers.test 3
+FAIL: numbers.test 4
+FAIL: numbers.test 5
+FAIL: numbers.test 6
+END
+
+#-----------------------------------------------------------------------
+
+echo TESTS += description.test >> Makefile.am
+
+cat > description.test <<END
+1..8
+ok${spaces_a}+foo
+ok +bar${spaces_b}
+ok${spaces_a}+baz${spaces_b}
+not ok${spaces_b}-foo
+not ok -bar${spaces_a}
+not ok${spaces_b}-baz${spaces_a}
+ok u${spaces_b}v${spaces_a}w${sp}
+not ok${spaces_a}x${spaces_a}y${tab}z${tab}
+END
+
+cat >> exp <<END
+PASS: description.test 1 +foo
+PASS: description.test 2 +bar
+PASS: description.test 3 +baz
+FAIL: description.test 4 -foo
+FAIL: description.test 5 -bar
+FAIL: description.test 6 -baz
+PASS: description.test 7 u${spaces_b}v${spaces_a}w
+FAIL: description.test 8 x${spaces_a}y${tab}z
+END
+
+#-----------------------------------------------------------------------
+
+# "Bail out!" magic.
+
+echo TESTS += bailout.test >> Makefile.am
+
+cat > bailout.test <<END
+1..1
+Bail out!${tab}${sp}${sp}${tab}We're out of disk space.
+ok 1
+END
+
+cat >> exp <<END
+ERROR: bailout.test - Bail out! We're out of disk space.
+END
+
+echo TESTS += bailout2.test >> Makefile.am
+
+cat > bailout2.test <<END
+1..1
+Bail out!foo${tab}${sp}
+ok 1
+END
+
+cat >> exp <<END
+ERROR: bailout2.test - Bail out! foo
+END
+
+#-----------------------------------------------------------------------
+
+# Diagnostic lines.
+
+echo AM_TEST_LOG_DRIVER_FLAGS = --comments >> Makefile.am
+echo TESTS += cmnt.test >> Makefile.am
+
+cat > cmnt.test <<END
+1..1
+ok 1
+#Leading whitespace gets added
+# ${tab}${tab} ${tab}Extra leading whitespace is stripped
+# Trailing whitespace is stripped ${tab} ${tab}${tab}
+# Middle${tab}whitespace is${tab} ${tab}${tab} kept
+# ${tab} And only${tab}middle ${tab}whitespace ${tab}${tab} ${tab}
+END
+
+cat >> exp <<END
+PASS: cmnt.test 1
+# cmnt.test: Leading whitespace gets added
+# cmnt.test: Extra leading whitespace is stripped
+# cmnt.test: Trailing whitespace is stripped
+# cmnt.test: Middle${tab}whitespace is${tab} ${tab}${tab} kept
+# cmnt.test: And only${tab}middle ${tab}whitespace
+END
+
+#-----------------------------------------------------------------------
+
+# TODO: we should have more checks here ... (but let's not over-do FTM).
+
+#-----------------------------------------------------------------------
+
+chmod a+x *.test
+
+. "$am_testauxdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
+
+# Don't care about exit status or number of test results, they should be
+# checked for in many other tests.
+$MAKE check >stdout || :
+cat stdout
+
+LC_ALL=C sort exp > t
+mv -f t exp
+
+# We need the sort below to account for parallel make usage.
+LC_ALL=C grep '[a-z0-9][a-z0-9]*\.test' stdout | LC_ALL=C sort > got
+
+cat exp
+cat got
+diff exp got
+
+:
diff --git a/t/tap-with-and-without-number.sh b/t/tap-with-and-without-number.sh
new file mode 100755
index 0000000..fc795f6
--- /dev/null
+++ b/t/tap-with-and-without-number.sh
@@ -0,0 +1,50 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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/>.
+
+# TAP support:
+# - numbered and unnumbered test results can coexist
+# - tests without explicit number get automatically numbered in the
+# testsuite progress output on console
+
+am_parallel_tests=yes
+. ./defs || Exit 1
+
+. "$am_testauxdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
+
+cat > all.test <<'END'
+1..7
+ok 1 foo
+ok 2 - foo2
+ok - bar
+not ok baz # TODO
+not ok 5 - asd # TODO
+ok 6 # SKIP
+ok zardoz
+END
+
+$MAKE check >stdout || { cat stdout; Exit 1; }
+cat stdout
+count_test_results total=7 pass=4 fail=0 xpass=0 xfail=2 skip=1 error=0
+
+grep '^PASS: all\.test 1 foo$' stdout
+grep '^PASS: all\.test 2 - foo2$' stdout
+grep '^PASS: all\.test 3 - bar$' stdout
+grep '^XFAIL: all\.test 4 baz # TODO$' stdout
+grep '^XFAIL: all\.test 5 - asd # TODO$' stdout
+grep '^SKIP: all\.test 6 # SKIP$' stdout
+grep '^PASS: all\.test 7 zardoz$' stdout
+
+:
diff --git a/t/tap-xfail-tests.sh b/t/tap-xfail-tests.sh
new file mode 100755
index 0000000..6107792
--- /dev/null
+++ b/t/tap-xfail-tests.sh
@@ -0,0 +1,68 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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/>.
+
+# TAP and $(XFAIL_TESTS): test results without directives are turned from
+# PASS to XPASS and from FAIL to XFAIL; other results are unchanged.
+
+am_parallel_tests=yes
+. ./defs || Exit 1
+
+. "$am_testauxdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
+
+echo 'XFAIL_TESTS = $(TESTS)' >> Makefile
+
+cat > all.test <<END
+1..6
+ok 1
+not ok 2
+ok 3 # TODO
+not ok 4 # TODO
+ok 5 # SKIP
+# The next should count as a failure (and thus will be
+# rendered into an expected failure by XFAIL_TESTS).
+not ok 6 # SKIP
+Bail out!
+END
+
+$MAKE check >stdout && { cat stdout; Exit 1; }
+cat stdout
+
+count_test_results total=7 pass=0 fail=0 xpass=2 xfail=3 skip=1 error=1
+
+grep '^XPASS: all\.test 1$' stdout
+grep '^XFAIL: all\.test 2$' stdout
+grep '^XPASS: all\.test 3 # TODO' stdout
+grep '^XFAIL: all\.test 4 # TODO' stdout
+grep '^SKIP: all\.test 5 # SKIP' stdout
+grep '^XFAIL: all\.test 6 # SKIP' stdout
+grep '^ERROR: all\.test - Bail out!' stdout
+
+# Check that the exit status of the testsuite is indeed 0 when we
+# would expect success.
+
+cat > all.test <<END
+1..3
+not ok 1
+ok 2 # SKIP
+not ok 3 # TODO
+END
+
+$MAKE check >stdout || { cat stdout; Exit 1; }
+cat stdout
+
+count_test_results total=3 pass=0 fail=0 xpass=0 xfail=2 skip=1 error=0
+
+:
diff --git a/tests/tar-override.test b/t/tar-override.sh
similarity index 100%
rename from tests/tar-override.test
rename to t/tar-override.sh
diff --git a/tests/tar.test b/t/tar.sh
similarity index 100%
rename from tests/tar.test
rename to t/tar.sh
diff --git a/tests/tar2.test b/t/tar2.sh
similarity index 100%
rename from tests/tar2.test
rename to t/tar2.sh
diff --git a/tests/tar3.test b/t/tar3.sh
similarity index 100%
rename from tests/tar3.test
rename to t/tar3.sh
diff --git a/tests/target-cflags.test b/t/target-cflags.sh
similarity index 100%
rename from tests/target-cflags.test
rename to t/target-cflags.sh
diff --git a/tests/targetclash.test b/t/targetclash.sh
similarity index 100%
rename from tests/targetclash.test
rename to t/targetclash.sh
diff --git a/t/test-driver-acsubst.sh b/t/test-driver-acsubst.sh
new file mode 100755
index 0000000..7df66ae
--- /dev/null
+++ b/t/test-driver-acsubst.sh
@@ -0,0 +1,88 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# parallel-tests:
+# - LOG_DRIVER variables can be AC_SUBST'd
+
+am_parallel_tests=yes
+. ./defs || Exit 1
+
+mkdir test-drivers
+
+cp "$am_testauxdir"/trivial-test-driver test-drivers/triv \
+ || fatal_ "failed to fetch auxiliary script trivial-test-driver"
+cp "$am_scriptdir"/test-driver test-drivers/dflt \
+ || fatal_ "failed to fetch auxiliary script test-driver"
+
+cat >> configure.ac <<'END'
+AC_SUBST([LOG_DRIVER], ['${SHELL} test-drivers/triv'])
+AC_SUBST([TEST_LOG_DRIVER], ['${SHELL} test-drivers/dflt'])
+AC_SUBST([SH_LOG_DRIVER], ['${my_drv}'])
+AC_OUTPUT
+END
+
+cat > Makefile.am <<'END'
+TEST_EXTENSIONS = .test .sh
+my_drv = $(SHELL) test-drivers/dflt
+TESTS = foo bar.test baz.sh
+XFAIL_TESTS = baz.sh
+.PHONY: check-autodefs
+check-autodefs:
+### For debugging.
+ @echo LOG_DRIVER = $(LOG_DRIVER)
+ @echo TEST_LOG_DRIVER = $(TEST_LOG_DRIVER)
+ @echo SH_LOG_DRIVER = $(SH_LOG_DRIVER)
+### Checks here.
+ @echo ' ' $(LOG_DRIVER) ' ' | grep ' test-drivers/triv '
+ @echo ' ' $(TEST_LOG_DRIVER) ' ' | grep ' test-drivers/dflt '
+ @echo ' ' $(SH_LOG_DRIVER) ' ' | grep ' test-drivers/dflt '
+END
+
+$ACLOCAL
+$AUTOMAKE
+$AUTOCONF
+
+./configure
+
+cat > foo <<'END'
+#!/bin/sh
+echo "PASS: from $0"
+exit 1 # Exit status should be ignored by the trivial-test-driver.
+END
+
+cat > bar.test <<'END'
+#!/bin/sh
+exit 77
+END
+
+cat > baz.sh <<'END'
+#!/bin/sh
+exit 1
+END
+
+chmod a+x foo bar.test baz.sh
+
+$MAKE check-autodefs
+st=0; $MAKE check >stdout || st=$?
+cat stdout
+cat test-suite.log
+cat foo.log
+cat bar.log
+cat baz.log
+test $st -eq 0 || Exit 1
+count_test_results total=3 pass=1 fail=0 skip=1 xfail=1 xpass=0 error=0
+
+:
diff --git a/t/test-driver-cond.sh b/t/test-driver-cond.sh
new file mode 100755
index 0000000..ac0b3f1
--- /dev/null
+++ b/t/test-driver-cond.sh
@@ -0,0 +1,119 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# parallel-tests:
+# - Automake can correctly handle conditionals contents for the
+# LOG_DRIVER variables.
+
+am_parallel_tests=yes
+. ./defs || Exit 1
+
+cp "$am_testauxdir"/trivial-test-driver . \
+ || fatal_ "failed to fetch auxiliary script trivial-test-driver"
+cp "$am_scriptdir"/tap-driver.pl . \
+ || fatal_ "failed to fetch auxiliary script tap-driver.pl"
+
+cat >> configure.ac << END
+AM_CONDITIONAL([COND1], [:])
+AM_CONDITIONAL([COND2], [false])
+AM_CONDITIONAL([COND3], [false])
+AC_SUBST([PERL], ['$PERL'])
+AC_SUBST([my_LOG_DRIVER], ['\${SHELL} \${top_srcdir}/trivial-test-driver'])
+AM_SUBST_NOTMAKE([my_LOG_DRIVER])
+AC_OUTPUT
+END
+
+$ACLOCAL
+$AUTOCONF
+
+cat > Makefile.am << 'END'
+TESTS = foo bar.test baz.sh
+EXTRA_DIST = $(TESTS) tap-driver.pl trivial-test-driver
+TEST_EXTENSIONS = .test .sh
+LOG_DRIVER =
+SH_LOG_DRIVER = $(tap_rulez)
+if COND1
+LOG_DRIVER += @my_LOG_DRIVER@
+if COND2
+tap_rulez = false
+else !COND2
+tap_rulez = $(PERL) $(srcdir)/tap-driver.pl
+endif !COND2
+endif COND1
+END
+
+cat > foo <<'END'
+#!/bin/sh
+echo "PASS: from $0"
+echo "SKIP: from $0"
+exit 1 # Exit status should be ignored by the trivial-test-driver.
+END
+
+cat > bar.test <<'END'
+#!/bin/sh
+exit 0
+END
+
+cat > baz.sh <<'END'
+#!/bin/sh
+echo 1..3
+echo 'ok 1'
+echo 'not ok 2 # TODO'
+echo 'not ok 3 # TODO'
+END
+
+chmod a+x foo bar.test baz.sh
+
+$AUTOMAKE -a
+test -f test-driver
+
+grep DRIVER Makefile.in || Exit 99 # For debugging.
+
+grep '^my_LOG_DRIVER *=' Makefile.in \
+ && fatal_ 'unexpected $(my_LOG_DRIVER) in Makefile.in'
+
+grep '^TEST_LOG_DRIVER =.*\$(SHELL).*/test-driver' Makefile.in
+
+$PERL -MTAP::Parser -e 1 \
+ || skip_ "cannot import TAP::Parser perl module"
+
+./configure
+
+do_count ()
+{
+ count_test_results total=6 pass=3 fail=0 skip=1 xfail=2 xpass=0 error=0
+ grep '^PASS: foo, testcase 1 *$' stdout
+ grep '^SKIP: foo, testcase 2 *$' stdout
+ grep '^PASS: bar\.test *$' stdout
+ $EGREP 'PASS: baz\.sh 1( |$)' stdout
+ $EGREP 'XFAIL: baz\.sh 2( |$)' stdout
+ $EGREP 'XFAIL: baz\.sh 3( |$)' stdout
+}
+
+st=0; $MAKE check >stdout || st=$?
+cat stdout
+cat test-suite.log
+cat foo.log
+cat bar.log
+cat baz.log
+test $st -eq 0 || Exit 1
+do_count
+
+$MAKE distcheck >stdout || { cat stdout; Exit 1; }
+cat stdout
+do_count
+
+:
diff --git a/tests/test-driver-create-log-dir.test
b/t/test-driver-create-log-dir.sh
similarity index 100%
rename from tests/test-driver-create-log-dir.test
rename to t/test-driver-create-log-dir.sh
diff --git a/t/test-driver-custom-multitest-recheck.sh
b/t/test-driver-custom-multitest-recheck.sh
new file mode 100755
index 0000000..9b4f5df
--- /dev/null
+++ b/t/test-driver-custom-multitest-recheck.sh
@@ -0,0 +1,214 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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/>.
+
+# Custom test drivers: try the "recheck" functionality with test protocols
+# that allow multiple testcases in a single test script. This test not
+# only checks implementation details in Automake's custom test drivers
+# support, but also serves as a "usability test" for our APIs.
+# See also related tests 'test-driver-custom-multitest-recheck2.test'
+# and 'parallel-tests-recheck-override.test'.
+# Keep in sync with 'tap-recheck.test'.
+
+am_parallel_tests=yes
+. ./defs || Exit 1
+
+cp "$am_testauxdir"/trivial-test-driver . \
+ || fatal_ "failed to fetch auxiliary script trivial-test-driver"
+
+cat >> configure.ac << 'END'
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+TEST_LOG_DRIVER = $(SHELL) $(srcdir)/trivial-test-driver
+TESTS = a.test b.test c.test d.test
+END
+
+cat > a.test << 'END'
+#! /bin/sh
+echo PASS: aa
+echo PASS: AA
+: > a.run
+END
+
+cat > b.test << 'END'
+#! /bin/sh
+echo PASS:
+if test -f b.ok; then
+ echo PASS:
+else
+ echo ERROR:
+fi
+: > b.run
+END
+
+cat > c.test << 'END'
+#! /bin/sh
+if test -f c.pass; then
+ echo PASS: c0
+else
+ echo FAIL: c0
+fi
+if test -f c.xfail; then
+ echo XFAIL: c1
+else
+ echo XPASS: c1
+fi
+echo XFAIL: c2
+: > c.run
+END
+
+cat > d.test << 'END'
+#! /bin/sh
+echo SKIP: who cares ...
+(. ./d.extra) || echo FAIL: d.extra failed
+: > d.run
+END
+
+chmod a+x *.test
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+
+do_recheck ()
+{
+ case $* in
+ --fail) on_bad_rc='&&';;
+ --pass) on_bad_rc='||';;
+ *) fatal_ "invalid usage of function 'do_recheck'";;
+ esac
+ rm -f *.run
+ eval "\$MAKE recheck >stdout $on_bad_rc { cat stdout; ls -l; Exit 1; }; :"
+ cat stdout; ls -l
+}
+
+for vpath in : false; do
+ if $vpath; then
+ mkdir build
+ cd build
+ srcdir=..
+ else
+ srcdir=.
+ fi
+
+ $srcdir/configure
+
+ : A "make recheck" in a clean tree should run no tests.
+ do_recheck --pass
+ cat test-suite.log
+ test ! -r a.run
+ test ! -r a.log
+ test ! -r b.run
+ test ! -r b.log
+ test ! -r c.run
+ test ! -r c.log
+ test ! -r d.run
+ test ! -r d.log
+ count_test_results total=0 pass=0 fail=0 xpass=0 xfail=0 skip=0 error=0
+
+ : Run the tests for the first time.
+ $MAKE check >stdout && { cat stdout; Exit 1; }
+ cat stdout
+ ls -l
+ # All the test scripts should have run.
+ test -f a.run
+ test -f b.run
+ test -f c.run
+ test -f d.run
+ count_test_results total=9 pass=3 fail=2 xpass=1 xfail=1 skip=1 error=1
+
+ : Let us make b.test pass.
+ echo OK > b.ok
+ do_recheck --fail
+ # a.test has been successful the first time, so no need to re-run it.
+ # Similar considerations apply to similar checks, below.
+ test ! -r a.run
+ test -f b.run
+ test -f c.run
+ test -f d.run
+ count_test_results total=7 pass=2 fail=2 xpass=1 xfail=1 skip=1 error=0
+
+ : Let us make the first part of c.test pass.
+ echo OK > c.pass
+ do_recheck --fail
+ test ! -r a.run
+ test ! -r b.run
+ test -f c.run
+ test -f d.run
+ count_test_results total=5 pass=1 fail=1 xpass=1 xfail=1 skip=1 error=0
+
+ : Let us make also the second part of c.test pass.
+ echo KO > c.xfail
+ do_recheck --fail
+ test ! -r a.run
+ test ! -r b.run
+ test -f c.run
+ test -f d.run
+ count_test_results total=5 pass=1 fail=1 xpass=0 xfail=2 skip=1 error=0
+
+ : Nothing changed, so only d.test should be run.
+ for i in 1 2; do
+ do_recheck --fail
+ test ! -r a.run
+ test ! -r b.run
+ test ! -r c.run
+ test -f d.run
+ count_test_results total=2 pass=0 fail=1 xpass=0 xfail=0 skip=1 error=0
+ done
+
+ : Let us make d.test run more testcases, and experience _more_ failures.
+ unindent > d.extra <<'END'
+ echo SKIP: s
+ echo FAIL: f 1
+ echo PASS: p 1
+ echo FAIL: f 2
+ echo XPASS: xp
+ echo FAIL: f 3
+ echo FAIL: f 4
+ echo ERROR: e 1
+ echo PASS: p 2
+ echo ERROR: e 2
+END
+ do_recheck --fail
+ test ! -r a.run
+ test ! -r b.run
+ test ! -r c.run
+ test -f d.run
+ count_test_results total=11 pass=2 fail=4 xpass=1 xfail=0 skip=2 error=2
+
+ : Let us finally make d.test pass.
+ echo : > d.extra
+ do_recheck --pass
+ test ! -r a.run
+ test ! -r b.run
+ test ! -r c.run
+ test -f d.run
+ count_test_results total=1 pass=0 fail=0 xpass=0 xfail=0 skip=1 error=0
+
+ : All tests have been successful or skipped, nothing should be re-run.
+ do_recheck --pass
+ test ! -r a.run
+ test ! -r b.run
+ test ! -r c.run
+ test ! -r d.run
+ count_test_results total=0 pass=0 fail=0 xpass=0 xfail=0 skip=0 error=0
+
+ cd $srcdir
+
+done
+
+:
diff --git a/t/test-driver-custom-multitest-recheck2.sh
b/t/test-driver-custom-multitest-recheck2.sh
new file mode 100755
index 0000000..cf97135
--- /dev/null
+++ b/t/test-driver-custom-multitest-recheck2.sh
@@ -0,0 +1,182 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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/>.
+
+# Custom test drivers: try the "recheck" functionality with test protocols
+# that allow multiple testcases in a single test script. In particular,
+# check that this still works when we override $(TESTS) and $(TEST_LOGS)
+# at make runtime.
+# See also related tests 'test-driver-custom-multitest-recheck.test' and
+# 'parallel-tests-recheck-override.test'.
+
+am_parallel_tests=yes
+. ./defs || Exit 1
+
+cp "$am_testauxdir"/trivial-test-driver . \
+ || fatal_ "failed to fetch auxiliary script trivial-test-driver"
+
+cat >> configure.ac << 'END'
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+TEST_LOG_DRIVER = $(SHELL) $(srcdir)/trivial-test-driver
+TESTS = a.test b.test c.test
+END
+
+cat > a.test << 'END'
+#! /bin/sh
+echo PASS: 1
+echo PASS: 2
+: > a.run
+END
+
+cat > b.test << 'END'
+#! /bin/sh
+echo SKIP: b0
+if test -f b.ok; then
+ echo XFAIL: b1
+else
+ echo FAIL: b2
+fi
+: > b.run
+END
+
+cat > c.test << 'END'
+#! /bin/sh
+if test -f c.err; then
+ echo ERROR: xxx
+elif test -f c.ok; then
+ echo PASS: ok
+else
+ echo XPASS: xp
+fi
+: > c.run
+END
+
+chmod a+x *.test
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+
+for vpath in : false; do
+ if $vpath; then
+ mkdir build
+ cd build
+ srcdir=..
+ else
+ srcdir=.
+ fi
+
+ $srcdir/configure
+
+ : Run the tests for the first time.
+ $MAKE check >stdout && { cat stdout; Exit 1; }
+ cat stdout
+ # All the test scripts should have run.
+ test -f a.run
+ test -f b.run
+ test -f c.run
+ count_test_results total=5 pass=2 fail=1 xpass=1 xfail=0 skip=1 error=0
+
+ rm -f *.run
+
+ : An empty '$(TESTS)' or '$(TEST_LOGS)' means that no test should be run.
+ for var in TESTS TEST_LOGS; do
+ $MAKE "$var=" recheck >stdout || { cat stdout; Exit 1; }
+ cat stdout
+ count_test_results total=0 pass=0 fail=0 xpass=0 xfail=0 skip=0 error=0
+ test ! -r a.run
+ test ! -r b.run
+ test ! -r c.run
+ done
+ unset var
+
+ : a.test was successful the first time, no need to re-run it.
+ $MAKE TESTS=a.test recheck >stdout || { cat stdout; Exit 1; }
+ cat stdout
+ count_test_results total=0 pass=0 fail=0 xpass=0 xfail=0 skip=0 error=0
+ test ! -r a.run
+ test ! -r b.run
+ test ! -r c.run
+
+ : b.test failed, it should be re-run. And make it pass this time.
+ echo OK > b.ok
+ $MAKE TEST_LOGS=b.log recheck >stdout || { cat stdout; Exit 1; }
+ cat stdout
+ test ! -r a.run
+ test -f b.run
+ test ! -r c.run
+ count_test_results total=2 pass=0 fail=0 xpass=0 xfail=1 skip=1 error=0
+
+ rm -f *.run
+
+ : No need to re-run a.test or b.test anymore.
+ $MAKE TEST_LOGS=b.log recheck >stdout || { cat stdout; Exit 1; }
+ cat stdout
+ count_test_results total=0 pass=0 fail=0 xpass=0 xfail=0 skip=0 error=0
+ test ! -r a.run
+ test ! -r b.run
+ test ! -r c.run
+ $MAKE TESTS='a.test b.test' recheck >stdout || { cat stdout; Exit 1; }
+ cat stdout
+ count_test_results total=0 pass=0 fail=0 xpass=0 xfail=0 skip=0 error=0
+ test ! -r a.run
+ test ! -r b.run
+ test ! -r c.run
+
+ : No need to re-run a.test anymore, but c.test should be rerun,
+ : as it contained an XPASS. And this time, make it fail with
+ : an hard error.
+ # Use 'echo' here, since Solaris 10 /bin/sh would try to optimize
+ # a ':' away after the first iteration, even if it is redirected.
+ echo dummy > c.err
+ $MAKE TEST_LOGS='a.log c.log' recheck >stdout && { cat stdout; Exit 1; }
+ cat stdout
+ count_test_results total=1 pass=0 fail=0 xpass=0 xfail=0 skip=0 error=1
+ test ! -r a.run
+ test ! -r b.run
+ test -f c.run
+
+ rm -f *.run *.err
+
+ : c.test contained and hard error the last time, so it should be re-run.
+ : This time, make it pass
+ # Use 'echo', not ':'; see comments above for why.
+ echo dummy > c.ok
+ $MAKE TESTS='c.test a.test' recheck >stdout || { cat stdout; Exit 1; }
+ cat stdout
+ count_test_results total=1 pass=1 fail=0 xpass=0 xfail=0 skip=0 error=0
+ test ! -r a.run
+ test ! -r b.run
+ test -f c.run
+
+ rm -f *.run *.err *.ok
+
+ : Nothing should be rerun anymore, as all tests have been eventually
+ : successful.
+ $MAKE recheck >stdout || { cat stdout; Exit 1; }
+ cat stdout
+ count_test_results total=0 pass=0 fail=0 xpass=0 xfail=0 skip=0 error=0
+ test ! -r a.run
+ test ! -r b.run
+ test ! -r c.run
+
+ cd $srcdir
+
+done
+
+:
diff --git a/t/test-driver-custom-multitest.sh
b/t/test-driver-custom-multitest.sh
new file mode 100755
index 0000000..d5e2cf5
--- /dev/null
+++ b/t/test-driver-custom-multitest.sh
@@ -0,0 +1,172 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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/>.
+
+# Custom test drivers: check that we can easily support test protocols
+# that allow multiple testcases in a single test script. This test not
+# only checks implementation details in Automake's custom test drivers
+# support, but also serves as a "usability test" for our APIs.
+
+am_parallel_tests=yes
+. ./defs || Exit 1
+
+cp "$am_testauxdir"/trivial-test-driver . \
+ || fatal_ "failed to fetch auxiliary script trivial-test-driver"
+
+cat >> configure.ac << 'END'
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+TEST_EXTENSIONS = .t
+T_LOG_DRIVER = $(SHELL) $(srcdir)/trivial-test-driver
+
+TESTS = \
+ pass.t \
+ fail.t \
+ fail2.t \
+ pass-fail.t \
+ pass4-skip.t \
+ pass3-skip2-xfail.t \
+ pass-xpass-fail-xfail-skip-error.t
+END
+
+cat > pass.t << 'END'
+echo %% pass %%
+echo PASS: pass
+END
+
+cat > fail.t << 'END'
+echo %% fail %%
+echo FAIL: fail
+END
+
+cat > fail2.t << 'END'
+echo %% fail2 %%
+echo FAIL: stdout >&1
+echo FAIL: stderr >&2
+echo :PASS: this should be ignored
+END
+
+cat > pass-fail.t << 'END'
+echo %% pass-fail %%
+echo 'FAIL: this fails :-('
+echo 'some randome message'
+echo 'some randome warning' >&2
+echo 'PASS: this passes :-)'
+echo 'INFO: blah'
+echo 'WARNING: blah blah' >&2
+END
+
+cat > pass4-skip.t << 'END'
+echo %% pass4-skip %%
+echo PASS: on stdout >&1
+echo PASS: on stderr >&2
+echo PASS: 3
+echo PASS: 4
+echo SKIP: 1
+echo this FAIL: should be ignored
+echo FAIL as should this
+exit 99
+END
+
+cat > pass3-skip2-xfail.t << 'END'
+echo %% pass4-skip2-xfail %%
+echo 'PASS: -v'
+echo 'PASS: --verbose'
+echo 'SKIP: Oops, unsupported system.'
+echo 'PASS: -#-#-#-'
+cp || echo "SKIP: cp cannot read users' mind" >&2
+mv || echo "XFAIL: mv cannot read users' mind yet"
+exit 127
+END
+
+cat > pass-xpass-fail-xfail-skip-error.t << 'END'
+echo PASS:
+echo FAIL:
+echo XFAIL:
+echo XPASS:
+echo SKIP:
+echo ERROR:
+echo %% pass-xpass-fail-xfail-skip-error %%
+END
+
+chmod a+x *.t
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+
+for vpath in : false; do
+ if $vpath; then
+ mkdir build
+ cd build
+ srcdir=..
+ else
+ srcdir=.
+ fi
+
+ $srcdir/configure
+
+ $MAKE check >stdout && { cat stdout; cat test-suite.log; Exit 1; }
+ cat stdout
+ cat test-suite.log
+ # Couple of sanity checks. These might need to be updated if the
+ # 'trivial-test-driver' script is changed.
+ $FGREP INVALID.NAME stdout test-suite.log && Exit 1
+ test -f BAD.LOG && Exit 1
+ test -f BAD.TRS && Exit 1
+ # These log files must all have been created by the testsuite.
+ cat pass.log
+ cat fail.log
+ cat fail2.log
+ cat pass-fail.log
+ cat pass4-skip.log
+ cat pass3-skip2-xfail.log
+ cat pass-xpass-fail-xfail-skip-error.log
+
+ count_test_results total=23 pass=10 fail=5 skip=4 xfail=2 xpass=1 error=1
+
+ tst=pass-xpass-fail-xfail-skip-error
+ grep "^PASS: $tst\.t, testcase 1" stdout
+ grep "^FAIL: $tst\.t, testcase 2" stdout
+ grep "^XFAIL: $tst\.t, testcase 3" stdout
+ grep "^XPASS: $tst\.t, testcase 4" stdout
+ grep "^SKIP: $tst\.t, testcase 5" stdout
+ grep "^ERROR: $tst\.t, testcase 6" stdout
+
+ # Check that the content of, and only of, the test logs with at least
+ # one failing test case has been copied into 'test-suite.log'. Note
+ # that test logs containing skipped or xfailed test cases are *not*
+ # copied into 'test-suite.log' -- a behaviour that deliberately differs
+ # from the one of the built-in Automake test drivers.
+ grep '%%' test-suite.log # For debugging.
+ grep '%% fail %%' test-suite.log
+ grep '%% fail2 %%' test-suite.log
+ grep '%% pass-fail %%' test-suite.log
+ grep '%% pass-xpass-fail-xfail-skip-error %%' test-suite.log
+ test `grep -c '%% ' test-suite.log` -eq 4
+
+ $MAKE TESTS='pass.t pass3-skip2-xfail.t' check >stdout \
+ || { cat stdout; cat test-suite.log; Exit 1; }
+ cat test-suite.log
+ cat stdout
+ count_test_results total=7 pass=4 fail=0 skip=2 xfail=1 xpass=0 error=0
+
+ cd $srcdir
+
+done
+
+:
diff --git a/tests/test-driver-custom-no-extra-driver.test
b/t/test-driver-custom-no-extra-driver.sh
similarity index 100%
rename from tests/test-driver-custom-no-extra-driver.test
rename to t/test-driver-custom-no-extra-driver.sh
diff --git a/tests/test-driver-custom-xfail-tests.test
b/t/test-driver-custom-xfail-tests.sh
similarity index 100%
rename from tests/test-driver-custom-xfail-tests.test
rename to t/test-driver-custom-xfail-tests.sh
diff --git a/tests/test-driver-custom.test b/t/test-driver-custom.sh
similarity index 100%
rename from tests/test-driver-custom.test
rename to t/test-driver-custom.sh
diff --git a/tests/test-driver-fail.test b/t/test-driver-fail.sh
similarity index 100%
rename from tests/test-driver-fail.test
rename to t/test-driver-fail.sh
diff --git a/tests/test-driver-is-distributed.test
b/t/test-driver-is-distributed.sh
similarity index 100%
rename from tests/test-driver-is-distributed.test
rename to t/test-driver-is-distributed.sh
diff --git a/tests/test-driver-strip-vpath.test b/t/test-driver-strip-vpath.sh
similarity index 100%
rename from tests/test-driver-strip-vpath.test
rename to t/test-driver-strip-vpath.sh
diff --git a/tests/test-driver-trs-suffix-registered.test
b/t/test-driver-trs-suffix-registered.sh
similarity index 100%
rename from tests/test-driver-trs-suffix-registered.test
rename to t/test-driver-trs-suffix-registered.sh
diff --git a/tests/test-extensions-cond.test b/t/test-extensions-cond.sh
similarity index 100%
rename from tests/test-extensions-cond.test
rename to t/test-extensions-cond.sh
diff --git a/tests/test-extensions.test b/t/test-extensions.sh
similarity index 100%
rename from tests/test-extensions.test
rename to t/test-extensions.sh
diff --git a/tests/test-harness-vpath-rewrite.test
b/t/test-harness-vpath-rewrite.sh
similarity index 100%
rename from tests/test-harness-vpath-rewrite.test
rename to t/test-harness-vpath-rewrite.sh
diff --git a/tests/test-log.test b/t/test-log.sh
similarity index 100%
rename from tests/test-log.test
rename to t/test-log.sh
diff --git a/tests/test-logs-repeated.test b/t/test-logs-repeated.sh
similarity index 100%
rename from tests/test-logs-repeated.test
rename to t/test-logs-repeated.sh
diff --git a/tests/test-metadata-global-log.test b/t/test-metadata-global-log.sh
similarity index 100%
rename from tests/test-metadata-global-log.test
rename to t/test-metadata-global-log.sh
diff --git a/tests/test-metadata-global-result.test
b/t/test-metadata-global-result.sh
similarity index 100%
rename from tests/test-metadata-global-result.test
rename to t/test-metadata-global-result.sh
diff --git a/tests/test-metadata-recheck.test b/t/test-metadata-recheck.sh
similarity index 100%
rename from tests/test-metadata-recheck.test
rename to t/test-metadata-recheck.sh
diff --git a/tests/test-metadata-results.test b/t/test-metadata-results.sh
similarity index 100%
rename from tests/test-metadata-results.test
rename to t/test-metadata-results.sh
diff --git a/tests/test-missing.test b/t/test-missing.sh
similarity index 100%
rename from tests/test-missing.test
rename to t/test-missing.sh
diff --git a/tests/test-missing2.test b/t/test-missing2.sh
similarity index 100%
rename from tests/test-missing2.test
rename to t/test-missing2.sh
diff --git a/tests/test-trs-basic.test b/t/test-trs-basic.sh
similarity index 100%
rename from tests/test-trs-basic.test
rename to t/test-trs-basic.sh
diff --git a/tests/test-trs-recover.test b/t/test-trs-recover.sh
similarity index 100%
rename from tests/test-trs-recover.test
rename to t/test-trs-recover.sh
diff --git a/tests/test-trs-recover2.test b/t/test-trs-recover2.sh
similarity index 100%
rename from tests/test-trs-recover2.test
rename to t/test-trs-recover2.sh
diff --git a/tests/tests-environment-and-log-compiler.test
b/t/tests-environment-and-log-compiler.sh
similarity index 100%
rename from tests/tests-environment-and-log-compiler.test
rename to t/tests-environment-and-log-compiler.sh
diff --git a/tests/tests-environment-backcompat.test
b/t/tests-environment-backcompat.sh
similarity index 100%
rename from tests/tests-environment-backcompat.test
rename to t/tests-environment-backcompat.sh
diff --git a/tests/tests-environment-fd-redirect.test
b/t/tests-environment-fd-redirect.sh
similarity index 100%
rename from tests/tests-environment-fd-redirect.test
rename to t/tests-environment-fd-redirect.sh
diff --git a/tests/tests-environment.test b/t/tests-environment.sh
similarity index 100%
rename from tests/tests-environment.test
rename to t/tests-environment.sh
diff --git a/t/testsuite-summary-color.sh b/t/testsuite-summary-color.sh
new file mode 100755
index 0000000..0f00708
--- /dev/null
+++ b/t/testsuite-summary-color.sh
@@ -0,0 +1,199 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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 coloring of the testsuite summary.
+
+. ./defs-static || Exit 1
+
+use_colors=yes
+use_vpath=no
+
+. "$am_testauxdir"/testsuite-summary-checks.sh || Exit 99
+
+./configure
+
+# ANSI colors.
+red='[0;31m'
+grn='[0;32m'
+lgn='[1;32m'
+blu='[1;34m'
+mgn='[0;35m'
+brg='[1m';
+std='[m';
+
+success_header="\
+${grn}${br}${std}
+${grn}Testsuite summary for GNU AutoFoo 7.1${std}
+${grn}${br}${std}"
+
+success_footer=${grn}${br}${std}
+
+failure_header="\
+${red}${br}${std}
+${red}Testsuite summary for GNU AutoFoo 7.1${std}
+${red}${br}${std}"
+
+failure_footer="\
+${red}${br}${std}
+${red}See ./test-suite.log${std}
+${red}Please report to address@hidden
+${red}${br}${std}"
+
+do_check '' <<END
+$success_header
+# TOTAL: 0
+# PASS: 0
+# SKIP: 0
+# XFAIL: 0
+# FAIL: 0
+# XPASS: 0
+# ERROR: 0
+$success_footer
+END
+
+do_check pass.t <<END
+$success_header
+${brg}# TOTAL: 1${std}
+${grn}# PASS: 1${std}
+# SKIP: 0
+# XFAIL: 0
+# FAIL: 0
+# XPASS: 0
+# ERROR: 0
+$success_footer
+END
+
+do_check skip.t <<END
+$success_header
+${brg}# TOTAL: 1${std}
+# PASS: 0
+${blu}# SKIP: 1${std}
+# XFAIL: 0
+# FAIL: 0
+# XPASS: 0
+# ERROR: 0
+$success_footer
+END
+
+do_check xfail.t <<END
+$success_header
+${brg}# TOTAL: 1${std}
+# PASS: 0
+# SKIP: 0
+${lgn}# XFAIL: 1${std}
+# FAIL: 0
+# XPASS: 0
+# ERROR: 0
+$success_footer
+END
+
+do_check fail.t <<END
+$failure_header
+${brg}# TOTAL: 1${std}
+# PASS: 0
+# SKIP: 0
+# XFAIL: 0
+${red}# FAIL: 1${std}
+# XPASS: 0
+# ERROR: 0
+$failure_footer
+END
+
+do_check xpass.t <<END
+$failure_header
+${brg}# TOTAL: 1${std}
+# PASS: 0
+# SKIP: 0
+# XFAIL: 0
+# FAIL: 0
+${red}# XPASS: 1${std}
+# ERROR: 0
+$failure_footer
+END
+
+do_check error.t <<END
+$failure_header
+${brg}# TOTAL: 1${std}
+# PASS: 0
+# SKIP: 0
+# XFAIL: 0
+# FAIL: 0
+# XPASS: 0
+${mgn}# ERROR: 1${std}
+$failure_footer
+END
+
+do_check pass.t xfail.t skip.t <<END
+$success_header
+${brg}# TOTAL: 3${std}
+${grn}# PASS: 1${std}
+${blu}# SKIP: 1${std}
+${lgn}# XFAIL: 1${std}
+# FAIL: 0
+# XPASS: 0
+# ERROR: 0
+$success_footer
+END
+
+do_check pass.t fail.t skip.t <<END
+$failure_header
+${brg}# TOTAL: 3${std}
+${grn}# PASS: 1${std}
+${blu}# SKIP: 1${std}
+# XFAIL: 0
+${red}# FAIL: 1${std}
+# XPASS: 0
+# ERROR: 0
+$failure_footer
+END
+
+do_check pass.t xfail.t xpass.t <<END
+$failure_header
+${brg}# TOTAL: 3${std}
+${grn}# PASS: 1${std}
+# SKIP: 0
+${lgn}# XFAIL: 1${std}
+# FAIL: 0
+${red}# XPASS: 1${std}
+# ERROR: 0
+$failure_footer
+END
+
+do_check skip.t xfail.t error.t <<END
+$failure_header
+${brg}# TOTAL: 3${std}
+# PASS: 0
+${blu}# SKIP: 1${std}
+${lgn}# XFAIL: 1${std}
+# FAIL: 0
+# XPASS: 0
+${mgn}# ERROR: 1${std}
+$failure_footer
+END
+
+do_check pass.t skip.t xfail.t fail.t xpass.t error.t <<END
+$failure_header
+${brg}# TOTAL: 6${std}
+${grn}# PASS: 1${std}
+${blu}# SKIP: 1${std}
+${lgn}# XFAIL: 1${std}
+${red}# FAIL: 1${std}
+${red}# XPASS: 1${std}
+${mgn}# ERROR: 1${std}
+$failure_footer
+END
+
+:
diff --git a/t/testsuite-summary-count-many.sh
b/t/testsuite-summary-count-many.sh
new file mode 100755
index 0000000..58157ad
--- /dev/null
+++ b/t/testsuite-summary-count-many.sh
@@ -0,0 +1,105 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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 test counts in the testsuite summary, with test drivers allowing
+# multiple test results per test script, and for a huge number of tests.
+# Incidentally, this test also checks that the testsuite summary doesn't
+# give any bug-report address if it's not defined.
+
+am_parallel_tests=yes
+. ./defs || Exit 1
+
+for s in trivial-test-driver extract-testsuite-summary.pl; do
+ cp "$am_testauxdir/$s" . || fatal_ "failed to fetch auxiliary script $s"
+done
+
+br='============================================================================'
+
+header="\
+${br}
+Testsuite summary for $me 1.0
+${br}"
+
+footer="\
+${br}
+See ./test-suite.log
+${br}"
+
+echo AC_OUTPUT >> configure.ac
+
+cat > Makefile.am << 'END'
+TEST_LOG_DRIVER = $(SHELL) $(srcdir)/trivial-test-driver
+TESTS = all.test
+# Without this, the test driver will be horrendously slow.
+END
+
+cat > all.test <<'END'
+#!/bin/sh
+cat results.txt || { echo ERROR: weird; exit 99; }
+END
+chmod a+x all.test
+
+$PERL -w -e '
+ use warnings FATAL => "all";
+ use strict;
+
+ # FIXME: we would like this to be 1000 or even 10000, but the current
+ # implementation is too slow to handle that :-(
+ my $base = 5;
+ my %count = (
+ TOTAL => $base * 1000,
+ PASS => $base * 700,
+ SKIP => $base * 200,
+ XFAIL => $base * 80,
+ FAIL => $base * 10,
+ XPASS => $base * 7,
+ ERROR => $base * 3,
+ );
+ my @results = qw/PASS SKIP XFAIL FAIL XPASS ERROR/;
+
+ open (RES, ">results.txt") or die "opening results.txt: $!\n";
+ open (CNT, ">count.txt") or die "opening count.txt: $!\n";
+
+ printf CNT "# %-6s %d\n", "TOTAL:", $count{TOTAL};
+ for my $res (@results)
+ {
+ my $uc_res = uc $res;
+ print STDERR "Generating list of $res ...\n";
+ for (1..$count{$res})
+ {
+ print RES "$uc_res: $_\n";
+ }
+ printf CNT "# %-6s %d\n", $res . ":", $count{$res};
+ }
+'
+
+(echo "$header" && cat count.txt && echo "$footer") > summary.exp
+
+$ACLOCAL
+$AUTOMAKE -a
+$AUTOCONF
+
+./configure
+
+($MAKE check || : > make.fail) | tee stdout
+test -f make.fail
+
+$PERL extract-testsuite-summary.pl stdout > summary.got
+cat summary.exp
+cat summary.got
+diff summary.exp summary.got || Exit 1
+
+:
diff --git a/t/testsuite-summary-count.sh b/t/testsuite-summary-count.sh
new file mode 100755
index 0000000..1d13e7e
--- /dev/null
+++ b/t/testsuite-summary-count.sh
@@ -0,0 +1,161 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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 test counts in the testsuite summary.
+
+. ./defs-static || Exit 1
+
+use_colors=no
+use_vpath=no
+
+. "$am_testauxdir"/testsuite-summary-checks.sh || Exit 99
+
+./configure
+
+header="\
+${br}
+Testsuite summary for GNU AutoFoo 7.1
+${br}"
+
+success_footer=${br}
+
+failure_footer="\
+${br}
+See ./test-suite.log
+Please report to address@hidden
+${br}"
+
+# Corner cases.
+
+do_check '' <<END
+$header
+# TOTAL: 0
+# PASS: 0
+# SKIP: 0
+# XFAIL: 0
+# FAIL: 0
+# XPASS: 0
+# ERROR: 0
+$success_footer
+END
+
+do_check pass.t <<END
+$header
+# TOTAL: 1
+# PASS: 1
+# SKIP: 0
+# XFAIL: 0
+# FAIL: 0
+# XPASS: 0
+# ERROR: 0
+$success_footer
+END
+
+do_check fail.t <<END
+$header
+# TOTAL: 1
+# PASS: 0
+# SKIP: 0
+# XFAIL: 0
+# FAIL: 1
+# XPASS: 0
+# ERROR: 0
+$failure_footer
+END
+
+# Some simpler checks, with low or moderate number of tests.
+
+do_check skip.t skip2.t skip3.t xfail.t xfail2.t <<END
+$header
+# TOTAL: 5
+# PASS: 0
+# SKIP: 3
+# XFAIL: 2
+# FAIL: 0
+# XPASS: 0
+# ERROR: 0
+$success_footer
+END
+
+do_check pass.t pass2.t xfail.t xpass.t error.t error2.t <<END
+$header
+# TOTAL: 6
+# PASS: 2
+# SKIP: 0
+# XFAIL: 1
+# FAIL: 0
+# XPASS: 1
+# ERROR: 2
+$failure_footer
+END
+
+pass_count=22
+skip_count=19
+xfail_count=21
+fail_count=18
+xpass_count=23
+error_count=17
+tests_count=120
+
+pass=` seq_ 1 $pass_count | sed 's/.*/pass-&.t/'`
+skip=` seq_ 1 $skip_count | sed 's/.*/skip-&.t/'`
+xfail=`seq_ 1 $xfail_count | sed 's/.*/xfail-&.t/'`
+fail=` seq_ 1 $fail_count | sed 's/.*/fail-&.t/'`
+xpass=`seq_ 1 $xpass_count | sed 's/.*/xpass-&.t/'`
+error=`seq_ 1 $error_count | sed 's/.*/error-&.t/'`
+
+do_check $pass $skip $xfail $fail $xpass $error <<END
+$header
+# TOTAL: $tests_count
+# PASS: $pass_count
+# SKIP: $skip_count
+# XFAIL: $xfail_count
+# FAIL: $fail_count
+# XPASS: $xpass_count
+# ERROR: $error_count
+$failure_footer
+END
+
+# Mild stress test with a lot of test scripts.
+
+tests_count=1888
+pass_count=1403
+skip_count=292
+xfail_count=41
+fail_count=126
+xpass_count=17
+error_count=9
+
+pass=` seq_ 1 $pass_count | sed 's/.*/pass-&.t/'`
+skip=` seq_ 1 $skip_count | sed 's/.*/skip-&.t/'`
+xfail=`seq_ 1 $xfail_count | sed 's/.*/xfail-&.t/'`
+fail=` seq_ 1 $fail_count | sed 's/.*/fail-&.t/'`
+xpass=`seq_ 1 $xpass_count | sed 's/.*/xpass-&.t/'`
+error=`seq_ 1 $error_count | sed 's/.*/error-&.t/'`
+
+do_check $pass $skip $xfail $fail $xpass $error <<END
+$header
+# TOTAL: $tests_count
+# PASS: $pass_count
+# SKIP: $skip_count
+# XFAIL: $xfail_count
+# FAIL: $fail_count
+# XPASS: $xpass_count
+# ERROR: $error_count
+$failure_footer
+END
+
+:
diff --git a/tests/testsuite-summary-reference-log.test
b/t/testsuite-summary-reference-log.sh
similarity index 100%
rename from tests/testsuite-summary-reference-log.test
rename to t/testsuite-summary-reference-log.sh
diff --git a/tests/transform.test b/t/transform.sh
similarity index 100%
rename from tests/transform.test
rename to t/transform.sh
diff --git a/tests/transform2.test b/t/transform2.sh
similarity index 100%
rename from tests/transform2.test
rename to t/transform2.sh
diff --git a/tests/transform3.test b/t/transform3.sh
similarity index 100%
rename from tests/transform3.test
rename to t/transform3.sh
diff --git a/tests/txinfo-no-clutter.test b/t/txinfo-no-clutter.sh
similarity index 100%
rename from tests/txinfo-no-clutter.test
rename to t/txinfo-no-clutter.sh
diff --git a/tests/txinfo-unrecognized-extension.test
b/t/txinfo-unrecognized-extension.sh
similarity index 100%
rename from tests/txinfo-unrecognized-extension.test
rename to t/txinfo-unrecognized-extension.sh
diff --git a/tests/txinfo.test b/t/txinfo.sh
similarity index 100%
rename from tests/txinfo.test
rename to t/txinfo.sh
diff --git a/tests/txinfo10.test b/t/txinfo10.sh
similarity index 100%
rename from tests/txinfo10.test
rename to t/txinfo10.sh
diff --git a/tests/txinfo13.test b/t/txinfo13.sh
similarity index 100%
rename from tests/txinfo13.test
rename to t/txinfo13.sh
diff --git a/tests/txinfo16.test b/t/txinfo16.sh
similarity index 100%
rename from tests/txinfo16.test
rename to t/txinfo16.sh
diff --git a/tests/txinfo17.test b/t/txinfo17.sh
similarity index 100%
rename from tests/txinfo17.test
rename to t/txinfo17.sh
diff --git a/t/txinfo19.sh b/t/txinfo19.sh
new file mode 100755
index 0000000..63417f8
--- /dev/null
+++ b/t/txinfo19.sh
@@ -0,0 +1,72 @@
+#! /bin/sh
+# Copyright (C) 2003-2012 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/>.
+
+# Test support for DJGPP's .iNN info files.
+
+required=makeinfo
+. ./defs || Exit 1
+
+echo AC_OUTPUT >> configure.ac
+
+cat > Makefile.am << 'END'
+info_TEXINFOS = main.texi
+END
+
+cat > main.texi << 'END'
+\input texinfo
address@hidden main.info
address@hidden main
address@hidden Top
+Hello walls.
address@hidden
+END
+
+$ACLOCAL
+$AUTOMAKE --add-missing
+$AUTOCONF
+
+./configure "--infodir=`pwd`/_inst"
+$MAKE
+
+# Make sure .iNN files are installed.
+: > main.i1
+: > main.i21
+$MAKE install
+test -f _inst/main.i1
+test -f _inst/main.i21
+
+# They should be uninstalled too.
+$MAKE uninstall
+test ! -f _inst/main.i1
+test ! -f _inst/main.i21
+
+# Make sure rebuild rules erase old .iNN files when they run makeinfo.
+$sleep
+touch main.texi
+test -f main.i1
+test -f main.i21
+$MAKE
+test ! -f main.i1
+test ! -f main.i21
+
+# Finally, we also want them erased by maintainer-clean.
+: > main.i7
+: > main.i39
+$MAKE maintainer-clean
+test ! -f main.i7
+test ! -f main.i39
+
+:
diff --git a/tests/txinfo2.test b/t/txinfo2.sh
similarity index 100%
rename from tests/txinfo2.test
rename to t/txinfo2.sh
diff --git a/tests/txinfo20.test b/t/txinfo20.sh
similarity index 100%
rename from tests/txinfo20.test
rename to t/txinfo20.sh
diff --git a/tests/txinfo21.test b/t/txinfo21.sh
similarity index 100%
rename from tests/txinfo21.test
rename to t/txinfo21.sh
diff --git a/tests/txinfo22.test b/t/txinfo22.sh
similarity index 100%
rename from tests/txinfo22.test
rename to t/txinfo22.sh
diff --git a/tests/txinfo23.test b/t/txinfo23.sh
similarity index 100%
rename from tests/txinfo23.test
rename to t/txinfo23.sh
diff --git a/tests/txinfo24.test b/t/txinfo24.sh
similarity index 100%
rename from tests/txinfo24.test
rename to t/txinfo24.sh
diff --git a/tests/txinfo25.test b/t/txinfo25.sh
similarity index 100%
rename from tests/txinfo25.test
rename to t/txinfo25.sh
diff --git a/tests/txinfo26.test b/t/txinfo26.sh
similarity index 100%
rename from tests/txinfo26.test
rename to t/txinfo26.sh
diff --git a/tests/txinfo27.test b/t/txinfo27.sh
similarity index 100%
rename from tests/txinfo27.test
rename to t/txinfo27.sh
diff --git a/tests/txinfo28.test b/t/txinfo28.sh
similarity index 100%
rename from tests/txinfo28.test
rename to t/txinfo28.sh
diff --git a/tests/txinfo29.test b/t/txinfo29.sh
similarity index 100%
rename from tests/txinfo29.test
rename to t/txinfo29.sh
diff --git a/tests/txinfo3.test b/t/txinfo3.sh
similarity index 100%
rename from tests/txinfo3.test
rename to t/txinfo3.sh
diff --git a/tests/txinfo30.test b/t/txinfo30.sh
similarity index 100%
rename from tests/txinfo30.test
rename to t/txinfo30.sh
diff --git a/tests/txinfo31.test b/t/txinfo31.sh
similarity index 100%
rename from tests/txinfo31.test
rename to t/txinfo31.sh
diff --git a/tests/txinfo32.test b/t/txinfo32.sh
similarity index 100%
rename from tests/txinfo32.test
rename to t/txinfo32.sh
diff --git a/tests/txinfo33.test b/t/txinfo33.sh
similarity index 100%
rename from tests/txinfo33.test
rename to t/txinfo33.sh
diff --git a/tests/txinfo4.test b/t/txinfo4.sh
similarity index 100%
rename from tests/txinfo4.test
rename to t/txinfo4.sh
diff --git a/tests/txinfo5.test b/t/txinfo5.sh
similarity index 100%
rename from tests/txinfo5.test
rename to t/txinfo5.sh
diff --git a/tests/txinfo5b.test b/t/txinfo5b.sh
similarity index 100%
rename from tests/txinfo5b.test
rename to t/txinfo5b.sh
diff --git a/tests/txinfo6.test b/t/txinfo6.sh
similarity index 100%
rename from tests/txinfo6.test
rename to t/txinfo6.sh
diff --git a/tests/txinfo7.test b/t/txinfo7.sh
similarity index 100%
rename from tests/txinfo7.test
rename to t/txinfo7.sh
diff --git a/tests/txinfo8.test b/t/txinfo8.sh
similarity index 100%
rename from tests/txinfo8.test
rename to t/txinfo8.sh
diff --git a/tests/txinfo9.test b/t/txinfo9.sh
similarity index 100%
rename from tests/txinfo9.test
rename to t/txinfo9.sh
diff --git a/tests/uninstall-fail.test b/t/uninstall-fail.sh
similarity index 100%
rename from tests/uninstall-fail.test
rename to t/uninstall-fail.sh
diff --git a/tests/uninstall-pr9578.test b/t/uninstall-pr9578.sh
similarity index 100%
rename from tests/uninstall-pr9578.test
rename to t/uninstall-pr9578.sh
diff --git a/tests/unused.test b/t/unused.sh
similarity index 100%
rename from tests/unused.test
rename to t/unused.sh
diff --git a/tests/upc.test b/t/upc.sh
similarity index 100%
rename from tests/upc.test
rename to t/upc.sh
diff --git a/tests/upc2.test b/t/upc2.sh
similarity index 100%
rename from tests/upc2.test
rename to t/upc2.sh
diff --git a/tests/upc3.test b/t/upc3.sh
similarity index 100%
rename from tests/upc3.test
rename to t/upc3.sh
diff --git a/tests/vala-mix.test b/t/vala-mix.sh
similarity index 100%
rename from tests/vala-mix.test
rename to t/vala-mix.sh
diff --git a/t/vala-mix2.sh b/t/vala-mix2.sh
new file mode 100755
index 0000000..7c793bf
--- /dev/null
+++ b/t/vala-mix2.sh
@@ -0,0 +1,120 @@
+#! /bin/sh
+# Copyright (C) 2012 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/>.
+
+# Vala sources, C and C++ sources and C and C++ headers in the same
+# program. Functional test. See automake bug#10894.
+
+required='valac cc c++'
+. ./defs || Exit 1
+
+cat >> configure.ac <<'END'
+AC_PROG_CC
+AC_PROG_CXX
+AM_PROG_VALAC([0.7.3])
+AC_OUTPUT
+END
+
+cat > Makefile.am <<'END'
+bin_PROGRAMS = zardoz
+AM_VALAFLAGS = --profile=posix
+zardoz_SOURCES = zardoz.vala foo.h bar.c baz.c zen.hh master.cxx
+END
+
+cat > zardoz.vala <<'END'
+int main ()
+{
+ stdout.printf ("foo is alive\n");
+ return 0;
+}
+END
+
+cat > foo.h <<'END'
+int foo;
+int bar (void);
+int baz (void);
+END
+
+cat > bar.c <<'END'
+#include "foo.h"
+int bar (void) { return foo + baz (); }
+END
+
+cat > baz.c <<'END'
+#include "foo.h"
+extern int foo = 0;
+int baz (void) { return 0; }
+END
+
+cat > zen.hh <<'END'
+#include <iostream>
+END
+
+cat > master.cxx <<'END'
+#include "zen.hh"
+void chatty (void) { std::cout << "Hello, stranger!\n"; }
+END
+
+$ACLOCAL
+$AUTOMAKE -a
+$AUTOCONF
+
+# Do not reject slower dependency extractors.
+./configure --enable-dependency-tracking
+
+$MAKE all
+ls -l # For debugging.
+
+have_generated_files ()
+{
+ test -f zardoz_vala.stamp
+ test -f zardoz.c
+}
+
+# Our vala-related rules must create stamp files and intermediate
+# C files.
+have_generated_files
+
+# Remake rules are not uselessly triggered.
+$MAKE -q
+$MAKE -n | $FGREP vala.stamp && Exit 1
+
+# But are triggered when they should.
+for file in zardoz.vala foo.h bar.c baz.c zen.hh master.cxx; do
+ $sleep
+ echo '& choke me !' >> $file
+ $MAKE && Exit 1
+ $sleep
+ sed '$d' $file > t
+ mv -f t $file
+ $MAKE
+done
+
+# Check the distribution.
+$MAKE distcheck
+
+# Stamp files and intermediate C files should *not* be removed
+# by "make clean".
+$MAKE clean
+ls -l # For debugging.
+have_generated_files
+
+# But stamp files should be removed by "maintainer-clean" (the
+# behaviour w.r.t. intermediate C files is still unclear, and
+# better left undefined for the moment).
+$MAKE maintainer-clean
+ls *vala*.stamp | grep . && Exit 1
+
+:
diff --git a/tests/vala-vpath.test b/t/vala-vpath.sh
similarity index 100%
rename from tests/vala-vpath.test
rename to t/vala-vpath.sh
diff --git a/tests/vala.test b/t/vala.sh
similarity index 100%
rename from tests/vala.test
rename to t/vala.sh
diff --git a/tests/vala1.test b/t/vala1.sh
similarity index 100%
rename from tests/vala1.test
rename to t/vala1.sh
diff --git a/tests/vala2.test b/t/vala2.sh
similarity index 100%
rename from tests/vala2.test
rename to t/vala2.sh
diff --git a/tests/vala3.test b/t/vala3.sh
similarity index 100%
rename from tests/vala3.test
rename to t/vala3.sh
diff --git a/tests/vala4.test b/t/vala4.sh
similarity index 100%
rename from tests/vala4.test
rename to t/vala4.sh
diff --git a/tests/vala5.test b/t/vala5.sh
similarity index 100%
rename from tests/vala5.test
rename to t/vala5.sh
diff --git a/tests/vars-assign.test b/t/vars-assign.sh
similarity index 100%
rename from tests/vars-assign.test
rename to t/vars-assign.sh
diff --git a/tests/vars.test b/t/vars.sh
similarity index 100%
rename from tests/vars.test
rename to t/vars.sh
diff --git a/tests/vartar.test b/t/vartar.sh
similarity index 100%
rename from tests/vartar.test
rename to t/vartar.sh
diff --git a/tests/vartypo2.test b/t/vartypo2.sh
similarity index 100%
rename from tests/vartypo2.test
rename to t/vartypo2.sh
diff --git a/tests/vartypos.test b/t/vartypos.sh
similarity index 100%
rename from tests/vartypos.test
rename to t/vartypos.sh
diff --git a/tests/version.test b/t/version.sh
similarity index 100%
rename from tests/version.test
rename to t/version.sh
diff --git a/tests/version2.test b/t/version2.sh
similarity index 100%
rename from tests/version2.test
rename to t/version2.sh
diff --git a/tests/version3.test b/t/version3.sh
similarity index 100%
rename from tests/version3.test
rename to t/version3.sh
diff --git a/tests/version4.test b/t/version4.sh
similarity index 100%
rename from tests/version4.test
rename to t/version4.sh
diff --git a/tests/version6.test b/t/version6.sh
similarity index 100%
rename from tests/version6.test
rename to t/version6.sh
diff --git a/tests/version7.test b/t/version7.sh
similarity index 100%
rename from tests/version7.test
rename to t/version7.sh
diff --git a/tests/version8.test b/t/version8.sh
similarity index 100%
rename from tests/version8.test
rename to t/version8.sh
diff --git a/tests/vpath-rewrite.test b/t/vpath-rewrite.sh
similarity index 100%
rename from tests/vpath-rewrite.test
rename to t/vpath-rewrite.sh
diff --git a/tests/vpath.test b/t/vpath.sh
similarity index 100%
rename from tests/vpath.test
rename to t/vpath.sh
diff --git a/tests/vtexi.test b/t/vtexi.sh
similarity index 100%
rename from tests/vtexi.test
rename to t/vtexi.sh
diff --git a/tests/vtexi2.test b/t/vtexi2.sh
similarity index 100%
rename from tests/vtexi2.test
rename to t/vtexi2.sh
diff --git a/tests/vtexi3.test b/t/vtexi3.sh
similarity index 100%
rename from tests/vtexi3.test
rename to t/vtexi3.sh
diff --git a/tests/vtexi4.test b/t/vtexi4.sh
similarity index 100%
rename from tests/vtexi4.test
rename to t/vtexi4.sh
diff --git a/tests/warning-groups-win-over-strictness.test
b/t/warning-groups-win-over-strictness.sh
similarity index 100%
rename from tests/warning-groups-win-over-strictness.test
rename to t/warning-groups-win-over-strictness.sh
diff --git a/tests/warnings-override.test b/t/warnings-override.sh
similarity index 100%
rename from tests/warnings-override.test
rename to t/warnings-override.sh
diff --git a/tests/warnings-precedence.test b/t/warnings-precedence.sh
similarity index 100%
rename from tests/warnings-precedence.test
rename to t/warnings-precedence.sh
diff --git a/tests/warnings-strictness-interactions.test
b/t/warnings-strictness-interactions.sh
similarity index 100%
rename from tests/warnings-strictness-interactions.test
rename to t/warnings-strictness-interactions.sh
diff --git a/tests/warnings-unknown.test b/t/warnings-unknown.sh
similarity index 100%
rename from tests/warnings-unknown.test
rename to t/warnings-unknown.sh
diff --git a/tests/warnings-win-over-strictness.test
b/t/warnings-win-over-strictness.sh
similarity index 100%
rename from tests/warnings-win-over-strictness.test
rename to t/warnings-win-over-strictness.sh
diff --git a/tests/warnopts.test b/t/warnopts.sh
similarity index 100%
rename from tests/warnopts.test
rename to t/warnopts.sh
diff --git a/tests/werror.test b/t/werror.sh
similarity index 100%
rename from tests/werror.test
rename to t/werror.sh
diff --git a/tests/werror2.test b/t/werror2.sh
similarity index 100%
rename from tests/werror2.test
rename to t/werror2.sh
diff --git a/tests/werror3.test b/t/werror3.sh
similarity index 100%
rename from tests/werror3.test
rename to t/werror3.sh
diff --git a/tests/werror4.test b/t/werror4.sh
similarity index 100%
rename from tests/werror4.test
rename to t/werror4.sh
diff --git a/tests/whoami.test b/t/whoami.sh
similarity index 100%
rename from tests/whoami.test
rename to t/whoami.sh
diff --git a/tests/wrap/aclocal.in b/t/wrap/aclocal.in
similarity index 100%
rename from tests/wrap/aclocal.in
rename to t/wrap/aclocal.in
diff --git a/tests/wrap/automake.in b/t/wrap/automake.in
similarity index 100%
rename from tests/wrap/automake.in
rename to t/wrap/automake.in
diff --git a/tests/xsource.test b/t/xsource.sh
similarity index 100%
rename from tests/xsource.test
rename to t/xsource.sh
diff --git a/tests/yacc-auxdir.test b/t/yacc-auxdir.sh
similarity index 100%
rename from tests/yacc-auxdir.test
rename to t/yacc-auxdir.sh
diff --git a/tests/yacc-basic.test b/t/yacc-basic.sh
similarity index 100%
rename from tests/yacc-basic.test
rename to t/yacc-basic.sh
diff --git a/tests/yacc-bison-skeleton-cxx.test b/t/yacc-bison-skeleton-cxx.sh
similarity index 100%
rename from tests/yacc-bison-skeleton-cxx.test
rename to t/yacc-bison-skeleton-cxx.sh
diff --git a/tests/yacc-bison-skeleton.test b/t/yacc-bison-skeleton.sh
similarity index 100%
rename from tests/yacc-bison-skeleton.test
rename to t/yacc-bison-skeleton.sh
diff --git a/tests/yacc-clean-cxx.test b/t/yacc-clean-cxx.sh
similarity index 100%
rename from tests/yacc-clean-cxx.test
rename to t/yacc-clean-cxx.sh
diff --git a/tests/yacc-clean.test b/t/yacc-clean.sh
similarity index 100%
rename from tests/yacc-clean.test
rename to t/yacc-clean.sh
diff --git a/tests/yacc-cxx.test b/t/yacc-cxx.sh
similarity index 100%
rename from tests/yacc-cxx.test
rename to t/yacc-cxx.sh
diff --git a/tests/yacc-d-basic.test b/t/yacc-d-basic.sh
similarity index 100%
rename from tests/yacc-d-basic.test
rename to t/yacc-d-basic.sh
diff --git a/t/yacc-d-cxx.sh b/t/yacc-d-cxx.sh
new file mode 100755
index 0000000..5ec1990
--- /dev/null
+++ b/t/yacc-d-cxx.sh
@@ -0,0 +1,232 @@
+#! /bin/sh
+# Copyright (C) 2011-2012 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/>.
+
+# Various tests on Yacc/C++ support with yacc-generated headers
+# (i.e., '-d' in *YFLAGS).
+# Keep in sync with sister test 'yacc-d-basic.test'.
+
+required=yacc
+. ./defs || Exit 1
+
+write_parse ()
+{
+ header=$1
+ unindent <<END
+ %{
+ // Valid C++, but deliberately invalid C.
+ #include <cstdlib>
+ #include "$header"
+ int yylex (void) { return 0; }
+ void yyerror (const char *s) {}
+ %}
+ %%
+ x : 'x' {};
+ %%
+END
+}
+
+write_main ()
+{
+ header=$1
+ unindent <<END
+ // Valid C++, but deliberately invalid C.
+ #include <cstdio>
+ #include "$header"
+ int main (int argc, char **argv)
+ {
+ int yyparse (void);
+ return yyparse ();
+ }
+END
+}
+
+cat >> configure.ac << 'END'
+AC_PROG_CXX
+AC_PROG_YACC
+AC_CONFIG_FILES([foo/Makefile bar/Makefile baz/Makefile qux/Makefile])
+AC_OUTPUT
+END
+
+mkdir foo bar baz qux baz/sub
+
+# These makefiles will be extended later.
+cat > Makefile.am <<'END'
+.PHONY: echo-distcom
+echo-distcom:
+ @echo ' ' $(DIST_COMMON) ' '
+END
+cp Makefile.am foo/Makefile.am
+cp Makefile.am bar/Makefile.am
+cp Makefile.am baz/Makefile.am
+cp Makefile.am qux/Makefile.am
+
+cat >> Makefile.am <<'END'
+SUBDIRS = foo bar baz qux
+END
+
+$ACLOCAL
+$AUTOCONF
+
+cp "$am_scriptdir/ylwrap" . \
+ || fatal_ "cannot fetch auxiliary script 'ylwrap'"
+
+$AUTOMAKE Makefile
+
+# Try with -d in $(YFLAGS) (don't do this in real life!).
+cat >> foo/Makefile.am <<END
+bin_PROGRAMS = zardoz
+zardoz_SOURCES = parse.yy main.cc
+BUILT_SOURCES = parse.hh
+YFLAGS=\
+-d
+END
+
+$AUTOMAKE -Wno-gnu foo/Makefile
+
+write_parse parse.hh > foo/parse.yy
+write_main parse.hh > foo/main.cc
+
+# Try with -d in $(AM_YFLAGS).
+cat >> bar/Makefile.am <<END
+bin_PROGRAMS = zardoz
+zardoz_SOURCES = parse.ypp main.cpp
+BUILT_SOURCES = parse.hpp
+AM_YFLAGS${tab}= -d ${tab}
+END
+
+$AUTOMAKE bar/Makefile
+
+write_parse parse.hpp > bar/parse.ypp
+write_main parse.hpp > bar/main.cpp
+
+# Try with -d in $(AM_YFLAGS), and a subdir parser.
+cat >> baz/Makefile.am <<END
+AUTOMAKE_OPTIONS = subdir-objects
+bin_PROGRAMS = joe
+joe_SOURCES = sub/parse.y++ sub/main.c++
+BUILT_SOURCES = sub/parse.h++
+AM_YFLAGS = \
+${tab}-d
+END
+
+$AUTOMAKE baz/Makefile
+
+write_parse sub/parse.h++ > baz/sub/parse.y++
+write_main sub/parse.h++ > baz/sub/main.c++
+
+# Try with -d in $(xxx_YFLAGS) (per-object flag).
+cat >> qux/Makefile.am <<END
+bin_PROGRAMS = maude
+maude_SOURCES = parse.yxx main.cxx
+maude_YFLAGS=${tab} -d${tab}
+BUILT_SOURCES = maude-parse.hxx
+END
+
+$AUTOMAKE qux/Makefile
+
+write_parse maude-parse.hxx > qux/parse.yxx
+write_main maude-parse.hxx > qux/main.cxx
+
+./configure
+
+$MAKE
+ls -l . foo bar baz baz/sub qux # For debugging.
+
+test -f foo/parse.cc
+test -f foo/parse.hh
+test -f bar/parse.cpp
+test -f bar/parse.hpp
+test -f baz/sub/parse.c++
+test -f baz/sub/parse.h++
+test -f qux/maude-parse.cxx
+test -f qux/maude-parse.hxx
+
+# The ylwrap script must be shipped.
+$MAKE echo-distcom
+$MAKE -s echo-distcom | grep '[ /]ylwrap '
+
+# The generated C++ source and header files must be shipped.
+cd foo
+$MAKE echo-distcom
+$MAKE -s echo-distcom | grep '[ /]parse\.cc '
+$MAKE -s echo-distcom | grep '[ /]parse\.hh '
+cd ..
+cd bar
+$MAKE echo-distcom
+$MAKE -s echo-distcom | grep '[ /]parse\.cpp '
+$MAKE -s echo-distcom | grep '[ /]parse\.hpp '
+cd ..
+cd baz
+$MAKE echo-distcom
+$MAKE -s echo-distcom | grep '[ /]sub/parse\.c++ '
+$MAKE -s echo-distcom | grep '[ /]sub/parse\.h++ '
+cd ..
+cd qux
+$MAKE echo-distcom
+$MAKE -s echo-distcom | grep '[ /]maude-parse\.cxx '
+$MAKE -s echo-distcom | grep '[ /]maude-parse\.hxx '
+cd ..
+
+$MAKE distdir
+find $distdir # For debugging.
+
+test -f $distdir/ylwrap
+test -f $distdir/foo/parse.cc
+test -f $distdir/foo/parse.hh
+test -f $distdir/bar/parse.cpp
+test -f $distdir/bar/parse.hpp
+test -f $distdir/baz/sub/parse.c++
+test -f $distdir/baz/sub/parse.h++
+test -f $distdir/qux/maude-parse.cxx
+test -f $distdir/qux/maude-parse.hxx
+
+# The Yacc-derived C++ sources must be created, and not removed once
+# compiled (i.e., not treated like "intermediate files" in the GNU
+# make sense).
+$MAKE distcheck
+
+# Check that we can recover from deleted headers.
+$MAKE clean
+rm -f foo/parse.hh bar/parse.hpp baz/sub/parse.h++ qux/maude-parse.hxx
+$MAKE
+test -f foo/parse.hh
+test -f bar/parse.hpp
+test -f baz/sub/parse.h++
+test -f qux/maude-parse.hxx
+
+# Make sure that the Yacc-derived C++ sources are erased by
+# maintainer-clean, and not by distclean.
+$MAKE distclean
+test -f foo/parse.cc
+test -f foo/parse.hh
+test -f bar/parse.cpp
+test -f bar/parse.hpp
+test -f baz/sub/parse.c++
+test -f baz/sub/parse.h++
+test -f qux/maude-parse.cxx
+test -f qux/maude-parse.hxx
+./configure # Re-create 'Makefile'.
+$MAKE maintainer-clean
+test ! -f foo/parse.cc
+test ! -f foo/parse.hh
+test ! -f bar/parse.cpp
+test ! -f bar/parse.hpp
+test ! -f baz/sub/parse.c++
+test ! -f baz/sub/parse.h++
+test ! -f qux/maude-parse.cxx
+test ! -f qux/maude-parse.hxx
+
+:
diff --git a/tests/yacc-d-vpath.test b/t/yacc-d-vpath.sh
similarity index 100%
rename from tests/yacc-d-vpath.test
rename to t/yacc-d-vpath.sh
diff --git a/tests/yacc-deleted-headers.test b/t/yacc-deleted-headers.sh
similarity index 100%
rename from tests/yacc-deleted-headers.test
rename to t/yacc-deleted-headers.sh
diff --git a/tests/yacc-depend.test b/t/yacc-depend.sh
similarity index 100%
rename from tests/yacc-depend.test
rename to t/yacc-depend.sh
diff --git a/tests/yacc-depend2.test b/t/yacc-depend2.sh
similarity index 100%
rename from tests/yacc-depend2.test
rename to t/yacc-depend2.sh
diff --git a/tests/yacc-dist-nobuild-subdir.test b/t/yacc-dist-nobuild-subdir.sh
similarity index 100%
rename from tests/yacc-dist-nobuild-subdir.test
rename to t/yacc-dist-nobuild-subdir.sh
diff --git a/tests/yacc-dist-nobuild.test b/t/yacc-dist-nobuild.sh
similarity index 100%
rename from tests/yacc-dist-nobuild.test
rename to t/yacc-dist-nobuild.sh
diff --git a/tests/yacc-line.test b/t/yacc-line.sh
similarity index 100%
rename from tests/yacc-line.test
rename to t/yacc-line.sh
diff --git a/tests/yacc-mix-c-cxx.test b/t/yacc-mix-c-cxx.sh
similarity index 100%
rename from tests/yacc-mix-c-cxx.test
rename to t/yacc-mix-c-cxx.sh
diff --git a/tests/yacc-nodist.test b/t/yacc-nodist.sh
similarity index 100%
rename from tests/yacc-nodist.test
rename to t/yacc-nodist.sh
diff --git a/tests/yacc-pr204.test b/t/yacc-pr204.sh
similarity index 100%
rename from tests/yacc-pr204.test
rename to t/yacc-pr204.sh
diff --git a/tests/yacc-subobj-nodep.test b/t/yacc-subobj-nodep.sh
similarity index 100%
rename from tests/yacc-subobj-nodep.test
rename to t/yacc-subobj-nodep.sh
diff --git a/tests/yacc-weirdnames.test b/t/yacc-weirdnames.sh
similarity index 100%
rename from tests/yacc-weirdnames.test
rename to t/yacc-weirdnames.sh
diff --git a/tests/yacc.test b/t/yacc.sh
similarity index 100%
rename from tests/yacc.test
rename to t/yacc.sh
diff --git a/tests/yacc2.test b/t/yacc2.sh
similarity index 100%
rename from tests/yacc2.test
rename to t/yacc2.sh
diff --git a/tests/yacc4.test b/t/yacc4.sh
similarity index 100%
rename from tests/yacc4.test
rename to t/yacc4.sh
diff --git a/tests/yacc5.test b/t/yacc5.sh
similarity index 100%
rename from tests/yacc5.test
rename to t/yacc5.sh
diff --git a/tests/yacc7.test b/t/yacc7.sh
similarity index 100%
rename from tests/yacc7.test
rename to t/yacc7.sh
diff --git a/tests/yacc8.test b/t/yacc8.sh
similarity index 100%
rename from tests/yacc8.test
rename to t/yacc8.sh
diff --git a/tests/yaccdry.test b/t/yaccdry.sh
similarity index 100%
rename from tests/yaccdry.test
rename to t/yaccdry.sh
diff --git a/tests/yaccpp.test b/t/yaccpp.sh
similarity index 100%
rename from tests/yaccpp.test
rename to t/yaccpp.sh
diff --git a/tests/yaccvpath.test b/t/yaccvpath.sh
similarity index 100%
rename from tests/yaccvpath.test
rename to t/yaccvpath.sh
diff --git a/tests/yflags-cmdline-override.test b/t/yflags-cmdline-override.sh
similarity index 100%
rename from tests/yflags-cmdline-override.test
rename to t/yflags-cmdline-override.sh
diff --git a/tests/yflags-conditional.test b/t/yflags-conditional.sh
similarity index 100%
rename from tests/yflags-conditional.test
rename to t/yflags-conditional.sh
diff --git a/tests/yflags-d-false-positives.test b/t/yflags-d-false-positives.sh
similarity index 100%
rename from tests/yflags-d-false-positives.test
rename to t/yflags-d-false-positives.sh
diff --git a/tests/yflags-force-conditional.test b/t/yflags-force-conditional.sh
similarity index 100%
rename from tests/yflags-force-conditional.test
rename to t/yflags-force-conditional.sh
diff --git a/tests/yflags-force-override.test b/t/yflags-force-override.sh
similarity index 100%
rename from tests/yflags-force-override.test
rename to t/yflags-force-override.sh
diff --git a/tests/yflags-var-expand.test b/t/yflags-var-expand.sh
similarity index 100%
rename from tests/yflags-var-expand.test
rename to t/yflags-var-expand.sh
diff --git a/tests/yflags.test b/t/yflags.sh
similarity index 100%
rename from tests/yflags.test
rename to t/yflags.sh
diff --git a/tests/yflags2.test b/t/yflags2.sh
similarity index 100%
rename from tests/yflags2.test
rename to t/yflags2.sh
diff --git a/tests/.gitignore b/tests/.gitignore
deleted file mode 100644
index 7b04f17..0000000
--- a/tests/.gitignore
+++ /dev/null
@@ -1,9 +0,0 @@
-/aclocal-*
-/automake-*
-/defs-static
-/testsuite-part.am
-/*-w.tap
-/*-w.test
-/*.dir
-/*.log
-/*.trs
diff --git a/tests/Makefile.am b/tests/Makefile.am
deleted file mode 100644
index a4d5a12..0000000
--- a/tests/Makefile.am
+++ /dev/null
@@ -1,276 +0,0 @@
-## Process this file with automake to create Makefile.in
-
-# Copyright (C) 1996-2012 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/>.
-
-# Run the tests with the shell detected at configure time.
-LOG_COMPILER = $(SHELL)
-
-TEST_EXTENSIONS = .pl .test .tap
-TEST_LOG_COMPILER = $(LOG_COMPILER)
-TAP_LOG_COMPILER = $(LOG_COMPILER)
-PL_LOG_COMPILER = $(PERL)
-AM_PL_LOG_FLAGS = -Mstrict -I $(top_builddir)/lib -I $(top_srcdir)/lib -w
-
-TAP_LOG_DRIVER = AM_TAP_AWK='$(AWK)' $(SHELL) $(top_srcdir)/lib/tap-driver.sh
-
-AM_TAP_LOG_DRIVER_FLAGS = --merge
-
-EXTRA_DIST = ax/is
-
-TESTS = ## Will be updated later.
-
-# Some testsuite-influential variables should be overridable from the
-# test scripts, but not from the environment.
-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;
-# 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 += AM_TESTS_REEXEC=no; export AM_TESTS_REEXEC;
-# 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
-AM_TESTS_ENVIRONMENT += stderr_fileno_=9; export stderr_fileno_;
-
-# Hand-written tests.
-
-include $(srcdir)/list-of-tests.mk
-
-TESTS += $(handwritten_TESTS)
-EXTRA_DIST += $(handwritten_TESTS)
-
-# Automatically-generated tests wrapping hand-written ones.
-# Also, automatically-computed dependencies for tests.
-
-include $(srcdir)/testsuite-part.am
-
-TESTS += $(generated_TESTS)
-EXTRA_DIST += $(generated_TESTS)
-
-$(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 $@
-EXTRA_DIST += gen-testsuite-part
-
-$(generated_TESTS) $(srcdir)/testsuite-part.am: \
- gen-testsuite-part list-of-tests.mk Makefile.am $(handwritten_TESTS)
-
-# Static dependencies valid for each test case.
-check_SCRIPTS = wrap/aclocal-$(APIVERSION) wrap/automake-$(APIVERSION)
-check_DATA = defs defs-static plain-functions.sh tap-functions.sh
-EXTRA_DIST += tap-functions.sh plain-functions.sh
-
-# Few more static dependencies.
-distcheck-missing-m4.log distcheck-outdated-m4.log: distcheck-hook-m4.am
-EXTRA_DIST += distcheck-hook-m4.am
-
-# 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|$(abs_top_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|$(AWK)|g' \
- -e 's|@address@hidden|$(PERL)|g' \
- -e 's|@address@hidden|$(EGREP)|g' \
- -e 's|@address@hidden|$(FGREP)|g' \
- -e 's|@address@hidden|$(CPPFLAGS)|g' \
- -e 's|@address@hidden|$(CC)|g' \
- -e 's|@address@hidden|$(CFLAGS)|g' \
- -e 's|@address@hidden|$(CXX)|g' \
- -e 's|@address@hidden|$(CXXFLAGS)|g' \
- -e 's|@address@hidden|$(F77)|g' \
- -e 's|@address@hidden|$(FFLAGS)|g' \
- -e 's|@address@hidden|$(FC)|g' \
- -e 's|@address@hidden|$(FCFLAGS)|g' \
- -e 's|@address@hidden|$(GNU_CC)|g' \
- -e 's|@address@hidden|$(GNU_CFLAGS)|g' \
- -e 's|@address@hidden|$(GNU_CXX)|g' \
- -e 's|@address@hidden|$(GNU_CXXFLAGS)|g' \
- -e 's|@address@hidden|$(GNU_F77)|g' \
- -e 's|@address@hidden|$(GNU_FFLAGS)|g' \
- -e 's|@address@hidden|$(GNU_FC)|g' \
- -e 's|@address@hidden|$(GNU_FCFLAGS)|g' \
- -e 's|@address@hidden|$(GNU_GCJ)|g' \
- -e 's|@address@hidden|$(GNU_GCJFLAGS)|g' \
- -e 's|@address@hidden|$(YACC)|g' \
- -e 's|@address@hidden|$(LEX)|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
-# 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
-
-## Checking the list of tests.
-test_subdirs = . pm
-include $(srcdir)/CheckListOfTests.am
-
-# Run the testsuite with the installed aclocal and automake.
-installcheck-local:
- am_running_installcheck=yes $(MAKE) check
-
-clean-local: clean-local-check
-.PHONY: clean-local-check
-clean-local-check:
- -set x *.dir; shift; \
- if test "$$#,$$1" = "1,*.dir"; then \
- : there is no test directory to clean; \
- else \
- find "$$@" -type d ! -perm -700 -exec chmod u+rwx {} ';'; \
- rm -rf "$$@"; \
- fi;
-
-## Run the testsuite through the 'prove' utility. Mostly for maintainers,
-## and to find out possible incompatibilities between 'prove' and the
-## Automake own TAP driver.
-
-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); \
- }
-
-EXTRA_DIST += prove-runner
-
-.PHONY: prove installprove
-prove installprove: $(TESTS) prove-runner defs-static
- @exit_status=0; \
-## The testsuite can be run either using the automake build tree or
-## the already-installed automake package.
- case '$@' in \
- install*) am_running_installcheck=yes;; \
- *) am_running_installcheck=no;; \
- esac; \
- export am_running_installcheck; \
-## XXX Our poor-man way to handle inter-tests dependencies without the
-## XXX help of make. This is obviously fragile and doesn't scale,
-## XXX but for now it's good enough since we have only one possible
-## XXX inter-tests dependency at the moment.
- 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; \
-## For VPATH builds.
- 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; \
-## Do not stop if there's a failure here, we want to run the following
-## tests anyway.
- echo "$@: running pre-requisite tests ..."; \
- $(AM_PROVECMD) || exits_status=$$?; \
- echo "$@: done. We'll shortly run the main testsuite."; \
- fi; \
-## Handle VPATH builds, and ensure that the tests have a properly
-## qualified path.
- tests=`\
- for t in $(TESTS); do \
-## XXX In next line, another hack for inter-tests dependencies: this
-## XXX can't run concurrently to the tests that use the data files it
-## XXX generates.
- 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`; \
-## Extra environment, mostly for use by 'prove-runner'.
-## XFAIL_TESTS gets normalized to play nicer with VPATH builds.
- 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; \
-## For consistency with the Automake testsuite harness, that exports
-## this unconditionally in the test scripts' environment.
- srcdir='$(srcdir)'; export srcdir; \
-## Here we go.
- $(AM_PROVECMD) || exit_status=$$?; \
- exit $$exit_status;
diff --git a/tests/README b/tests/README
deleted file mode 100644
index e0d98df..0000000
--- a/tests/README
+++ /dev/null
@@ -1,294 +0,0 @@
- The Automake-NG test suite
-
-
-User interface
-==============
-
-
-Running the tests
------------------
-
- To run all tests:
-
- make -k check
-
- You can use '-jN' for faster completion (it even helps on a
- uniprocessor system, due to unavoidable sleep delays, as
- noted below).
-
- To rerun only failed tests:
-
- make -k recheck
-
- To run only tests that are newer than their last results:
-
- make -k check RECHECK_LOGS=
-
- To run only selected tests:
-
- make -k check TESTS="foo.test bar.test"
-
- To run the tests in cross-compilation mode, you should first configure
- the Automake-NG source tree to a cross-compilation setup. For example,
- to run with a Linux-to-MinGW cross compiler, you will need something
- like this:
-
- ./configure --host i586-mingw32msvc --build i686-pc-linux-gnu
-
- To avoid possible spurious error, you really have to *explicitly* specify
- '--build' in addition to '--host'; the 'lib/config.guess' script can help
- determine the correct value to pass to '--build'.
- Then you can just run the testsuite in the usual way, and the test cases
- using a compiler should automatically use a cross-compilation setup.
-
-
-Interpretation
---------------
-
- Successes:
- PASS - success
- XFAIL - expected failure
-
- Failures:
- FAIL - failure
- XPASS - unexpected success
-
- Other:
- SKIP - skipped tests (third party tools not available)
- ERROR - some unexpected error condition
-
-
-Getting details from failures
------------------------------
-
- By default, verbose output of a test 'foo.test' or 'foo.tap' is
- retained in the log file 'foo.log'. A summary log is created in
- the file 'test-suite.log'.
-
- You can limit the set of files using the TESTS variable, and enable
- detailed test output at the end of the test run with the VERBOSE
- variable:
-
- make check VERBOSE=x TESTS='first.test second.test ...'
-
- You can also run the tests by hand, as explained in the next subsection.
-
-
-About the tests
----------------
-
- There are two kinds of tests in the Automake-NG testsuite (both
- implemented as shell scripts). The scripts with the '.test' suffix
- are "simple" tests, their outcome completely determined by their exit
- status. Those with the '.tap' suffix use the TAP protocol. If you
- want to run a test by hand, you can do so directly if it is a simple
- test:
-
- ./nogzip.test
-
- (it will be verbose by default), while if it is a TAP test you can pass
- it to your preferred TAP runner, as in e.g.:
-
- prove --verbose --merge ./add-missing.tap
-
- The tests can also be run directly in a VPATH build, as with:
-
- /path/to/srcdir/tests/nogzip.test
- prove --verbose --merge /path/to/srcdir/tests/add-missing.tap
-
-
-Supported shells
-----------------
-
- By default, the tests are run by the $SHELL detected at configure
- time. They also take care to re-execute themselves with that shell,
- unless told not to. So, to run the tests with a different shell, say
- '/path/to/another/sh', the user must use:
-
- AM_TESTS_REEXEC=no /path/to/another/sh ./foo.test
- AM_TESTS_REEXEC=no prove -v -e /path/to/another/sh ./bar.tap
-
- to run a test directly, and:
-
- make check LOG_COMPILER=/path/to/sh
-
- to run the test(s) through the makefile test driver.
-
- The test scripts are written with portability in mind, so that they
- should run with any decent Bourne-compatible shell.
-
- However, some care must be used with Zsh, since, when not directly
- started in Bourne-compatibility mode, it has some incompatibilities
- in the handling of $0 which conflict with our usage. Our testsuite
- can automatically work around these incompatibilities when a version
- 4.3 or later of Zsh is used, but unfortunately not when an older
- version of Zsh is used. Thus, if you want to run a test script, say
- foo.test, with Zsh 4.2, you *can't* simply do "zsh foo.test", but
- you *must* resort to:
-
- AM_TESTS_REEXEC=no zsh -o no_function_argzero foo.test
-
- Note that this problem does not occur if Zsh is executed through
- a symlink with a basename of 'sh', since in that case Zsh starts
- in Bourne compatibility mode. So you should be perfectly safe
- when /bin/sh is Zsh, even a it's version < 4.3.
-
-
-Reporting failures
-------------------
-
- Send verbose output, i.e., the contents of test-suite.log, of failing
- tests to <address@hidden>, along with the usual version numbers
- (which Automake-NG, which Autoconf, which operating system, which make
- version, which shell, etc.)
-
-
-
-Writing test cases
-==================
-
-
-Do
---
-
- If you plan to fix a bug, write the test case first. This way you'll
- make sure the test catches the bug, and that it succeeds once you have
- fixed the bug.
-
- Add a copyright/license paragraph.
-
- Explain what the test does.
-
- Cite the PR number (if any), and the original reporter (if any), so
- we can find or ask for information if needed.
-
- If a test checks examples or idioms given in the documentation, make
- sure the documentation reference them appropriately in comments, as in:
- @c Keep in sync with autodist-config-headers.test.
- @example
- ...
- @end example
-
- Use "required=..." for required tools. Do not explicitly require
- tools which can be taken for granted because they're listed in the
- GNU Coding Standards (for example, 'gzip').
-
- Include ./defs in every test script (see existing tests for examples
- of how to do this).
-
- Use the 'skip_' function to skip tests, with a meaningful message if
- possible. Where convenient, use the 'warn_' function to print generic
- warnings, the 'fail_' function for test failures, and the 'fatal_'
- function for hard errors. In case a hard error is due to a failed
- set-up of a test scenario, you can use the 'framework_fail_' function
- instead.
-
- For tests that use the 'parallel-tests' Automake-NG option, set the
- shell variable 'am_parallel_tests' to "yes" before including ./defs.
- For tests that are *not* meant to work with the 'parallel-tests'
- Automake-NG option (these should be very very few), set the shell
- variable 'am_parallel_tests' to "no" before including ./defs.
-
- Some tests in the Automake-NG testsuite are auto-generated; those tests
- might have custom extensions, but their basename (that is, with such
- extension stripped) is expected to end with "-w" string, optionally
- followed by decimal digits. For example, the name of a valid
- auto-generated test can be 'color-w.test' or 'tap-signal-w09.tap'.
- Please don't name hand-written tests in a way that could cause them
- to be confused with auto-generated tests; for example, 'u-v-w.test'
- or 'option-w0.tap' are *not* valid name for hand-written tests.
-
- ./defs brings in some commonly required files, and sets a skeleton
- configure.ac. If possible, append to this file. In some cases
- you'll have to overwrite it, but this should be the exception. Note
- that configure.ac registers Makefile.in but do not output anything by
- default. If you need ./configure to create Makefile, append AC_OUTPUT
- to configure.ac. In case you don't want ./defs to pre-populate your
- test directory (which is a rare occurrence), set the 'am_create_testdir'
- shell variable to "empty" before sourcing ./defs.
-
- By default, the testcases are run with the errexit shell flag on,
- to make it easier to catch failures you might not have thought of.
- If this is undesirable in some testcase, you can use "set +e" to
- disable the errexit flag (but please do so only if you have a very
- good reason).
-
- End the test script with a ":" or "Exit 0". Otherwise, when somebody
- changes the test by adding a failing command after the last command,
- the test will spuriously fail because $? is nonzero at the end. Note
- that this is relevant even if the errexit shell flag is on, in case
- the test contains commands like "grep ... Makefile.in && Exit 1" (and
- there are indeed a lot of such tests).
-
- Use $ACLOCAL, $AUTOMAKE, $AUTOCONF, $AUTOUPDATE, $AUTOHEADER,
- $PERL, $MAKE, $EGREP, and $FGREP, instead of the corresponding
- commands.
-
- Use $sleep when you have to make sure that some file is newer
- than another.
-
- Use cat or grep or similar commands to display (part of) files that
- may be interesting for debugging, so that when a user send a verbose
- output we don't have to ask him for more details. Display stderr
- output on the stderr file descriptor. If some redirected command is
- likely to fail, display its output even in the failure case, before
- exiting.
-
- Use 'Exit' rather than 'exit' to abort for leave early from a test
- case.
-
- Use '$PATH_SEPARATOR', not hard-coded ':', as the separator of
- PATH's entries.
-
- It's more important to make sure that a feature works, than make sure
- that the output of Automake-NG looks correct. It might look correct
- and still fail to work. In other words, prefer running 'make' over
- grepping Makefile.in (or do both).
-
- If you run $ACLOCAL, $AUTOMAKE or $AUTOCONF several times in the
- same test and change configure.ac by the meantime, do
- rm -rf autom4te*.cache
- before the following runs. On fast machines the new configure.ac
- could otherwise have the same timestamp as the old autom4te.cache.
-
- Use filenames with two consecutive spaces when testing that some
- 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-ng (as with "make installcheck"). For
- example, if you need to copy or grep an Automake-ng 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.
-
- When writing input for lex, include the following in the definitions
- section:
- %{
- #define YY_NO_UNISTD_H 1
- %}
- to accomodate non-ANSI systems, since GNU flex generates code that
- includes unistd.h otherwise. Also add:
- %option never-interactive
- to the definitions section if the generated code is to be compiled
- by a C++ compiler, for similar reasons (i.e., the isatty(3) function
- from that same unistd.h header would be required otherwise).
-
- 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>.
-
-
-Do not
-------
-
- Do not test an Automake-NG error with "$AUTOMAKE && Exit 1", or in
- three years we'll discover that this test failed for some other bogus
- reason. This happened many times. Better use something like
-
- AUTOMAKE_fails
- grep 'expected diagnostic' stderr
-
- (Note this doesn't prevent the test from failing for another
- reason, but at least it makes sure the original error is still
- here.)
diff --git a/tests/ccnoco.test b/tests/ccnoco.test
deleted file mode 100755
index 20d516a..0000000
--- a/tests/ccnoco.test
+++ /dev/null
@@ -1,83 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2001-2012 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/>.
-
-# Test to make sure we can compile when the compiler doesn't
-# understand '-c -o'.
-
-required=gcc
-. ./defs || Exit 1
-
-cat >> configure.ac << 'END'
-AC_PROG_CC
-AM_PROG_CC_C_O
-# Make sure that $CC can be used after AM_PROG_CC_C_O.
-$CC -v || exit 1
-AC_OUTPUT
-END
-
-cat > Makefile.am << 'END'
-bin_PROGRAMS = wish
-wish_SOURCES = a.c
-# Make sure we need something strange.
-wish_CFLAGS = -g
-END
-
-cat > a.c << 'END'
-#include <stdio.h>
-
-int main ()
-{
- printf ("hi\n");
-}
-END
-
-cat > Mycomp << END
-#!/bin/sh
-
-case " \$* " in
- *\ -c*\ -o* | *\ -o*\ -c*)
- exit 1
- ;;
-esac
-
-# Use '$CC', not 'gcc', to honour the compiler chosen by 'tests/defs'.
-exec $CC "\$@"
-END
-
-chmod +x Mycomp
-
-# Make sure the compiler doesn't understand '-c -o'
-CC=`pwd`/Mycomp
-export CC
-
-$ACLOCAL
-$AUTOCONF
-$AUTOMAKE --copy --add-missing
-
-for vpath in : false; do
- if $vpath; then
- srcdir=..
- mkdir build
- cd build
- else
- srcdir=.
- fi
- $srcdir/configure
- $MAKE
- cd $srcdir
-done
-
-:
diff --git a/tests/ccnoco3.test b/tests/ccnoco3.test
deleted file mode 100755
index 3b3e66d..0000000
--- a/tests/ccnoco3.test
+++ /dev/null
@@ -1,77 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2001-2012 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/>.
-
-# Test to make sure 'compile' doesn't call 'mv SRC SRC'.
-
-required=gcc
-. ./defs || Exit 1
-
-cat >> configure.ac << 'END'
-AC_PROG_CC
-AM_PROG_CC_C_O
-$CC --version; $CC -v; # For debugging.
-AC_OUTPUT
-END
-
-cat > Makefile.am << 'END'
-AUTOMAKE_OPTIONS = subdir-objects
-bin_PROGRAMS = wish
-wish_SOURCES = a.c
-END
-
-mkdir sub
-
-cat > a.c << 'END'
-#include <stdio.h>
-
-int main ()
-{
- printf ("hi\n");
-}
-END
-
-cat > Mycomp << END
-#!/bin/sh
-
-case " \$* " in
- *\ -c*\ -o* | *\ -o*\ -c*)
- exit 1
- ;;
-esac
-
-# Use '$CC', not 'gcc', to honour the compiler chosen by 'tests/defs'.
-exec $CC "\$@"
-END
-
-chmod +x Mycomp
-
-$ACLOCAL
-$AUTOCONF
-$AUTOMAKE --copy --add-missing
-
-mkdir build
-cd build
-
-# Make sure the compiler doesn't understand '-c -o'
-CC=`pwd`/../Mycomp
-export CC
-
-../configure
-$MAKE 2>stderr || { cat stderr >&2; Exit 1; }
-cat stderr >&2
-grep 'mv.*the same file' stderr && Exit 1
-
-:
diff --git a/tests/defs b/tests/defs
deleted file mode 100644
index 77f848b..0000000
--- a/tests/defs
+++ /dev/null
@@ -1,976 +0,0 @@
-# -*- shell-script -*-
-#
-# Copyright (C) 1996-2012 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/>.
-
-########################################################
-### IMPORTANT NOTE: keep this file 'set -e' clean. ###
-########################################################
-
-# NOTE: This file should execute correctly with any system's /bin/sh
-# shell, and not only with configure-time detected $CONFIG_SHELL,
-# *until differently and explicitly specified*.
-
-## -------------------------------------------------------- ##
-## Source static setup and definitions for the testsuite. ##
-## -------------------------------------------------------- ##
-
-# Ensure we are running from the right directory.
-test -f ./defs-static || {
- echo "$0: ./defs-static: not found in current directory" >&2
- exit 99
-}
-
-# Source the shell sanitization and variables' definitions.
-. ./defs-static || exit 99
-
-# Enable the errexit shell flag early.
-set -e
-
-# The name of the current test (without the '.test' suffix).
-# Test scripts can override it if they need to (but this should
-# be done carefully, and *before* including ./defs).
-if test -z "$me"; then
- # Guard against failure to spawn sed (seen on MSYS), or empty $argv0.
- me=`echo "$argv0" | sed -e 's,.*[\\/],,;s/\.test$//;s/\.tap$//;'` \
- && test -n "$me" \
- || { echo "$argv0: failed to define \$me" >&2; exit 99; }
-fi
-
-## ---------------------- ##
-## Early sanity checks. ##
-## ---------------------- ##
-
-# A single whitespace character.
-sp=' '
-# A tabulation character.
-tab=' '
-# A newline character.
-nl='
-'
-
-# As autoconf-generated configure scripts do, ensure that IFS
-# is defined initially, so that saving and restoring $IFS works.
-IFS=$sp$tab$nl
-
-# Ensure $testsrcdir is set correctly.
-test -f "$testsrcdir/defs-static.in" || {
- echo "$me: $testsrcdir/defs-static.in not found, check \$testsrcdir" >&2
- exit 99
-}
-
-# Ensure $testbuilddir is set correctly.
-test -f "$testbuilddir/defs-static" || {
- echo "$me: $testbuilddir/defs-static not found, check \$testbuilddir" >&2
- exit 99
-}
-
-
-## ------------------------------------ ##
-## Ensure we run with a proper shell. ##
-## ------------------------------------ ##
-
-# Make sure we run with the shell detected at configure time (unless
-# the user forbids it).
-case ${AM_TESTS_REEXEC-yes} in
- n|no|false|0)
- ;;
- *)
- # Ensure we can find ourselves.
- if test ! -f "$0"; then
- echo "$me: unable to find myself: $0" >&2
- exit 99
- fi
- AM_TESTS_REEXEC=no; export AM_TESTS_REEXEC
- # Cannot simply do "opts=$-", since the content of $- is not
- # portable among different shells. So try to propagate only
- # the portable and interesting options.
- case $- in
- *x*v*|*v*x) opts=-vx;;
- *v*) opts=-v;;
- *x*) opts=-x;;
- *) opts=;;
- esac
- echo $me: exec $SHELL $opts "$0" "$*"
- exec $SHELL $opts "$0" ${1+"$@"} || {
- echo "$me: failed to re-execute with $SHELL" >&2
- exit 99
- }
- ;;
-esac
-
-# NOTE: From this point on, we can assume this file is being executed
-# by the configure-time detected $CONFIG_SHELL.
-
-
-## ----------------------- ##
-## Early debugging info. ##
-## ----------------------- ##
-
-echo "Running from installcheck: $am_running_installcheck"
-echo "Using TAP: $am_using_tap"
-echo "PATH = $PATH"
-
-
-## ---------------------- ##
-## Environment cleanup. ##
-## ---------------------- ##
-
-# Temporarily disable this, since some shells (e.g., older version
-# of Bash) can return a non-zero exit status upon the when a non-set
-# variable is unset.
-set +e
-
-# Unset some make-related variables that may cause $MAKE to act like
-# a recursively invoked sub-make. Any $MAKE invocation in a test is
-# conceptually an independent invocation, not part of the main
-# 'automake' build.
-unset MFLAGS MAKEFLAGS AM_MAKEFLAGS MAKELEVEL
-# Unset verbosity flag.
-unset V
-# Also unset variables that might let "make install" divert files
-# into unwanted directories.
-unset DESTDIR
-unset prefix exec_prefix bindir datarootdir datadir docdir dvidir
-unset htmldir includedir infodir libdir libexecdir localedir mandir
-unset oldincludedir pdfdir psdir sbindir sharedstatedir sysconfdir
-# Unset variables that might change the "make distcheck" behaviour.
-unset DISTCHECK_CONFIGURE_FLAGS AM_DISTCHECK_CONFIGURE_FLAGS
-# The tests call "make -e" but we do not want $srcdir from the environment
-# to override the definition from the Makefile.
-unset srcdir
-# Also unset variables that control our test driver. While not
-# conceptually independent, they cause some changed semantics we
-# need to control (and test for) in some of the tests to ensure
-# backward-compatible behavior.
-unset TESTS_ENVIRONMENT AM_TESTS_ENVIRONMENT
-unset DISABLE_HARD_ERRORS
-unset AM_COLOR_TESTS
-unset TESTS
-unset XFAIL_TESTS
-unset TEST_LOGS
-unset TEST_SUITE_LOG
-unset RECHECK_LOGS
-unset VERBOSE
-for pfx in TEST_ TAP_ ''; do
- unset ${pfx}LOG_COMPILER
- unset ${pfx}LOG_COMPILE # Not a typo!
- unset ${pfx}LOG_FLAGS
- unset AM_${pfx}LOG_FLAGS
- unset ${pfx}LOG_DRIVER
- unset ${pfx}LOG_DRIVER_FLAGS
- unset AM_${pfx}LOG_DRIVER_FLAGS
-done
-unset pfx
-
-# Re-enable, it had been temporarily disabled above.
-set -e
-
-## ---------------------------- ##
-## Auxiliary shell functions. ##
-## ---------------------------- ##
-
-# Tell whether we should keep the test directories around, even in
-# case of success. By default, we don't.
-am_keeping_testdirs ()
-{
- case $keep_testdirs in
- ""|n|no|NO) return 1;;
- *) return 0;;
- esac
-}
-
-# This is used in 'Exit' and in the exit trap. See comments in the latter
-# for more information,
-am__test_skipped=no
-
-# We use a trap below for cleanup. This requires us to go through
-# hoops to get the right exit status transported through the signal.
-# So use "Exit STATUS" instead of "exit STATUS" inside of the tests.
-# Turn off errexit here so that we don't trip the bug with OSF1/Tru64
-# sh inside this function.
-Exit ()
-{
- set +e
- # See comments in the exit trap for the reason we do this.
- test 77 = $1 && am__test_skipped=yes
- (exit $1); exit $1
-}
-
-if test $am_using_tap = yes; then
- am_funcs_file=tap-functions.sh
-else
- am_funcs_file=plain-functions.sh
-fi
-
-if test -f "$testsrcdir/$am_funcs_file"; then
- . "$testsrcdir/$am_funcs_file" || {
- echo "$me: error sourcing $testsrcdir/$am_funcs_file" >&2
- Exit 99
- }
-else
- echo "$me: $testsrcdir/$am_funcs_file not found, check \$testsrcdir" >&2
- Exit 99
-fi
-unset am_funcs_file
-
-# cross_compiling
-# ---------------
-# Tell whether we are cross-compiling. This is especially useful to skip
-# tests (or portions of them) that requires a native compiler.
-cross_compiling ()
-{
- # Quoting from the autoconf manual:
- # ... [$host_alias and $build both] default to the result of running
- # config.guess, unless you specify either --build or --host. In
- # this case, the default becomes the system type you specified.
- # If you specify both, *and they're different*, configure enters
- # cross compilation mode (so it doesn't run any tests that require
- # execution).
- test x"$host_alias" != x && test x"$build_alias" != x"$host_alias"
-}
-
-# is_newest FILE FILES
-# --------------------
-# Return false if any file in FILES is newer than FILE.
-# Resolve ties in favor of FILE.
-is_newest ()
-{
- is_newest_files=`find "$@" -prune -newer "$1"`
- test -z "$is_newest_files"
-}
-
-# is_blocked_signal SIGNAL-NUMBER
-# --------------------------------
-# Return success if the given signal number is blocked in the shell,
-# return a non-zero exit status and print a proper diagnostic otherwise.
-is_blocked_signal ()
-{
- # Use perl, since trying to do this portably in the shell can be
- # very tricky, if not downright impossible. For reference, see:
- # <http://lists.gnu.org/archive/html/bug-autoconf/2011-09/msg00004.html>
- if $PERL -w -e '
- use strict;
- use warnings FATAL => "all";
- use POSIX;
- my %oldsigaction = ();
- sigaction('"$1"', 0, \%oldsigaction);
- exit ($oldsigaction{"HANDLER"} eq "IGNORE" ? 0 : 77);
- '; then
- return 0
- elif test $? -eq 77; then
- return 1
- else
- fatal_ "couldn't determine whether signal $1 is blocked"
- fi
-}
-
-# AUTOMAKE_run [-e STATUS] [-d DESCRIPTION] [--] [AUTOMAKE-ARGS...]
-# -----------------------------------------------------------------
-# Run automake with AUTOMAKE-ARGS, and fail if it doesn't exit with
-# STATUS. Should be polymorphic for TAP and "plain" tests. The
-# DESCRIPTION, when provided, is used for console reporting, only if
-# the TAP protocol is in use in the current test script.
-AUTOMAKE_run ()
-{
- am__desc=
- am__exp_rc=0
- while test $# -gt 0; do
- case $1 in
- -d) am__desc=$2; shift;;
- -e) am__exp_rc=$2; shift;;
- --) shift; break;;
- # Don't fail on unknown option: assume they (and the rest of the
- # command line) are to be passed verbatim to automake (so stop our
- # own option parsing).
- *) break;;
- esac
- shift
- done
- am__got_rc=0
- $AUTOMAKE ${1+"$@"} >stdout 2>stderr || am__got_rc=$?
- cat stderr >&2
- cat stdout
- if test $am_using_tap != yes; then
- test $am__got_rc -eq $am__exp_rc || Exit 1
- return
- fi
- if test -z "$am__desc"; then
- if test $am__got_rc -eq $am__exp_rc; then
- am__desc="automake exited $am__got_rc"
- else
- am__desc="automake exited $am__got_rc, expecting $am__exp_rc"
- fi
- fi
- command_ok_ "$am__desc" test $am__got_rc -eq $am__exp_rc
-}
-
-# AUTOMAKE_fails [-d DESCRIPTION] [OPTIONS...]
-# --------------------------------------------
-# Run automake with OPTIONS, and fail if doesn't exit with status 1.
-# Should be polymorphic for TAP and "plain" tests. The DESCRIPTION,
-# when provided, is used for console reporting, only if the TAP
-# protocol is in use in the current test script.
-AUTOMAKE_fails ()
-{
- AUTOMAKE_run -e 1 ${1+"$@"}
-}
-
-# extract_configure_help { --OPTION | VARIABLE-NAME } [FILES]
-# -----------------------------------------------------------
-# Use this to extract from the output of "./configure --help" (or similar)
-# the description or help message associated to the given --OPTION or
-# VARIABLE-NAME.
-extract_configure_help ()
-{
- am__opt_re='' am__var_re=''
- case $1 in
- --*'=') am__opt_re="^ $1";;
- --*'[=]') am__opt_re='^ '`printf '%s\n' "$1" | sed 's/...$//'`'\[=';;
- --*) am__opt_re="^ $1( .*|$)";;
- *) am__var_re="^ $1( .*|$)";;
- esac
- shift
- if test x"$am__opt_re" != x; then
- LC_ALL=C awk '
- /'"$am__opt_re"'/ { print; do_print = 1; next; }
- /^$/ { do_print = 0; next }
- /^ --/ { do_print = 0; next }
- (do_print == 1) { print }
- ' ${1+"$@"}
- else
- LC_ALL=C awk '
- /'"$am__var_re"'/ { print; do_print = 1; next; }
- /^$/ { do_print = 0; next }
- /^ [A-Z][A-Z0-9_]* / { do_print = 0; next }
- /^ [A-Z][A-Z0-9_]*$/ { do_print = 0; next }
- (do_print == 1) { print }
- ' ${1+"$@"}
- fi
-}
-
-# grep_configure_help { --OPTION | VARIABLE-NAME } REGEXP
-# -------------------------------------------------------
-# Grep the section of "./configure --help" output associated with either
-# --OPTION or VARIABLE-NAME for the given *extended* regular expression.
-grep_configure_help ()
-{
- ./configure --help > am--all-help \
- || { cat am--all-help; Exit 1; }
- cat am--all-help
- extract_configure_help "$1" am--all-help > am--our-help \
- || { cat am--our-help; Exit 1; }
- cat am--our-help
- $EGREP "$2" am--our-help || Exit 1
-}
-
-# seq_ - print a sequence of numbers
-# ----------------------------------
-# This function simulates GNU seq(1) portably. Valid usages:
-# - seq LAST
-# - seq FIRST LAST
-# - seq FIRST INCREMENT LAST
-seq_ ()
-{
- case $# in
- 0) fatal_ "seq_: missing argument";;
- 1) seq_first=1 seq_incr=1 seq_last=$1;;
- 2) seq_first=$1 seq_incr=1 seq_last=$2;;
- 3) seq_first=$1 seq_incr=$2 seq_last=$3;;
- *) fatal_ "seq_: too many arguments";;
- esac
- # Try to avoid forks if possible.
- case "$BASH_VERSION" in
- ""|[12].*)
- : Not bash, or a too old bash version. ;;
- *)
- # Use eval to protect dumber shells from parsing errors.
- eval 'for ((i = seq_first; i <= seq_last; i += seq_incr)); do
- echo $i
- done'
- return 0;;
- esac
- # Else, use GNU seq if available.
- seq "$@" && return 0
- # Otherwise revert to a slower loop using expr(1).
- i=$seq_first
- while test $i -le $seq_last; do
- echo $i
- i=`expr $i + $seq_incr`
- done
-}
-
-# rm_rf_ [FILES OR DIRECTORIES ...]
-# ---------------------------------
-# Recursively remove the given files or directory, also handling the case
-# of non-writable subdirectories.
-rm_rf_ ()
-{
- test $# -gt 0 || return 0
- # Ignore failures in find, we are only interested in failures of the
- # final rm.
- find "$@" -type d ! -perm -700 -exec chmod u+rwx {} \; || :
- rm -rf "$@"
-}
-
-# count_test_results total=N pass=N fail=N xpass=N xfail=N skip=N error=N
-# -----------------------------------------------------------------------
-# Check that a testsuite run driven by the parallel-tests harness has
-# had the specified numbers of test results (specified by kind).
-# This function assumes that the output of "make check" or "make recheck"
-# has been saved in the 'stdout' file in the current directory, and its
-# log in the 'test-suite.log' file.
-count_test_results ()
-{
- # Use a subshell so that we won't pollute the script namespace.
- (
- # TODO: Do proper checks on the arguments?
- total=ERR pass=ERR fail=ERR xpass=ERR xfail=ERR skip=ERR error=ERR
- eval "$@"
- # For debugging.
- $EGREP -i '(total|x?pass|x?fail|skip|error)' stdout || :
- rc=0
- # Avoid spurious failures with shells with "overly sensible"
- # errexit shell flag, such as e.g., Solaris /bin/sh.
- set +e
- test `grep -c '^PASS:' stdout` -eq $pass || rc=1
- test `grep -c '^XFAIL:' stdout` -eq $xfail || rc=1
- test `grep -c '^SKIP:' stdout` -eq $skip || rc=1
- test `grep -c '^FAIL:' stdout` -eq $fail || rc=1
- test `grep -c '^XPASS:' stdout` -eq $xpass || rc=1
- test `grep -c '^ERROR:' stdout` -eq $error || rc=1
- grep "^# TOTAL: *$total$" stdout || rc=1
- grep "^# PASS: *$pass$" stdout || rc=1
- grep "^# XFAIL: *$xfail$" stdout || rc=1
- grep "^# SKIP: *$skip$" stdout || rc=1
- grep "^# FAIL: *$fail$" stdout || rc=1
- grep "^# XPASS: *$xpass$" stdout || rc=1
- grep "^# ERROR: *$error$" stdout || rc=1
- test $rc -eq 0
- )
-}
-
-commented_sed_unindent_prog='
- /^$/b # Nothing to do for empty lines.
- x # Get x<indent> into pattern space.
- /^$/{ # No prior x<indent>, go prepare it.
- g # Copy this 1st non-blank line into pattern space.
- s/^\(['"$tab"' ]*\).*/x\1/ # Prepare x<indent> in pattern space.
- } # Now: x<indent> in pattern and <line> in hold.
- G # Build x<indent>\n<line> in pattern space, and
- h # duplicate it into hold space.
- s/\n.*$// # Restore x<indent> in pattern space, and
- x # exchange with the above duplicate in hold space.
- s/^x\(.*\)\n\1// # Remove leading <indent> from <line>.
- s/^x.*\n// # Restore <line> when there is no leading <indent>.
-'
-
-# unindent [input files...]
-# -------------------------
-# Remove the "proper" amount of leading whitespace from the given files,
-# and output the result on stdout. That amount is determined by looking
-# at the leading whitespace of the first non-blank line in the input
-# files. If no input file is specified, standard input is implied.
-unindent ()
-{
- if test x"$sed_unindent_prog" = x; then
- sed_unindent_prog=`printf '%s\n' "$commented_sed_unindent_prog" | sed -e
"s/ *# .*//"`
- fi
- sed "$sed_unindent_prog" ${1+"$@"}
-}
-sed_unindent_prog="" # Avoid interferences from the environment.
-
-# get_shell_script SCRIPT-NAME
-# -----------------------------
-# Fetch an Automake-provided shell script from the 'lib/' directory into
-# the current directory, and, if the '$am_test_prefer_config_shell'
-# variable is set to "yes", modify its shebang line to use $SHELL instead
-# of /bin/sh.
-get_shell_script ()
-{
- test ! -f "$1" || rm -f "$1" || return 99
- if test x"$am_test_prefer_config_shell" = x"yes"; then
- sed "1s|#!.*|#! $SHELL|" "$am_scriptdir/$1" > "$1" \
- && chmod a+x "$1" \
- || return 99
- else
- cp -f "$am_scriptdir/$1" . || return 99
- fi
- sed 10q "$1" # For debugging.
-}
-
-# require_xsi SHELL
-# -----------------
-# Skip the test if the given shell fails to support common XSI constructs.
-require_xsi ()
-{
- test $# -eq 1 || fatal_ "require_xsi needs exactly one argument"
- echo "$me: trying some XSI constructs with $1"
- $1 -c "$xsi_shell_code" || skip_all_ "$1 lacks XSI features"
-}
-# Shell code supposed to work only with XSI shells. Keep this in sync
-# with libtool.m4:_LT_CHECK_SHELL_FEATURES.
-xsi_shell_code='
- _lt_dummy="a/b/c"
- test
"${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \
- = c,a/b,b/c, \
- && eval '\''test $(( 1 + 1 )) -eq 2 \
- && test "${#_lt_dummy}" -eq 5'\'
-
-# fetch_tap_driver
-# ----------------
-# Fetch the Automake-provided TAP driver from the 'lib/' directory into
-# the current directory, and edit its shebang line so that it will be
-# run with the perl interpreter determined at configure time.
-fetch_tap_driver ()
-{
- # TODO: we should devise a way to make the shell TAP driver tested also
- # TODO: with /bin/sh, for better coverage.
- case $am_tap_implementation in
- perl)
- $PERL -MTAP::Parser -e 1 \
- || skip_all_ "cannot import TAP::Parser perl module"
- sed "1s|#!.*|#! $PERL -w|" "$am_scriptdir"/tap-driver.pl >tap-driver
- ;;
- shell)
- AM_TAP_AWK=$AWK; export AM_TAP_AWK
- sed "1s|#!.*|#! $SHELL|" "$am_scriptdir"/tap-driver.sh >tap-driver
- ;;
- *)
- fatal_ "invalid \$am_tap_implementation '$am_tap_implementation'" ;;
- esac \
- && chmod a+x tap-driver \
- || framework_failure_ "couldn't fetch $am_tap_implementation TAP driver"
- sed 10q tap-driver # For debugging.
-}
-# The shell/awk implementation of the TAP driver is still mostly dummy, so
-# use the perl implementation by default for the moment.
-am_tap_implementation=${am_tap_implementation-shell}
-
-# Usage: require_compiler_ {cc|c++|fortran|fortran77}
-require_compiler_ ()
-{
- case $# in
- 0) fatal_ "require_compiler_: missing argument";;
- 1) ;;
- *) fatal_ "require_compiler_: too many arguments";;
- esac
- case $1 in
- cc)
- am__comp_lang="C"
- am__comp_var=CC
- am__comp_flag_vars='CFLAGS CPPFLAGS'
- ;;
- c++)
- am__comp_lang="C++"
- am__comp_var=CXX
- am__comp_flag_vars='CXXFLAGS CPPFLAGS'
- ;;
- fortran)
- am__comp_lang="Fortran"
- am__comp_var=FC
- am__comp_flag_vars='FCFLAGS'
- ;;
- fortran77)
- am__comp_lang="Fortran 77"
- am__comp_var=F77
- am__comp_flag_vars='FFLAGS'
- ;;
- esac
- shift
- eval "am__comp_prog=\${$am__comp_var}" \
- || fatal_ "expanding \${$am__comp_var} in require_compiler_"
- case $am__comp_prog in
- "")
- fatal_ "botched configuration: \$$am__comp_var is empty";;
- false)
- skip_all_ "no $am__comp_lang compiler available";;
- autodetect|autodetected)
- # Let the ./configure commands in the test script try to determine
- # these automatically.
- unset $am__comp_var $am__comp_flag_vars;;
- *)
- # Pre-set these for the ./configure commands in the test script.
- export $am__comp_var $am__comp_flag_vars;;
- esac
- # Delete private variables.
- unset am__comp_lang am__comp_prog am__comp_var am__comp_flag_vars
-}
-
-## ----------------------------------------------------------- ##
-## Checks for required tools, and additional setups (if any) ##
-## required by them. ##
-## ----------------------------------------------------------- ##
-
-# Look for (and maybe set up) required tools and/or system features; skip
-# the current test if they are not found.
-for tool in : $required
-do
- # Check that each required tool is present.
- case $tool in
- :) ;;
- cc|c++|fortran|fortran77)
- require_compiler_ $tool;;
- xsi-lib-shell)
- if test x"$am_test_prefer_config_shell" = x"yes"; then
- require_xsi "$SHELL"
- else
- require_xsi "/bin/sh"
- fi
- ;;
- bzip2)
- # Do not use --version, older versions bzip2 still tries to compress
- # stdin.
- echo "$me: running bzip2 --help"
- bzip2 --help \
- || skip_all_ "required program 'bzip2' not available"
- ;;
- cl)
- CC=cl
- # Don't export CFLAGS, as that could have been initialized to only
- # work with the C compiler detected at configure time. If the user
- # wants CFLAGS to also influence 'cl', he can still export CFLAGS
- # in the environment "by hand" before calling the testsuite.
- export CC CPPFLAGS
- echo "$me: running $CC -?"
- $CC -? || skip_all_ "Microsoft C compiler '$CC' not available"
- ;;
- etags)
- # Exuberant Ctags will create a TAGS file even
- # when asked for --help or --version. (Emacs's etags
- # does not have such problem.) Use -o /dev/null
- # to make sure we do not pollute the tests/ directory.
- echo "$me: running etags --version -o /dev/null"
- etags --version -o /dev/null \
- || skip_all_ "required program 'etags' not available"
- ;;
- gcj)
- GCJ=$GNU_GCJ GCJFLAGS=$GNU_GCJFLAGS; export GCJ GCJFLAGS
- test "$GCJ" = false && skip_all_ "GNU Java compiler unavailable"
- : For shells with busted 'set -e'.
- ;;
- gcc)
- CC=$GNU_CC CFLAGS=$GNU_CFLAGS; export CC CFLAGS CPPFLAGS
- test "$CC" = false && skip_all_ "GNU C compiler unavailable"
- : For shells with busted 'set -e'.
- ;;
- g++)
- CXX=$GNU_CXX CXXFLAGS=$GNU_CXXFLAGS; export CXX CXXFLAGS CPPFLAGS
- test "$CXX" = false && skip_all_ "GNU C++ compiler unavailable"
- : For shells with busted 'set -e'.
- ;;
- gfortran)
- FC=$GNU_FC FCFLAGS=$GNU_FCFLAGS; export FC FCFLAGS
- test "$FC" = false && skip_all_ "GNU Fortran compiler unavailable"
- case " $required " in
- *\ g77\ *) ;;
- *) F77=$FC FFLAGS=$FCFLAGS; export F77 FFLAGS;;
- esac
- ;;
- g77)
- F77=$GNU_F77 FFLAGS=$GNU_FFLAGS; export F77 FFLAGS
- test "$F77" = false && skip_all_ "GNU Fortran 77 compiler unavailable"
- case " $required " in
- *\ gfortran\ *) ;;
- *) FC=$F77 FCFLAGS=$FFLAGS; export FC FCFLAGS;;
- esac
- ;;
- javac)
- # The Java compiler from JDK 1.5 (and presumably earlier versions)
- # cannot handle the '-version' option by itself: it bails out
- # telling that source files are missing. Adding also the '-help'
- # option seems to solve the problem.
- echo "$me: running javac -version -help"
- javac -version -help || skip_all_ "Sun Java compiler not available"
- ;;
- java)
- # See the comments above about 'javac' for why we use also '-help'.
- echo "$me: running java -version -help"
- java -version -help || skip_all_ "Sun Java interpreter not found"
- ;;
- lib)
- AR=lib
- export AR
- # Attempting to create an empty archive will actually not
- # create the archive, but lib will output its version.
- echo "$me: running $AR -out:defstest.lib"
- $AR -out:defstest.lib \
- || skip_all_ "Microsoft 'lib' utility not available"
- ;;
- makedepend)
- echo "$me: running makedepend -f-"
- makedepend -f- \
- || skip_all_ "required program 'makedepend' not available"
- ;;
- makeinfo-html)
- # Make sure we have makeinfo, and it understands '--html'.
- echo "$me: running makeinfo --html --version"
- makeinfo --html --version \
- || skip_all_ "cannot find a makeinfo program that groks" \
- "the '--html' option"
- ;;
- mingw)
- uname_s=`uname -s || echo UNKNOWN`
- echo "$me: system name: $uname_s"
- case $uname_s in
- MINGW*) ;;
- *) skip_all_ "this test requires MSYS in MinGW mode" ;;
- esac
- ;;
- non-root)
- # Skip this test case if the user is root.
- # We try to append to a read-only file to detect this.
- priv_check_temp=priv-check.$$
- touch $priv_check_temp && chmod a-w $priv_check_temp \
- || framework_failure_ "creating unwritable file $priv_check_temp"
- # Not a useless use of subshell: lesser shells like Solaris /bin/sh
- # can exit if a builtin fails.
- overwrite_status=0
- (echo foo >> $priv_check_temp) || overwrite_status=$?
- rm -f $priv_check_temp
- if test $overwrite_status -eq 0; then
- skip_all_ "cannot drop file write permissions"
- fi
- unset priv_check_temp overwrite_status
- ;;
- perl-threads)
- if test "$WANT_NO_THREADS" = "yes"; then
- skip_all_ "Devel::Cover cannot cope with threads"
- fi
- ;;
- native)
- # Don't use "&&" here, to avoid a bug of 'set -e' present in
- # some (even relatively recent) versions of the BSD shell.
- # We add the dummy "else" branch for extra safety.
- if cross_compiling; then
- skip_all_ "doesn't work in cross-compile mode"
- else :; fi
- ;;
- python)
- # Python doesn't support --version, it has -V
- echo "$me: running python -V"
- python -V || skip_all_ "python interpreter not available"
- ;;
- ro-dir)
- # Skip this test case if read-only directories aren't supported
- # (e.g., under DOS.)
- ro_dir_temp=ro_dir.$$
- mkdir $ro_dir_temp && chmod a-w $ro_dir_temp \
- || framework_failure_ "creating unwritable directory $ro_dir_temp"
- # Not a useless use of subshell: lesser shells like Solaris /bin/sh
- # can exit if a builtin fails.
- create_status=0
- (: > $ro_dir_temp/probe) || create_status=$?
- rm -rf $ro_dir_temp
- if test $create_status -eq 0; then
- skip_all_ "cannot drop directory write permissions"
- fi
- unset ro_dir_temp create_status
- ;;
- runtest)
- # DejaGnu's runtest program. We rely on being able to specify
- # the program on the runtest command-line. This requires
- # DejaGnu 1.4.3 or later.
- echo "$me: running runtest SOMEPROGRAM=someprogram --version"
- runtest SOMEPROGRAM=someprogram --version \
- || skip_all_ "DejaGnu is not available"
- ;;
- tex)
- # No all versions of Tex support '--version', so we use
- # a configure check.
- if test -z "$TEX"; then
- skip_all_ "TeX is required, but it wasn't found by configure"
- fi
- ;;
- texi2dvi-o)
- # Texi2dvi supports '-o' since Texinfo 4.1.
- echo "$me: running texi2dvi -o /dev/null --version"
- texi2dvi -o /dev/null --version \
- || skip_all_ "required program 'texi2dvi' not available"
- ;;
- lex)
- test x"$LEX" = x"false" && skip_all_ "lex not found or disabled"
- export LEX
- ;;
- yacc)
- test x"$YACC" = x"false" && skip_all_ "yacc not found or disabled"
- export YACC
- ;;
- flex)
- LEX=flex; export LEX
- echo "$me: running flex --version"
- flex --version || skip_all_ "required program 'flex' not available"
- ;;
- bison)
- YACC='bison -y'; export YACC
- echo "$me: running bison --version"
- bison --version || skip_all_ "required program 'bison' not available"
- ;;
- *)
- # Generic case: the tool must support --version.
- echo "$me: running $tool --version"
- # It is not likely but possible that $tool is a special builtin,
- # in which case the shell is allowed to exit after an error. So
- # we need the subshell here. Also, some tools, like Sun cscope,
- # can be interactive without redirection.
- ($tool --version) </dev/null \
- || skip_all_ "required program '$tool' not available"
- ;;
- esac
-done
-
-# Using just $testbuilddir for the check here is ok, since the
-# further temporary subdirectory where the test will be run is
-# ensured not to contain any whitespace character.
-case $testbuilddir in
- *\ *|*\ *)
- case " $required " in
- *' libtool '* | *' libtoolize '* )
- skip_all_ "libtool has problems with spaces in builddir name";;
- esac
- ;;
-esac
-
-# This test is necessary, although Automake's configure script bails out
-# when $srcdir contains spaces. This is because $testsrcdir is in not
-# configure-time $srcdir, but is instead configure-time $abs_srcdir, and
-# that is allowed to contain spaces.
-case $testsrcdir in
- *\ * |*\ *)
- case " $required " in
- *' libtool '* | *' libtoolize '* | *' gettext '* )
- skip_all_ "spaces in srcdir name: libtool/gettext tests won't work";;
- esac
- ;;
-esac
-
-# We might need extra macros, e.g., from Libtool or Gettext.
-case " $required " in *\ libtool*) . ./libtool-macros.dir/get.sh;; esac
-case " $required " in *\ gettext*) . ./gettext-macros.dir/get.sh;; esac
-
-
-## ---------------------------------------------------------------- ##
-## Create and set up of the temporary directory used by the test. ##
-## Set up of the exit trap for cleanup of said directory. ##
-## ---------------------------------------------------------------- ##
-
-# This might be used in testcases checking distribution-related features.
-# Test scripts are free to override this if they need to.
-distdir=$me-1.0
-
-# Set up the exit trap.
-if test "$sh_errexit_works" = yes; then
- trap 'exit_status=$?
- set +e
- cd "$testbuilddir"
- if test $am_using_tap = yes; then
- if test "$planned_" = later && test $exit_status -eq 0; then
- plan_ "now"
- fi
- test $exit_status -eq 0 && test $tap_pass_count_ -eq $tap_count_ \
- || keep_testdirs=yes
- else
- # This is to ensure that a test script does give a SKIP outcome just
- # because a command in it happens to exit with status 77. This
- # behaviour, while from time to time useful to developers, is not
- # meant to be enabled by default, as it could cause spurious failures
- # in the wild. Thus it will be enabled only when the variable
- # "am_explicit_skips" is set to a "true" value.
- case $am_explicit_skips in
- [yY]|[yY]es|1)
- if test $exit_status -eq 77 && test $am__test_skipped != yes; then
- echo "$me: implicit skip turned into failure"
- exit_status=78
- fi;;
- esac
- test $exit_status -eq 0 || keep_testdirs=yes
- fi
- am_keeping_testdirs || rm_rf_ $testSubDir
- set +x
- echo "$me: exit $exit_status"
- exit $exit_status
- ' 0
- trap "fatal_ 'caught signal SIGHUP'" 1
- trap "fatal_ 'caught signal SIGINT'" 2
- trap "fatal_ 'caught signal SIGTERM'" 15
- # Various shells seems to just ignore SIGQUIT under some circumstances,
- # even if the signal is not blocked; however, if the signal it trapped,
- # the trap gets correctly executed. So we also trap SIGQUIT.
- # Here is a list of some shells that have been verified to exhibit the
- # problematic behavior with SIGQUIT:
- # - zsh 4.3.12 on Debian GNU/Linux
- # - /bin/ksh and /usr/xpg4/bin/sh on Solaris 10
- # - Bash 3.2.51 on Solaris 10 and bash 4.1.5 on Debian GNU/Linux
- # - AT&T ksh on Debian Gnu/Linux (deb package ksh, version 93u-1)
- # OTOH, at least these shells that do *not* exhibit that behaviour:
- # - modern version of the Almquist Shell (at least 0.5.5.1), on
- # both Solaris and GNU/Linux
- # - Solaris 10 /bin/sh
- # - public domain Korn Shell, version 5.2.14, on Debian GNU/Linux
- trap "fatal_ 'caught signal SIGQUIT'" 3
- # Ignore further SIGPIPE in the trap code. This is required to avoid
- # a very weird issue with some shells, at least when the execution of
- # the automake testsuite is driven by the 'prove' utility: if prove
- # (or the make process that has spawned it) gets interrupted with
- # Ctrl-C, the shell might go in a loop, continually getting a SIGPIPE,
- # sometimes finally dumping core, other times hanging indefinitely.
- # See also Test::Harness bug [rt.cpan.org #70855], archived at
- # <https://rt.cpan.org/Ticket/Display.html?id=70855>
- trap "trap '' 13; fatal_ 'caught signal SIGPIPE'" 13
-fi
-
-# Create and populate the temporary directory, if and as required.
-if test x"$am_create_testdir" = x"no"; then
- testSubDir=
-else
- # The subdirectory where the current test script will run and write its
- # temporary/data files. This will be created shortly, and will be removed
- # by the cleanup trap below if the test passes. If the test doesn't pass,
- # this directory will be kept, to facilitate debugging.
- testSubDir=$me.dir
- test ! -d $testSubDir || rm_rf_ $testSubDir \
- || framework_failure_ "removing old test subdirectory"
- mkdir $testSubDir \
- || framework_failure_ "creating test subdirectory"
- cd ./$testSubDir \
- || framework_failure_ "cannot chdir into test subdirectory"
- if test x"$am_create_testdir" != x"empty"; then
- 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.ac, touch all necessary files, etc. Don't use AC_OUTPUT,
- # but AC_CONFIG_FILES so that appending still produces a valid
- # configure.ac. But then, tests running config.status really need
- # to append AC_OUTPUT.
- {
- echo "AC_INIT([$me], [1.0])"
- if test x"$am_parallel_tests" = x"yes"; then
- echo "AM_INIT_AUTOMAKE([parallel-tests])"
- else
- echo "AM_INIT_AUTOMAKE"
- fi
- echo "AC_CONFIG_FILES([Makefile])"
- } >configure.ac || framework_failure_ "creating configure.ac skeleton"
- fi
-fi
-
-
-## ---------------- ##
-## Ready to go... ##
-## ---------------- ##
-
-set -x
-pwd
diff --git a/tests/defs-static.in b/tests/defs-static.in
deleted file mode 100644
index 1ada923..0000000
--- a/tests/defs-static.in
+++ /dev/null
@@ -1,242 +0,0 @@
-# -*- shell-script -*-
-# @configure_input@
-#
-# Copyright (C) 1996-2012 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/>.
-
-# Defines and minimal setup for Automake testing environment.
-
-# IMPORTANT NOTES AND REQUIREMENTS
-# - Multiple inclusions of this file should be idempotent.
-# - This code has to be 'set -e' clean.
-# - This file should execute correctly with any system's /bin/sh
-# shell, not only with configure-time detected $CONFIG_SHELL.
-
-# Be more Bourne compatible.
-# (Snippet inspired to configure's initialization in Autoconf 2.64)
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
- emulate sh
- NULLCMD=:
- # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
- setopt NO_GLOB_SUBST
- # If Zsh is not started directly in Bourne-compatibility mode, it has
- # some incompatibilities in the handling of $0 that conflict with
- # our usage: i.e., $0 inside a file sourced with the '.' builtin is
- # temporarily set to the name of the sourced file.
- # Work around this when possible, otherwise abort the script.
- # Note that a bug in some versions of Zsh prevents us from resetting $0
- # in a sourced script, so the use of $argv0. For more info see:
- # <http://www.zsh.org/mla/workers/2009/msg01140.html>
- # Note: the apparently useless 'eval' below are needed by at least
- # dash 0.5.2, to prevent it from bailing out with an error like
- # "Syntax error: Bad substitution"
- if eval '[[ "$0" = *."test" ]]'; then
- # Good, FUNCTION_ARGZERO option was already off when this file was
- # sourced. Thus we've nothing to do.
- argv0=$0
- elif eval 'test -n "${functrace[-1]}"'; then
- # FUNCTION_ARGZERO option was on, but we have a easy workaround.
- eval 'argv0=${functrace[-1]%:*}'
- else
- # Give up.
- echo "$0: cannot determine the path of running test script" >&2
- echo "$0: test was running with Zsh version $ZSH_VERSION" >&2
- echo "$0: did you enable the NO_FUNCTION_ARGZERO option?" >&2
- exit 99
- fi
-else
- argv0=$0
- # Avoid command substitution failure, for Tru64 sh -e and instspc*.test.
- case `(set -o) 2>/dev/null || :` in *posix*) set -o posix;; esac
-fi
-
-# Check that the environment is properly sanitized.
-# Having variables exported to the empty string is OK, since our code
-# treats such variables as if they were unset.
-for var in \
- me \
- required \
- am_using_tap \
- am_parallel_tests \
- am_create_testdir \
- am_tap_implementation \
- am_test_prefer_config_shell \
- am_original_AUTOMAKE \
- am_original_ACLOCAL \
-; do
- if eval "test x\"\$$var\" != x" && env | grep "^$var=" >/dev/null; then
- echo "$argv0: variable '$var' is set in the environment:" \
- "this is unsafe" >&2
- exit 99
- fi
-done
-unset var
-
-# See whether the current test script is expected to use TAP or not.
-# Use a sensible default, while allowing the scripts to override this
-# check.
-if test -z "$am_using_tap"; then
- case $argv0 in *.tap) am_using_tap=yes;; *) am_using_tap=no;; esac
-fi
-
-testsrcdir='@abs_srcdir@'
-top_testsrcdir='@abs_top_srcdir@'
-testbuilddir='@abs_builddir@'
-top_testbuilddir='@abs_top_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/wrap
- 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@'
-
-host_alias=${host_alias-'@host_alias@'}; export host_alias
-build_alias=${build_alias-'@build_alias@'}; export build_alias
-
-# Make sure we override the user shell. And do not read the value of
-# $SHELL from the environment (think to the non-uncommon situation where
-# e.g., $SHELL=/bin/tcsh).
-SHELL=${AM_TESTSUITE_SHELL-'@SHELL@'}; export SHELL
-
-# User can override various tools used. Prefer overriding specific for
-# that automake testsuite, if they are available.
-AWK=${AM_TESTSUITE_AWK-${AWK-'@AWK@'}}
-PERL=${AM_TESTSUITE_PERL-${PERL-'@PERL@'}}
-MAKE=${AM_TESTSUITE_MAKE-${MAKE-'make'}}
-YACC=${AM_TESTSUITE_YACC-${YACC-'@YACC@'}}
-LEX=${AM_TESTSUITE_LEX-${LEX-'@LEX@'}}
-AUTOCONF=${AM_TESTSUITE_AUTOCONF-${AUTOCONF-'@am_AUTOCONF@'}}
-AUTOM4TE=${AM_TESTSUITE_AUTOM4TE-${AUTOM4TE-'@am_AUTOM4TE@'}}
-AUTORECONF=${AM_TESTSUITE_AUTORECONF-${AUTORECONF-'@am_AUTORECONF@'}}
-AUTOHEADER=${AM_TESTSUITE_AUTOHEADER-${AUTOHEADER-'@am_AUTOHEADER@'}}
-AUTOUPDATE=${AM_TESTSUITE_AUTOUPDATE-${AUTOUPDATE-'@am_AUTOUPDATE@'}}
-
-# Tests who want complete control over aclocal or automake command-line
-# options should use $am_original_ACLOCAL or $am_original_AUTOMAKE. The
-# "test -z" tests take care not to re-initialize them if defs-static
-# is re-sourced, as we want defs-static to remain really idempotent.
-if test -z "$am_original_AUTOMAKE"; then
-
am_original_AUTOMAKE=${AM_TESTSUITE_AUTOMAKE-${AUTOMAKE-"automake-$APIVERSION"}}
-fi
-if test -z "$am_original_ACLOCAL"; then
- am_original_ACLOCAL=${AM_TESTSUITE_ACLOCAL-${ACLOCAL-"aclocal-$APIVERSION"}}
-fi
-
-# Use -Werror because this also turns some Perl warnings into error.
-# Tests for which this is inappropriate should use -Wno-error.
-# Tests who want complete control over aclocal command-line options
-# should use $am_original_ACLOCAL instead.
-ACLOCAL="$am_original_ACLOCAL -Werror"
-
-# See how Automake should be run. We put --foreign as the default
-# strictness to avoid having to create lots and lots of files. A test
-# can override this by specifying a different strictness. Use -Wall
-# -Werror by default. Tests for which this is inappropriate (e.g. when
-# testing that a warning is enabled by a specific switch) should use
-# -Wnone or/and -Wno-error.
-# Tests who want complete control over automake command-line options
-# should use $am_original_AUTOMAKE instead.
-AUTOMAKE="$am_original_AUTOMAKE --foreign -Werror -Wall"
-
-# POSIX no longer requires 'egrep' and 'fgrep',
-# but some hosts lack 'grep -E' and 'grep -F'.
-EGREP=${AM_TESTSUITE_EGREP-'@EGREP@'}
-FGREP=${AM_TESTSUITE_FGREP-'@FGREP@'}
-
-# Compilers and their flags. These can point to non-GNU compilers (and
-# on non-Linux and non-BSD systems, they probably will).
-CC=${AM_TESTSUITE_CC-${CC-'@CC@'}}
-CXX=${AM_TESTSUITE_CXX-${CXX-'@CXX@'}}
-F77=${AM_TESTSUITE_F77-${F77-'@F77@'}}
-FC=${AM_TESTSUITE_FC-${FC-'@FC@'}}
-CFLAGS=${AM_TESTSUITE_CFLAGS-${CFLAGS-'@CFLAGS@'}}
-CXXFLAGS=${AM_TESTSUITE_CXXFLAGS-${CXXFLAGS-'@CXXFLAGS@'}}
-FCFLAGS=${AM_TESTSUITE_FCFLAGS-${FCFLAGS-'@FCFLAGS@'}}
-FFLAGS=${AM_TESTSUITE_FFLAGS-${FFLAGS-'@FFLAGS@'}}
-CPPFLAGS=${AM_TESTSUITE_CPPFLAGS-${CPPFLAGS-'@CPPFLAGS@'}}
-
-# GNU compilers and their flags.
-GNU_CC=${AM_TESTSUITE_GNU_CC-${GNU_CC-'@GNU_CC@'}}
-GNU_CXX=${AM_TESTSUITE_GNU_CXX-${GNU_CXX-'@GNU_CXX@'}}
-GNU_F77=${AM_TESTSUITE_GNU_F77-${GNU_F77-'@GNU_F77@'}}
-GNU_FC=${AM_TESTSUITE_GNU_FC-${GNU_FC-'@GNU_FC@'}}
-GNU_FFLAGS=${AM_TESTSUITE_GNU_FFLAGS-${GNU_FFLAGS-'@GNU_FFLAGS@'}}
-GNU_FCFLAGS=${AM_TESTSUITE_GNU_FCFLAGS-${GNU_FCFLAGS-'@GNU_FCFLAGS@'}}
-GNU_CXXFLAGS=${AM_TESTSUITE_GNU_CXXFLAGS-${GNU_CXXFLAGS-'@GNU_CXXFLAGS@'}}
-GNU_CFLAGS=${AM_TESTSUITE_GNU_CFLAGS-${GNU_CFLAGS-'@GNU_CFLAGS@'}}
-GNU_GCJ=${AM_TESTSUITE_GNU_GCJ-${GNU_GCJ-'@GNU_GCJ@'}}
-GNU_GCJFLAGS=${AM_TESTSUITE_GNU_GCJFLAGS-${GNU_GCJFLAGS-'@GNU_GCJFLAGS@'}}
-
-# No all versions of Tex support '--version', so we use a configure
-# check to decide if tex is available. This decision is embodied in
-# this variable.
-TEX=${AM_TESTSUITE_TEX-'@TEX@'}
-
-# Whether $SHELL has working 'set -e' with exit trap.
-sh_errexit_works='@sh_errexit_works@'
-
-# The amount we should wait after modifying files depends on the platform.
-# For instance, Windows '95, '98 and ME have 2-second granularity
-# and can be up to 3 seconds in the future w.r.t. the system clock.
-sleep='sleep @MODIFICATION_DELAY@'
-
-# An old timestamp that can be given to a file, in "touch -t" format.
-# The time stamp should be portable to all file systems of interest.
-# Just for fun, choose the exact time of the announcement of the GNU project
-# in UTC; see <http://www.gnu.org/gnu/initial-announcement.html>.
-old_timestamp=198309271735.59
-
-# 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
- $am_bindir$PATH_SEPARATOR*) ;;
- *) PATH=$am_bindir$PATH_SEPARATOR$PATH;;
-esac
-
-# Make our helper script accessible by default.
-PATH=$testsrcdir/ax$PATH_SEPARATOR$PATH
-
-export PATH
diff --git a/tests/depcomp-shuffle-sub-vpath.test
b/tests/depcomp-shuffle-sub-vpath.test
deleted file mode 100755
index c97a1b6..0000000
--- a/tests/depcomp-shuffle-sub-vpath.test
+++ /dev/null
@@ -1,23 +0,0 @@
-#! /bin/sh
-# Copyright (C) 1996-2012 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/>.
-
-# Dependency tracking in the face of added/removed/renamed files.
-# - VPATH build
-# - use of subdir-objects
-
-. ./defs-static || exit '99'
-xdir='sub' vpath='yes'
-. $testsrcdir/depcomp-shuffle.sh
diff --git a/tests/depcomp-shuffle-sub.test b/tests/depcomp-shuffle-sub.test
deleted file mode 100755
index 9338508..0000000
--- a/tests/depcomp-shuffle-sub.test
+++ /dev/null
@@ -1,23 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2002-2012 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/>.
-
-# Dependency tracking in the face of added/removed/renamed files.
-# - in-tree build
-# - use of subdir-objects
-
-. ./defs-static || exit '99'
-xdir='sub' vpath='no'
-. $testsrcdir/depcomp-shuffle.sh
diff --git a/tests/depcomp-shuffle-vpath.test b/tests/depcomp-shuffle-vpath.test
deleted file mode 100755
index eca1004..0000000
--- a/tests/depcomp-shuffle-vpath.test
+++ /dev/null
@@ -1,23 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2010-2012 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/>.
-
-# Dependency tracking in the face of added/removed/renamed files.
-# - VPATH build
-# - no use of subdir-objects
-
-. ./defs-static || exit '99'
-xdir='' vpath='yes'
-. $testsrcdir/depcomp-shuffle.sh
diff --git a/tests/depcomp-shuffle.test b/tests/depcomp-shuffle.test
deleted file mode 100755
index ebd4017..0000000
--- a/tests/depcomp-shuffle.test
+++ /dev/null
@@ -1,23 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2002-2012 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/>.
-
-# Dependency tracking in the face of added/removed/renamed files.
-# - in-tree build
-# - no use of subdir-objects
-
-. ./defs-static || exit '99'
-xdir='' vpath='no'
-. $testsrcdir/depcomp-shuffle.sh
diff --git a/tests/distcheck-missing-m4.test b/tests/distcheck-missing-m4.test
deleted file mode 100755
index dafaec5..0000000
--- a/tests/distcheck-missing-m4.test
+++ /dev/null
@@ -1,116 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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/>.
-
-# Test that we can define a distcheck-hook to diagnose m4 files
-# missing from the dist tarball (interaction with '--install').
-# See automake bug#9037.
-
-. ./defs || Exit 1
-
-cwd=`pwd` || fatal_ "cannot get current working directory"
-
-cp "$testsrcdir"/distcheck-hook-m4.am . \
- || fatal_ "cannot fetch makefile fragment 'distcheck-hook-m4.am'"
-
-cat > Makefile.am << 'END'
-## The lack of '--install' here is meant.
-ACLOCAL_AMFLAGS = -I m4
-include $(srcdir)/distcheck-hook-m4.am
-END
-
-cat >> configure.ac << 'END'
-dnl We *deliberately* don't use m4_pattern_forbid here.
-AC_OUTPUT
-MY_FOO
-MY_BAR
-MY_BAZ
-MY_ZAR
-END
-
-mkdir m4 acdir acdir1 acdir2 pth
-
-cat > acdir/dirlist << END
-$cwd/acdir1
-$cwd/acdir2
-END
-
-echo 'AC_DEFUN([MY_FOO], [:])' > m4/foo.m4
-echo 'AC_DEFUN([MY_BAR], [:])' > acdir1/bar.m4
-echo 'AC_DEFUN([MY_BAZ], [:])' > acdir1/baz.m4
-echo 'AC_DEFUN([MY_QUX], [:])' > acdir2/qux.m4
-echo 'AC_DEFUN([MY_ZAR], [:])' > pth/zar.m4
-echo 'AC_DEFUN([MY_BLA], [:])' > pth/bla.m4
-
-ACLOCAL="$ACLOCAL --system-acdir=$cwd/acdir"; export ACLOCAL
-ACLOCAL_PATH=$cwd/pth; export ACLOCAL_PATH
-
-# We don't use '--install' here. Our distcheck-hook should catch this.
-$ACLOCAL -I m4
-$AUTOCONF
-$EGREP 'MY_(FOO|BAR|BAZ|ZAR)' configure && Exit 1 # Sanity check.
-$AUTOMAKE
-
-check_no_spurious_error ()
-{
- $EGREP -i 'mkdir:|:.*(permission|denied)' output && Exit 1
- # On failure, some make implementations (such as Solaris make) print the
- # whole failed recipe on stdout. The first grep works around this.
- grep -v 'rm -rf ' output | grep -i 'autom4te.*\.cache' && Exit 1
- : To placate 'set -e'.
-}
-
-./configure
-
-$MAKE distcheck >output 2>&1 && { cat output; Exit 1; }
-cat output
-for x in bar baz zar; do
- $EGREP "required m4 file.*not distributed.* $x.m4( |$)" output
-done
-check_no_spurious_error
-
-# Now we use '--install', and "make distcheck" should pass.
-$ACLOCAL -I m4 --install
-test -f m4/bar.m4 # Sanity check.
-test -f m4/baz.m4 # Likewise.
-test -f m4/zar.m4 # Likewise.
-$MAKE distcheck
-
-# We start to use new "third-party" macros from new .m4 files, but forget
-# to re-run "aclocal --install" by hand, relying on automatic remake rules.
-# Our distcheck-hook should catch this too.
-cat >> configure.ac << 'END'
-MY_QUX
-MY_BLA
-END
-
-$MAKE
-$EGREP 'MY_(FOO|BAR|BAZ|QUX|ZAR|BLA)' configure && Exit 1 # Sanity check.
-
-$MAKE distcheck >output 2>&1 && { cat output; Exit 1; }
-cat output
-$EGREP "required m4 file.*not distributed.* qux.m4( |$)" output
-$EGREP "required m4 file.*not distributed.* bla.m4( |$)" output
-check_no_spurious_error
-# Check that we don't complain for files that should have been found.
-$FGREP " (bar|baz|zar).m4" output && Exit 1
-
-# Now we again use '--install', and "make distcheck" should pass.
-$ACLOCAL -I m4 --install
-test -f m4/qux.m4 # Sanity check.
-test -f m4/bla.m4 # Likewise.
-$MAKE distcheck
-
-:
diff --git a/tests/distcheck-outdated-m4.test b/tests/distcheck-outdated-m4.test
deleted file mode 100755
index c477603..0000000
--- a/tests/distcheck-outdated-m4.test
+++ /dev/null
@@ -1,134 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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/>.
-
-# Test that we can define a distcheck-hook to diagnose outdated m4
-# files in a dist tarball (interaction with '--install').
-# See automake bug#9037.
-
-. ./defs || Exit 1
-
-cwd=`pwd` || fatal_ "cannot get current working directory"
-
-cp "$testsrcdir"/distcheck-hook-m4.am . \
- || fatal_ "cannot fetch makefile fragment 'distcheck-hook-m4.am'"
-
-cat > Makefile.am << 'END'
-## The lack of '--install' here is meant.
-ACLOCAL_AMFLAGS = -I m4
-include $(srcdir)/distcheck-hook-m4.am
-END
-
-cat >> configure.ac << 'END'
-AC_OUTPUT
-MY_FOO
-MY_BAR
-MY_BAZ
-END
-
-mkdir m4 acdir
-echo 'AC_DEFUN([MY_FOO], [:])' > m4/foo.m4
-echo 'AC_DEFUN([MY_BAR], [:])' > acdir/bar.m4
-cat > acdir/baz.m4 << 'END'
-# serial 1
-AC_DEFUN([MY_BAZ], [:])
-END
-
-ACLOCAL="$ACLOCAL --system-acdir=$cwd/acdir"; export ACLOCAL
-
-# The use of '--install' here won't help when the installed file '.m4'
-# will become out-of-date w.r.t. the one in the system acdir.
-$ACLOCAL -I m4 --install
-$AUTOCONF
-$AUTOMAKE
-
-./configure
-$MAKE distcheck # Sanity check.
-
-check_no_spurious_error ()
-{
- $EGREP -i 'mkdir:|:.*(permission|denied)' output && Exit 1
- # On failure, some make implementations (such as Solaris make) print the
- # whole failed recipe on stdout. The first grep works around this.
- grep -v 'rm -rf ' output | grep -i 'autom4te.*\.cache' && Exit 1
- : To placate 'set -e'.
-}
-
-# We start to use a new "third-party" macro in a new version
-# of a pre-existing third-party m4 file, but forget to re-run
-# "aclocal --install" by hand, relying on automatic remake
-# rules. Our distcheck-hook should catch this too.
-echo MY_ZARDOZ >> configure.ac
-
-cat > acdir/baz.m4 << 'END'
-# serial 2
-AC_DEFUN([MY_BAZ], [:])
-AC_DEFUN([MY_ZARDOZ], [:])
-END
-
-$MAKE # Rebuild configure and makefiles.
-$MAKE distcheck >output 2>&1 && { cat output; Exit 1; }
-cat output
-
-$EGREP "required m4 file.* outdated.* baz.m4( |$)" output
-check_no_spurious_error
-# Check that we don't complain for files that aren't outdated.
-$EGREP " (foo|bar).m4" output && Exit 1
-
-# Now we again use '--install' explicitly, and "make distcheck"
-# should pass.
-$ACLOCAL -I m4 --install
-$MAKE distcheck
-
-# Similar to what have been done above, but this time we:
-# - use ACLOCAL_PATH, and
-# - do not add the use of a new macro.
-
-echo MY_FNORD >> configure.ac
-
-mkdir pth
-cat > pth/fnord.m4 << 'END'
-# serial 1
-AC_DEFUN([MY_FNORD], [:])
-END
-
-ACLOCAL_PATH="$cwd/pth"; export ACLOCAL_PATH
-
-# The explicit use of '--install' here won't help when the installed file
-# '.m4' will become out-of-date w.r.t. the one in the system acdir.
-$ACLOCAL -I m4 --install
-$MAKE distcheck
-
-# Only increase serial number, without changing the other contents; this
-# is deliberate.
-cat > pth/fnord.m4 << 'END'
-# serial 2
-AC_DEFUN([MY_FNORD], [:])
-END
-
-$MAKE # Rebuild configure and makefiles.
-$MAKE distcheck >output 2>&1 && { cat output; Exit 1; }
-cat output
-$EGREP "required m4 file.* outdated.* fnord.m4( |$)" output
-check_no_spurious_error
-# Check that we don't complain for files that aren't outdated.
-$EGREP " (foo|bar|baz).m4" output && Exit 1
-
-# Now we again use '--install' explicitly, and "make distcheck"
-# should pass.
-$ACLOCAL -I m4 --install
-$MAKE distcheck
-
-:
diff --git a/tests/gen-testsuite-part b/tests/gen-testsuite-part
deleted file mode 100755
index a12082f..0000000
--- a/tests/gen-testsuite-part
+++ /dev/null
@@ -1,415 +0,0 @@
-#! /usr/bin/env perl
-# Automatically compute some dependencies for the hand-written tests
-# of the Automake testsuite. Also, automatically generate some more
-# tests from them (for particular cases/setups only).
-
-# Copyright (C) 2011-2012 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/>.
-
-#--------------------------------------------------------------------------
-
-use warnings FATAL => "all";
-use strict;
-use File::Basename ();
-use constant TRUE => 1;
-use constant FALSE => 0;
-
-my $me = File::Basename::basename $0;
-
-# For use in VPATH builds.
-my $srcdir = ".";
-
-#--------------------------------------------------------------------------
-
-sub unindent ($)
-{
- my $text = shift;
- $text =~ /^(\s*)/;
- my $indentation = $1;
- $text =~ s/^$indentation//gm;
- return $text;
-}
-
-sub atomic_write ($$;$)
-{
- my ($outfile, $func) = (shift, shift);
- my $perms = @_ > 0 ? shift : 0777;
- my $tmpfile = "$outfile-t";
- foreach my $f ($outfile, $tmpfile)
- {
- unlink $f or die "$me: cannot unlink '$f': $!\n"
- if -e $f;
- }
- open (my $fh, ">$tmpfile")
- or die "$me: can't write to '$tmpfile': $!\n";
- $func->($fh);
- close $fh
- or die "$me: closing '$tmpfile': $!\n";
- chmod ($perms & ~umask, $tmpfile)
- or die "$me: cannot change perms for '$tmpfile': $!\n";
- rename ($tmpfile, $outfile)
- or die "$me: renaming '$tmpfile' -> '$outfile: $!\n'";
-}
-
-sub line_match ($$)
-{
- my ($re, $file) = (shift, shift);
- # Try both curdir and srcdir, with curdir first, to play nice
- # with VPATH builds.
- open (FH, "<$file") or open (FH, "<$srcdir/$file")
- or die "$me: cannot open file '$file': $!\n";
- my $ret = 0;
- while (defined (my $line = <FH>))
- {
- if ($line =~ $re)
- {
- $ret = 1;
- last;
- }
- }
- close FH or die "$me: cannot close file '$file': $!\n";
- return $ret;
-}
-
-sub write_wrapper_script ($$$)
-{
- my ($file_handle, $wrapped_test, $shell_setup_code, $creator_name) = @_;
- # FIXME: we use some creative quoting in the generated scripts,
- # FIXME: to please maintainer-check.
- print $file_handle unindent <<EOF;
- #! /bin/sh
- # This file has been automatically generated. DO NOT EDIT BY HAND!
- . ./defs-static || exit '99';
- $shell_setup_code
- # In the spirit of VPATH, we prefer a test in the build tree
- # over one in the source tree.
- for dir in . "\$testsrcdir"; do
- if test -f "\$dir/$wrapped_test"; then
- echo "\$0: will source \$dir/$wrapped_test"
- . "\$dir/$wrapped_test"; exit "\$?"
- fi
- done
- echo "\$0: cannot find wrapped test '$wrapped_test'" >&2
- exit '99'
-EOF
-}
-
-sub get_list_of_tests ()
-{
- my $make = defined $ENV{MAKE} ? $ENV{MAKE} : "make";
- # Unset MAKEFLAGS, for when we are called from make itself.
- my $cmd = "MAKEFLAGS= && unset MAKEFLAGS && cd '$srcdir' && "
- . "$make -s -f list-of-tests.mk print-list-of-tests";
- my @tests_list = split /\s+/, `$cmd`;
- die "$me: cannot get list of tests\n" unless $? == 0 && @tests_list;
- my $ok = 1;
- foreach my $test (@tests_list)
- {
- # Respect VPATH builds.
- next if -f $test || -f "$srcdir/$test";
- warn "$me: test `$test' not found\n";
- $ok = 0;
- }
- die "$me: some test scripts not found\n" if !$ok;
- return @tests_list;
-}
-
-sub parse_options (@)
-{
- use Getopt::Long qw/GetOptions/;
- local @ARGV = @_;
- GetOptions ('srcdir=s' => \$srcdir) or die "$me: usage error\n";
- die "$me: too many arguments\n" if @ARGV > 0;
- die "$me: srcdir '$srcdir': not a directory\n" unless -d $srcdir;
-}
-
-#--------------------------------------------------------------------------
-
-my %deps_extractor =
- (
- libtool_macros =>
- {
- line_matcher => qr/^\s*required=.*\blibtool/,
- nodist_prereqs => "libtool-macros.log",
- },
- gettext_macros =>
- {
- line_matcher => qr/^\s*required=.*\bgettext/,
- nodist_prereqs => "gettext-macros.log",
- },
- use_trivial_test_driver =>
- {
- line_matcher => qr/\btrivial-test-driver\b/,
- dist_prereqs => "trivial-test-driver",
- },
- depcomp_shuffle =>
- {
- line_matcher => qr/\bdepcomp-shuffle\.sh\b/,
- dist_prereqs => "depcomp-shuffle.sh",
- },
- check_testsuite_summary =>
- {
- line_matcher => qr/\btestsuite-summary-checks\.sh\b/,
- dist_prereqs => "testsuite-summary-checks.sh",
- },
- extract_testsuite_summary =>
- {
- line_matcher => qr/\bextract-testsuite-summary\b/,
- dist_prereqs => "extract-testsuite-summary",
- },
- check_tap_testsuite_summary =>
- {
- line_matcher => qr/\btap-summary-aux\.sh\b/,
- dist_prereqs => "tap-summary-aux.sh",
- },
- on_tap_with_common_setup =>
- {
- line_matcher => qr/\btap-setup\.sh\b/,
- dist_prereqs => "tap-setup.sh",
- nodist_prereqs => "tap-common-setup.log",
- },
- depcomp =>
- {
- line_matcher => qr/\bdepcomp\.sh\b/,
- dist_prereqs => "depcomp.sh",
- },
- );
-
-#--------------------------------------------------------------------------
-
-my %test_generators =
- (
- #
- # For each test script in the Automake testsuite that itself tests
- # features of the TESTS automake interface, define a sibling test
- # that does likewise, but with the option 'parallel-tests' enabled.
- #
- # A test is considered a candidate for sibling-generation if any
- # Makefile.am generated by it define the TESTS variable.
- #
- # Individual tests can prevent the creation of such a sibling by
- # explicitly setting the '$am_parallel_tests' variable to either "yes"
- # or "no". The rationale for this is that if the variable is set to
- # "yes", the test already uses the 'parallel-tests' option, so that
- # a sibling would be just a duplicate; while if the variable is set
- # to "no", the test doesn't support, or is not meant to run with, the
- # 'parallel-tests' option, and forcing it to do so in the sibling
- # would likely cause a spurious failure.
- #
- parallel_testsuite_harness =>
- {
- line_matcher =>
- qr/(?:^|\s)TESTS\s*=/,
- line_rejecter =>
- qr/(?:^[^#]*\bparallel-tests\b)|\bam_parallel_tests=/,
- shell_setup_code =>
- 'am_parallel_tests=yes'
- },
- #
- # For each test script in the Automake testsuite that tests features
- # of one or more automake-provided shell script from the 'lib/'
- # subdirectory by running those scripts directly (i.e., not thought
- # make calls and automake-generated makefiles), define a sibling test
- # that does likewise, but running the said script with the configure
- # time $SHELL instead of the default system shell /bin/sh.
- #
- # A test is considered a candidate for sibling-generation if it calls
- # the 'get_shell_script' function anywhere.
- #
- # Individual tests can prevent the creation of such a sibling by
- # explicitly setting the '$am_test_prefer_config_shell' variable
- # to either "yes" or "no".
- # The rationale for this is that if the variable is set to "yes",
- # the test already uses $SHELL, so that a sibling would be just a
- # duplicate; while if the variable is set to "no", the test doesn't
- # support, or is not meant to use, $SHELL to run the script under
- # testing, and forcing it to do so in the sibling would likely
- # cause a spurious failure.
- #
- prefer_config_shell =>
- {
- line_matcher =>
- qr/(^|\s)get_shell_script\s/,
- line_rejecter =>
- qr/\bam_test_prefer_config_shell=/,
- shell_setup_code =>
- 'am_test_prefer_config_shell=yes',
- },
- #
- # Tests on tap support should be run with both the perl and awk
- # implementations of the TAP driver (they run with the awk one
- # by default).
- #
- perl_tap_driver =>
- {
- line_matcher =>
- qr<(?:\bfetch_tap_driver\b|[\s/]tap-setup\.sh\b)>,
- line_rejecter =>
- qr/\bam_tap_implementation=/,
- shell_setup_code =>
- 'am_tap_implementation=perl',
- },
- );
-
-#--------------------------------------------------------------------------
-
-parse_options @ARGV;
-
-my @all_tests = get_list_of_tests;
-my @generated_tests = (); # Will be updated later.
-
-print "## -*- Makefile -*-\n";
-print "## Generated by $me. DO NOT EDIT BY HAND!\n\n";
-
-print <<EOF;
-
-## --------------------------------------------- ##
-## Autogenerated tests and their dependencies. ##
-## --------------------------------------------- ##
-
-EOF
-
-# FIXME: the following is not really right, since cannot compose wrapping
-# of tests matching more than one condition. Still, there should be no
-# such test at the moment, so the limitation is (temporarily) acceptable.
-while (my ($k, $g) = each %test_generators)
- {
- my @wrapped_tests = grep {
- line_match ($g->{line_matcher}, $_)
- && !line_match ($g->{line_rejecter}, $_)
- } @all_tests;
- foreach my $wrapped_test (@wrapped_tests)
- {
- (my $base = $wrapped_test) =~ s/\.([^.]*)$//;
- my $suf = $1 or die "$me: test '$wrapped_test' lacks a suffix\n";
- my $wrapper_test = "$base-w.$suf";
- # Register wrapper test as "autogenerated".
- push @generated_tests, $wrapper_test;
- # Create wrapper test.
- atomic_write $wrapper_test,
- sub { write_wrapper_script $_[0], $wrapped_test,
- $g->{shell_setup_code} },
- 0555;
- # The generated test works by sourcing the original test, so that
- # it has to be re-run every time that changes ...
- print "$base-w.log: $wrapped_test\n";
- # ... but also every time the prerequisites of the wrapped test
- # changes. The simpler (although suboptimal) way to do so is to
- # ensure that the wrapped tests runs before the wrappee one (in
- # case it needs to be re-run *at all*.
- # FIXME: we could maybe refactor the script to find a more
- # granular way to express such implicit dependencies.
- print "$base-w.log: $base.log\n";
- }
- }
-
-print <<EOF;
-
-## ---------------------------------------------------- ##
-## Ad-hoc autogenerated tests and their dependencies. ##
-## ---------------------------------------------------- ##
-
-EOF
-
-print "## Tests on automatic dependency tracking (see 'depcomp.sh').\n";
-
-# Key: depmode, value: list of required programs.
-my %depmodes =
- (
- auto => ["cc"],
- disabled => ["cc"],
- makedepend => ["cc", "makedepend"],
- dashmstdout => ["gcc"],
- cpp => ["gcc"],
-# This is for older (pre-3.x) GCC versions. Newer versions
-# have depmode "gcc3".
- gcc => ["gcc"],
-# This is for older (pre-7) msvc versions. Newer versions
-# have depmodes "msvc7" and "msvc7msys".
- msvisualcpp => ["cl", "cygpath"],
- msvcmsys => ["cl", "mingw"],
- );
-
-foreach my $lt (TRUE, FALSE)
- {
- foreach my $m (keys %depmodes)
- {
- my $planned = ($lt && $m eq "auto") ? 84 : 28;
- my @required =
- (
- @{$depmodes{$m}},
- $lt ? ("libtoolize",) : (),
- );
- my @vars_init =
- (
- "am_create_testdir=empty",
- "depmode=$m",
- "depcomp_with_libtool=" . ($lt ? "yes" : "no"),
- );
- my $base = "depcomp" . ($lt ? "-lt-" : "-") . $m;
- # Register wrapper test as "autogenerated" ...
- push @generated_tests, "$base.tap";
- atomic_write ("$base.tap", sub
- {
- my $file_handle = shift;
- print $file_handle unindent <<EOF;
- #! /bin/sh
- # Automatically generated test. DO NOT EDIT BY HAND!
- @vars_init
- required="@required"
- . ./defs || Exit 1
- plan_ $planned
- . "\$testsrcdir/depcomp.sh"; exit "\$?"
-EOF
- },
- 0555);
- }
- }
-
-# Update generated makefile fragment to account for all the generated tests.
-print "generated_TESTS =\n";
-map { print "generated_TESTS += $_\n" } @generated_tests;
-
-# The test scripts are scanned for automatic dependency generation *after*
-# the generated tests have been created, so they too can be scanned. To
-# do so correctly, we need to update the list in '@all_tests' to make it
-# comprise also the freshly-generated tests.
-
-push @all_tests, @generated_tests;
-
-print <<EOF;
-
-## ----------------------------- ##
-## Autogenerated dependencies. ##
-## ----------------------------- ##
-
-EOF
-
-while (my ($k, $x) = each %deps_extractor)
- {
- my $dist_prereqs = $x->{dist_prereqs} || "";
- my $nodist_prereqs = $x->{nodist_prereqs} || "";
- my @tests = grep { line_match $x->{line_matcher}, $_ } @all_tests;
- map { s/\.[^.]*$//; s/$/\.log/; } (my @logs = @tests);
- print "## Added by deps-extracting key '$k'.\n";
- ## The list of all tests which have a dependency detected by the
- ## current key.
- print join(" \\\n ", "${k}_TESTS =", @tests) . "\n";
- print "EXTRA_DIST += $dist_prereqs\n";
- map { print "$_: $dist_prereqs $nodist_prereqs\n" } @logs;
- print "\n";
- }
-
-__END__
diff --git a/tests/get-sysconf.test b/tests/get-sysconf.test
deleted file mode 100755
index ae3310e..0000000
--- a/tests/get-sysconf.test
+++ /dev/null
@@ -1,62 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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/>.
-
-# Dummy test case, aimed at reporting useful system information in the
-# final 'test-suite.log'. This way, if a user experiences a failure in
-# the Automake test suite and then only sends us the 'test-suite.log',
-# we won't have to ask him for more information to start analyzing the
-# failure (that had happened too many times in the past!).
-
-. ./defs || Exit 1
-
-st=0
-if test -d "$top_testsrcdir"/.git; then
- # We are running from a git checkout.
- (cd "$top_testsrcdir" && git log -1) || st=1
-elif test -f "$top_testsrcdir"/ChangeLog; then
- # We are probably running from a distribution tarball.
- awk '
- BEGIN { first = 1 }
- (first == 1) { print; first = 0; next; }
- /^[^\t]/ { exit(0); }
- { print }
- ' "$top_testsrcdir"/ChangeLog || st=1
-else
- # Some non-common but possibly valid setup (see for example the Homebrew
- # problem reported in automake bug#10866); so just give an harmless
- # warning instead of failing.
- warn_ "no .git directory nor ChangeLog file found, some info won't" \
- "be available"
-fi
-$PERL -V || st=1
-# It's OK for the user not to have the TAP::Parser module; this can
-# happen with older perl installation, or on MinGW/MSYS.
-$PERL -e 'use TAP::Parser; print $TAP::Parser::VERSION, "\n"' || :
-
-cat "$top_testbuilddir/config.log" || st=1
-cat "$testbuilddir/wrap/aclocal-$APIVERSION" || st=1
-cat "$testbuilddir/wrap/automake-$APIVERSION" || st=1
-
-if test $st -eq 0; then
- # This test SKIPs, so that all the information it has gathered and
- # printed will get unconditionally copied into the 'test-suite.log'
- # file.
- Exit 77
-fi
-
-# Some unexpected error occurred; this must be reported as an hard
-# error by the testsuite driver.
-Exit 99
diff --git a/tests/help-multilib.test b/tests/help-multilib.test
deleted file mode 100755
index 3fb455f..0000000
--- a/tests/help-multilib.test
+++ /dev/null
@@ -1,34 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2010-2012 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/>.
-
-# Make sure that our macro 'AM_ENABLE_MULTILIB' adds proper text to
-# the configure help screen.
-# FIXME: the features tested by this script has been moved in contrib.
-# FIXME: We should move this script accordingly.
-
-. ./defs || Exit 1
-
-cat > configure.ac <<END
-AC_INIT([$me], [1.0])
-AM_ENABLE_MULTILIB
-END
-
-cat "$top_testsrcdir"/contrib/multilib/multi.m4 > aclocal.m4
-$AUTOCONF
-
-grep_configure_help --enable-multilib ' many library versions \(default\)'
-
-:
diff --git a/tests/install-info-dir.test b/tests/install-info-dir.test
deleted file mode 100755
index c76f424..0000000
--- a/tests/install-info-dir.test
+++ /dev/null
@@ -1,176 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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/>.
-
-# Checks on the 'install-info' target.
-# Details about the individual checks' purposes and motivations are
-# inlined, below.
-
-# FIXME: this test is a good candidate for a conversion to TAP,
-# FIXME: and could be merged with 'txinfo27.test'.
-
-required=makeinfo
-. ./defs || Exit 1
-
-cwd=`pwd` || fatal_ "cannot get current working directory"
-
-mkdir bin
-saved_PATH=$PATH; export saved_PATH
-PATH=$cwd/bin$PATH_SEPARATOR$PATH; export PATH
-
-cat >> configure.ac <<'END'
-AC_OUTPUT
-END
-
-cat > Makefile.am << 'END'
-info_TEXINFOS = foo.texi
-END
-
-cat > foo.texi << 'END'
-\input texinfo
address@hidden foo.info
address@hidden All the following directives might be required to allow older
address@hidden versions of the 'install-info' program (e.g., version 4.8) to
address@hidden create the 'dir' index file in ${infodir}. Don't remove them.
address@hidden foo
address@hidden Dummy utilities
address@hidden
-* Foo: (foo). Does nothing at all, but has a nice name.
address@hidden direntry
address@hidden Top
-Hello world!
address@hidden
-END
-
-$ACLOCAL
-$AUTOMAKE -a
-$AUTOCONF
-
-instdir=_inst
-destdir=_dest
-
-./configure --prefix="$cwd/$instdir" --infodir="$cwd/$instdir/info"
-
-$MAKE info
-test -f foo.info
-
-if install-info --version; then
- have_installinfo=yes
-else
- have_installinfo=no
-fi
-
-# The 'install-info' target updates the '${infodir}/dir' file
-# by default (if the 'install-info' program is available).
-# This should happen in a normal as well as in a DESTDIR installation.
-if test $have_installinfo = yes; then
-
- $MAKE install-info
- test -f $instdir/info/foo.info
- test -f $instdir/info/dir
- $FGREP 'Does nothing at all, but has a nice name' $instdir/info/dir
-
- $MAKE uninstall
- test ! -f $instdir/info/foo.info
- $FGREP 'but has a nice name' $instdir/info/dir && Exit 1
-
- dir="$destdir/$cwd/$instdir/info"
-
- $MAKE DESTDIR="$cwd/$destdir" install-info
- test -f "$dir"/foo.info
- test -f "$dir"/dir
- $FGREP 'Does nothing at all, but has a nice name' "$dir"/dir
- $MAKE DESTDIR="$cwd/$destdir" uninstall
- test ! -f "$dir"/foo.info
- $FGREP 'but has a nice name' "$dir"/dir && Exit 1
-
- unset dir
-
-fi
-
-rm -rf $instdir $destdir
-
-# The 'install-info' target doesn't fail if the 'install-info'
-# program is not available.
-cat > bin/install-info <<'END'
-#!/bin/sh
-echo error from install-info >&2
-exit 127
-END
-chmod a+x bin/install-info
-$MAKE install-info >output 2>&1 || { cat output; Exit 1; }
-cat output
-test -f $instdir/info/foo.info
-test ! -f $instdir/info/dir
-grep 'error from install-info' output && Exit 1
-
-rm -rf $instdir output
-
-if test $have_installinfo = yes; then
- # The 'install-info' target doesn't try to guess whether the 'install-info'
- # is the GNU or debian version.
- unindent > bin/install-info <<'END'
- #!/bin/sh
- set -e; set -u;
- for fd in 1 2; do
- for str in dpkg debian Debian; do
- eval "echo This is $str install-info >&$fd"
- done
- done
- PATH=$saved_PATH; export PATH
- exec install-info ${1+"$@"}
-END
- $MAKE install-info
- test -f $instdir/info/foo.info
- test -f $instdir/info/dir
- $MAKE uninstall
- test ! -f $instdir/info/foo.info
- test -f $instdir/info/dir
- $FGREP 'but has a nice name' $instdir/info/dir && Exit 1
- : For shells with busted 'set -e'.
-fi
-
-rm -rf $instdir bin/install-info
-
-# The 'AM_UPDATE_INFO_DIR' environment variable can be used to
-# prevent the creation or update of the '${infodir}/dir' file,
-# if set to a "no" value.
-for val in no NO n; do
- rm -rf $instdir
- env AM_UPDATE_INFO_DIR="$val" $MAKE install-info
- test -f $instdir/info/foo.info
- test ! -f $instdir/info/dir
-done
-
-$MAKE install-info
-chmod a-w $instdir/info/dir
-for val in no NO n; do
- env AM_UPDATE_INFO_DIR="$val" $MAKE uninstall
- $FGREP 'Does nothing at all, but has a nice name' $instdir/info/dir
-done
-
-if test $have_installinfo = yes; then
- for val in 'yes' 'who cares!'; do
- rm -rf $instdir
- env AM_UPDATE_INFO_DIR="$val" $MAKE install-info
- test -f $instdir/info/foo.info
- test -f $instdir/info/dir
- env AM_UPDATE_INFO_DIR="$val" $MAKE uninstall
- test ! -f $instdir/info/foo.info
- $FGREP 'but has a nice name' $instdir/info/dir && Exit 1
- done
-fi
-
-:
diff --git a/tests/lex-clean-cxx.test b/tests/lex-clean-cxx.test
deleted file mode 100755
index 9ff2dbc..0000000
--- a/tests/lex-clean-cxx.test
+++ /dev/null
@@ -1,127 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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 that C++ source and header files derived from non-distributed
-# Yacc sources are cleaned by "make clean", while C++ source and
-# header files derived from distributed Yacc sources are cleaned by
-# "make maintainer-clean".
-# See also sister test 'lex-clean.test'.
-
-required=lex
-. ./defs || Exit 1
-
-cat >> configure.ac << 'END'
-AC_PROG_CXX
-AC_PROG_LEX
-AC_OUTPUT
-END
-
-cat > Makefile.am << 'END'
-bin_PROGRAMS = foo bar baz qux
-
-foo_SOURCES = mainfoo.cc parsefoo.lxx
-
-bar_SOURCES = mainbar.cpp parsebar.ll
-bar_LFLAGS = $(AM_LFLAGS)
-
-baz_SOURCES = mainbaz.c++
-nodist_baz_SOURCES = parsebaz.l++
-
-qux_SOURCES = mainqux.cxx
-nodist_qux_SOURCES = parsequx.lpp
-qux_LFLAGS = $(AM_LFLAGS)
-
-parsebaz.l++ parsequx.lpp:
- cp $(srcdir)/parsefoo.lxx $@
-
-CLEANFILES = parsebaz.l++ parsequx.lpp
-
-LDADD = $(LEXLIB)
-END
-
-cat > parsefoo.lxx << 'END'
-%{
-#define YY_NO_UNISTD_H 1
-%}
-%option never-interactive
-%%
-"GOOD" return EOF;
-.
-%%
-int yywrap (void)
-{
- return 1;
-}
-END
-cp parsefoo.lxx parsebar.ll
-
-cat > mainfoo.cc << 'END'
-// This file should contain valid C++ but invalid C.
-using namespace std;
-int main (int argc, char **argv)
-{
- extern int yylex (void);
- return yylex ();
-}
-END
-cp mainfoo.cc mainbar.cpp
-cp mainfoo.cc mainbaz.c++
-cp mainfoo.cc mainqux.cxx
-
-$ACLOCAL
-$AUTOCONF
-$AUTOMAKE -a
-
-./configure
-
-cp config.status config.sav
-
-$MAKE
-ls -l
-# Sanity checks.
-test -f parsefoo.cxx
-test -f bar-parsebar.cc
-test -f parsebaz.l++
-test -f parsebaz.c++
-test -f parsequx.lpp
-test -f qux-parsequx.cpp
-
-for target in clean distclean; do
- $MAKE $target
- ls -l
- test -f parsefoo.cxx
- test -f bar-parsebar.cc
- test ! -r parsebaz.l++
- test ! -r parsebaz.c++
- test ! -r parsequx.lpp
- test ! -r qux-parsequx.cpp
-done
-
-cp config.sav config.status
-./config.status # re-create Makefile
-
-$MAKE maintainer-clean
-ls -l
-test -f parsefoo.lxx
-test -f parsebar.ll
-test ! -r parsefoo.cxx
-test ! -r bar-parsebar.cc
-test -f parsefoo.lxx
-test -f parsebar.ll
-test ! -r parsefoo.cxx
-test ! -r bar-parsebar.cc
-
-:
diff --git a/tests/lex-depend-cxx.test b/tests/lex-depend-cxx.test
deleted file mode 100755
index e0832e0..0000000
--- a/tests/lex-depend-cxx.test
+++ /dev/null
@@ -1,96 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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/>.
-
-# Test to make sure dependencies work with Lex/C++.
-# Test synthesized from PR automake/6.
-
-required=lex
-. ./defs || Exit 1
-
-cat >> configure.ac << 'END'
-AC_PROG_CXX
-AM_PROG_LEX
-AC_OUTPUT
-END
-
-cat > Makefile.am << 'END'
-noinst_PROGRAMS = joe moe
-joe_SOURCES = joe.ll
-moe_SOURCES = moe.l++
-LDADD = $(LEXLIB)
-
-.PHONY: test-deps-exist
-test-deps-exist:
- ls -l $(DEPDIR)
- test -f $(DEPDIR)/joe.Po
- test -f $(DEPDIR)/moe.Po
-
-.PHONY: test-obj-updated
-test-obj-updated: joe.$(OBJEXT) moe.$(OBJEXT)
- stat older my-hdr.hxx joe.$(OBJEXT) moe.$(OBJEXT) || :
- test `ls -t older joe.$(OBJEXT) | sed 1q` = joe.$(OBJEXT)
- test `ls -t older moe.$(OBJEXT) | sed 1q` = moe.$(OBJEXT)
-END
-
-cat > joe.ll << 'END'
-%{
-#define YY_NO_UNISTD_H 1
-%}
-%option never-interactive
-%%
-"foo" return EOF;
-.
-%%
-#include "my-hdr.hxx"
-int yywrap (void)
-{
- return 1;
-}
-int main (int argc, char **argv)
-{
- printf("Hello, World!\n");
- return 0;
-}
-END
-
-cp joe.ll moe.l++
-
-cat > my-hdr.hxx <<'END'
-// This header contains deliberetly invalid C (but valid C++)
-#include <cstdio>
-using namespace std;
-END
-
-$ACLOCAL
-$AUTOMAKE -a
-
-$FGREP joe.Po Makefile.in
-$FGREP moe.Po Makefile.in
-
-$AUTOCONF
-# Try to enable dependency tracking if possible, even if that means
-# using slow dependency extractors.
-./configure --enable-dependency-tracking
-
-$MAKE
-$MAKE test-deps-exist
-
-: > older
-$sleep
-touch my-hdr.hxx
-$MAKE test-obj-updated
-
-:
diff --git a/tests/list-of-tests.mk b/tests/list-of-tests.mk
deleted file mode 100644
index 69a391f..0000000
--- a/tests/list-of-tests.mk
+++ /dev/null
@@ -1,1267 +0,0 @@
-## Makefile fragment that holds the list of test scripts of the automake
-## testsuite. This fragment is meant to be included by the Makefile.am,
-## but also to be executed directly by make when bootstrapping automake.
-
-## Copyright (C) 2011-2012 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/>.
-
-# FIXME: this "expected failures" are in truth an hack used to
-# FIXME: to verify that some incorrect usages of our perl libraries
-# FIXME: raise an error. We should find a cleaner way to check that.
-perl_fake_XFAIL_TESTS = \
-pm/Cond2.pl \
-pm/Cond3.pl \
-pm/DisjCon2.pl \
-pm/DisjCon3.pl \
-pm/Version2.pl \
-pm/Version3.pl
-
-XFAIL_TESTS = \
-all.test \
-yacc-bison-skeleton-cxx.test \
-yacc-bison-skeleton.test \
-cond17.test \
-gcj6.test \
-interp3.test \
-override-conditional-2.test \
-dist-pr109765.test \
-instdir-cond2.test \
-java-nobase.test \
-objext-pr10128.test \
-parallel-tests-many.test \
-pr8365-remake-timing.test \
-remake-am-pr10111.test \
-remake-m4-pr10111.test \
-txinfo5.test \
-$(perl_fake_XFAIL_TESTS)
-
-perl_TESTS = \
-pm/Cond2.pl \
-pm/Cond3.pl \
-pm/Condition.pl \
-pm/Condition-t.pl \
-pm/DisjCon2.pl \
-pm/DisjCon3.pl \
-pm/DisjConditions.pl \
-pm/DisjConditions-t.pl \
-pm/Version.pl \
-pm/Version2.pl \
-pm/Version3.pl \
-pm/Wrap.pl
-
-# 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 improves performance on
-# concurrent testsuite runs.
-handwritten_TESTS = \
-get-sysconf.test \
-$(perl_TESTS) \
-instspc.tap \
-aclocal.test \
-aclocal3.test \
-aclocal4.test \
-aclocal5.test \
-aclocal6.test \
-aclocal7.test \
-aclocal8.test \
-aclocal9.test \
-acloca10.test \
-acloca11.test \
-acloca12.test \
-acloca13.test \
-acloca14.test \
-acloca15.test \
-acloca16.test \
-acloca17.test \
-acloca18.test \
-acloca19.test \
-acloca20.test \
-acloca21.test \
-acloca22.test \
-acloca23.test \
-aclocal-acdir.test \
-aclocal-install-absdir.test \
-aclocal-print-acdir.test \
-aclocal-path.test \
-aclocal-path-install.test \
-aclocal-path-install-serial.test \
-aclocal-path-nonexistent.test \
-aclocal-path-precedence.test \
-aclocal-install-fail.test \
-aclocal-install-mkdir.test \
-aclocal-no-install-no-mkdir.test \
-aclocal-verbose-install.test \
-ac-output-old.tap \
-acsilent.test \
-acsubst.test \
-acsubst2.test \
-add-missing.tap \
-all.test \
-all2.test \
-alloca.test \
-alloca2.test \
-alpha.test \
-alpha2.test \
-amhello-cflags.test \
-amhello-cross-compile.test \
-amhello-binpkg.test \
-amassign.test \
-ammissing.test \
-amopt.test \
-amopts-location.test \
-amopts-variable-expansion.test \
-amsubst.test \
-ansi2knr-no-more.test \
-ar-lib.test \
-ar-lib2.test \
-ar-lib3.test \
-ar-lib4.test \
-ar-lib5a.test \
-ar-lib5b.test \
-ar-lib6a.test \
-ar-lib6b.test \
-ar-lib7.test \
-ar.test \
-ar2.test \
-ar3.test \
-ar4.test \
-ar5.test \
-asm.test \
-asm2.test \
-asm3.test \
-autodist.test \
-autodist-subdir.test \
-autodist-acconfig.test \
-autodist-acconfig-no-subdir.test \
-autodist-aclocal-m4.test \
-autodist-config-headers.test \
-autodist-configure-no-subdir.test \
-autodist-no-duplicate.test \
-autodist-stamp-vti.test \
-autohdr.test \
-autohdr2.test \
-autohdr3.test \
-autohdr4.test \
-autohdrdry.test \
-automake-cmdline.tap \
-auxdir.test \
-auxdir6.test \
-auxdir7.test \
-auxdir8.test \
-auxdir-autodetect.test \
-auxdir-computed.tap \
-auxdir-misplaced.test \
-auxdir-nonexistent.test \
-auxdir-unportable.tap \
-backcompat.test \
-backcompat2.test \
-backcompat3.test \
-backcompat4.test \
-backcompat5.test \
-backcompat6.test \
-backsl.test \
-backsl2.test \
-backsl3.test \
-backsl4.test \
-badline.test \
-badopt.test \
-badprog.test \
-block.test \
-bsource.test \
-candist.test \
-canon.test \
-canon2.test \
-canon3.test \
-canon4.test \
-canon5.test \
-canon6.test \
-canon7.test \
-canon8.test \
-canon-name.test \
-ccnoco.test \
-ccnoco2.test \
-ccnoco3.test \
-check.test \
-check2.test \
-check3.test \
-check4.test \
-check5.test \
-check6.test \
-check7.test \
-check8.test \
-check10.test \
-check11.test \
-check12.test \
-check-subst.test \
-check-subst-prog.test \
-check-exported-srcdir.test \
-check-fd-redirect.test \
-check-tests-in-builddir.test \
-check-no-test-driver.test \
-check-concurrency-bug9245.test \
-checkall.test \
-clean.test \
-clean2.test \
-colneq2.test \
-colon.test \
-colon2.test \
-colon3.test \
-colon4.test \
-colon5.test \
-colon6.test \
-colon7.test \
-color.test \
-color2.test \
-comment.test \
-comment2.test \
-comment3.test \
-comment4.test \
-comment5.test \
-comment6.test \
-comment7.test \
-comment8.test \
-comment9.test \
-commen10.test \
-commen11.test \
-comments-in-var-def.test \
-compile.test \
-compile2.test \
-compile3.test \
-compile4.test \
-compile5.test \
-compile6.test \
-compile_f90_c_cxx.test \
-compile_f_c_cxx.test \
-cond-basic.test \
-cond.test \
-cond2.test \
-cond3.test \
-cond4.test \
-cond5.test \
-cond6.test \
-cond7.test \
-cond8.test \
-cond9.test \
-cond10.test \
-cond11.test \
-cond13.test \
-cond14.test \
-cond15.test \
-cond16.test \
-cond17.test \
-cond18.test \
-cond19.test \
-cond20.test \
-cond21.test \
-cond22.test \
-cond23.test \
-cond24.test \
-cond25.test \
-cond26.test \
-cond27.test \
-cond28.test \
-cond29.test \
-cond30.test \
-cond31.test \
-cond32.test \
-cond33.test \
-cond34.test \
-cond35.test \
-cond36.test \
-cond37.test \
-cond38.test \
-cond39.test \
-cond40.test \
-cond41.test \
-cond42.test \
-cond43.test \
-cond44.test \
-cond45.test \
-cond46.test \
-condd.test \
-condhook.test \
-condhook2.test \
-condinc.test \
-condinc2.test \
-condlib.test \
-condman2.test \
-condman3.test \
-configure.test \
-confdeps.test \
-conff.test \
-conff2.test \
-conffile-leading-dot.test \
-confh.test \
-confh4.test \
-confh5.test \
-confh6.test \
-confh7.test \
-confh8.test \
-confincl.test \
-conflnk.test \
-conflnk2.test \
-conflnk3.test \
-conflnk4.test \
-confsub.test \
-confvar.test \
-confvar2.test \
-copy.test \
-cscope.tap \
-cscope2.test \
-cscope3.test \
-cxx.test \
-cxx2.test \
-cxxcpp.test \
-cxxlibobj.test \
-cxxlink.test \
-cxxnoc.test \
-cxxo.test \
-cygnus-check-without-all.test \
-cygnus-dependency-tracking.test \
-cygnus-imply-foreign.test \
-cygnus-no-dist.test \
-cygnus-no-installinfo.test \
-cygnus-requires-maintainer-mode.test \
-cygwin32.test \
-dash.test \
-defun.test \
-defun2.test \
-dejagnu.test \
-dejagnu2.test \
-dejagnu3.test \
-dejagnu4.test \
-dejagnu5.test \
-dejagnu6.test \
-dejagnu7.test \
-dejagnu-absolute-builddir.test \
-dejagnu-relative-srcdir.test \
-dejagnu-siteexp-extend.test \
-dejagnu-siteexp-append.test \
-dejagnu-siteexp-useredit.test \
-deleted-am.test \
-deleted-m4.test \
-depacl2.test \
-depcomp.test \
-depcomp2.test \
-depcomp8a.test \
-depcomp8b.test \
-depcomp-recover.test \
-depcomp-shuffle.test \
-depcomp-shuffle-vpath.test \
-depcomp-shuffle-sub.test \
-depcomp-shuffle-sub-vpath.test \
-depdist.test \
-depend.test \
-depend3.test \
-depend4.test \
-deprecated-acinit.test \
-destdir.test \
-dirlist.test \
-dirlist2.test \
-dirlist-abspath.test \
-discover.test \
-dist-formats.tap \
-dist-auxdir-many-subdirs.test \
-dist-auxfile-2.test \
-dist-auxfile.test \
-dist-included-parent-dir.test \
-dist-missing-am.test \
-dist-missing-included-m4.test \
-dist-missing-m4.test \
-dist-readonly.test \
-dist-repeated.test \
-dist-pr109765.test \
-distcleancheck.test \
-distcom2.test \
-distcom3.test \
-distcom4.test \
-distcom5.test \
-distcom-subdir.test \
-distdir.test \
-disthook.test \
-distlinks.test \
-distlinksbrk.test \
-distname.test \
-distcheck-configure-flags.test \
-distcheck-configure-flags-am.test \
-distcheck-configure-flags-subpkg.test \
-distcheck-hook.test \
-distcheck-hook2.test \
-distcheck-writable-srcdir.test \
-distcheck-missing-m4.test \
-distcheck-outdated-m4.test \
-distcheck-override-infodir.test \
-distcheck-pr9579.test \
-distcheck-pr10470.test \
-dmalloc.test \
-doc-parsing-buglets-tabs.test \
-dollar.test \
-double.test \
-dup2.test \
-else.test \
-empty.test \
-empty2.test \
-empty3.test \
-empty4.test \
-exdir.test \
-exdir2.test \
-exdir3.test \
-exeext.test \
-exeext2.test \
-exeext3.test \
-exeext4.test \
-exsource.test \
-ext.test \
-ext2.test \
-ext3.test \
-extra.test \
-extra2.test \
-extra3.test \
-extra4.test \
-extra5.test \
-extra6.test \
-extra7.test \
-extra8.test \
-extra9.test \
-extra10.test \
-extra11.test \
-extra12.test \
-extra-programs-empty.test \
-extra-portability.test \
-extra-portability2.test \
-extradep.test \
-extradep2.test \
-f90only.test \
-flavor.test \
-flibs.test \
-fn99.test \
-fn99subdir.test \
-fnoc.test \
-fo.test \
-forcemiss.test \
-forcemiss2.test \
-fort1.test \
-fort2.test \
-fort4.test \
-fort5.test \
-fonly.test \
-fortdep.test \
-gcj.test \
-gcj2.test \
-gcj3.test \
-gcj4.test \
-gcj5.test \
-gcj6.test \
-gettext.test \
-gettext2.test \
-gettext3.test \
-gmake-vars.test \
-gnumake.test \
-gnuwarn.test \
-gnuwarn2.test \
-gnits.test \
-gnits2.test \
-gnits3.test \
-hdr-vars-defined-once.test \
-header.test \
-help.test \
-help2.test \
-help3.test \
-help4.test \
-help-depend.test \
-help-depend2.test \
-help-dmalloc.test \
-help-init.test \
-help-lispdir.test \
-help-multilib.test \
-help-python.test \
-help-silent.test \
-help-upc.test \
-hfs.test \
-implicit.test \
-info.test \
-init.test \
-init2.test \
-insh2.test \
-install2.test \
-installdir.test \
-instsh.test \
-instsh2.test \
-instsh3.test \
-instdat.test \
-instdat2.test \
-instdir.test \
-instdir2.test \
-instdir-cond.test \
-instdir-cond2.test \
-instdir-no-empty.test \
-instdir-java.test \
-instdir-lisp.test \
-instdir-ltlib.test \
-instdir-prog.test \
-instdir-python.test \
-instdir-texi.test \
-instexec.test \
-instfail.test \
-instfail-info.test \
-instfail-java.test \
-instfail-libtool.test \
-insthook.test \
-instman.test \
-instman2.test \
-instmany.test \
-instmany-mans.test \
-instmany-python.test \
-install-info-dir.test \
-interp.test \
-interp2.test \
-interp3.test \
-java.test \
-java2.test \
-java3.test \
-javadir-undefined.test \
-javaflags.test \
-java-check.test \
-java-clean.test \
-java-compile-install.test \
-java-compile-run-flat.test \
-java-compile-run-nested.test \
-java-empty-classpath.test \
-javaprim.test \
-javasubst.test \
-java-extra.test \
-java-mix.test \
-java-no-duplicate.test \
-java-nobase.test \
-java-noinst.test \
-java-rebuild.test \
-java-sources.test \
-java-uninstall.test \
-ldadd.test \
-ldflags.test \
-lex.test \
-lex2.test \
-lex3.test \
-lex5.test \
-lexcpp.test \
-lexvpath.test \
-lex-subobj-nodep.test \
-lex-lib.test \
-lex-lib-external.test \
-lex-libobj.test \
-lex-noyywrap.test \
-lex-clean-cxx.test \
-lex-clean.test \
-lex-depend-cxx.test \
-lex-depend-grep.test \
-lex-depend.test \
-lex-line.test \
-lex-nodist.test \
-lex-pr204.test \
-lflags.test \
-lflags2.test \
-libexec.test \
-libobj-basic.test \
-libobj2.test \
-libobj3.test \
-libobj4.test \
-libobj5.test \
-libobj7.test \
-libobj10.test \
-libobj12.test \
-libobj13.test \
-libobj14.test \
-libobj15a.test \
-libobj15b.test \
-libobj15c.test \
-libobj16a.test \
-libobj16b.test \
-libobj17.test \
-libobj18.test \
-libobj19.test \
-libobj20a.test \
-libobj20b.test \
-libobj20c.test \
-library.test \
-library2.test \
-library3.test \
-libtool.test \
-libtool2.test \
-libtool3.test \
-libtool4.test \
-libtool5.test \
-libtool6.test \
-libtool7.test \
-libtool8.test \
-libtool9.test \
-libtoo10.test \
-libtoo11.test \
-license.test \
-license2.test \
-link_c_cxx.test \
-link_cond.test \
-link_dist.test \
-link_f90_only.test \
-link_fc.test \
-link_fccxx.test \
-link_fcxx.test \
-link_f_only.test \
-link_override.test \
-lisp2.test \
-lisp3.test \
-lisp4.test \
-lisp5.test \
-lisp6.test \
-lisp7.test \
-lisp8.test \
-lispdry.test \
-listval.test \
-location.test \
-longline.test \
-longlin2.test \
-ltcond.test \
-ltcond2.test \
-ltconv.test \
-ltdeps.test \
-ltinit.test \
-ltinstloc.test \
-ltlibobjs.test \
-ltlibsrc.test \
-ltorder.test \
-lzma.test \
-m4-inclusion.test \
-maintclean.test \
-maintclean-vpath.test \
-maintmode-configure-msg.test \
-makefile-deps.test \
-makej.test \
-makej2.test \
-maken.test \
-maken3.test \
-make-dryrun.tap \
-makevars.test \
-man.test \
-man2.test \
-man3.test \
-man4.test \
-man5.test \
-man6.test \
-man7.test \
-man8.test \
-mdate.test \
-mdate2.test \
-mdate3.test \
-mdate4.test \
-mdate5.test \
-mdate6.test \
-missing.test \
-missing2.test \
-missing3.test \
-missing4.test \
-missing5.test \
-missing6.test \
-missing-auxfile-stops-makefiles-creation.test \
-mkinstall.test \
-mkinst2.test \
-mkinst3.test \
-mmode.test \
-mmodely.test \
-multlib.test \
-no-extra-makefile-code.test \
-no-outdir-option.test \
-nobase.test \
-nobase-libtool.test \
-nobase-python.test \
-nobase-nodist.test \
-nodef.test \
-nodef2.test \
-nodep.test \
-nodep2.test \
-nodepcomp.test \
-nodist.test \
-nodist2.test \
-nodist3.test \
-noinst.test \
-noinstdir.test \
-nolink.test \
-nostdinc.test \
-notrans.test \
-number.test \
-objc.test \
-objc2.test \
-objdir.test \
-objext-pr10128.test \
-obsolete.test \
-oldvars.test \
-order.test \
-output.test \
-output2.test \
-output3.test \
-output4.test \
-output5.test \
-output6.test \
-output7.test \
-output8.test \
-output9.test \
-output10.test \
-output11.test \
-output12.test \
-output13.test \
-output-order.test \
-override-conditional-1.test \
-override-conditional-2.test \
-override-html.test \
-override-suggest-local.test \
-pattern-rules.test \
-pattern-rules2.test \
-parallel-am.test \
-parallel-am2.test \
-parallel-am3.test \
-serial-tests.test \
-parallel-tests.test \
-parallel-tests2.test \
-parallel-tests3.test \
-parallel-tests5.test \
-parallel-tests6.test \
-parallel-tests8.test \
-parallel-tests9.test \
-parallel-tests10.test \
-parallel-tests-exeext.test \
-parallel-tests-suffix.test \
-parallel-tests-suffix-prog.test \
-parallel-tests-log-compiler-1.test \
-parallel-tests-log-compiler-2.test \
-parallel-tests-dry-run-1.test \
-parallel-tests-dry-run-2.test \
-parallel-tests-fd-redirect.test \
-parallel-tests-fd-redirect-exeext.test \
-parallel-tests-extra-programs.test \
-parallel-tests-unreadable.test \
-parallel-tests-subdir.test \
-parallel-tests-interrupt.tap \
-parallel-tests-reset-term.test \
-parallel-tests-harderror.test \
-parallel-tests-log-override-1.test \
-parallel-tests-log-override-2.test \
-parallel-tests-log-override-recheck.test \
-parallel-tests-log-compiler-example.test \
-parallel-tests-cmdline-override.test \
-parallel-tests-fork-bomb.test \
-parallel-tests-empty-testlogs.test \
-parallel-tests-driver-install.test \
-parallel-tests-no-color-in-log.test \
-parallel-tests-no-spurious-summary.test \
-parallel-tests-exit-statuses.test \
-parallel-tests-console-output.test \
-parallel-tests-once.test \
-parallel-tests-trailing-bslash.test \
-parallel-tests-many.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-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-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 \
-test-extensions.test \
-test-extensions-cond.test \
-parse.test \
-phony.test \
-pluseq.test \
-pluseq2.test \
-pluseq3.test \
-pluseq4.test \
-pluseq5.test \
-pluseq6.test \
-pluseq7.test \
-pluseq8.test \
-pluseq9.test \
-pluseq10.test \
-pluseq11.test \
-posixsubst-data.test \
-posixsubst-extradist.test \
-posixsubst-ldadd.test \
-posixsubst-libraries.test \
-posixsubst-ltlibraries.test \
-posixsubst-programs.test \
-posixsubst-scripts.test \
-posixsubst-sources.test \
-posixsubst-tests.test \
-ppf77.test \
-pr2.test \
-pr9.test \
-pr72.test \
-pr87.test \
-pr211.test \
-pr220.test \
-pr224.test \
-pr229.test \
-pr279.test \
-pr279-2.test \
-pr287.test \
-pr300-lib.test \
-pr300-ltlib.test \
-pr300-prog.test \
-pr307.test \
-pr401.test \
-pr401b.test \
-pr401c.test \
-prefix.test \
-primary.test \
-primary2.test \
-primary3.test \
-primary-prefix-invalid-couples.tap \
-primary-prefix-valid-couples.test \
-primary-prefix-couples-force-valid.test \
-primary-prefix-couples-documented-valid.test \
-print-libdir.test \
-proginst.test \
-programs-primary-rewritten.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 \
-py-compile-usage.test \
-python.test \
-python2.test \
-python3.test \
-python4.test \
-python5.test \
-python5b.test \
-python6.test \
-python7.test \
-python8.test \
-python9.test \
-python10.test \
-python11.test \
-python12.test \
-python-dist.test \
-python-vars.test \
-python-virtualenv.test \
-python-pr10995.test \
-recurs.test \
-recurs2.test \
-remake.test \
-remake1a.test \
-remake2.test \
-remake3.test \
-remake3a.test \
-remake4.test \
-remake5.test \
-remake6.test \
-remake7.test \
-remake8a.test \
-remake8b.test \
-remake9a.test \
-remake9b.test \
-remake9c.test \
-remake9d.test \
-remake10a.test \
-remake10b.test \
-remake10c.test \
-remake11.test \
-remake12.test \
-remake-all-1.test \
-remake-subdir-from-subdir.test \
-remake-subdir-gnu.test \
-remake-subdir.test \
-remake-subdir-long-time.test \
-remake-gnulib-add-acsubst.test \
-remake-gnulib-add-header.test \
-remake-gnulib-remove-header.test \
-remake-moved-m4-file.test \
-remake-deleted-m4-file.test \
-remake-renamed-m4-file.test \
-remake-renamed-m4-macro-and-file.test \
-remake-renamed-m4-macro.test \
-remake-am-pr10111.test \
-remake-m4-pr10111.test \
-remake-deleted-am-2.test \
-remake-deleted-am-subdir.test \
-remake-deleted-am.test \
-remake-renamed-am.test \
-pr8365-remake-timing.test \
-req.test \
-reqd.test \
-reqd2.test \
-repeated-options.test \
-rst-formatting.test \
-rulepat.test \
-self-check-cleanup.tap \
-self-check-configure-help.test \
-self-check-dir.tap \
-self-check-env-sanitize.tap \
-self-check-exit.tap \
-self-check-explicit-skips.test \
-self-check-is_newest.tap \
-self-check-me.tap \
-self-check-reexec.tap \
-self-check-report.test \
-self-check-sanity.test \
-self-check-seq.tap \
-self-check-is-blocked-signal.tap \
-self-check-tap.test \
-self-check-unindent.tap \
-sanity.test \
-scripts.test \
-seenc.test \
-silent.test \
-silent2.test \
-silent3.test \
-silent4.test \
-silent6.test \
-silent7.test \
-silent8.test \
-silent9.test \
-silentcxx.test \
-silentcxx-gcc.test \
-silentf77.test \
-silentf90.test \
-silent-amopts.test \
-silent-many-gcc.test \
-silent-many-generic.test \
-silent-configsite.test \
-silent-lex.test \
-silent-yacc.test \
-silent-yacc-headers.test \
-srcsub.test \
-srcsub2.test \
-space.test \
-specflg.test \
-specflg2.test \
-specflg3.test \
-specflg6.test \
-specflg7.test \
-specflg8.test \
-specflg9.test \
-specflg10.test \
-specflg-dummy.test \
-spell.test \
-spell2.test \
-spell3.test \
-spelling.test \
-spy.test \
-spy-vpath-rewrite.test \
-spy-rm.tap \
-stdinc.test \
-stamph2.test \
-stdlib.test \
-stdlib2.test \
-strictness-override.test \
-strictness-precedence.test \
-strip.test \
-strip2.test \
-strip3.test \
-subdir.test \
-subdir2.test \
-subdir3.test \
-subdir4.test \
-subdir5.test \
-subdir6.test \
-subdir8.test \
-subdir9.test \
-subdir10.test \
-subdirbuiltsources.test \
-subcond.test \
-subcond2.test \
-subcond3.test \
-subobj.test \
-subobj2.test \
-subobj4.test \
-subobj5.test \
-subobj6.test \
-subobj7.test \
-subobj8.test \
-subobj9.test \
-subobj10.test \
-subobj11a.test \
-subobj11c.test \
-subobjname.test \
-subpkg.test \
-subpkg2.test \
-subpkg3.test \
-subpkg4.test \
-subpkg-yacc.test \
-subst.test \
-subst3.test \
-subst4.test \
-subst5.test \
-subst-no-trailing-empty-line.test \
-substref.test \
-substre2.test \
-substtarg.test \
-suffix.test \
-suffix2.test \
-suffix3.tap \
-suffix4.test \
-suffix5.test \
-suffix6.test \
-suffix6b.test \
-suffix6c.test \
-suffix7.test \
-suffix8.tap \
-suffix9.test \
-suffix10.tap \
-suffix11.tap \
-suffix12.test \
-suffix13.test \
-suffix-chain.tap \
-symlink.test \
-symlink2.test \
-syntax.test \
-tap-ambiguous-directive.test \
-tap-autonumber.test \
-tap-bailout.test \
-tap-bailout-leading-space.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-log.test \
-tap-msg0-result.test \
-tap-msg0-directive.test \
-tap-msg0-planskip.test \
-tap-msg0-bailout.test \
-tap-msg0-misc.test \
-tap-merge-stdout-stderr.test \
-tap-no-merge-stdout-stderr.test \
-tap-no-disable-hard-error.test \
-tap-no-spurious-summary.test \
-tap-no-spurious-numbers.test \
-tap-no-spurious.test \
-tap-not-ok-skip.test \
-tap-number-wordboundary.test \
-tap-numeric-description.test \
-tap-negative-numbers.test \
-tap-numbers-leading-zero.test \
-tap-out-of-order.test \
-tap-passthrough.test \
-tap-passthrough-exit.test \
-tap-plan.test \
-tap-plan-corner.test \
-tap-plan-errors.test \
-tap-plan-middle.test \
-tap-plan-whitespace.test \
-tap-plan-leading-zero.test \
-tap-plan-malformed.test \
-tap-missing-plan-and-bad-exit.test \
-tap-planskip.test \
-tap-planskip-late.test \
-tap-planskip-and-logging.test \
-tap-planskip-unplanned.test \
-tap-planskip-unplanned-corner.test \
-tap-planskip-case-insensitive.test \
-tap-planskip-whitespace.test \
-tap-planskip-badexit.test \
-tap-planskip-bailout.test \
-tap-planskip-later-errors.test \
-tap-realtime.test \
-tap-test-number-0.test \
-tap-recheck-logs.test \
-tap-result-comment.test \
-tap-todo-skip-together.test \
-tap-todo-skip-whitespace.test \
-tap-todo-skip.test \
-tap-unplanned.test \
-tap-whitespace-normalization.test \
-tap-with-and-without-number.test \
-tap-xfail-tests.test \
-tap-common-setup.test \
-tap-bad-prog.tap \
-tap-basic.test \
-tap-diagnostic-custom.test \
-tap-driver-stderr.test \
-tap-doc.test \
-tap-doc2.test \
-tap-more.test \
-tap-more2.test \
-tap-recheck.test \
-tap-summary.test \
-tap-summary-color.test \
-tags.test \
-tags2.test \
-tagsub.test \
-tar.test \
-tar2.test \
-tar3.test \
-tar-override.test \
-target-cflags.test \
-targetclash.test \
-tests-environment-fd-redirect.test \
-tests-environment-and-log-compiler.test \
-txinfo.test \
-txinfo2.test \
-txinfo3.test \
-txinfo4.test \
-txinfo5.test \
-txinfo5b.test \
-txinfo6.test \
-txinfo7.test \
-txinfo8.test \
-txinfo9.test \
-txinfo10.test \
-txinfo13.test \
-txinfo16.test \
-txinfo17.test \
-txinfo19.test \
-txinfo20.test \
-txinfo21.test \
-txinfo22.test \
-txinfo23.test \
-txinfo24.test \
-txinfo25.test \
-txinfo26.test \
-txinfo27.test \
-txinfo28.test \
-txinfo29.test \
-txinfo30.test \
-txinfo31.test \
-txinfo32.test \
-txinfo33.test \
-txinfo-no-clutter.test \
-txinfo-unrecognized-extension.test \
-transform.test \
-transform2.test \
-transform3.test \
-uninstall-fail.test \
-uninstall-pr9578.test \
-unused.test \
-upc.test \
-upc2.test \
-upc3.test \
-vala.test \
-vala1.test \
-vala2.test \
-vala3.test \
-vala4.test \
-vala5.test \
-vala-vpath.test \
-vala-mix.test \
-vala-mix2.test \
-vars.test \
-vars-assign.test \
-vartar.test \
-vartypos.test \
-vartypo2.test \
-version.test \
-version2.test \
-version3.test \
-version4.test \
-version6.test \
-version7.test \
-version8.test \
-vpath.test \
-vpath-rewrite.test \
-vtexi.test \
-vtexi2.test \
-vtexi3.test \
-vtexi4.test \
-warnings-override.test \
-warnings-precedence.test \
-warnings-strictness-interactions.test \
-warnings-unknown.test \
-warnopts.test \
-warnings-win-over-strictness.test \
-warning-groups-win-over-strictness.test \
-werror.test \
-werror2.test \
-werror3.test \
-werror4.test \
-whoami.test \
-xsource.test \
-yacc.test \
-yacc2.test \
-yacc4.test \
-yacc5.test \
-yacc7.test \
-yacc8.test \
-yaccdry.test \
-yaccpp.test \
-yaccvpath.test \
-yacc-auxdir.test \
-yacc-basic.test \
-yacc-cxx.test \
-yacc-bison-skeleton-cxx.test \
-yacc-bison-skeleton.test \
-yacc-clean.test \
-yacc-clean-cxx.test \
-yacc-d-basic.test \
-yacc-d-cxx.test \
-yacc-d-vpath.test \
-yacc-deleted-headers.test \
-yacc-depend.test \
-yacc-depend2.test \
-yacc-dist-nobuild-subdir.test \
-yacc-dist-nobuild.test \
-yacc-line.test \
-yacc-mix-c-cxx.test \
-yacc-nodist.test \
-yacc-pr204.test \
-yacc-subobj-nodep.test \
-yacc-weirdnames.test \
-yflags.test \
-yflags2.test \
-yflags-cmdline-override.test \
-yflags-conditional.test \
-yflags-d-false-positives.test \
-yflags-force-conditional.test \
-yflags-force-override.test \
-yflags-var-expand.test \
-libtool-macros.test \
-gettext-macros.test
-
-print-list-of-tests:
- @echo $(handwritten_TESTS)
-.PHONY: print-list-of-tests
diff --git a/tests/multlib.test b/tests/multlib.test
deleted file mode 100755
index c5ce640..0000000
--- a/tests/multlib.test
+++ /dev/null
@@ -1,162 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2003-2012 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 multilib support.
-# Based on a test case from Ralf Corsepius.
-# FIXME: the features tested by this script has been moved in contrib.
-# FIXME: We should move this script accordingly.
-
-required=gcc
-. ./defs || Exit 1
-
-mldir=$top_testsrcdir/contrib/multilib
-mkdir m4
-cp "$mldir"/config-ml.in "$mldir"/symlink-tree .
-cp "$mldir"/multi.m4 m4
-
-ACLOCAL_PATH=${ACLOCAL_PATH+"$ACLOCAL_PATH:"}`pwd`/m4
-export ACLOCAL_PATH
-
-cat >configure.ac <<'END'
-AC_INIT([multlib], [1.0])
-AC_CONFIG_SRCDIR(libfoo/foo.c)
-AC_CONFIG_AUX_DIR(.)
-AM_INIT_AUTOMAKE
-AC_CONFIG_FILES([Makefile])
-AC_CONFIG_SUBDIRS(libfoo)
-AC_CONFIG_SUBDIRS(libbar)
-AC_OUTPUT
-END
-
-cat >mycc <<'END'
-#! /bin/sh
-case ${1+"$@"} in
- *-print-multi-lib*)
- echo ".;"
- echo "debug;@g"
- exit 0 ;;
-esac
-gcc ${1+"$@"}
-END
-
-chmod +x mycc
-PATH=`pwd`$PATH_SEPARATOR$PATH
-
-cat >Makefile.am <<'EOF'
-SUBDIRS = @subdirs@
-EXTRA_DIST = config-ml.in symlink-tree
-check-all:
- test -f debug/libfoo/libfoo.a
- test -f debug/libbar/libbar.a
- test -f libfoo/libfoo.a
- test -f libbar/libbar.a
-EOF
-
-# libfoo tests multilib supports when there are no subdirectories
-# libbar tests multilib supports when there are subdirectories
-
-mkdir libfoo
-cp "$mldir"/multilib.am libfoo/
-
-cat >libfoo/configure.ac <<'END'
-AC_PREREQ(2.57)
-AC_INIT(libfoo, 0.1, address@hidden)
-AC_CONFIG_SRCDIR(foo.c)
-# Apparently it doesn't work to have auxdir=.. when
-# multilib uses symlinked trees.
-AC_CONFIG_AUX_DIR(.)
-AM_INIT_AUTOMAKE
-AC_PROG_CC
-AM_PROG_AR
-AC_PROG_RANLIB
-AM_ENABLE_MULTILIB(Makefile,[..])
-AC_CONFIG_FILES([Makefile])
-AC_OUTPUT
-END
-
-cat >libfoo/Makefile.am <<'END'
-noinst_LIBRARIES = libfoo.a
-libfoo_a_SOURCES = foo.c
-include $(top_srcdir)/multilib.am
-END
-
-: > libfoo/foo.c
-
-mkdir libbar
-cp "$mldir"/multilib.am libbar/
-
-cat >libbar/configure.ac <<'END'
-AC_PREREQ(2.57)
-AC_INIT(libbar, 0.1, address@hidden)
-# Apparently it doesn't work to have auxdir=.. when
-# multilib uses symlinked trees.
-AC_CONFIG_AUX_DIR(.)
-AM_INIT_AUTOMAKE
-AC_PROG_CC
-AM_PROG_AR
-AC_PROG_RANLIB
-AM_ENABLE_MULTILIB(Makefile,[..])
-AC_CONFIG_FILES([Makefile sub/Makefile])
-AC_OUTPUT
-END
-
-cat >libbar/Makefile.am <<'END'
-SUBDIRS = sub
-noinst_LIBRARIES = libbar.a
-libbar_a_SOURCES = bar.c
-include $(top_srcdir)/multilib.am
-END
-
-mkdir libbar/sub
-echo 'include $(top_srcdir)/multilib.am' >libbar/sub/Makefile.am
-: > libbar/bar.c
-
-$ACLOCAL
-$AUTOCONF
-$AUTOMAKE --add-missing
-
-cd libfoo
-$ACLOCAL
-$AUTOCONF
-$AUTOMAKE --add-missing
-cd ..
-
-cd libbar
-$ACLOCAL
-$AUTOCONF
-$AUTOMAKE --add-missing
-cd ..
-
-# Check VPATH builds
-mkdir build
-cd build
-../configure --enable-multilib CC=mycc
-$MAKE
-test -f debug/libfoo/libfoo.a
-test -f debug/libbar/libbar.a
-test -f libfoo/libfoo.a
-test -f libbar/libbar.a
-$MAKE install
-$MAKE distcleancheck
-
-# Check standard builds.
-cd ..
-# Why to I have to specify --with-target-subdir?
-./configure --enable-multilib --with-target-subdir=. CC=mycc
-$MAKE check
-DISTCHECK_CONFIGURE_FLAGS='--enable-multilib CC=mycc' $MAKE distcheck
-
-:
diff --git a/tests/parallel-tests2.test b/tests/parallel-tests2.test
deleted file mode 100755
index 86e4a2b..0000000
--- a/tests/parallel-tests2.test
+++ /dev/null
@@ -1,149 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2009-2012 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 parallel-tests features:
-# - check-html
-# - recheck-html
-# FIXME: the features tested by this script has been moved in contrib.
-# FIXME: We should move this script accordingly.
-
-am_parallel_tests=yes
-. ./defs || Exit 1
-
-# Try the variants that are tried in check-html.am.
-while :; do
- for r2h in $RST2HTML rst2html rst2html.py; do
- echo "$me: running $r2h --version"
- # Don't use "&&" here, or a bug of 'set -e' present in some
- # versions of the BSD shell will be triggered. We add the
- # dummy "else" branch for extra safety.
- if $r2h --version; then break 2; else :; fi
- done
- skip_all_ "no proper rst2html program found"
-done
-unset r2h
-
-cp "$top_testsrcdir"/contrib/check-html.am . \
- || fatal_ "cannot fetch 'check-html.am' from contrib"
-
-cat >> configure.ac << 'END'
-AC_OUTPUT
-END
-
-cat > Makefile.am << 'END'
-TEST_SUITE_LOG = mylog.log
-TESTS = foo.test bar.test baz.test
-check_SCRIPTS = bla
-bla:
- echo bla > $@
-CLEANFILES = bla
-include $(srcdir)/check-html.am
-END
-
-cat > foo.test <<'END'
-#! /bin/sh
-echo "this is $0"
-test -f bla || exit 1
-exit 0
-END
-
-cat > bar.test <<'END'
-#! /bin/sh
-echo "this is $0"
-exit 99
-END
-
-cat > baz.test <<'END'
-#! /bin/sh
-echo "this is $0"
-exit 1
-END
-
-chmod a+x foo.test bar.test baz.test
-
-$ACLOCAL
-$AUTOCONF
-$AUTOMAKE -a
-
-./configure
-
-$MAKE check-html && Exit 1
-test -f mylog.html
-# check-html should cause check_SCRIPTS to be created.
-test -f bla
-
-# "make clean" should remove HTML files.
-$MAKE clean
-test ! -f mylog.html
-test ! -f bla
-
-# Always create the HTML output, even if there were no failures.
-rm -f mylog.html
-$MAKE TESTS=foo.test check-html
-test -f mylog.html
-
-# Create summarizing HTML output also with recheck-html.
-rm -f mylog.html
-$MAKE TESTS=foo.test recheck-html
-test -f mylog.html
-
-# Create HTML output for an individual test.
-$MAKE foo.html
-grep 'this is .*foo\.test' foo.html
-test ! -f bar.html
-test ! -f baz.html
-
-# Create HTML output for individual tests. Since the pre-existing log
-# files are expected to be used for the HTML conversion, this should
-# go smoothly even for failed tests.
-$MAKE bar.html baz.html
-grep 'this is .*bar\.test' bar.html
-grep 'this is .*baz\.test' baz.html
-
-# HTML output removed by mostlyclean.
-$MAKE mostlyclean
-test ! -f foo.html
-test ! -f bar.html
-test ! -f baz.html
-test ! -f mylog.html
-
-# check-html and recheck-html should cause check_SCRIPTS to be created,
-# and recheck-html should rerun no tests if check has not been run.
-
-$MAKE clean
-test ! -f mylog.html
-$MAKE check-html TEST_LOGS=foo.log
-test -f bla
-test -f foo.log
-test ! -f bar.log
-test ! -f baz.log
-test -f mylog.html
-
-$MAKE clean
-$MAKE recheck-html TESTS=foo.test
-test -f bla
-test ! -f foo.log
-test -f mylog.html
-
-$MAKE clean
-$MAKE recheck-html
-test -f bla
-test ! -f foo.log
-test ! -f bar.log
-test ! -f baz.log
-test -f mylog.html
-
-:
diff --git a/tests/prove-runner b/tests/prove-runner
deleted file mode 100755
index 33dab19..0000000
--- a/tests/prove-runner
+++ /dev/null
@@ -1,65 +0,0 @@
-#!/bin/sh
-# Helper script to run the automake testsuite through the `prove' utility.
-# See the "prove" and "installprove" targets in tests/Makefile.am.
-
-# Copyright (C) 2012 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/>.
-
-set -u
-
-nl='
-'
-
-tst=$1
-shift
-
-case $tst in
- *.test)
- echo 1..1
- # Protect the output contents of the test script, since it might
- # sometimes contain TAP lines that would confuse `prove'. This
- # has already happened in practice, especially for the tests
- # checking TAP support in automake-generated test harnesses.
- (${TEST_RUNNER-} "$tst" ${1+"$@"}; echo exit status: $?) 2>&1 | awk '
- BEGIN { lastine = "exit status: 255"; }
- { print " " $0; lastline = $0; }
- END { st = lastline; sub("^exit status: *", "", st); exit st; }
- '
- st=$?
- if test $st -eq 99; then
- echo "not ok - $tst: hard failure (exit status $st)"
- elif test $st -eq 77; then
- echo "ok - $tst # SKIP"
- else
- case " ${XFAIL_TESTS-} " in
- *" $tst "*) xs=' # TODO';;
- *) xs='';;
- esac
- if test $st -eq 0; then
- echo "ok - test script $tst passed$xs"
- else
- echo "not ok - test script $tst failed (exit status $st)$xs"
- fi
- fi
- exit 0
- ;;
- *.tap)
- ${TAP_RUNNER-} "$tst" ${1+"$@"} 2>&1
- exit $?
- ;;
-esac
-
-echo "Bail out! Invalid test script name '$tst'"
-exit 99
diff --git a/tests/self-check-cleanup.tap b/tests/self-check-cleanup.tap
deleted file mode 100755
index bd59657..0000000
--- a/tests/self-check-cleanup.tap
+++ /dev/null
@@ -1,179 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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/>.
-
-# Sanity check for the automake testsuite.
-# Check creation/removal of temporary test working directory by './defs'.
-
-. ./defs || Exit 1
-
-if test x"$sh_errexit_works" != x"yes"; then
- skip_all_ "$me: no working exit trap with 'set -e'"
-fi
-
-plan_ 42
-
-# We still need a little hack to make ./defs work outside automake's
-# tree 'tests' subdirectory. Not a big deal.
-sed "s|^testbuilddir=.*|testbuilddir='`pwd`'|" ../defs-static >defs-static
-diff ../defs-static defs-static && fatal_ "failed to edit defs-static"
-cp ../defs .
-
-AM_TESTS_REEXEC=no; export AM_TESTS_REEXEC
-
-if ln -s defs foo && test -h foo; then
- have_symlinks=yes
-else
- have_symlinks=no
-fi
-export have_symlinks # Is used also by spawned shells.
-
-dir=dummy.dir
-
-# Don't let a failure poison all subsequent tests.
-do_clean ()
-{
- test -d $dir || return 0
- # Don't try to be smart and use find here, that has caused issues
- # and extra ERROR results in the past. Be dumb and safe.
- chmod u+rwx $dir || :
- for d in $dir/*; do test ! -d $d || chmod u+rwx $d || :; done
- for d in $dir/*/*; do test ! -d $d || chmod u+rwx $d || :; done
- rm -rf $dir
-}
-
-# Check that pre-test cleanup works also with directories with
-# "null" permissions, and containing broken symlinks.
-mkdir $dir $dir/sub
-cd $dir
-touch file sub/file
-if test $have_symlinks = yes; then
- ln -s file symlink
- ln -s none brokenlink
-fi
-cd ..
-chmod 000 $dir/sub/* $dir/file
-test $have_symlinks = yes && chmod 000 $dir/symlink
-chmod 500 $dir/sub $dir
-command_ok_ "pre-cleanup can deal with low-perms testdir" \
- $SHELL -c '. ./defs' dummy.test
-command_ok_ "pre-cleanup removed low-perms testdir" \
- eval 'test ! -f $dir && test ! -d $dir && test ! -r $dir'
-
-do_clean
-
-# Check that post-test cleanup works also with directories with
-# "null" permissions, and containing broken symlinks.
-command_ok_ "post-cleanup can deal with low-perms testdir" \
- $SHELL -c '
- stderr_fileno_=2
- . ./defs || Exit 1
- set -e
- mkdir dir dir/sub
- cd dir
- touch file sub/file
- if test $have_symlinks = yes; then
- ln -s file symlink
- ln -s none brokenlink
- fi
- cd ..
- chmod 000 dir/sub/* dir/file
- test $have_symlinks = yes && chmod 000 dir/symlink
- chmod 500 dir/sub dir
- :
-' dummy.test
-command_ok_ "post-cleanup removed null-perms testdir" \
- eval 'test ! -f $dir && test ! -d $dir && test ! -r $dir'
-
-do_clean
-
-# Check that pre-test cleanup does not unduly change the permissions of
-# files to which symlinks in the temporary test directory point to.
-if test $have_symlinks = yes; then
-
- mkdir dir
- chmod 000 dir
- : > file
- chmod 000 file
-
- mkdir $dir
- cd $dir
- ln -s ../dir ../file .
- cd ..
-
- command_ok_ "pre-cleanup with testdir with zero-perms symlinks" \
- $SHELL -c '. ./defs' dummy.test
- ls -l # For debugging.
- command_ok_ "pre-cleanup chmod doesn't follow symlinks to files" \
- eval 'ls -l file | grep "^----------.*file"'
- command_ok_ "pre-cleanup chmod doesn't follow symlinks to dirs" \
- eval 'ls -ld dir | grep "^d---------.*dir"'
-
- command_ok_ "post-cleanup with testdir with zero-perms symlinks" \
- $SHELL -c '
- ocwd=`pwd` || exit 1
- stderr_fileno_=2
- . ./defs || Exit 1
- ln -s "$ocwd/dir" "$ocwd/file" .
- ' dummy.test
- ls -l # For debugging.
- command_ok_ "post-cleanup chmod doesn't follow symlinks to files" \
- eval 'ls -l file | grep "^----------.*file"'
- command_ok_ "post-cleanup chmod doesn't follow symlinks to dirs" \
- eval 'ls -ld dir | grep "^d---------.*dir"'
-
- chmod u+rwx dir file
- rmdir dir
- rm -f file
-
-else # $have_symlinks = no
- skip_row_ 6 "symlinks not supported"
-fi
-
-do_clean
-
-# Check that the cleanup trap does not remove the temporary
-# test directory in case of test failure, skip, hard-error,
-# or when receiving a signal.
-
-for st in 1 2 3 10 77 99 126 127 130 255; do
- command_ok_ "exit trap doesn't clobber exit status $st" not $SHELL -c "
- stderr_fileno_=2
- . ./defs
- : > foo
- Exit $st
- " dummy.test
- command_ok_ "testdir not removed if exiting with status $st" \
- test -f dummy.dir/foo
- do_clean
-done
-
-for sig in 1 2 3 9 13 15; do
- if is_blocked_signal $sig; then
- skip_row_ 2 -r "signal $sig seems blocked"
- continue
- fi
- command_ok_ "exit trap doesn't clobber signal $sig" not $SHELL -c "
- stderr_fileno_=2
- . ./defs
- : > foo
- kill -$sig \$\$
- " dummy.test
- command_ok_ "testdir not removed if getting signal $sig" \
- test -f dummy.dir/foo
- do_clean
-done
-
-:
diff --git a/tests/self-check-dir.tap b/tests/self-check-dir.tap
deleted file mode 100755
index d766462..0000000
--- a/tests/self-check-dir.tap
+++ /dev/null
@@ -1,73 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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/>.
-
-# Sanity check for the automake testsuite.
-# Check that tests using './defs' create a proper temporary directory,
-# and run in it. Also check that we can prevent the pre-population
-# and the creation of such directory if we want.
-
-am_create_testdir=no
-. ./defs || Exit 99
-
-plan_ 5
-
-AM_TESTS_REEXEC=no; export AM_TESTS_REEXEC
-
-# This needs to be consistent with what $SHELL deems to be the
-# current working directory.
-cwd=`$SHELL -c 'pwd'` || fatal_ "can't get current working directory"
-echo "$cwd"
-
-do_check ()
-{
- test ! -d _self.dir || rm -rf _self.dir \
- || framework_failure_ "cleaning up _self.dir"
- command_ok_ "$1 [$2]" $SHELL -c "
- $2
- . ./defs || Exit 99
- # Don't fail if 'ls -l' fails; avoids possible racy spurious failures.
- pwd; ls -l || : # For debugging.
- $3
- " _self.test
-}
-
-do_check 'testdir has the expected path' \
- 'unset am_create_testdir' \
- 'case `pwd` in '"$cwd"'/_self.dir);; *) Exit 1;; esac'
-
-do_check 'fully pre-populated testdir' \
- 'unset am_create_testdir' \
- 'test -f install-sh || Exit 1
- test -f configure.ac || Exit 1
- case `pwd` in '"$cwd"'/_self.dir) : ;; *) Exit 1;; esac'
-
-do_check 'testdir has the expected path' \
- 'am_create_testdir=empty' \
- 'case `pwd` in '"$cwd"'/_self.dir) : ;; *) Exit 1;; esac'
-
-do_check 'do not pre-populate testdir' \
- 'am_create_testdir=empty' \
- 'ls -a | grep -v "^\\.\\{1,2\\}$" | grep . && Exit 1; :'
-
-do_check 'do not create nor chdir in testdir' \
- 'am_create_testdir=no' \
- 'test ! -d _self.dir || Exit 1
- test ! -f _self.dir || Exit 1
- test ! -r _self.dir || Exit 1
- grep "self-check-dir\.tap" Makefile || Exit 1
- case `pwd` in '"$cwd"') : ;; *) Exit 1;; esac'
-
-:
diff --git a/tests/self-check-exit.tap b/tests/self-check-exit.tap
deleted file mode 100755
index cb655a5..0000000
--- a/tests/self-check-exit.tap
+++ /dev/null
@@ -1,108 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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/>.
-
-# Sanity check for the automake testsuite.
-# Check that, in case of failing commands, the correct exit status is
-# passed to the exit trap installed by the './defs' script.
-# Also check that the 'errexit' shell flag is active.
-
-am_create_testdir=no
-. ./defs || Exit 99
-
-plan_ 34
-
-# This test becomes more cumbersome if we keep the 'errexit' shell flag
-# set. And removing it is no big deal, as this test is a TAP-based one,
-# so that false positives remain very unlikely.
-set +e
-
-AM_TESTS_REEXEC=no; export AM_TESTS_REEXEC
-
-# It's especially important that the 'unset' is done before sourcing
-# ./defs, i.e., when 'set -e' is not active yet, for the benefit of shells
-# (like Bash 2.05 and Solaris 10 /bin/ksh) that returns a non-zero status
-# when unsetting an already-unset variable.
-init='stderr_fileno_=2; unset am_explicit_skips; . ./defs'
-
-for st in 1 2 3 4 5 77 99 126 127 128 129 130 255; do
- for exit_cmd in "Exit $st" "sh -c 'exit $st'"; do
- $SHELL -c "$init; $exit_cmd; :"
- command_ok_ "$exit_cmd" test $? -eq $st
- done
-done
-
-for sig in 1 2 13 15; do
- if is_blocked_signal $sig; then
- skip_ -r "signal $sig seems blocked"
- continue
- fi
- if test $sig -eq 2; then
- # Some Korn shells might otherwise get a spurious SIGINT signal when
- # one is sent to the child $SHELL. For more details, see:
- # <http://lists.gnu.org/archive/html/bug-autoconf/2011-09/msg00004.html>
- trap : 2
- fi
- $SHELL -c "$init; kill -$sig \$\$; :"
- rc=$?
- if test $sig -eq 2; then
- # Reset default SIGINT handler as portably as possible.
- trap 2 || trap - 2
- fi
- if test x"$sh_errexit_works" = x"yes"; then
- # The exit trap should turn into an hard errors any failure
- # caused by signals.
- command_ok_ "kill -$sig" test $rc -eq 99
- else
- # The exit trap is not installed, so that the shell should exit
- # with status 128+n when receiving signal number n. But don't
- # be too strict in the check, as POSIX only says that "The exit
- # status of a command that terminated because it received a
- # signal shall be reported as greater than 128".
- command_ok_ "kill -$sig" test $rc -gt 128
- fi
- unset rc
-done
-
-: Non-existent program.
-# Solaris 10 /bin/sh erroneously exit with success right away when the
-# following three conditions are met at the same time:
-# 1. the 'errexit' flag is active,
-# 2. an exit trap is installed, and
-# 3. a non-existing command is issued.
-# Note that the non-existent command is issued as the last command to
-# the shell in the next line; this is deliberate.
-if $SHELL -c 'set -e; trap "exit \$?" 0; non-existent-program'; then
- maybe_todo=TODO reason="known Solaris /bin/sh bug"
-else
- maybe_todo="" reason=""
-fi
-$SHELL -c "$init; non-existent-program; :"
-command_ok_ "command not found" -D "$maybe_todo" -r "$reason" \
- -- test $? -gt 0
-
-: Non-executable command.
-test -f Makefile && test ! -x Makefile || \
- framowork_failure_ "no proper Makefile in the current directory"
-$SHELL -c "$init; ./Makefile; :"
-command_ok_ "permission denied" test $? -gt 0
-
-: Syntax errors in the test code.
-$SHELL -c "$init; if :; then"
-command_ok_ "syntax error 1" test $? -gt 0
-$SHELL -c "$init; fi"
-command_ok_ "syntax error 2" test $? -gt 0
-
-:
diff --git a/tests/self-check-explicit-skips.test
b/tests/self-check-explicit-skips.test
deleted file mode 100755
index 602c31c..0000000
--- a/tests/self-check-explicit-skips.test
+++ /dev/null
@@ -1,54 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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/>.
-
-# Sanity check for the automake testsuite.
-# Check creation/removal of temporary test working directory by './defs'.
-
-am_create_testdir=empty
-. ./defs || Exit 1
-
-test x"$sh_errexit_works" = x"yes" || skip_ "no working shell exit trap"
-
-# We still need a little hack to make ./defs work outside automake's
-# tree 'tests' subdirectory. Not a big deal.
-sed "s|^testbuilddir=.*|testbuilddir='`pwd`'|" ../defs-static >defs-static
-diff ../defs-static defs-static && Exit 99
-cp ../defs .
-
-set +e
-
-unset am_explicit_skips stderr_fileno_
-AM_TESTS_REEXEC=no; export AM_TESTS_REEXEC
-
-$SHELL -c '. ./defs; (exit 77); exit 77' dummy.test
-test $? -eq 77 || Exit 1
-
-am_explicit_skips=no $SHELL -c '. ./defs; sh -c "exit 77"' dummy.test
-test $? -eq 77 || Exit 1
-
-am_explicit_skips=yes $SHELL -c '. ./defs; (exit 77); exit 77' dummy.test
-test $? -eq 78 || Exit 1
-
-am_explicit_skips=y $SHELL -c '. ./defs; sh -c "exit 77"' dummy.test
-test $? -eq 78 || Exit 1
-
-am_explicit_skips=yes $SHELL -c '. ./defs; Exit 77' dummy.test
-test $? -eq 77 || Exit 1
-
-am_explicit_skips=y $SHELL -c '. ./defs; skip_ "foo"' dummy.test
-test $? -eq 77 || Exit 1
-
-:
diff --git a/tests/self-check-me.tap b/tests/self-check-me.tap
deleted file mode 100755
index 9ed4304..0000000
--- a/tests/self-check-me.tap
+++ /dev/null
@@ -1,69 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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/>.
-
-# Sanity check for the automake testsuite.
-# Make sure that $me gets automatically defined by './defs', and that it
-# can be overridden by the test script.
-
-am_create_testdir=no
-. ./defs || Exit 1
-
-plan_ 9
-
-AM_TESTS_REEXEC=no; export AM_TESTS_REEXEC
-
-# This test becomes cumbersome if we keep the 'errexit' shell flag set.
-# And removing it is no big deal, as this test is a TAP-based one, so
-# that false positives remain very unlikely.
-set +e
-
-do_check ()
-{
- $SHELL -c '. ./defs && echo me=$me' "$1" | grep "^me=$2$"
- command_ok_ "me=$1" test $? -eq 0
-}
-
-do_check foo-bar-.test 'foo-bar-'
-do_check _foo__bar.test '_foo__bar'
-do_check 012.test '012'
-do_check foo.bar 'foo\.bar'
-do_check a.b.c.test 'a\.b\.c'
-
-# If we override $me, ./defs should not modify it.
-
-s=`$SHELL -c 'me=foo.test && . ./defs && echo me=$me' bad.test`
-command_ok_ "override of \$me before ./defs causes no error" \
- test $? -eq 0
-
-r='ok'
-printf '%s\n' "$s" | grep '^me=foo\.test$' || r='not ok'
-printf '%s\n' "$s" | grep 'me=bad' && r='not ok'
-result_ "$r" "override of \$me before ./defs is honored"
-unset r
-
-# Overriding $me after sourcing ./defs-static should work.
-s=`$SHELL -c '. ./defs-static && me=zardoz &&
- . ./defs && echo me=$me' bad.test`
-command_ok_ "override of \$me after ./defs-static causes no error" \
- test $? -eq 0
-
-r='ok'
-printf '%s\n' "$s" | grep '^me=zardoz$' || r='not ok'
-printf '%s\n' "$s" | grep 'me=bad' && r='not ok'
-result_ "$r" "override of \$me after ./defs-static is honored"
-unset r
-
-:
diff --git a/tests/self-check-reexec.tap b/tests/self-check-reexec.tap
deleted file mode 100755
index 7c78e75..0000000
--- a/tests/self-check-reexec.tap
+++ /dev/null
@@ -1,205 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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/>.
-
-# Sanity check for the automake testsuite.
-# Check that automatic re-execution of test script with the
-# configure-time $SHELL.
-
-am_create_testdir=empty
-. ./defs || Exit 1
-
-plan_ 32
-
-unset AM_TESTS_REEXEC BASH_VERSION || :
-
-cwd=`pwd` || fatal_ "cannot get current working directory"
-cp ../defs .
-
-#
-# Search for required bash and non-bash shells.
-#
-
-for bash_shell in "$SHELL" bash bash3 bash4 :; do
- test "$bash_shell" = : && break
- $bash_shell --version || continue
- $bash_shell -c 'test -n "$BASH_VERSION"' || continue
- break
-done
-
-# This might not be optimal, but it's much better than writing wrapper
-# scripts acting as "fake" shells.
-for non_bash_shell in /bin/sh /bin/ksh "$SHELL" sh ksh ash dash pdksh :; do
- test "$non_bash_shell" = : && break
- $non_bash_shell -c 'exit 0' || continue
- $non_bash_shell -c 'test -n "$BASH_VERSION"' && continue
- break
-done
-
-echo "bash_shell='$bash_shell'"
-echo "non_bash_shell='$non_bash_shell'"
-
-# This would denote an internal error.
-if test "$bash_shell" = : && test "$non_bash_shell" = :; then
- fatal_ "we couldn't find a bash shell nor a non-bash one"
-fi
-
-#
-# Functions used throughout the test.
-#
-
-get_ddata ()
-{
- case $1 in
- ""|*/) dsep=;;
- *) dsep=/;;
- esac
- case $1 in
- "") dname="no dir";;
- /*) dname="absolute dir";;
- *) dname="dir '$1'";;
- esac
-}
-
-get_sh ()
-{
- case $1 in
- bash) sh=$bash_shell;;
- non-bash) sh=$non_bash_shell;;
- *) fatal_ "get_sh: invalid shell type '$1'";;
- esac
-}
-
-#
-# Check how to default, force or prevent a re-execution.
-#
-
-cat > need-bash.test <<'END'
-#!/bin/false
-. ./defs
-# Ensure that the script gets re-executed with bash. Also ensure that
-# non-standard syntax used after the inclusion of './defs' doesn't cause
-# non-bash shells to fail.
-# Subshell required to prevent some shells (e.g., Solaris 10 /bin/sh)
-# from only complaining on stderr but then exiting with exit status 0.
-(foo=abac && test xbxc = ${foo//a/x} && test -n "$BASH_VERSION")
-END
-
-sed -e "s|^testbuilddir=.*|testbuilddir='$cwd'|" \
- -e 's|^SHELL=.*$|SHELL=bash; export SHELL|' \
- < ../defs-static >defs-static
-
-do_reexec ()
-{
- command_ok_ "re-exec if AM_TESTS_REEXEC=$1" \
- env AM_TESTS_REEXEC="$1" $non_bash_shell need-bash.test
-}
-
-dont_reexec ()
-{
- command_ok_ "don't re-exec if AM_TESTS_REEXEC=$1" \
- not env AM_TESTS_REEXEC="$1" $non_bash_shell need-bash.test
-}
-
-if test "$bash_shell" = :; then
- skip_row_ 10 -r "no bash shell found" AM_TESTS_REEXEC
-elif test "$non_bash_shell" = :; then
- skip_row_ 10 -r "no non-bash shell found" AM_TESTS_REEXEC
-else
- command_ok_ "re-exec if AM_TESTS_REEXEC unset" \
- $non_bash_shell need-bash.test
- do_reexec ''
- do_reexec yes
- do_reexec y
- do_reexec true
- do_reexec 1
- dont_reexec no
- dont_reexec n
- dont_reexec false
- dont_reexec 0
-fi
-
-#
-# Check message about the re-execution. Also check that arguments passed
-# to a test script are preserved by a re-exec, even in "corner" cases.
-#
-
-cat > dummy.test <<'END'
-#!/bin/sh
-. ./defs
-:
-END
-
-cat > checkargs.test <<'END'
-. ./defs
-test $# -eq 3 && test x"$1" = x'a' && test x"$2" = x && test x"$3" = x"-e"
-END
-
-chmod a+x dummy.test checkargs.test
-
-mkdir sub
-cp dummy.test checkargs.test defs sub
-sed -e "s|^testbuilddir=.*|testbuilddir='$cwd'|" \
- < ../defs-static > defs-static
-sed -e "s|^testbuilddir=.*|testbuilddir='$cwd/sub'|" \
- < ../defs-static > sub/defs-static
-
-check_preserve_args ()
-{
- dir=$1; shift
- get_ddata "$dir"
- $sh "${dir}${dsep}checkargs.test" a '' -e && r='ok' || r='not ok'
- result_ "$r" "$sh re-exec preserving args [$dname]"
-}
-
-check_reexec_message ()
-{
- dir=$1; shift
- get_ddata "$dir"
- $sh "${dir}${dsep}dummy.test" "$@" \
- | grep "^dummy: exec $SHELL ${dir}${dsep}dummy\\.test $*\$" \
- && r='ok' || r='not ok'
- result_ "$r" "$sh display re-exec message [$dname] [args: $*]"
-}
-
-./dummy.test a b | grep "^dummy: exec $SHELL \\./dummy\\.test a b$" \
- && r='ok' || r='not ok'
-result_ "$r" "direct run display re-exec message [args: a b]"
-
-./checkargs.test a '' -e && r='ok' || r='not ok'
-result_ "$r" "direct re-exec preserving args"
-
-for sh_type in non-bash bash; do
- get_sh $sh_type
- if test "$sh" = :; then
- skip_row_ 5 -r "no $sh_type shell available" "re-exec message"
- skip_row_ 5 -r "no $sh_type shell available" "re-exec preserving args"
- continue
- fi
- check_preserve_args ''
- check_reexec_message '' a b c
- check_preserve_args .
- check_reexec_message . a b c
- cd sub
- check_preserve_args ..
- check_reexec_message .. a b c
- cd ..
- check_preserve_args "$cwd"
- check_reexec_message "$cwd" a -b c-
- check_preserve_args sub
- check_reexec_message sub 1 2 3 4
-done
-
-:
diff --git a/tests/self-check-sanity.test b/tests/self-check-sanity.test
deleted file mode 100755
index 8a6b85c..0000000
--- a/tests/self-check-sanity.test
+++ /dev/null
@@ -1,72 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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/>.
-
-# Sanity check for the automake testsuite.
-# Test the sanity checks performed by the 'defs' script. Also check
-# that we can use 'defs' elsewhere, when we duplicate some of the
-# infrastructure from the automake/tests subdirectory.
-
-am_create_testdir=empty
-. ./defs || Exit 1
-
-# Avoid to confuse traces from child processed with our own traces.
-show_stderr ()
-{
- sed 's/^/ | /' stderr >&2
-}
-
-AM_TESTS_REEXEC=no; export AM_TESTS_REEXEC
-
-if $SHELL -c '. ../defs' dummy.test 2>stderr; then
- show_stderr
- Exit 1
-else
- show_stderr
- grep 'defs-static: not found in current directory' stderr
-fi
-
-sed 's|^testsrcdir=.*|testsrcdir=foo|' ../defs-static > defs-static
-if $SHELL -c '. ../defs' dummy.test 2>stderr; then
- show_stderr
- Exit 1
-else
- show_stderr
- grep 'foo/defs-static\.in not found.*check \$testsrcdir' stderr
-fi
-
-sed 's|^testbuilddir=.*|testbuilddir=foo|' ../defs-static > defs-static
-if $SHELL -c '. ../defs' dummy.test 2>stderr; then
- show_stderr
- Exit 1
-else
- show_stderr
- grep 'foo/defs-static not found.*check \$testbuilddir' stderr
-fi
-
-# We still need a little hack to make ./defs work outside automake's
-# tree 'tests' subdirectory. Not a big deal.
-sed "s|^testbuilddir=.*|testbuilddir='`pwd`'|" ../defs-static >defs-static
-# Redefining *srcdir and *builddir variables in the environment shouldn't
-# cause problems
-env \
- builddir=bad-dir srcdir=bad-dir \
- top_builddir=bad-dir top_srcdir=bad-dir \
- abs_builddir=bad-dir abs_srcdir=bad-dir \
- abs_top_builddir=bad-dir abs_top_srcdir=bad-dir \
- $SHELL -c '. ../defs && echo "!OK!" > ../foo' dummy.test
-$FGREP '!OK!' foo
-
-:
diff --git a/tests/tap-ambiguous-directive.test
b/tests/tap-ambiguous-directive.test
deleted file mode 100755
index 68ed990..0000000
--- a/tests/tap-ambiguous-directive.test
+++ /dev/null
@@ -1,56 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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/>.
-
-# TAP support:
-# - handling of "ambiguous" TODO and SKIP directives
-# See also related test 'tap-todo-skip-together.test'.
-
-am_parallel_tests=yes
-. ./defs || Exit 1
-
-. "$testsrcdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
-
-cat > all.test <<END
-1..6
-ok 1 # foo SKIP
-not ok 2 # bar TODO
-ok 3 # :SKIP
-not ok 4 # :TODO
-ok 5 # SKIP SKIP
-not ok 6 # TODO TODO
-END
-
-$MAKE check >stdout && { cat stdout; Exit 1; }
-cat stdout
-
-count_test_results total=6 pass=2 fail=2 xpass=0 xfail=1 skip=1 error=0
-
-cat > exp << 'END'
-PASS: all.test 1 # foo SKIP
-FAIL: all.test 2 # bar TODO
-PASS: all.test 3 # :SKIP
-FAIL: all.test 4 # :TODO
-SKIP: all.test 5 # SKIP SKIP
-XFAIL: all.test 6 # TODO TODO
-END
-
-$FGREP ': all.test' stdout > got
-
-cat exp
-cat got
-diff exp got
-
-:
diff --git a/tests/tap-autonumber.test b/tests/tap-autonumber.test
deleted file mode 100755
index 37e85ca..0000000
--- a/tests/tap-autonumber.test
+++ /dev/null
@@ -1,75 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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/>.
-
-# TAP support:
-# - unnumbered tests are OK, as long as their final total number
-# agrees with the plan
-# - test results without number get automatically numbered in the
-# console progress output
-
-am_parallel_tests=yes
-. ./defs || Exit 1
-
-. "$testsrcdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
-
-cat > all.test <<'END'
-1..14
-ok
-ok foo
-ok - foo2
-not ok
-not ok bar
-not ok - bar2
-; See that we can intermingle different kind of results without
-; messing up the autonumbering
-ok
-ok # TODO
-not ok # TODO who cares?
-ok
-not ok
-ok muuu # SKIP
-not ok
-ok
-END
-
-$MAKE check TESTS=all.test >stdout && { cat stdout; Exit 1; }
-cat stdout
-count_test_results total=14 pass=6 fail=5 xpass=1 xfail=1 skip=1 error=0
-
-cat > exp <<'END'
-PASS: all.test 1
-PASS: all.test 2 foo
-PASS: all.test 3 - foo2
-FAIL: all.test 4
-FAIL: all.test 5 bar
-FAIL: all.test 6 - bar2
-PASS: all.test 7
-XPASS: all.test 8 # TODO
-XFAIL: all.test 9 # TODO who cares?
-PASS: all.test 10
-FAIL: all.test 11
-SKIP: all.test 12 muuu # SKIP
-FAIL: all.test 13
-PASS: all.test 14
-END
-
-$FGREP ': all.test' stdout > got
-
-cat exp
-cat got
-diff exp got
-
-:
diff --git a/tests/tap-bailout-and-logging.test
b/tests/tap-bailout-and-logging.test
deleted file mode 100755
index 8019caa..0000000
--- a/tests/tap-bailout-and-logging.test
+++ /dev/null
@@ -1,49 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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/>.
-
-# TAP support:
-# - even after a "Bail out!" directive, all input is still copied in
-# the log file
-
-am_parallel_tests=yes
-. ./defs || Exit 1
-
-. "$testsrcdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
-
-cat > all.test <<END
-First line
-Bail out!
-non-TAP line after bailout
-# TAP diagnostic after bailout
-1..0 # SKIP TAP plan after bailout
-ok 1 - TAP result after bailout
-END
-
-$MAKE check && { cat all.log; Exit 1; }
-cat all.log
-
-for rx in \
- 'First line' \
- 'Bail out!' \
- 'non-TAP line after bailout' \
- '# TAP diagnostic after bailout' \
- '1\.\.0 # SKIP TAP plan after bailout' \
- 'ok 1 - TAP result after bailout' \
-; do
- grep "^$rx$" all.log
-done
-
-:
diff --git a/tests/tap-bailout-leading-space.test
b/tests/tap-bailout-leading-space.test
deleted file mode 100755
index 421dfe2..0000000
--- a/tests/tap-bailout-leading-space.test
+++ /dev/null
@@ -1,71 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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/>.
-
-# Older versions of prove and TAP::Harness (e.g., 3.17) didn't recognize
-# a "Bail out!" directive that was preceded by whitespace, but more modern
-# versions (e.g., 3.23) do. So we leave this behaviour undefined for the
-# perl implementation of the Automake TAP driver, but expect the latter,
-# "more modern" behaviour in our awk TAP driver.
-
-am_parallel_tests=yes
-am_tap_implementation=shell
-. ./defs || Exit 1
-
-. "$testsrcdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
-
-cat > a.test <<END
-1..1
-ok 1
- Bail out!
-END
-
-cat > b.test <<END
-1..1
-ok 1 # SKIP
-${tab}Bail out!
-END
-
-cat > c.test <<END
-1..1
- ${tab} ${tab}${tab}Bail out! FUBAR! $tab
-END
-
-cat >> exp <<END
-PASS: a.test 1
-ERROR: a.test - Bail out!
-SKIP: b.test 1
-ERROR: b.test - Bail out!
-ERROR: c.test - Bail out! FUBAR!
-END
-
-$MAKE TESTS='a.test b.test c.test' check >stdout && { cat stdout; Exit 1; }
-cat stdout
-
-count_test_results total=5 pass=1 fail=0 xpass=0 xfail=0 skip=1 error=3
-
-LC_ALL=C sort exp > t
-mv -f t exp
-
-# We need the sort below to account for parallel make usage.
-grep ': [abcde]\.test' stdout \
- | sed "s/[ $tab]*#[ $tab]*SKIP.*//" \
- | LC_ALL=C sort > got
-
-cat exp
-cat got
-diff exp got
-
-:
diff --git a/tests/tap-bailout-suppress-badexit.test
b/tests/tap-bailout-suppress-badexit.test
deleted file mode 100755
index b8d6554..0000000
--- a/tests/tap-bailout-suppress-badexit.test
+++ /dev/null
@@ -1,65 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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/>.
-
-# Basic TAP test protocol support:
-# - A "Bail out!" directive causes the driver to ignore the exit
-# status of the test script.
-
-am_parallel_tests=yes
-. ./defs || Exit 1
-
-tests='exit.test exit127.test sighup.test sigterm.test'
-
-cat > Makefile.am <<END
-TESTS = $tests
-END
-
-. "$testsrcdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
-
-cat > exit.test << 'END'
-#!/bin/sh
-echo 'Bail out!'
-exit 1
-END
-
-cat > exit127.test << 'END'
-#!/bin/sh
-echo 'Bail out!'
-exit 127
-END
-
-cat > sighup.test << 'END'
-#!/bin/sh
-echo 'Bail out!'
-kill -1 $$
-END
-
-cat > sigterm.test << 'END'
-#!/bin/sh
-echo 'Bail out!'
-kill -15 $$
-END
-
-chmod a+x $tests
-
-$MAKE check >stdout && { cat stdout; Exit 1; }
-cat stdout
-
-count_test_results total=4 pass=0 fail=0 xpass=0 xfail=0 skip=0 error=4
-for tst in $tests; do grep "^ERROR: $tst - Bail out!" stdout; done
-$EGREP "ERROR: .*(exit.*status|terminat.*signal)" stdout && Exit 1
-
-:
diff --git a/tests/tap-bailout-suppress-later-diagnostic.test
b/tests/tap-bailout-suppress-later-diagnostic.test
deleted file mode 100755
index 965eb3a..0000000
--- a/tests/tap-bailout-suppress-later-diagnostic.test
+++ /dev/null
@@ -1,45 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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/>.
-
-# TAP support:
-# - A "Bail out!" directive causes the driver to ignore any TAP
-# diagnostic message in the rest of the following TAP stream.
-
-am_parallel_tests=yes
-. ./defs || Exit 1
-
-. "$testsrcdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
-
-echo AM_TEST_LOG_DRIVER_FLAGS = --comments >> Makefile
-
-cat > all.test <<END
-1..1
-# sanity check
-ok 1
-Bail out!
-# not seen
-END
-
-# Doing the sums above, we have:
-
-$MAKE check >stdout && { cat stdout; Exit 1; }
-cat stdout
-
-count_test_results total=2 pass=1 fail=0 xpass=0 xfail=0 skip=0 error=1
-grep '# all.test: sanity check' stdout
-grep 'not seen' stdout && Exit 1
-
-:
diff --git a/tests/tap-bailout-suppress-later-errors.test
b/tests/tap-bailout-suppress-later-errors.test
deleted file mode 100755
index 1be0389..0000000
--- a/tests/tap-bailout-suppress-later-errors.test
+++ /dev/null
@@ -1,74 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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/>.
-
-# TAP support:
-# - A "Bail out!" directive causes the driver to ignore any TAP
-# result or error in the rest of the following TAP stream.
-
-am_parallel_tests=yes
-. ./defs || Exit 1
-
-. "$testsrcdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
-
-# Various errors that can all be squashed into a single test script.
-cat > foo.test << 'END'
-1..5
-Bail out!
-# All possible test results.
-# Test out-of-order.
-ok 4
-# Extra TAP plan.
-1..2
-# Another bailout directive.
-Bail out! Not seen.
-# Stop now, with too few tests run.
-END
-
-# Tests run after a "SKIP" plan.
-cat > bar.test << 'END'
-1..0 # SKIP
-Bail out!
-ok 1
-END
-
-# Too many tests run.
-cat > baz.test << 'END'
-1..1
-ok 1
-Bail out!
-ok 2
-ok 3
-END
-
-$MAKE TESTS='foo.test bar.test baz.test' check >stdout \
- && { cat stdout; Exit 1; }
-cat stdout
-
-count_test_results total=5 pass=1 fail=0 xpass=0 xfail=0 skip=1 error=3
-
-grep '^ERROR: foo\.test - Bail out!$' stdout
-grep '^ERROR: bar\.test - Bail out!$' stdout
-grep '^SKIP: bar\.test' stdout
-grep '^ERROR: baz\.test - Bail out!$' stdout
-grep '^PASS: baz\.test 1$' stdout
-
-$FGREP 'Not seen' stdout && Exit 1
-
-test `$FGREP -c ': foo.test' stdout` -eq 1
-test `$FGREP -c ': bar.test' stdout` -eq 2
-test `$FGREP -c ': baz.test' stdout` -eq 2
-
-:
diff --git a/tests/tap-bailout.test b/tests/tap-bailout.test
deleted file mode 100755
index e952b63..0000000
--- a/tests/tap-bailout.test
+++ /dev/null
@@ -1,138 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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/>.
-
-# Basic TAP test protocol support:
-# - "Bail out!" magic
-
-am_parallel_tests=yes
-. ./defs || Exit 1
-
-. "$testsrcdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
-
-: > exp
-
-#------------------------------------------------------------------
-
-# Bailout without explanation.
-
-cat > a.test <<END
-1..4
-ok 1
-not ok 2
-Bail out!
-not ok 3
-ok 4 # SKIP
-END
-
-cat >> exp <<END
-PASS: a.test 1
-FAIL: a.test 2
-ERROR: a.test - Bail out!
-END
-
-# pass += 1, fail +=1, error += 1
-
-#------------------------------------------------------------------
-
-# Bailout with explanation.
-
-cat > b.test <<END
-1..7
-ok 1 # SKIP
-ok 2 # TODO
-not ok 3 # TODO
-Bail out! We're out of disk space.
-ok 4
-not ok 5
-not ok 6 # TODO
-ok 7 # TODO
-END
-
-cat >> exp <<END
-SKIP: b.test 1 # SKIP
-XPASS: b.test 2 # TODO
-XFAIL: b.test 3 # TODO
-ERROR: b.test - Bail out! We're out of disk space.
-END
-
-# skip += 1, xpass += 1, xfail += 1, error += 1
-
-#------------------------------------------------------------------
-
-# Bail out before the test plan.
-
-cat > c.test <<END
-ok 1
-ok 2
-Bail out! BOOOH!
-1..2
-END
-
-cat >> exp <<END
-PASS: c.test 1
-PASS: c.test 2
-ERROR: c.test - Bail out! BOOOH!
-END
-
-# pass += 2, error += 1
-
-#------------------------------------------------------------------
-
-# Bailout on the first line.
-
-cat > d.test <<END
-Bail out! mktemp -d: Permission denied
-ok 1
-END
-
-echo 'ERROR: d.test - Bail out! mktemp -d: Permission denied' >> exp
-
-# error += 1
-
-#------------------------------------------------------------------
-
-# TAP input comprised only of a bailout directive.
-
-cat > e.test <<END
-Bail out!
-END
-
-echo "ERROR: e.test - Bail out!" >> exp
-
-# error += 1
-
-#------------------------------------------------------------------
-
-# Doing the sums above, we have:
-test_counts='total=12 pass=3 fail=1 xpass=1 xfail=1 skip=1 error=5'
-
-$MAKE TESTS='a.test b.test c.test d.test e.test' check >stdout \
- && { cat stdout; Exit 1; }
-cat stdout
-
-count_test_results $test_counts
-
-LC_ALL=C sort exp > t
-mv -f t exp
-
-# We need the sort below to account for parallel make usage.
-grep ': [abcde]\.test' stdout | LC_ALL=C sort > got
-
-cat exp
-cat got
-diff exp got
-
-:
diff --git a/tests/tap-color.test b/tests/tap-color.test
deleted file mode 100755
index 927b675..0000000
--- a/tests/tap-color.test
+++ /dev/null
@@ -1,175 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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/>.
-
-# TAP support:
-# - colorization of TAP results and diagnostic messages
-
-am_parallel_tests=yes
-. ./defs || Exit 1
-
-TERM=ansi; export TERM
-
-esc=''
-# Escape '[' for grep, below.
-red="$esc\[0;31m"
-grn="$esc\[0;32m"
-lgn="$esc\[1;32m"
-blu="$esc\[1;34m"
-mgn="$esc\[0;35m"
-std="$esc\[m"
-
-# Check that grep can parse nonprinting characters.
-# BSD 'grep' works from a pipe, but not a seekable file.
-# GNU or BSD 'grep -a' works on files, but is not portable.
-case `echo "$std" | grep .` in
- "$std") ;;
- *) echo "$me: grep can't parse nonprinting characters" >&2; Exit 77;;
-esac
-
-cat > Makefile.am << 'END'
-AUTOMAKE_OPTIONS = color-tests
-AM_TEST_LOG_DRIVER_FLAGS = --comments
-TEST_LOG_COMPILER = cat
-TESTS = all.test skip.test bail.test badplan.test noplan.test \
- few.test many.test order.test afterlate.test
-END
-
-. "$testsrcdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
-
-cat > all.test << 'END'
-1..5
-ok 1 - foo
-# Hi! I shouldn't be colorized!
-not ok 2 - bar # TODO td
-ok 3 - baz # SKIP sk
-not ok 4 - quux
-ok 5 - zardoz # TODO
-END
-
-cat > skip.test << 'END'
-1..0 # SKIP whole script
-END
-
-cat > bail.test << 'END'
-1..1
-ok 1
-Bail out!
-END
-
-cat > badplan.test << 'END'
-1..2
-ok 1
-1..2
-ok 2
-END
-
-cat > noplan.test << 'END'
-ok 1
-END
-
-cat > few.test << 'END'
-1..2
-ok 1
-END
-
-cat > many.test << 'END'
-1..1
-ok 1
-ok 2
-END
-
-cat > order.test << 'END'
-1..1
-ok 5
-END
-
-cat > afterlate.test << 'END'
-ok 1
-1..2
-ok 2
-END
-
-AM_COLOR_TESTS=always $MAKE check >stdout && { cat stdout; Exit 1; }
-cat stdout
-
-test_color ()
-{
- # Not a useless use of cat; see above comments about grep.
- cat stdout | grep "^${grn}PASS${std}: all\.test 1 - foo$"
- cat stdout | grep "^${lgn}XFAIL${std}: all\.test 2 - bar # TODO td$"
- cat stdout | grep "^${blu}SKIP${std}: all\.test 3 - baz # SKIP sk$"
- cat stdout | grep "^${red}FAIL${std}: all\.test 4 - quux$"
- cat stdout | grep "^${red}XPASS${std}: all\.test 5 - zardoz # TODO$"
- cat stdout | grep "^${blu}SKIP${std}: skip\.test - whole script$"
- cat stdout | grep "^${grn}PASS${std}: bail\.test 1$"
- cat stdout | grep "^${mgn}ERROR${std}: bail\.test - Bail out!$"
- cat stdout | grep "^${mgn}ERROR${std}: badplan\.test - multiple test plans$"
- cat stdout | grep "^${mgn}ERROR${std}: noplan\.test - missing test plan$"
- cat stdout | grep "^${mgn}ERROR${std}: few.test - too few tests run
(expected 2, got 1)$"
- cat stdout | grep "^${mgn}ERROR${std}: many.test - too many tests run
(expected 1, got 2)$"
- cat stdout | grep "^${mgn}ERROR${std}: many.test 2 # UNPLANNED$"
- cat stdout | grep "^${mgn}ERROR${std}: order.test 5 # OUT-OF-ORDER
(expecting 1)$"
- cat stdout | grep "^${mgn}ERROR${std}: afterlate\.test 2 # AFTER LATE PLAN$"
- # Diagnostic messages shouldn't be colorized.
- cat stdout | grep "^# all\.test: Hi! I shouldn't be colorized!$"
- :
-}
-
-test_no_color ()
-{
- # With make implementations that, like Solaris make, in case of errors
- # print the whole failing recipe on standard output, we should content
- # ourselves with a laxer check, to avoid false positives.
- # Keep this in sync with lib/am/check.am:$(am__color_tests).
- if $FGREP '= Xalways || test -t 1 ' stdout; then
- # Extra verbose make, resort to laxer checks.
- # But we also want to check that the testsuite summary is not unduly
- # colorized.
- (
- set +e # In case some grepped regex below isn't matched.
- # Not a useless use of cat; see above comments about grep.
- cat stdout | grep "TOTAL.*:"
- cat stdout | grep "PASS.*:"
- cat stdout | grep "FAIL.*:"
- cat stdout | grep "SKIP.*:"
- cat stdout | grep "XFAIL.*:"
- cat stdout | grep "XPASS.*:"
- cat stdout | grep "ERROR.*:"
- cat stdout | grep "^#"
- cat stdout | grep 'test.*expected'
- cat stdout | grep 'test.*not run'
- cat stdout | grep '===='
- cat stdout | grep '[Ss]ee .*test-suite\.log'
- cat stdout | grep '[Tt]estsuite summary'
- ) | grep "$esc" && Exit 1
- : For shells with broken 'set -e'
- else
- cat stdout | grep "$esc" && Exit 1
- : For shells with broken 'set -e'
- fi
-}
-
-# It should be possible to override AM_COLOR_TESTS also from the
-# environment.
-AM_COLOR_TESTS=always $MAKE check >stdout && { cat stdout; Exit 1; }
-cat stdout
-test_color
-
-$MAKE check >stdout && { cat stdout; Exit 1; }
-cat stdout
-test_no_color
-
-:
diff --git a/tests/tap-deps.test b/tests/tap-deps.test
deleted file mode 100755
index 7510243..0000000
--- a/tests/tap-deps.test
+++ /dev/null
@@ -1,87 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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/>.
-
-# Basic TAP test protocol support:
-# - dependencies between test scripts
-
-am_parallel_tests=yes
-. ./defs || Exit 1
-
-cat > Makefile.am << 'END'
-# The tests are *deliberately* listed in inversed order here.
-TESTS = c.test b.test a.test
-b.log: a.log
-c.log: b.log
-END
-
-. "$testsrcdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
-
-cat > a.test << 'END'
-#!/bin/sh
-echo 1..2
-echo ok 1
-# Creative quoting below to please maintainer-check.
-sleep '3'
-echo ok 2
-: > a.run
-END
-
-cat > b.test << 'END'
-#!/bin/sh
-echo 1..2
-if test -f a.run; then
- echo ok 1
-else
- echo not ok 1
-fi
-# Creative quoting below to please maintainer-check.
-sleep '3'
-echo ok 2
-: > b.run
-END
-
-cat > c.test << 'END'
-#!/bin/sh
-echo 1..1
-test -f b.run || { echo 'Bail out!'; exit 1; }
-echo ok 1
-rm -f a.run b.run
-END
-
-chmod a+x *.test
-
-$MAKE check >stdout || { cat stdout; Exit 1; }
-cat stdout
-
-count_test_results total=5 pass=5 fail=0 xpass=0 xfail=0 skip=0 error=0
-
-cat > exp << 'END'
-PASS: a.test 1
-PASS: a.test 2
-PASS: b.test 1
-PASS: b.test 2
-PASS: c.test 1
-END
-
-grep ': [abc]\.test' stdout > got
-
-cat exp
-cat got
-diff exp got
-
-# TODO: it would be nice to also redo the checks forcing parallel make...
-
-:
diff --git a/tests/tap-diagnostic.test b/tests/tap-diagnostic.test
deleted file mode 100755
index 6bbd9a1..0000000
--- a/tests/tap-diagnostic.test
+++ /dev/null
@@ -1,124 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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/>.
-
-# TAP support:
-# - diagnostic messages (TAP lines with leading "#")
-# - flags '--comments' and '--no-comments' of the TAP test driver
-
-am_parallel_tests=yes
-. ./defs || Exit 1
-
-. "$testsrcdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
-
-metacharacters=\''"\$!&()[]<>#;^?*'
-
-cat > all.test <<END
-1..4
-# Hi! I'm a comment.
-# Tests begin.
-ok 1
-not ok 2 - foo # TODO
-ok 3 - bar # SKIP
-# Tests end.
-ok - zardoz
-# Shell metacharacters here: $metacharacters
-.# Leading characters before "#", not a TAP diagnostic line.
-x # Leading characters before "#", not a TAP diagnostic line.
- # Leading whitespace before "#", not a TAP diagnostic line.
-${tab}# Leading whitespace before "#", not a TAP diagnostic line.
- ${tab} # Leading whitespace before "#", not a TAP diagnostic line.
-END
-
-cat > exp <<END
-# all.test: Hi! I'm a comment.
-# all.test: Tests begin.
-PASS: all.test 1
-XFAIL: all.test 2 - foo # TODO
-SKIP: all.test 3 - bar # SKIP
-# all.test: Tests end.
-PASS: all.test 4 - zardoz
-# all.test: Shell metacharacters here: $metacharacters
-END
-
-$MAKE check >stdout || { cat stdout; Exit 1; }
-cat stdout
-$EGREP -i "#.*all\\.test|a comment|(Tests|Shell) " stdout && Exit 1
-count_test_results total=4 pass=2 fail=0 xpass=0 xfail=1 skip=1 error=0
-
-echo 'AM_TEST_LOG_DRIVER_FLAGS = --comments' >> Makefile
-$MAKE check >stdout || { cat stdout; Exit 1; }
-cat stdout
-$FGREP ' all.test' stdout > got
-cat exp
-cat got
-diff exp got
-count_test_results total=4 pass=2 fail=0 xpass=0 xfail=1 skip=1 error=0
-
-$MAKE check TEST_LOG_DRIVER_FLAGS="--no-comments" >stdout \
- || { cat stdout; Exit 1; }
-cat stdout
-$EGREP -i "#.*all\\.test|a comment|(Tests|Shell) " stdout && Exit 1
-count_test_results total=4 pass=2 fail=0 xpass=0 xfail=1 skip=1 error=0
-
-# The "#"-prepended lines here shouldn't be parsed as test results.
-cat > all.test <<END
-1..1
-ok
-# ok
-#ok
-# not ok
-#not ok
-# Bail out!
-#Bail out!
-# SKIP
-#SKIP
-# TODO
-#TODO
-END
-
-$MAKE check >stdout || { cat stdout; Exit 1; }
-cat stdout
-count_test_results total=1 pass=1 fail=0 xpass=0 xfail=0 skip=0 error=0
-
-# Diagnostic without leading whitespace, or with extra leading whitespace,
-# is ok. Be laxer in the grepping checks, to allow for whitespace
-# normalization by the TAP driver.
-
-ws="[ $tab]"
-ws0p="${ws}*"
-ws1p="${ws}${ws0p}"
-
-cat > all.test <<END
-1..1
-ok 1
-#foo
-#bar${tab}
-# zardoz ${tab}
-# ${tab} ${tab}${tab}foo bar${tab}baz ${tab}
-END
-
-$MAKE check >stdout || { cat stdout; Exit 1; }
-cat stdout
-count_test_results total=1 pass=1 fail=0 xpass=0 xfail=0 skip=0 error=0
-
-grep "^# all.test:${ws0p}foo$" stdout
-grep "^# all.test:${ws0p}bar${ws0p}$" stdout
-grep "^# all.test:${ws1p}zardoz${ws0p}$" stdout
-grep "^# all.test:${ws1p}foo bar${tab}baz${ws0p}$" stdout
-
-test `grep -c '^# all\.test:' stdout` -eq 4
-
-:
diff --git a/tests/tap-empty-diagnostic.test b/tests/tap-empty-diagnostic.test
deleted file mode 100755
index 9ddd115..0000000
--- a/tests/tap-empty-diagnostic.test
+++ /dev/null
@@ -1,41 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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/>.
-
-# TAP support:
-# - empty diagnostic messages are discarder
-
-am_parallel_tests=yes
-. ./defs || Exit 1
-
-. "$testsrcdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
-
-sed 's/\$$//' > all.test <<END
-1..1$
-ok 1$
-#$
-# $
-#${tab}$
-# ${tab} $tab${tab}$
-END
-
-$MAKE check >stdout || { cat stdout; Exit 1; }
-cat stdout
-
-grep '^PASS:.*all\.test' stdout # Sanity check.
-grep '#.*all\.test' stdout && Exit 1
-grep "all\.test[ $tab]*:[ $tab]*$" stdout && Exit 1
-
-:
diff --git a/tests/tap-empty.test b/tests/tap-empty.test
deleted file mode 100755
index 52ad93c..0000000
--- a/tests/tap-empty.test
+++ /dev/null
@@ -1,55 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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/>.
-
-# TAP support: the following situations should be flagged as errors:
-# - empty TAP input
-# - blank TAP input
-
-am_parallel_tests=yes
-. ./defs || Exit 1
-
-. "$testsrcdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
-
-# Empty TAP input.
-: > empty.test
-
-# Blank TAP input (one empty line).
-echo > blank.test
-
-# Blank TAP input (one whitespace-only line).
-cat > white.test <<END
- ${tab}
-END
-
-# Blank TAP input (few blank and whitespace-only lines).
-cat > white2.test <<END
-
-
- ${tab} ${tab}${tab}
-
-${tab}
-
-END
-
-for input in empty blank white white2; do
- cp $input.test all.test
- $MAKE check >stdout && { cat stdout; Exit 1; }
- cat stdout
- count_test_results total=1 pass=0 fail=0 xpass=0 xfail=0 skip=0 error=1
- grep '^ERROR: all\.test - missing test plan$' stdout
-done
-
-:
diff --git a/tests/tap-escape-directive-2.test
b/tests/tap-escape-directive-2.test
deleted file mode 100755
index 087a72e..0000000
--- a/tests/tap-escape-directive-2.test
+++ /dev/null
@@ -1,55 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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/>.
-
-# TAP support:
-# - "escape" TODO and SKIP directives (by escaping the "#" character)
-
-am_parallel_tests=yes
-. ./defs || Exit 1
-
-. "$testsrcdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
-
-cat > all.test <<'END'
-1..8
-
-not ok \ # TODO
-ok \ # SKIP
-
-not ok \\# TODO
-ok \\# SKIP
-
-ok \\\# TODO
-ok \\\# SKIP
-
-not ok \\\\\\\\\\# TODO
-ok \\\\\\\\\\# SKIP
-END
-
-$MAKE check >stdout || { cat stdout; Exit 1; }
-cat stdout
-
-count_test_results total=8 pass=2 fail=0 xpass=0 xfail=3 skip=3 error=0
-
-grep '^XFAIL: all\.test 1 .*# TODO' stdout
-grep '^SKIP: all\.test 2 .*# SKIP' stdout
-grep '^XFAIL: all\.test 3 .*# TODO' stdout
-grep '^SKIP: all\.test 4 .*# SKIP' stdout
-grep '^PASS: all\.test 5 .*# TODO' stdout
-grep '^PASS: all\.test 6 .*# SKIP' stdout
-grep '^XFAIL: all\.test 7 .*# TODO' stdout
-grep '^SKIP: all\.test 8 .*# SKIP' stdout
-
-:
diff --git a/tests/tap-escape-directive.test b/tests/tap-escape-directive.test
deleted file mode 100755
index 5e0c1b4..0000000
--- a/tests/tap-escape-directive.test
+++ /dev/null
@@ -1,39 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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/>.
-
-# TAP support:
-# - "escape" TODO and SKIP directives (by escaping the "#" character)
-
-am_parallel_tests=yes
-. ./defs || Exit 1
-
-. "$testsrcdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
-
-cat > all.test <<'END'
-1..2
-ok \# TODO
-ok \# SKIP
-END
-
-$MAKE check >stdout || { cat stdout; Exit 1; }
-cat stdout
-
-count_test_results total=2 pass=2 fail=0 xpass=0 xfail=0 skip=0 error=0
-
-grep '^PASS: all\.test 1 .*# TODO' stdout
-grep '^PASS: all\.test 2 .*# SKIP' stdout
-
-:
diff --git a/tests/tap-exit.test b/tests/tap-exit.test
deleted file mode 100755
index 236e92d..0000000
--- a/tests/tap-exit.test
+++ /dev/null
@@ -1,54 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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/>.
-
-# TAP support:
-# - an exit status != 0 of a test script causes an hard error
-# - the '--ignore-exit' option causes the TAP test driver to ignore
-# exit statuses of the test scripts.
-
-am_parallel_tests=yes
-. ./defs || Exit 1
-
-echo TESTS = > Makefile.am
-for st in 1 2 77 99; do
- unindent > exit${st}.test <<END
- #!/bin/sh
- echo 1..1
- echo ok 1
- exit $st
-END
- echo TESTS += exit${st}.test >> Makefile.am
-done
-
-chmod a+x *.test
-
-. "$testsrcdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
-
-$MAKE check >stdout && { cat stdout; Exit 1; }
-cat stdout
-count_test_results total=8 pass=4 fail=0 xpass=0 xfail=0 skip=0 error=4
-
-grep '^ERROR: exit1\.test - exited with status 1$' stdout
-grep '^ERROR: exit2\.test - exited with status 2$' stdout
-grep '^ERROR: exit77\.test - exited with status 77$' stdout
-grep '^ERROR: exit99\.test - exited with status 99$' stdout
-
-echo TEST_LOG_DRIVER_FLAGS = --ignore-exit >> Makefile
-$MAKE check >stdout || { cat stdout; Exit 1; }
-cat stdout
-count_test_results total=4 pass=4 fail=0 xpass=0 xfail=0 skip=0 error=0
-
-:
diff --git a/tests/tap-fancy.test b/tests/tap-fancy.test
deleted file mode 100755
index 00d973e..0000000
--- a/tests/tap-fancy.test
+++ /dev/null
@@ -1,133 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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/>.
-
-# TAP support: some unusual forms for valid TAP input.
-# See also related test 'tap-fancy2.test'.
-
-am_parallel_tests=yes
-. ./defs || Exit 1
-
-. "$testsrcdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
-
-#
-# From manpage Test::Harness::TAP(3):
-#
-# ``Lines written to standard output matching /^(not )?ok\b/ must be
-# interpreted as test lines. All other lines must not be considered
-# test output.''
-#
-# Unfortunately, the exact format of TODO and SKIP directives is not as
-# clearly described in that manpage; but a simple reverse-engineering of
-# the prove(1) utility shows that it is probably given by the perl regex
-# /#\s*(TODO|SKIP)\b/.
-#
-
-cat > all.test <<END
-1..21
-
-ok? a question
-not ok? a question
-
-ok+plus
-not ok+plus
-
-ok-minus
-not ok-minus
-
-ok#55
-not ok#55
-
-ok${tab} ${tab}9
-ok ${tab}${tab} 10
-
-not ok${tab} ${tab}11
-not ok ${tab}${tab} 12
-
-ok# SKIP
-ok${tab}#SKIP--who cares?
-ok?#SKIP!
-ok!#SKIP?
-
-not ok# TODO
-not ok${tab}#TODO--who cares?
-not ok?#TODO!
-not ok!#TODO?
-
-ok~#TODO
-END
-
-$MAKE check >stdout && { cat stdout; Exit 1; }
-cat stdout
-
-count_test_results total=21 pass=6 fail=6 xfail=4 xpass=1 skip=4 error=0
-
-#
-# "Weird" characters support.
-#
-
-# The "#" character might cause confusion w.r.t. TAP directives (TODO,
-# SKIP), so we don't attempt to use it.
-weirdchars=\''"$!&()[]<>;^?*/@%=,.:'
-
-cat > all.test <<END
-1..6
-ok $weirdchars
-not ok $weirdchars
-ok $weirdchars # TODO
-not ok $weirdchars # TODO
-ok $weirdchars # SKIP
-Bail out! $weirdchars
-END
-
-$MAKE check >stdout && { cat stdout; Exit 1; }
-cat stdout
-
-count_test_results total=6 pass=1 fail=1 xfail=1 xpass=1 skip=1 error=1
-$FGREP "PASS: all.test 1 $weirdchars" stdout
-$FGREP "FAIL: all.test 2 $weirdchars" stdout
-$FGREP "XPASS: all.test 3 $weirdchars" stdout
-$FGREP "XFAIL: all.test 4 $weirdchars" stdout
-$FGREP "SKIP: all.test 5 $weirdchars" stdout
-$FGREP "ERROR: all.test - Bail out! $weirdchars" stdout
-
-#
-# Trailing backslashes does not confuse the parser.
-#
-
-bs='\'
-
-cat > all.test <<END
-1..6
-ok $bs
-not ok $bs
-ok # TODO $bs
-not ok # TODO $bs
-ok # SKIP $bs
-Bail out! $bs
-END
-
-$MAKE check >stdout && { cat stdout; Exit 1; }
-cat stdout
-
-count_test_results total=6 pass=1 fail=1 xfail=1 xpass=1 skip=1 error=1
-grep '^PASS: all\.test 1 \\$' stdout
-grep '^FAIL: all\.test 2 \\$' stdout
-grep '^XPASS: all\.test 3 # TODO \\$' stdout
-grep '^XFAIL: all\.test 4 # TODO \\$' stdout
-grep '^SKIP: all\.test 5 # SKIP \\$' stdout
-grep '^ERROR: all\.test - Bail out! \\$' stdout
-
-:
diff --git a/tests/tap-fancy2.test b/tests/tap-fancy2.test
deleted file mode 100755
index 9f26a95..0000000
--- a/tests/tap-fancy2.test
+++ /dev/null
@@ -1,138 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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/>.
-
-# TAP support: more unusual forms for valid TAP input.
-# See also related test 'tap-fancy.test'.
-
-am_parallel_tests=yes
-. ./defs || Exit 1
-
-. "$testsrcdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
-
-#
-# From manpage Test::Harness::TAP(3):
-#
-# ``Lines written to standard output matching /^(not )?ok\b/ must be
-# interpreted as test lines. All other lines must not be considered
-# test output.''
-#
-# Unfortunately, the exact format of TODO and SKIP directives is not as
-# clearly described in that manpage; but a simple reverse-engineering of
-# the prove(1) utility shows that it is probably given by the perl regex
-# /#\s*(TODO|SKIP)\b/.
-#
-
-# To avoid problems with backslashes in echo arguments.
-xecho () { printf '%s\n' "$*"; }
-
-# There are 34 values for $str ...
-for str in \
- \' \
- '"' \
- '`' \
- '#' \
- '$' \
- '!' \
- '\' \
- '/' \
- '&' \
- '%' \
- '(' \
- ')' \
- '|' \
- '^' \
- '~' \
- '?' \
- '*' \
- '+' \
- '-' \
- ',' \
- ':' \
- ';' \
- '=' \
- '<' \
- '>' \
- '@' \
- '[' \
- ']' \
- '{' \
- '}' \
- '\\' \
- '...' \
- '?[a-zA-Z0-9]*' \
- '*.*' \
-; do
- # ... each of them add 1 pass, 1 fail, ...
- xecho "ok${str}"
- xecho "not ok${str}"
- # ... and (generally) 4 skips, 4 xfails, and 4 xpasses ...
- for settings in \
- 'result="ok" directive=SKIP' \
- 'result="not ok" directive=TODO' \
- 'result="ok" directive=TODO' \
- ; do
- eval "$settings"
- xecho "${result}# ${directive}${str}"
- # ... but 6 skips, 6 xpasses and 6 xfails are to be removed, since
- # they might not work with $str = '#' or $str = '\' ...
- if test x"$str" != x'#' && test x"$str" != x'\'; then
- xecho "${result}${str}#${directive}"
- xecho "${result}${str}# ${tab}${tab} ${directive}"
- xecho "${result}${str}#${directive}${str}"
- fi
- done
-done > all.test
-
-# Sanity check against a previous use of unportable usages of backslashes
-# with the "echo" builtin.
-if grep '[^\\]\\#' all.test; then
- framework_failure_ "writing backslashes in all.test"
-fi
-
-# ... so that we finally have:
-pass=34
-fail=34
-xfail=130 # = 4 * 34 - 6
-xpass=130 # = 4 * 34 - 6
-skip=130 # = 4 * 34 - 6
-error=0
-total=`expr $pass + $fail + $xfail + $xpass + $skip`
-
-# Even nastier! But accordingly to the specifics, it should still work.
-for result in 'ok' 'not ok'; do
- echo "${result}{[(<#${tab}TODO>)]}" >> all.test
-done
-echo "ok{[(<#${tab}SKIP>)]}" >> all.test
-
-# We have to update some test counts.
-xfail=`expr $xfail + 1`
-xpass=`expr $xpass + 1`
-skip=`expr $skip + 1`
-total=`expr $total + 3`
-
-# And add the test plan!
-echo 1..$total >> all.test
-
-$MAKE check >stdout && { cat stdout; Exit 1; }
-cat stdout
-
-$EGREP '^(PASS|FAIL|SKIP).*#.*TODO' stdout && Exit 1
-$EGREP '^X?(PASS|FAIL).*#.*SKIP' stdout && Exit 1
-
-count_test_results total=$total pass=$pass fail=$fail skip=$skip \
- xpass=$xpass xfail=$xfail error=$error
-
-:
diff --git a/tests/tap-global-log.test b/tests/tap-global-log.test
deleted file mode 100755
index d5915ae..0000000
--- a/tests/tap-global-log.test
+++ /dev/null
@@ -1,122 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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/>.
-
-# TAP support:
-# - which log files get copied in the global log?
-
-am_parallel_tests=yes
-. ./defs || Exit 1
-
-. "$testsrcdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
-
-cat > ok.test << 'END'
-1..5
-ok 1
-ok 2
-ok 3
-not seen in global log
-ok 4
-ok 5
-END
-
-cat > top << 'END'
-1..6
-ok 1
-ok 2
-ok 3
-END
-
-cat > bot << 'END'
-ok 5
-ok 6
-END
-
-cat top - bot > skip.test << 'END'
-ok # SKIP
-::skip::
-END
-
-cat top - bot > todo.test << 'END'
-not ok # TODO
-::todo::
-END
-
-cat top - bot > fail.test << 'END'
-not ok
-::fail::
-END
-
-cat top - bot > xpass.test << 'END'
-ok # TODO
-::xpass::
-END
-
-cat top - bot > bail.test << 'END'
-::bail::
-Bail out!
-END
-
-cat top - bot > error.test << 'END'
-::error::
-1..7
-END
-
-# Created with "dd if=/dev/urandom count=1 | base64-encode"
-cat > hodgepodge <<'END'
-1+0 records in
-1+0 records out
-512 bytes (512 B) copied, 0.000241092 s, 2.1 MB/s
-gdivnV4VhL4DOzhE3zULJuun3PwqqQqMdATVcZbIQkNgyRvNBoqqHMBQEs7QsjDbp2nK+Szz
-EcelGyvXmHrW7yImaom6Yrg95k31VCmp/pGDRnTDwDrcOPJiv9jDReEmTAQkPuqLO+mFNly+
-DDHM9fNbzGumstsQ3wq3DOXz1pCV3JXwhjeaHSboeEbmr55bX0XHLSKaecctA0rXDXEyZWZ/
-ODlawSrAXzw0H7a+xBwjnNXZ3zYiwk3x+WQrPqNjb+qXiLLTxAKzx2/KnaFhxkPlte5jPRNB
-FciDolL+H/10LsCdSzLOrGnY2zH6vL2JMZfxjnb73zWFcdWWE01LTD7wpN5O1MP3+N47lcVe
-lWbkD04cJvhwxLElYSO24B743GG5EyGYt9SeZRE6xbgwq3fVOS8KqjwGxwi4adSBTtw0CV8W
-S/6n8dck1vBvjA+qpk0zMSYSqc3+jzW9UiGTmTEIwfw80p/lGNsfjcNBJ86nFkWUnHmrsi8k
-Dv57sK70mTg239g08f5Uvdga/5UreMBSgB0hUj5sbq57r7B1fsVr0Kag468la8zKy3ZEZ0gX
-++sbaJ9WGHhnKvjooeH+4Y6HwAFsdINde++FlCmp4EuNKKEEuXbSKLaOTy3+6pJ2DYdvRCL+
-frZwxH4hcrw8qh+8IakB02viewZS/qT57v4=
-END
-
-exec 5>misc.test
-echo 'ok # SKIP' >&5
-cat hodgepodge >&5
-echo 'not ok # TODO' >&5
-echo 'ok' >&5
-exec 5>&-
-
-cat > skipall.test << 'END'
-1..0 # SKIP all
-END
-
-# We don't care about the exit status of "make check" here.
-$MAKE TESTS="`echo *.test`" check || :
-cat test-suite.log
-
-grep ':.*ok|not seen' test-suite.log && Exit 1
-
-for s in skip todo fail xpass bail error; do
- $FGREP "::$s::" test-suite.log
-done
-
-grep '^1\.\.0 # SKIP all$' test-suite.log
-
-case `cat test-suite.log` in
- *"`cat hodgepodge`"*) ;;
- *) Exit 1;;
-esac
-
-:
diff --git a/tests/tap-global-result.test b/tests/tap-global-result.test
deleted file mode 100755
index c3cd07e..0000000
--- a/tests/tap-global-result.test
+++ /dev/null
@@ -1,187 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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/>.
-
-# TAP support:
-# - which global test result derives from different test results
-# mixed in a single script?
-
-am_parallel_tests=yes
-. ./defs || Exit 1
-
-. "$testsrcdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
-
-cat > ok.test <<END
-1..3
-ok 1
-not ok 2 # TODO
-ok 3 # SKIP
-END
-
-cat > skip.test <<'END'
-1..3
-ok 1 # SKIP
-ok 2 # SKIP
-ok 3 # SKIP
-END
-
-cat > skipall.test <<'END'
-1..0 # SKIP
-foo
-# bar
-END
-
-cat > fail.test <<'END'
-1..1
-not ok 1
-END
-
-(sed '1s/.*/1..4/' ok.test && echo 'not ok 4') > fail2.test
-
-cat > xpass.test <<'END'
-1..1
-ok 1 # TODO
-END
-
-(sed '1s/.*/1..4/' ok.test && echo 'ok 4 # TODO') > xpass2.test
-
-echo 'Bail out!' > bail.test
-
-(cat ok.test && echo 'Bail out!') > bail2.test
-
-cat > bail3.test <<'END'
-1..0 # SKIP
-Bail out!
-END
-
-# Too many tests.
-cat > error.test <<'END'
-1..2
-ok 1
-ok 2 # SKIP
-not ok 3
-not ok 4 # TODO
-END
-
-# Too few tests.
-cat > error2.test <<'END'
-1..4
-ok 1
-not ok 2 # TODO
-ok 3 # SKIP
-END
-
-# Repeated plan.
-cat > error3.test <<'END'
-1..2
-1..2
-ok 1
-ok 2
-END
-
-# Too many tests, after a "SKIP" plan.
-cat > error4.test <<'END'
-1..0 # SKIP
-ok 1
-ok 2
-END
-
-# Tests out of order.
-cat > error5.test <<'END'
-1..4
-not ok 1 # TODO
-ok 3
-ok 2
-ok 4
-END
-
-# Wrong test number.
-cat > error6.test <<'END'
-1..2
-ok 1 # SKIP
-ok 7
-END
-
-# No plan.
-cat > error7.test <<'END'
-ok 1 # SKIP
-ok 2 # TODO
-not ok 3 # TODO
-ok 4
-END
-
-cat > hodgepodge.test <<'END'
-1..2
-not ok 1
-ok 2 # TODO
-Bail out!
-END
-
-cat > hodgepodge-all.test <<'END'
-1..4
-ok 1
-ok 2 # SKIP
-not ok 2 # TODO
-not ok 3
-ok 4 # TODO
-Bail out!
-END
-
-tests=`echo *.test` # Also required later.
-
-$MAKE TESTS="$tests" check >stdout && { cat stdout; Exit 1; }
-cat stdout
-
-# Dirty trick required here.
-for tst in `echo " $tests " | sed 's/.test / /'`; do
- echo :copy-in-global-log: yes >> $tst.trs
-done
-
-rm -f test-suite.log
-$MAKE TESTS="$tests" test-suite.log && Exit 1
-cat test-suite.log
-
-have_rst_section ()
-{
- eqeq=`echo "$1" | sed 's/./=/g'`
- # Assume $1 contains no RE metacharacters.
- sed -n "/^$1$/,/^$eqeq$/p" test-suite.log > got
- (echo "$1" && echo "$eqeq") > exp
- cat exp
- cat got
- diff exp got
-}
-
-have_rst_section 'PASS: ok'
-have_rst_section 'SKIP: skip'
-have_rst_section 'SKIP: skipall'
-have_rst_section 'FAIL: fail'
-have_rst_section 'FAIL: fail2'
-have_rst_section 'FAIL: xpass'
-have_rst_section 'FAIL: xpass2'
-have_rst_section 'ERROR: bail'
-have_rst_section 'ERROR: bail2'
-have_rst_section 'ERROR: bail3'
-have_rst_section 'ERROR: error'
-have_rst_section 'ERROR: error2'
-have_rst_section 'ERROR: error3'
-have_rst_section 'ERROR: error4'
-have_rst_section 'ERROR: error5'
-have_rst_section 'ERROR: error6'
-have_rst_section 'ERROR: error7'
-have_rst_section 'ERROR: hodgepodge'
-have_rst_section 'ERROR: hodgepodge-all'
-
-:
diff --git a/tests/tap-log.test b/tests/tap-log.test
deleted file mode 100755
index 62cc222..0000000
--- a/tests/tap-log.test
+++ /dev/null
@@ -1,164 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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/>.
-
-# TAP support:
-# - log file creation
-# - log file removal
-# - stdout and stderr of a script go in its log file
-# - TEST_SUITE_LOG redefinition, at either automake or make time
-# - VERBOSE environment variable support
-# Keep in sync with 'test-log.test'.
-
-am_parallel_tests=yes
-. ./defs || Exit 1
-
-cat > Makefile.am << 'END'
-TESTS = pass.test skip.test xfail.test fail.test xpass.test error.test
-TEST_SUITE_LOG = global.log
-END
-
-. "$testsrcdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
-
-# Custom markers, for use in grepping checks.
-cmarker=::: # comment marker
-pmarker=%%% # plain maker
-
-cat > pass.test <<END
-#! /bin/sh -e
-echo 1..1
-echo "$pmarker pass $pmarker" >&2
-echo "# $cmarker pass $cmarker" >&2
-echo "ok 1"
-END
-
-cat > skip.test <<END
-#! /bin/sh -e
-echo 1..1
-echo "$pmarker skip $pmarker"
-echo "# $cmarker skip $cmarker"
-echo "ok 1 # SKIP"
-END
-
-cat > xfail.test <<END
-#! /bin/sh -e
-echo 1..1
-echo "$pmarker xfail $pmarker" >&2
-echo "# $cmarker xfail $cmarker" >&2
-echo "not ok 1 # TODO"
-END
-
-cat > fail.test <<END
-#! /bin/sh -e
-echo 1..1
-echo "$pmarker fail $pmarker"
-echo "# $cmarker fail $cmarker"
-echo "not ok 1"
-END
-
-cat > xpass.test <<END
-#! /bin/sh -e
-echo 1..1
-echo "$pmarker xpass $pmarker" >&2
-echo "# $cmarker xpass $cmarker" >&2
-echo "ok 1 # TODO"
-END
-
-cat > error.test <<END
-#! /bin/sh -e
-echo 1..1
-echo "$pmarker error $pmarker"
-echo "# $cmarker error $cmarker"
-echo 'Bail out!'
-END
-
-chmod a+x *.test
-
-$MAKE check TEST_SUITE_LOG=my.log && Exit 1
-ls -l # For debugging.
-test ! -f test-suite.log
-test ! -f global.log
-test -f my.log
-st=0
-for result in pass fail xfail xpass skip error; do
- cat $result.log # For debugging.
- $FGREP "$pmarker $result $pmarker" $result.log || st=1
- $FGREP "$cmarker $result $cmarker" $result.log || st=1
-done
-test $st -eq 0 || Exit 1
-cat my.log # For debugging.
-for result in xfail fail xpass skip error; do
- cat $result.log # For debugging.
- $FGREP "$pmarker $result $pmarker" my.log || st=1
- $FGREP "$cmarker $result $cmarker" my.log || st=1
-done
-test `$FGREP -c "$pmarker" my.log` -eq 5
-test `$FGREP -c "$cmarker" my.log` -eq 5
-
-# Passed test scripts shouldn't be mentioned in the global log.
-$EGREP '(^pass|[^x]pass)\.test' my.log && Exit 1
-# But failing (expectedly or not) and skipped ones should.
-$FGREP 'xfail.test' my.log
-$FGREP 'skip.test' my.log
-$FGREP 'fail.test' my.log
-$FGREP 'xpass.test' my.log
-$FGREP 'error.test' my.log
-
-touch error2.log test-suite.log global.log
-$MAKE mostlyclean TEST_SUITE_LOG=my.log
-ls -l # For debugging.
-test ! -f my.log
-test ! -f pass.log
-test ! -f fail.log
-test ! -f xfail.log
-test ! -f xpass.log
-test ! -f skip.log
-test ! -f error.log
-# "make mostlyclean" shouldn't remove unrelated log files.
-test -f error2.log
-test -f test-suite.log
-test -f global.log
-
-rm -f *.log
-
-VERBOSE=yes $MAKE check >stdout && { cat stdout; Exit 1; }
-cat stdout
-cat global.log
-test ! -f my.log
-test ! -f test-suite.log
-# Check that VERBOSE causes the global testsuite log to be
-# emitted on stdout.
-out=`cat stdout`
-log=`cat global.log`
-case $out in *"$log"*) ;; *) Exit 1;; esac
-
-touch error2.log test-suite.log my.log
-$MAKE clean
-ls -l # For debugging.
-test ! -f global.log
-test ! -f pass.log
-test ! -f fail.log
-test ! -f xfail.log
-test ! -f xpass.log
-test ! -f skip.log
-test ! -f error.log
-# "make clean" shouldn't remove unrelated log files.
-test -f error2.log
-test -f test-suite.log
-test -f my.log
-
-rm -f *.log
-
-:
diff --git a/tests/tap-merge-stdout-stderr.test
b/tests/tap-merge-stdout-stderr.test
deleted file mode 100755
index deb277b..0000000
--- a/tests/tap-merge-stdout-stderr.test
+++ /dev/null
@@ -1,72 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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/>.
-
-# TAP support:
-# - The Automake TAP driver has an option that instruct it to read TAP
-# input also from the stderr of the test command, not only its stdout.
-
-am_parallel_tests=yes
-. ./defs || Exit 1
-
-fetch_tap_driver
-
-cat > Makefile.am << 'END'
-AM_TEST_LOG_DRIVER_FLAGS = --comments --merge
-TESTS = all.test
-END
-
-. "$testsrcdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
-
-cat > all.test <<END
-#!/bin/sh
-echo 1..4
-echo ok 1 >&2
-echo ok 2
-echo "not ok 3 # TODO" >&2
-echo "ok 4 # SKIP"
-echo "# foo foo foo" >&2
-END
-chmod a+x all.test
-
-$MAKE check >stdout || { cat stdout; Exit 1; }
-cat stdout
-
-count_test_results total=4 pass=2 fail=0 xpass=0 xfail=1 skip=1 error=0
-grep '^# all\.test: foo foo foo' stdout
-
-cat > all.test <<END
-#!/bin/sh
-echo 1..1
-echo ok 1
-echo 'Bail out!' >&2
-END
-
-$MAKE check >stdout && { cat stdout; Exit 1; }
-cat stdout
-
-count_test_results total=2 pass=1 fail=0 xpass=0 xfail=0 skip=0 error=1
-
-# See that the option '--no-merge' can override the effect of '--merge'.
-
-$MAKE check TEST_LOG_DRIVER_FLAGS=--no-merge >stdout \
- || { cat stdout; Exit 1; }
-cat stdout
-
-count_test_results total=1 pass=1 fail=0 xpass=0 xfail=0 skip=0 error=0
-
-
-
-:
diff --git a/tests/tap-missing-plan-and-bad-exit.test
b/tests/tap-missing-plan-and-bad-exit.test
deleted file mode 100755
index 796b4b0..0000000
--- a/tests/tap-missing-plan-and-bad-exit.test
+++ /dev/null
@@ -1,43 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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/>.
-
-# TAP support:
-# - if a test script exits with non-zero status before printing the TAP
-# plan, then the driver reports both "missing plan" and "exited with
-# non-zero status" errors.
-
-am_parallel_tests=yes
-. ./defs || Exit 1
-
-cat > foo.test <<END
-#!/bin/sh
-exit 123
-END
-
-echo TESTS = foo.test > Makefile.am
-
-chmod a+x foo.test
-
-. "$testsrcdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
-
-$MAKE check >stdout && { cat stdout; Exit 1; }
-cat stdout
-count_test_results total=2 pass=0 fail=0 xpass=0 xfail=0 skip=0 error=2
-
-grep '^ERROR: foo\.test - exited with status 123$' stdout
-grep '^ERROR: foo\.test - missing test plan$' stdout
-
-:
diff --git a/tests/tap-msg0-bailout.test b/tests/tap-msg0-bailout.test
deleted file mode 100755
index 1b94fe9..0000000
--- a/tests/tap-msg0-bailout.test
+++ /dev/null
@@ -1,38 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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/>.
-
-# TAP support:
-# - literal strings "0" and "0.0" as a test description in the message
-# of a "plan with skip" TAP plan
-# generally true!
-
-am_parallel_tests=yes
-. ./defs || Exit 1
-
-. "$testsrcdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
-
-echo 'Bail out! 0' > a.test
-echo 'Bail out! 0.0' > b.test
-
-$MAKE TESTS='a.test b.test' check >stdout && { cat stdout; Exit 1; }
-cat stdout
-
-count_test_results total=2 pass=0 fail=0 xpass=0 xfail=0 skip=0 error=2
-
-grep '^ERROR: a.test - Bail out! 0$' stdout
-grep '^ERROR: b.test - Bail out! 0\.0$' stdout
-
-:
diff --git a/tests/tap-msg0-directive.test b/tests/tap-msg0-directive.test
deleted file mode 100755
index 8ca5b1c..0000000
--- a/tests/tap-msg0-directive.test
+++ /dev/null
@@ -1,41 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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/>.
-
-# TAP support:
-# - literal string "0" as a TODO or SKIP message
-
-am_parallel_tests=yes
-. ./defs || Exit 1
-
-. "$testsrcdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
-
-cat > all.test << 'END'
-1..3
-ok 1 # TODO 0
-not ok 2 # TODO 0
-ok 3 # SKIP 0
-END
-
-$MAKE check >stdout && { cat stdout; Exit 1; }
-cat stdout
-
-count_test_results total=3 pass=0 fail=0 xpass=1 xfail=1 skip=1 error=0
-
-grep '^XPASS: all\.test 1 # TODO 0$' stdout
-grep '^XFAIL: all\.test 2 # TODO 0$' stdout
-grep '^SKIP: all\.test 3 # SKIP 0$' stdout
-
-:
diff --git a/tests/tap-msg0-misc.test b/tests/tap-msg0-misc.test
deleted file mode 100755
index d6323ad..0000000
--- a/tests/tap-msg0-misc.test
+++ /dev/null
@@ -1,82 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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/>.
-
-# TAP support:
-# - literal "0" and "0.0" in a test description and a TODO/SKIP message
-# at the same time
-
-am_parallel_tests=yes
-. ./defs || Exit 1
-
-. "$testsrcdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
-
-cat > all.test << 'END'
-1..14
-
-ok 1 0
-ok 2 0.0
-
-ok 3 0 # TODO 0
-ok 4 0.0 # TODO 0
-ok 5 0 # TODO 0.0
-ok 6 0.0 # TODO 0.0
-
-not ok 7 0 # TODO 0
-not ok 8 0.0 # TODO 0
-not ok 9 0 # TODO 0.0
-not ok 10 0.0 # TODO 0.0
-
-ok 11 0 # SKIP 0
-ok 12 0.0 # SKIP 0
-ok 13 0 # SKIP 0.0
-ok 14 0.0 # SKIP 0.0
-
-END
-
-$MAKE check >stdout && { cat stdout; Exit 1; }
-cat stdout
-
-count_test_results total=14 pass=2 fail=0 xpass=4 xfail=4 skip=4 error=0
-
-sed '/^ *$/d' > exp << 'END'
-
-PASS: all.test 1 0
-PASS: all.test 2 0.0
-
-XPASS: all.test 3 0 # TODO 0
-XPASS: all.test 4 0.0 # TODO 0
-XPASS: all.test 5 0 # TODO 0.0
-XPASS: all.test 6 0.0 # TODO 0.0
-
-XFAIL: all.test 7 0 # TODO 0
-XFAIL: all.test 8 0.0 # TODO 0
-XFAIL: all.test 9 0 # TODO 0.0
-XFAIL: all.test 10 0.0 # TODO 0.0
-
-SKIP: all.test 11 0 # SKIP 0
-SKIP: all.test 12 0.0 # SKIP 0
-SKIP: all.test 13 0 # SKIP 0.0
-SKIP: all.test 14 0.0 # SKIP 0.0
-
-END
-
-$FGREP ': all.test' stdout > got
-
-cat exp
-cat got
-diff exp got
-
-:
diff --git a/tests/tap-msg0-planskip.test b/tests/tap-msg0-planskip.test
deleted file mode 100755
index a089424..0000000
--- a/tests/tap-msg0-planskip.test
+++ /dev/null
@@ -1,37 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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/>.
-
-# TAP support:
-# - literal strings "0" and "0.0" as the reason of the skip in a "TAP
-# plan with skip" (i.e., "1..0 # SKIP ...").
-
-am_parallel_tests=yes
-. ./defs || Exit 1
-
-. "$testsrcdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
-
-echo '1..0 # SKIP 0' > a.test
-echo '1..0 # SKIP 0.0' > b.test
-
-$MAKE TESTS='a.test b.test' check >stdout || { cat stdout; Exit 1; }
-cat stdout
-
-count_test_results total=2 pass=0 fail=0 xpass=0 xfail=0 skip=2 error=0
-
-grep '^SKIP: a.test - 0$' stdout
-grep '^SKIP: b.test - 0\.0$' stdout
-
-:
diff --git a/tests/tap-msg0-result.test b/tests/tap-msg0-result.test
deleted file mode 100755
index 31e49cd..0000000
--- a/tests/tap-msg0-result.test
+++ /dev/null
@@ -1,63 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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/>.
-
-# TAP support:
-# - the string "0" as a test description
-
-am_parallel_tests=yes
-. ./defs || Exit 1
-
-. "$testsrcdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
-
-cat > all.test << 'END'
-1..10
-ok 1 0
-ok - 0
-not ok 3 0
-not ok - 0
-ok 5 0 # TODO
-ok - 0 # TODO
-not ok 7 0 # TODO
-not ok - 0 # TODO
-ok 9 0 # SKIP
-ok - 0 # SKIP
-END
-
-$MAKE check >stdout && { cat stdout; Exit 1; }
-cat stdout
-
-count_test_results total=10 pass=2 fail=2 xpass=2 xfail=2 skip=2 error=0
-
-cat > exp << 'END'
-PASS: all.test 1 0
-PASS: all.test 2 - 0
-FAIL: all.test 3 0
-FAIL: all.test 4 - 0
-XPASS: all.test 5 0 # TODO
-XPASS: all.test 6 - 0 # TODO
-XFAIL: all.test 7 0 # TODO
-XFAIL: all.test 8 - 0 # TODO
-SKIP: all.test 9 0 # SKIP
-SKIP: all.test 10 - 0 # SKIP
-END
-
-$FGREP ': all.test' stdout > got
-
-cat exp
-cat got
-diff exp got
-
-:
diff --git a/tests/tap-negative-numbers.test b/tests/tap-negative-numbers.test
deleted file mode 100755
index 80db0b4..0000000
--- a/tests/tap-negative-numbers.test
+++ /dev/null
@@ -1,58 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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/>.
-
-# TAP support:
-# - don't spuriously recognize negative TAP result numbers, but correctly
-# interpret them as test descriptions instead
-
-am_parallel_tests=yes
-. ./defs || Exit 1
-
-. "$testsrcdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
-
-cat > all.test <<'END'
-1..7
-ok -1
-not ok -3
-ok -2 # SKIP
-not ok -5 # TODO
-ok -04 # TODO
-ok -121
-not ok -50000
-END
-
-$MAKE check >stdout && { cat stdout; Exit 1; }
-cat stdout
-
-count_test_results total=7 pass=2 fail=2 xpass=1 xfail=1 skip=1 error=0
-
-cat > exp <<'END'
-PASS: all.test 1 -1
-FAIL: all.test 2 -3
-SKIP: all.test 3 -2 # SKIP
-XFAIL: all.test 4 -5 # TODO
-XPASS: all.test 5 -04 # TODO
-PASS: all.test 6 -121
-FAIL: all.test 7 -50000
-END
-
-$FGREP ': all.test' stdout > got
-
-cat exp
-cat got
-diff exp got
-
-:
diff --git a/tests/tap-no-disable-hard-error.test
b/tests/tap-no-disable-hard-error.test
deleted file mode 100755
index 5b2d00f..0000000
--- a/tests/tap-no-disable-hard-error.test
+++ /dev/null
@@ -1,50 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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/>.
-
-# TAP support:
-# - "Bail out!" magic and TAP parse errors are not disabled nor turned
-# into simple failures by the definition DISABLE_HARD_ERRORS.
-
-am_parallel_tests=yes
-. ./defs || Exit 1
-
-cat > Makefile.am << 'END'
-DISABLE_HARD_ERRORS = yes
-TEST_LOG_COMPILER = cat
-TESTS = bail.test few.test noplan.test
-END
-
-. "$testsrcdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
-
-cat > bail.test <<END
-1..1
-Bail out!
-END
-
-cat > few.test <<END
-1..1
-END
-
-cat > noplan.test <<END
-# nothing here
-END
-
-$MAKE check >stdout && { cat stdout; Exit 1; }
-cat stdout
-
-count_test_results total=3 pass=0 fail=0 xpass=0 xfail=0 skip=0 error=3
-
-:
diff --git a/tests/tap-no-merge-stdout-stderr.test
b/tests/tap-no-merge-stdout-stderr.test
deleted file mode 100755
index 4cc260a..0000000
--- a/tests/tap-no-merge-stdout-stderr.test
+++ /dev/null
@@ -1,53 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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/>.
-
-# TAP support:
-# - By default, TAP input is only from the stdout (and not the stderr)
-# of the test command.
-
-am_parallel_tests=yes
-. ./defs || Exit 1
-
-cat > Makefile.am << 'END'
-TEST_LOG_DRIVER_FLAGS = --comments
-TESTS = all.test
-END
-
-. "$testsrcdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
-
-cat > all.test <<END
-#!/bin/sh
-echo 1..2
-echo 'not ok' >&2
-echo 'not ok 1 # TODO' >&2
-echo 'ok 1'
-echo '# foo foo foo'
-echo '# bar bar bar' >&2
-echo 'ok 44 # TODO' >&2
-echo 'Bail out!' >&2
-echo 'ok 2 # SKIP'
-END
-
-chmod a+x all.test
-
-$MAKE check >stdout || { cat stdout; Exit 1; }
-cat stdout
-
-count_test_results total=2 pass=1 fail=0 xpass=0 xfail=0 skip=1 error=0
-$FGREP 'foo foo foo' stdout
-$FGREP 'bar bar bar' stdout && Exit 1
-
-:
diff --git a/tests/tap-no-spurious-numbers.test
b/tests/tap-no-spurious-numbers.test
deleted file mode 100755
index 24c6d09..0000000
--- a/tests/tap-no-spurious-numbers.test
+++ /dev/null
@@ -1,99 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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/>.
-
-# TAP support:
-# - we shouldn't spuriously recognize as TAP result numbers what it
-# not, even if it seems pretty close
-
-am_parallel_tests=yes
-. ./defs || Exit 1
-
-. "$testsrcdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
-
-cat > prefixes <<'END'
-A
-a
-_
-+
--
-=
-/
-*
-.
-:
-,
-;
-$
-@
-%
-&
-#
-?
-!
-|
-\
-"
-`
-'
-(
-)
-[
-]
-{
-}
-<
->
-END
-
-n=`wc -l <prefixes`
-
-# See the loop below to understand this initialization.
-pass=`expr $n '*' 3`
-fail=$pass
-skip=`expr $pass - 3`
-xfail=$skip
-xpass=$xfail
-error=0
-total=`expr $pass + $fail + $skip + $xfail + $xpass`
-
-echo 1..$total > all.test
-
-highno=1000
-
-for result in 'ok' 'not ok'; do
- for spacing in "" " " "$tab"; do
- subst="$result &$spacing$higno"
- sed -e "s|.*|$subst|" prefixes
- for directive in TODO SKIP; do
- test "$result $directive" != "not ok SKIP" || continue
- sed -e '/^#$/d' -e "s|.*|$subst # $directive|" prefixes
- done
- done
-done >> all.test
-
-cat all.test # For debugging.
-
-# Sanity checks.
-grep '#.*#' all.test && framework_failure_ "creating all.test"
-test `wc -l <all.test` -lt $highno || framework_failure_ "creating all.test"
-
-$MAKE check >stdout || :
-cat stdout
-
-count_test_results total=$total pass=$pass fail=$fail skip=$skip \
- xpass=$xpass xfail=$xfail error=$error
-
-:
diff --git a/tests/tap-no-spurious-summary.test
b/tests/tap-no-spurious-summary.test
deleted file mode 100755
index 3b69bf9..0000000
--- a/tests/tap-no-spurious-summary.test
+++ /dev/null
@@ -1,47 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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/>.
-
-# TAP support:
-# - ':test-results:' directives in test scripts' output doesn't
-# originate spurious results in the testsuite summary
-
-am_parallel_tests=yes
-. ./defs || Exit 1
-
-. "$testsrcdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
-
-cat > all.test <<'END'
-1..1
-:test-result: PASS
-:test-result: FAIL
-:test-result: XPASS
-:test-result: XFAIL
-:test-result: SKIP
-:test-result: ERROR
-:test-result: UNKNOWN
-ok 1
-END
-
-$MAKE check >stdout || { cat stdout; Exit 1; }
-cat stdout
-
-count_test_results total=1 pass=1 fail=0 xpass=0 xfail=0 skip=0 error=0
-
-for result in PASS FAIL XPASS XFAIL SKIP ERROR UNKNOWN; do
- grep "^ *:test-result: $result$" all.log
-done
-
-:
diff --git a/tests/tap-no-spurious.test b/tests/tap-no-spurious.test
deleted file mode 100755
index 7cd1880..0000000
--- a/tests/tap-no-spurious.test
+++ /dev/null
@@ -1,114 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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/>.
-
-# TAP support:
-# - don't spuriously recognize lines that are "almost" TAP lines as
-# real TAP lines
-
-am_parallel_tests=yes
-. ./defs || Exit 1
-
-. "$testsrcdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
-
-echo 1..5 > all.test
-
-# The only recognized directives are "TODO" and "SKIP".
-# So the following should count as passed tests.
-cat >> all.test <<END
-ok 1 # XFAIL
-ok 2 # SKIPPED
-ok 3 # TO DO
-ok 4 # TODOALL
-ok 5 # FIXME
-END
-
-# According to documentation of Test::Harness::TAP(3):
-#
-# ``Lines written to standard output matching /^(not )?ok\b/
-# must be interpreted as test lines. All other lines must
-# not be considered test output.''
-
-cat >> all.test <<END
- ok
- ok 1
-${tab}ok
-${tab}ok 1
- not ok
- not ok 1
-${tab}not ok
-${tab}not ok 1
-notok
-notok 1
-not${tab}ok
-not${tab}ok 1
-not ok
-not ok 1
-no ok
-no ok 1
-# ok
-# not ok
-# ok 1
-# not ok 1
-#ok
-#not ok
-#ok 1
-#not ok 1
-END
-
-set +x # Don't pollute logs too much.
-for r in 'ok' 'not ok'; do
- for s1 in \
- a b c d e f g h i j k l m n o p q r s t u v w x y z \
- A B C D E F G H I J K L M N O P Q R S T U V W X Y Z \
- 0 1 2 3 4 5 6 7 8 9 _ ab 0a 23 a1B2c _o _x_y_
- do
- for s2 in '' @ % + - = / . : \; \* \? \& \! \# \$ \< \> \\; do
- printf '%s\n' "$r$s1$s2"
- done
- done
-done >> all.test
-set -x # Reset shell xtraces.
-
-# The prove(1) utility doesn't bail out on these, so our driver
-# shouldn't either.
-# See comments in 'tap-bailout-leading-space.test' for an explanation
-# of why we don't have a whitespace-prepended "Bail out!" line here.
-cat >> all.test <<'END'
-bailout
-bailout!
-bail out
-bail out!
-Bailout
-Bailout!
-Bail out
- Bail out
-#Bail out!
-# Bail out!
-END
-
-cat all.test # For debugging.
-
-# Minor sanity check.
-test `grep -c '^ok1$' all.test` -eq 1 \
- && test `grep -c '^not ok1$' all.test` -eq 1 \
- || framework_failure_ "creating all.test"
-
-$MAKE check >stdout || { cat stdout; Exit 1; }
-cat stdout
-
-count_test_results total=5 pass=5 fail=0 xpass=0 xfail=0 skip=0 error=0
-
-:
diff --git a/tests/tap-not-ok-skip.test b/tests/tap-not-ok-skip.test
deleted file mode 100755
index 2574f21..0000000
--- a/tests/tap-not-ok-skip.test
+++ /dev/null
@@ -1,39 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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/>.
-
-# TAP support:
-# - a "not ok # SKIP" line should count as a failure, for consistency
-# with the prove(1) utility.
-
-am_parallel_tests=yes
-. ./defs || Exit 1
-
-. "$testsrcdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
-
-cat > all.test <<'END'
-1..4
-not ok # SKIP
-not ok 2 # SKIP
-not ok - foo # SKIP
-not ok 4 - bar # SKIP
-END
-
-$MAKE check >stdout && { cat stdout; Exit 1; }
-cat stdout
-
-count_test_results total=4 pass=0 fail=4 skip=0 xpass=0 xfail=0 error=0
-
-:
diff --git a/tests/tap-number-wordboundary.test
b/tests/tap-number-wordboundary.test
deleted file mode 100755
index e8d97e7..0000000
--- a/tests/tap-number-wordboundary.test
+++ /dev/null
@@ -1,112 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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/>.
-
-# TAP support:
-# - TAP result numbers terminated by a non-whitespace "word boundary"
-# character are recognized
-
-am_parallel_tests=yes
-. ./defs || Exit 1
-
-. "$testsrcdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
-
-cat > all.test <<'END'
-1..5
-ok 1: foo1
-not ok 2- foo2
-ok 3@ foo3 # SKIP
-not ok 4?&%$ foo4 # TODO
-ok 5"`!! foo5 # TODO
-END
-
-$MAKE check >stdout && { cat stdout; Exit 1; }
-cat stdout
-
-count_test_results total=5 pass=1 fail=1 skip=1 xpass=1 xfail=1 error=0
-
-$EGREP '^PASS: all\.test 1 ?: foo1$' stdout
-$EGREP '^FAIL: all\.test 2 ?- foo2$' stdout
-$EGREP '^SKIP: all\.test 3 ?@ foo3 # SKIP$' stdout
-$EGREP '^XFAIL: all\.test 4 ?\?&%\$ foo4 # TODO$' stdout
-$EGREP '^XPASS: all\.test 5 ?"`!! foo5 # TODO$' stdout
-
-cat > all.test <<'END'
-1..3
-ok 2: quux
-not ok 1!
-ok 476$ # SKIP
-END
-
-$MAKE check >stdout && { cat stdout; Exit 1; }
-cat stdout
-
-count_test_results total=3 pass=0 fail=0 skip=0 xpass=0 xfail=0 error=3
-
-$EGREP '^ERROR: all\.test 2 ?: quux # OUT-OF-ORDER \(expecting 1\)$' stdout
-$EGREP '^ERROR: all\.test 1 ?! # OUT-OF-ORDER \(expecting 2\)$' stdout
-$EGREP '^ERROR: all\.test 476 ?\$ # OUT-OF-ORDER \(expecting 3\)$' stdout
-
-cat > punctuation <<'END'
-'
-"
-`
-#
-$
-!
-\
-/
-&
-%
-(
-)
-|
-^
-~
-?
-*
-+
--
-,
-:
-;
-=
-<
->
-@
-[
-]
-{
-}
-\
-END
-
-# Strip any extra whitespace, for Solaris' wc.
-planned=`wc -l <punctuation | tr -d " $tab"`
-
-echo 1..$planned > all.test
-awk '{print "ok " NR $0 }' punctuation >> all.test
-# For debugging.
-cat all.test
-# Sanity check.
-grep "^ok 1'$" all.test || framework_failure_ "creating all.test"
-
-$MAKE check >stdout || { cat stdout; Exit 1; }
-cat stdout
-
-count_test_results total=$planned pass=$planned \
- fail=0 skip=0 xpass=0 xfail=0 error=0
-
-:
diff --git a/tests/tap-numbers-leading-zero.test
b/tests/tap-numbers-leading-zero.test
deleted file mode 100755
index e288270..0000000
--- a/tests/tap-numbers-leading-zero.test
+++ /dev/null
@@ -1,109 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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/>.
-
-# TAP support:
-# - how does TAP result numbers with leading zero fares?
-
-am_parallel_tests=yes
-. ./defs || Exit 1
-
-. "$testsrcdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
-
-do_checks ()
-{
- $MAKE check >stdout && { cat stdout; Exit 1; }
- cat stdout
- count_test_results "$@"
- # Allow some normalization of leading zeros, without forcing it.
- LC_ALL=C sed -n 's/: all\.test 0*\([0-9]\)/: all.test \1/p' stdout > got
- cat exp
- cat got
- diff exp got
-}
-
-cat > all.test <<END
-1..15
-
-ok 01
-ok 0002
-
-not ok 03
-not ok 0004
-
-ok 05 # SKIP
-ok 0006 # SKIP
-
-not ok 07 # TODO
-not ok 0008 # TODO
-
-ok 009
-ok 010
-
-ok 00000011
-not ok 0012
-ok 00000013 # SKIP
-not ok 0014 # TODO
-ok 00000015 # TODO
-END
-
-cat > exp <<END
-PASS: all.test 1
-PASS: all.test 2
-FAIL: all.test 3
-FAIL: all.test 4
-SKIP: all.test 5 # SKIP
-SKIP: all.test 6 # SKIP
-XFAIL: all.test 7 # TODO
-XFAIL: all.test 8 # TODO
-PASS: all.test 9
-PASS: all.test 10
-PASS: all.test 11
-FAIL: all.test 12
-SKIP: all.test 13 # SKIP
-XFAIL: all.test 14 # TODO
-XPASS: all.test 15 # TODO
-END
-
-do_checks total=15 pass=5 fail=3 xpass=1 xfail=3 skip=3 error=0
-
-cat > all.test <<END
-1..8
-
-ok 010
-not ok 003
-ok 0001 # SKIP
-not ok 010 # TODO
-ok 00100 # TODO
-
-ok 06
-ok 00007
-ok 8
-END
-
-cat > exp <<END
-ERROR: all.test 10 # OUT-OF-ORDER (expecting 1)
-ERROR: all.test 3 # OUT-OF-ORDER (expecting 2)
-ERROR: all.test 1 # OUT-OF-ORDER (expecting 3)
-ERROR: all.test 10 # OUT-OF-ORDER (expecting 4)
-ERROR: all.test 100 # OUT-OF-ORDER (expecting 5)
-PASS: all.test 6
-PASS: all.test 7
-PASS: all.test 8
-END
-
-do_checks total=8 pass=3 fail=0 xpass=0 xfail=0 skip=0 error=5
-
-:
diff --git a/tests/tap-numeric-description.test
b/tests/tap-numeric-description.test
deleted file mode 100755
index 3691e8e..0000000
--- a/tests/tap-numeric-description.test
+++ /dev/null
@@ -1,69 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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/>.
-
-# TAP result lines whose description is a number.
-
-am_parallel_tests=yes
-. ./defs || Exit 1
-
-. "$testsrcdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
-
-# Some random numbers to be used as test names. The definitions below are
-# selected so that $x<n> != <n> for every n >= 1. We can't use positional
-# parameters for this unfortunately, since Solaris 10 /bin/sh doesn't allow
-# the dereferencing of parameters from ${10} onwards.
-x1=5 x2=7 x3=45 x4=11 x5=7 x6=3 x7=6 x8=9 x9=1000 x10=1
-
-cat > all.test <<END
-1..10
-ok 1 ${x1}
-ok - ${x2}
-not ok 3 ${x3}
-not ok - ${x4}
-ok 5 ${x5} # SKIP
-ok - ${x6} # SKIP
-not ok 7 ${x7} # TODO
-not ok - ${x8} # TODO
-ok 9 ${x9} # TODO
-ok - ${x10} # TODO
-END
-
-cat > exp <<END
-PASS: all.test 1 ${x1}
-PASS: all.test 2 - ${x2}
-FAIL: all.test 3 ${x3}
-FAIL: all.test 4 - ${x4}
-SKIP: all.test 5 ${x5} # SKIP
-SKIP: all.test 6 - ${x6} # SKIP
-XFAIL: all.test 7 ${x7} # TODO
-XFAIL: all.test 8 - ${x8} # TODO
-XPASS: all.test 9 ${x9} # TODO
-XPASS: all.test 10 - ${x10} # TODO
-END
-
-$MAKE check >stdout && { cat stdout; Exit 1; }
-cat stdout
-
-count_test_results total=10 pass=2 fail=2 xpass=2 xfail=2 skip=2 error=0
-
-$FGREP ': all.test' stdout > got
-
-cat exp
-cat got
-diff exp got
-
-
-:
diff --git a/tests/tap-out-of-order.test b/tests/tap-out-of-order.test
deleted file mode 100755
index efcda4d..0000000
--- a/tests/tap-out-of-order.test
+++ /dev/null
@@ -1,81 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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/>.
-
-# TAP support:
-# - out-of-order test results
-
-am_parallel_tests=yes
-. ./defs || Exit 1
-
-. "$testsrcdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
-
-cat > a.test <<END
-1..3
-ok
-not ok 2 # TODO
-ok 71
-END
-
-cat > b.test <<END
-1..5
-ok 1
-ok 2
-ok 4 foo # SKIP mu
-not ok 2 bar # TODO um
-ok 5
-END
-
-cat > c.test <<END
-1..4
-ok 1
-ok foo
-ok 4 - zardoz
-not ok 3
-END
-
-# This is documented as an "test out of sequence" error in the
-# TAP::Parser documentation. Keep it in sync with the example
-# there.
-cat > d.test <<'END'
-1..5
-ok 1
-ok 2
-ok 15
-ok 16
-ok 17
-END
-
-$MAKE TESTS='a.test b.test c.test d.test' check >stdout \
- && { cat stdout; Exit 1; }
-cat stdout
-
-count_test_results total=17 pass=8 fail=0 xpass=0 xfail=1 skip=0 error=8
-
-test `$FGREP -c ': a.test' stdout` -eq 3
-test `$FGREP -c ': b.test' stdout` -eq 5
-test `$FGREP -c ': c.test' stdout` -eq 4
-test `$FGREP -c ': d.test' stdout` -eq 5
-
-grep '^ERROR: a\.test 71 # OUT-OF-ORDER (expecting 3)$' stdout
-grep '^ERROR: b\.test 4 foo # OUT-OF-ORDER (expecting 3)$' stdout
-grep '^ERROR: b\.test 2 bar # OUT-OF-ORDER (expecting 4)$' stdout
-grep '^ERROR: c\.test 4 - zardoz # OUT-OF-ORDER (expecting 3)$' stdout
-grep '^ERROR: c\.test 3 # OUT-OF-ORDER (expecting 4)$' stdout
-grep '^ERROR: d\.test 15 # OUT-OF-ORDER (expecting 3)$' stdout
-grep '^ERROR: d\.test 16 # OUT-OF-ORDER (expecting 4)$' stdout
-grep '^ERROR: d\.test 17 # OUT-OF-ORDER (expecting 5)$' stdout
-
-:
diff --git a/tests/tap-passthrough-exit.test b/tests/tap-passthrough-exit.test
deleted file mode 100755
index a751b7e..0000000
--- a/tests/tap-passthrough-exit.test
+++ /dev/null
@@ -1,59 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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/>.
-
-# TAP support:
-# - non-success exit status of a test script is reported in the
-# log file
-# See also related test 'tap-passthrough.test'.
-
-am_parallel_tests=yes
-. ./defs || Exit 1
-
-cat > Makefile.am << 'END'
-TEST_LOG_COMPILER = $(SHELL)
-TESTS =
-END
-
-exit_statuses='1 2 77 99'
-
-for e in $exit_statuses; do
- unindent > exit-$e.test <<END
- #!/bin/sh
- echo 1..1
- echo ok 1
- exit $e
-END
- echo TESTS += exit-$e.test >> Makefile.am
-done
-
-. "$testsrcdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
-
-st=0
-$MAKE check || st=$?
-for e in $exit_statuses; do cat exit-$e.log; done
-cat test-suite.log
-test $st -gt 0 || Exit 1
-
-for e in $exit_statuses; do
- for log in exit-$e.log test-suite.log; do
- grep "^ERROR: exit-$e\\.test - exited with status $e$" $log
- done
-done
-
-$MAKE check TEST_LOG_DRIVER_FLAGS='--ignore-exit'
-$FGREP ".test - exited with status" *.log && Exit 1
-
-:
diff --git a/tests/tap-passthrough.test b/tests/tap-passthrough.test
deleted file mode 100755
index 17d4599..0000000
--- a/tests/tap-passthrough.test
+++ /dev/null
@@ -1,166 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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/>.
-
-# TAP support:
-# - all input (valid TAP lines, invalid TAP lines, non-TAP lines)
-# are passed through in the log file
-# - TAP errors are reported in the log file too
-# See also related test 'tap-passthrough-exit.test'.
-
-am_parallel_tests=yes
-. ./defs || Exit 1
-
-weirdchars=\''"address@hidden&()[]<>#;,:.^?*/'
-
-. "$testsrcdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
-
-#
-# Only successful tests.
-#
-
-# The whitespace in this test might be normalized in the testsuite
-# progress output, but should be copied verbatim in the log files.
-cat > ok.test <<END
-1..6
-TAP plan in the previous line.
-ok${tab}
-ok 2
-ok - foo
-ok 4 - x
- This is not a TAP line, but should still be copied in the log file!
-# some diagnostic${tab}
-not ok # TODO low priority
-ok # SKIP who cares?
-$weirdchars
-END
-
-$MAKE TESTS=ok.test check || { cat ok.log; Exit 1; }
-cat ok.log
-
-for rx in \
- '1\.\.6' \
- 'TAP plan in the previous line\.' \
- "ok${tab}" \
- 'ok 2' \
- 'ok - foo' \
- 'ok 4 - x' \
- ' This is not a TAP line, but should still be copied in the log file!' \
- "# some diagnostic${tab}" \
- 'not ok # TODO low priority' \
- 'ok # SKIP who cares?' \
-; do
- grep "^$rx$" ok.log
-done
-$FGREP "$weirdchars" ok.log
-
-#
-# Mixed failing/successful tests.
-#
-
-cat > tiny.test <<END
-1..1
-ok
-END
-
-cat > ok.test <<END
-1..1
-ok
-only one success here
-END
-
-cat > ko.test <<END
-1..5
-foo foo foo
-ok${tab}
-ok 2
-not ok - foo
-not ok 4 - x
-# diagnostic ko
- bar${tab}bar${tab}bar
-ok # TODO dunno
-$weirdchars
-END
-
-cat > bail.test <<END
-Bail out! Test is taking too long!
-END
-
-cat > skip.test <<END
-1..0 # Skipped: WWW::Mechanize not installed
-END
-
-cat > err.test <<END
-1..3
-ok 1
-Invalid test count
-ok 23
-Misplaced plan
-1..13
-ok
-Extra test
-ok
-Last line
-END
-
-st=0
-$MAKE check \
- TESTS='tiny.test ok.test ko.test bail.test skip.test err.test' || st=$?
-cat tiny.log
-cat ok.log
-cat ko.log
-cat bail.log
-cat skip.log
-cat err.log
-test $st -gt 0 || Exit 1
-
-grep '^1\.\.1$' tiny.log
-grep '^ok$' tiny.log
-grep '^only one success here$' ok.log
-
-for rx in \
- '1\.\.5' \
- 'foo foo foo' \
- "ok${tab}" \
- 'ok 2' \
- 'not ok - foo' \
- 'not ok 4 - x' \
- '# diagnostic ko' \
- " bar${tab}bar${tab}bar" \
- 'ok # TODO dunno' \
-; do
- grep "^$rx$" ko.log
-done
-$FGREP "$weirdchars" ko.log
-
-grep '^Bail out! Test is taking too long!$' bail.log
-grep '^1\.\.0 # Skipped: WWW::Mechanize not installed$' skip.log
-
-for rx in \
- '^1\.\.3$' \
- '^Invalid test count$' \
- '^ok 23$' \
- '^Misplaced plan$' \
- '^1\.\.13$' \
- '^ERROR:.* multiple test plans' \
- '^Extra test$' \
- '^Last line$' \
- '^ERROR:.* [tT]oo many tests run.*expected 3, got 4' \
- '^ERROR:.* err\.test 23 .*OUT[ -]OF[ -]ORDER.*expecting 2' \
-; do
- grep "$rx" err.log
-done
-
-:
diff --git a/tests/tap-plan-corner.test b/tests/tap-plan-corner.test
deleted file mode 100755
index ad7aff7..0000000
--- a/tests/tap-plan-corner.test
+++ /dev/null
@@ -1,198 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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/>.
-
-# TAP support:
-# - some corner cases for TAP plan
-
-am_parallel_tests=yes
-. ./defs || Exit 1
-
-. "$testsrcdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
-
-# -------------------------------------------------------------------------
-
-cat > leading-repeated.test <<END
-1..1
-1..1
-ok 1
-END
-
-cat > trailing-repeated.test <<END
-ok 1
-1..1
-1..1
-END
-
-for pos in leading trailing; do
- $MAKE TESTS="$pos-repeated.test" check >stdout \
- && { cat stdout; Exit 1; }
- cat stdout
- count_test_results total=2 pass=1 fail=0 xpass=0 xfail=0 skip=0 error=1
- grep "^ERROR: $pos-repeated\\.test - multiple test plans$" stdout
-done
-
-# -------------------------------------------------------------------------
-
-cat > leading-repeated.test <<END
-1..2
-ok 1
-1..2
-ok 2
-END
-
-cat > trailing-repeated.test <<END
-ok 1
-1..2
-ok 2
-1..2
-END
-
-$MAKE TESTS="leading-repeated.test trailing-repeated.test" check >stdout \
- && { cat stdout; Exit 1; }
-cat stdout
-count_test_results total=6 pass=3 fail=0 xpass=0 xfail=0 skip=0 error=3
-grep "^ERROR: leading-repeated\\.test - multiple test plans$" stdout
-grep "^ERROR: trailing-repeated\\.test - multiple test plans$" stdout
-grep "^ERROR: trailing-repeated\\.test 2 # AFTER LATE PLAN$" stdout
-grep "leading .*AFTER LATE PLAN" stdout && Exit 1
-
-# -------------------------------------------------------------------------
-
-cat > 1.test <<END
-1..0
-1..0
-END
-
-cat > 2.test <<END
-1..0 # SKIP
-1..0
-END
-
-cat > 3.test <<END
-1..0
-1..0 # SKIP
-END
-
-cat > 4.test <<END
-1..0 # SKIP
-1..0 # SKIP
-END
-
-$MAKE TESTS="1.test 2.test 3.test 4.test" check >stdout \
- && { cat stdout; Exit 1; }
-cat stdout
-count_test_results total=8 pass=0 fail=0 xpass=0 xfail=0 skip=4 error=4
-for i in 1 2 3 4; do
- grep "^ERROR: $i\\.test - multiple test plans$" stdout
-done
-
-# -------------------------------------------------------------------------
-
-cat > all.test <<END
-1..5
-ok 1
-ok 2
-1..5
-ok 3
-1..5
-ok 4
-1..5
-ok 5
-END
-
-$MAKE check >stdout && { cat stdout; Exit 1; }
-cat stdout
-count_test_results total=8 pass=5 fail=0 xpass=0 xfail=0 skip=0 error=3
-
-cat > exp <<'END'
-PASS: all.test 1
-PASS: all.test 2
-ERROR: all.test - multiple test plans
-PASS: all.test 3
-ERROR: all.test - multiple test plans
-PASS: all.test 4
-ERROR: all.test - multiple test plans
-PASS: all.test 5
-END
-
-$FGREP ': all.test' stdout > got
-
-cat exp
-cat got
-diff exp got
-
-# -------------------------------------------------------------------------
-
-cat > all.test <<END
-1..2
-ok 1
-ok 2
-1..3
-ok 3
-END
-
-$MAKE check >stdout && { cat stdout; Exit 1; }
-cat stdout
-count_test_results total=5 pass=2 fail=0 xpass=0 xfail=0 skip=0 error=3
-
-cat > exp <<'END'
-PASS: all.test 1
-PASS: all.test 2
-ERROR: all.test - multiple test plans
-ERROR: all.test 3 # UNPLANNED
-ERROR: all.test - too many tests run (expected 2, got 3)
-END
-
-$FGREP ': all.test' stdout > got
-
-cat exp
-cat got
-diff exp got
-
-# -------------------------------------------------------------------------
-
-cat > all.test <<END
-ok 1
-ok 2
-ok 3
-1..5
-1..5
-ok 4
-1..5
-ok 5
-END
-
-$MAKE check >stdout && { cat stdout; Exit 1; }
-cat stdout
-count_test_results total=7 pass=3 fail=0 xpass=0 xfail=0 skip=0 error=4
-
-cat > exp <<'END'
-PASS: all.test 1
-PASS: all.test 2
-PASS: all.test 3
-ERROR: all.test - multiple test plans
-ERROR: all.test 4 # AFTER LATE PLAN
-ERROR: all.test - multiple test plans
-ERROR: all.test 5 # AFTER LATE PLAN
-END
-
-$FGREP ': all.test' stdout > got
-
-cat exp
-cat got
-diff exp got
-
-:
diff --git a/tests/tap-plan-errors.test b/tests/tap-plan-errors.test
deleted file mode 100755
index f38868b..0000000
--- a/tests/tap-plan-errors.test
+++ /dev/null
@@ -1,114 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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/>.
-
-# TAP support: the following situations should be flagged as errors:
-# - unmatched test plan (too few tests run)
-# - multiple test plans
-# - missing test plan
-# - misplaced test plan (tests run after a late plan)
-# Checks about unplanned tests are performed in 'tap-unplanned.test'
-# and 'tap-skip-whole-badcount.test'. More checks about corner-cases
-# in TAP plans are performed in 'tap-plan-corner.test'.
-
-am_parallel_tests=yes
-. ./defs || Exit 1
-
-. "$testsrcdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
-
-my_check ()
-{
- cat > all.test
- test -n "$err" || fatal_ "\$err not set before calling my_check"
- cat all.test # For debugging.
- $MAKE check >stdout && { cat stdout; Exit 1; }
- cat stdout
- count_test_results "$@"
- grep "^ERROR: all\\.test $err$" stdout
- unset err
-}
-
-err='- too few tests run (expected 2, got 1)'
-my_check total=2 pass=1 fail=0 xpass=0 xfail=0 skip=0 error=1 <<END
-1..2
-ok 1
-END
-
-err='- too few tests run (expected 12, got 3)'
-my_check total=4 pass=2 fail=0 xpass=0 xfail=1 skip=0 error=1 <<END
-ok 1
-ok 2
-not ok 3 # TODO
-1..12
-END
-
-err='- too few tests run (expected 1, got 0)'
-my_check total=1 pass=0 fail=0 xpass=0 xfail=0 skip=0 error=1 <<END
-1..1
-END
-
-err='2 # AFTER LATE PLAN'
-my_check total=2 pass=1 fail=0 xpass=0 xfail=0 skip=0 error=1 <<END
-ok 1
-1..2
-ok 2
-END
-
-err='5 # AFTER LATE PLAN'
-my_check total=5 pass=4 fail=0 xpass=0 xfail=0 skip=0 error=1 <<END
-ok 1
-ok 2
-ok 3
-ok 4
-1..5
-ok 5
-END
-
-err='- missing test plan'
-my_check total=2 pass=1 fail=0 xpass=0 xfail=0 skip=0 error=1 <<END
-ok 1
-END
-
-
-# The two test plans here are deliberately equal.
-err='- multiple test plans'
-my_check total=3 pass=2 fail=0 xpass=0 xfail=0 skip=0 error=1 <<END
-1..2
-ok 1
-ok 2
-1..2
-END
-
-# The second plan is diagnosed as extra, and only the first one is
-# relevant w.r.t. the number of the expected test.
-err='- multiple test plans'
-my_check total=4 pass=3 fail=0 xpass=0 xfail=0 skip=0 error=1 <<END
-1..3
-ok 1
-ok 2
-1..2
-ok 3
-END
-
-# As above, in a slightly different situation.
-err='- multiple test plans'
-my_check total=3 pass=2 fail=0 xpass=0 xfail=0 skip=0 error=1 <<END
-1..2
-ok 1
-ok 2
-1..4
-END
-
-:
diff --git a/tests/tap-plan-leading-zero.test b/tests/tap-plan-leading-zero.test
deleted file mode 100755
index 577cfba..0000000
--- a/tests/tap-plan-leading-zero.test
+++ /dev/null
@@ -1,57 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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/>.
-
-# TAP support:
-# - TAP plans with numbers having leading zeroes, as in "1..01"
-# - TAP "SKIP" plans with multiple zeroes, as in "1..00 # SKIP"
-# This is consistent with the behaviour of the 'prove' utility.
-
-am_parallel_tests=yes
-. ./defs || Exit 1
-
-. "$testsrcdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
-
-cat > a.test <<END
-1..01
-ok 1
-END
-
-cat > b.test <<END
-1..0002
-ok 1
-ok 2
-END
-
-echo 1..010 > c.test
-for i in 1 2 3 4 5 6 7 8 9 10; do echo ok $i; done >> c.test
-
-echo 1..00100 > d.test
-for i in 1 2 3 4 5 6 7 8 9 10; do
- for j in 1 2 3 4 5 6 7 8 9 10; do
- echo ok
- done
-done >> d.test
-
-echo 1..00 > e.test
-echo '1..000 # SKIP' > f.test
-
-$MAKE TESTS='a.test b.test c.test d.test e.test f.test' check >stdout \
- || { cat stdout; Exit 1; }
-cat stdout
-
-count_test_results total=115 pass=113 xfail=0 skip=2 fail=0 xpass=0 error=0
-
-:
diff --git a/tests/tap-plan-malformed.test b/tests/tap-plan-malformed.test
deleted file mode 100755
index bff19d6..0000000
--- a/tests/tap-plan-malformed.test
+++ /dev/null
@@ -1,60 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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/>.
-
-# TAP support: a malformed TAP plan is not recognized. The checks in
-# here should be consistent with the behaviour of the 'prove' utility.
-
-am_parallel_tests=yes
-. ./defs || Exit 1
-
-. "$testsrcdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
-
-cat > a.test <<END
-1..1 foo
-END
-
-cat > b.test <<END
- 1..2
-ok 1
-ok 2
-END
-
-cat > c.test <<END
-1..1 # SKIP
-END
-
-cat > d.test <<END
-1..2 # foo bar
-not ok 1 # TODO
-not ok 2 # TODO
-END
-
-cat > e.test <<END
-0..0
-END
-
-tests_list=`echo *.test`
-
-$MAKE TESTS="$tests_list" check >stdout && { cat stdout; Exit 1; }
-cat stdout
-
-count_test_results total=9 pass=2 fail=0 xpass=0 xfail=2 skip=0 error=5
-
-for tst in $tests_list; do
- grep "^ERROR: $tst - missing test plan$" stdout
-done
-
-:
diff --git a/tests/tap-plan-middle.test b/tests/tap-plan-middle.test
deleted file mode 100755
index 0ca3c90..0000000
--- a/tests/tap-plan-middle.test
+++ /dev/null
@@ -1,83 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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/>.
-
-# TAP support:
-# - test plan preceding and/or following non-result TAP lines
-
-am_parallel_tests=yes
-. ./defs || Exit 1
-
-. "$testsrcdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
-
-cat > top1.test <<END
-non-TAP line, ignored
-1..1
-ok 1
-END
-
-cat > top2.test <<END
-some
-non-TAP
-lines
-are
-ignored
-# and a TAP comment won't cause problems either
-1..2
-ok 1
-ok 2
-END
-
-# Try with a blank line too, just to be sure.
-cat > top3.test <<END
-
-1..1
-ok 1
-END
-
-cat > bot1.test <<END
-ok 1 # SKIP
-1..1
-bla blah blah ...
-END
-
-cat > bot2.test <<END
-ok 1
-ok 2
-not ok 3 # TODO
-1..3
address@hidden (a cursing comment :-)
-END
-
-# Try with a blank line too, just to be sure.
-cat > bot3.test <<END
-ok 1
-not ok 2 # TODO
-ok 3 # SKIP
-ok 4 # SKIP
-1..4
-
-END
-
-tests=`echo *.test`
-
-for tap_flags in "" "--comments"; do
- $MAKE check TEST_LOG_DRIVER_FLAGS="$tap_flags" TESTS="$tests" >stdout \
- || { cat stdout; Exit 1; }
- cat stdout
- count_test_results total=12 pass=7 xfail=2 skip=3 fail=0 xpass=0 error=0
-done
-
-:
diff --git a/tests/tap-plan-whitespace.test b/tests/tap-plan-whitespace.test
deleted file mode 100755
index 086b6e4..0000000
--- a/tests/tap-plan-whitespace.test
+++ /dev/null
@@ -1,41 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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/>.
-
-# TAP support:
-# - plan line with trailing whitespace is recognized and handled correctly
-
-am_parallel_tests=yes
-. ./defs || Exit 1
-
-. "$testsrcdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
-
-sed 's/\$$//' > foo.test <<END
-1..2 $
-ok 1$
-ok 2$
-END
-
-cat > bar.test <<END
-1..1$tab $tab$tab
-ok 1
-END
-
-$MAKE TESTS='foo.test bar.test' check >stdout || { cat stdout; Exit 1; }
-cat stdout
-
-count_test_results total=3 pass=3 fail=0 error=0 xpass=0 xfail=0 skip=0
-
-:
diff --git a/tests/tap-plan.test b/tests/tap-plan.test
deleted file mode 100755
index 8eacc47..0000000
--- a/tests/tap-plan.test
+++ /dev/null
@@ -1,52 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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/>.
-
-# TAP support:
-# - test scripts with the test plan at the beginning
-# - test scripts with the test plan at the end
-
-am_parallel_tests=yes
-. ./defs || Exit 1
-
-. "$testsrcdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
-
-cat > top.test <<END
-1..3
-ok 1
-ok 2 # SKIP
-ok 3
-# a trailing comment
-END
-
-cat > bot.test <<END
-ok 1
-# a comment
-ok 2
-not ok 3 # TODO
-# another comment
-ok
-1..4
-END
-
-for tap_flags in "" "--comments"; do
- $MAKE TEST_LOG_DRIVER_FLAGS="$tap_flags" TESTS="top.test bot.test" \
- check >stdout || { cat stdout; Exit 1; }
- cat stdout
- count_test_results total=7 pass=5 xfail=1 skip=1 fail=0 xpass=0 error=0
-done
-
-
-:
diff --git a/tests/tap-planskip-and-logging.test
b/tests/tap-planskip-and-logging.test
deleted file mode 100755
index 968ba14..0000000
--- a/tests/tap-planskip-and-logging.test
+++ /dev/null
@@ -1,74 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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/>.
-
-# TAP support:
-# - interactions between "TAP plan with SKIP" and logging of earlier or
-# later TAP or non-TAP text
-
-am_parallel_tests=yes
-. ./defs || Exit 1
-
-. "$testsrcdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
-
-echo TEST_LOG_DRIVER_FLAGS = --comments >> Makefile
-
-cat > foo.test <<END
-1..0
-a non-TAP line
-# a comment
-END
-
-cat > foo2.test <<END
-a non-TAP line 2
-# a comment 2
-1..0
-END
-
-cat > bar.test <<END
-# an early comment
-an early non-TAP line
- $tab
-1..0 # SKIP
-# a later comment
-a later non-TAP line
-END
-
-$MAKE TESTS='foo.test foo2.test bar.test' check >stdout \
- || { cat stdout; Exit 1; }
-cat stdout
-
-count_test_results total=3 pass=0 fail=0 xpass=0 xfail=0 skip=3 error=0
-
-grep '^# foo\.test: a comment$' stdout
-grep '^# foo2\.test: a comment 2$' stdout
-grep '^# bar\.test: an early comment$' stdout
-grep '^# bar\.test: a later comment$' stdout
-
-cat foo.log
-cat foo2.log
-cat bar.log
-
-grep '^a non-TAP line$' foo.log
-grep '^# a comment$' foo.log
-grep '^a non-TAP line 2$' foo2.log
-grep '^# a comment 2$' foo2.log
-grep '^# an early comment' bar.log
-grep '^an early non-TAP line$' bar.log
-grep '^# a later comment' bar.log
-grep '^a later non-TAP line$' bar.log
-grep "^ $tab$" bar.log
-
-:
diff --git a/tests/tap-planskip-badexit.test b/tests/tap-planskip-badexit.test
deleted file mode 100755
index 1fab646..0000000
--- a/tests/tap-planskip-badexit.test
+++ /dev/null
@@ -1,52 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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/>.
-
-# TAP support:
-# - an exit status != 0 of a test script causes an hard error, even if
-# the last line of output is a "SKIP plan" (e.g., "1..0 # SKIP").
-
-am_parallel_tests=yes
-. ./defs || Exit 1
-
-echo TESTS = one.test two.test > Makefile.am
-
-. "$testsrcdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
-
-cat > one.test <<'END'
-#!/bin/sh
-echo '1..0 # SKIP'
-exit 1
-END
-
-cat > two.test <<'END'
-#!/bin/sh
-echo '1..0'
-exit 22
-END
-
-chmod a+x one.test two.test
-
-$MAKE check >stdout && { cat stdout; Exit 1; }
-cat stdout
-
-# The 'prove' utility reports both the skip and the non-zero exit status,
-# so we do the same.
-count_test_results total=4 pass=0 fail=0 xpass=0 xfail=0 skip=2 error=2
-
-grep '^ERROR: one\.test - exited with status 1$' stdout
-grep '^ERROR: two\.test - exited with status 22$' stdout
-
-:
diff --git a/tests/tap-planskip-bailout.test b/tests/tap-planskip-bailout.test
deleted file mode 100755
index 932f6ee..0000000
--- a/tests/tap-planskip-bailout.test
+++ /dev/null
@@ -1,36 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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/>.
-
-# TAP support:
-# - a "Bail out!" directive causes an hard error, even if coming after
-# a "SKIP plan" (e.g., "1..0 # SKIP").
-
-am_parallel_tests=yes
-. ./defs || Exit 1
-
-. "$testsrcdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
-
-cat > all.test <<END
-1..0 # SKIP
-Bail out!
-END
-
-$MAKE check >stdout && { cat stdout; Exit 1; }
-cat stdout
-count_test_results total=2 pass=0 fail=0 xpass=0 xfail=0 skip=1 error=1
-grep '^ERROR: all\.test - Bail out!' stdout
-
-:
diff --git a/tests/tap-planskip-case-insensitive.test
b/tests/tap-planskip-case-insensitive.test
deleted file mode 100755
index ff41b56..0000000
--- a/tests/tap-planskip-case-insensitive.test
+++ /dev/null
@@ -1,46 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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/>.
-
-# TAP support:
-# - "SKIP" keyword in a TAP plan is case-insensitive
-
-am_parallel_tests=yes
-. ./defs || Exit 1
-
-. "$testsrcdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
-
-# These nested loops are clearer without indentation.
-
-i=0
-for c1 in s S; do
-for c2 in k K; do
-for c3 in i I; do
-for c4 in p P; do
- i=`expr $i + 1`
- case $i in ?) i=0$i; esac
- echo "1..0 # $c1$c2$c3$c4 foobar" > $i.test
-done; done; done; done
-
-$MAKE TESTS="`echo *.test`" check >stdout || { cat stdout; Exit 1; }
-cat stdout
-
-count_test_results total=16 pass=0 fail=0 xpass=0 xfail=0 skip=16 error=0
-
-for tst in *.test; do
- grep "^SKIP: $tst .* foobar$" stdout
-done
-
-:
diff --git a/tests/tap-planskip-late.test b/tests/tap-planskip-late.test
deleted file mode 100755
index ef60cfb..0000000
--- a/tests/tap-planskip-late.test
+++ /dev/null
@@ -1,44 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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/>.
-
-# TAP support:
-# - the special "plan with SKIP" can also be used "late" in the TAP
-# stream, i.e., preceded by non-TAP output or TAP diagnostic.
-
-am_parallel_tests=yes
-. ./defs || Exit 1
-
-. "$testsrcdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
-
-cat > foo.test <<END
-some non-TAP text, will be copied in the global log
-1..0 # SKIP from the last line
-END
-
-cat > bar.test <<END
-# some TAP diagnostic, will go to console
-1..0
-END
-
-$MAKE TESTS='foo.test bar.test' check >stdout || { cat stdout; Exit 1; }
-cat stdout
-
-grep '^SKIP: foo\.test .* from the last line$' stdout
-grep '^SKIP: bar\.test$' stdout
-test `grep -c ': .*\.test' stdout` -eq 2
-count_test_results total=2 pass=0 fail=0 xpass=0 xfail=0 skip=2 error=0
-
-:
diff --git a/tests/tap-planskip-later-errors.test
b/tests/tap-planskip-later-errors.test
deleted file mode 100755
index 1dc2e1c..0000000
--- a/tests/tap-planskip-later-errors.test
+++ /dev/null
@@ -1,40 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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/>.
-
-# TAP support:
-# - TAP errors following a "TAP plan with SKIP" are still diagnosed.
-
-am_parallel_tests=yes
-. ./defs || Exit 1
-
-. "$testsrcdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
-
-cat > all.test <<END
-1..0
-a non-TAP line
-1..3
-1..5
-# a comment
-1..1
-END
-
-$MAKE check >stdout && { cat stdout; Exit 1; }
-cat stdout
-
-count_test_results total=4 pass=0 fail=0 xpass=0 xfail=0 skip=1 error=3
-test `grep -c '^ERROR: all\.test - multiple test plans' stdout` -eq 3
-
-:
diff --git a/tests/tap-planskip-unplanned-corner.test
b/tests/tap-planskip-unplanned-corner.test
deleted file mode 100755
index be2c7bf..0000000
--- a/tests/tap-planskip-unplanned-corner.test
+++ /dev/null
@@ -1,48 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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/>.
-
-# TAP support:
-# - test results seen in a TAP stream that has a "plan with SKIP" are
-# flagged as errors, even if all of them are "SKIP" results.
-
-am_parallel_tests=yes
-. ./defs || Exit 1
-
-. "$testsrcdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
-
-cat > foo.test <<END
-1..0 # SKIP
-ok 1 # SKIP
-END
-
-cat > bar.test <<END
-ok 1 # SKIP
-1..0 # SKIP
-END
-
-$MAKE TESTS='foo.test bar.test' check >stdout && { cat stdout; Exit 1; }
-cat stdout
-
-count_test_results total=5 pass=0 fail=0 xpass=0 xfail=0 skip=2 error=3
-
-# Don't be too strict w.r.t. the format of the "skip whole test" message.
-grep '^SKIP: foo\.test$' stdout || grep '^SKIP: foo\.test [^0-9]' stdout
-grep '^ERROR: foo\.test 1 # UNPLANNED$' stdout
-grep '^ERROR: foo\.test - too many tests run (expected 0, got 1)$' stdout
-grep '^SKIP: bar\.test 1 # SKIP$' stdout
-grep '^ERROR: bar\.test - too many tests run (expected 0, got 1)$' stdout
-
-:
diff --git a/tests/tap-planskip-unplanned.test
b/tests/tap-planskip-unplanned.test
deleted file mode 100755
index 2f4a0e5..0000000
--- a/tests/tap-planskip-unplanned.test
+++ /dev/null
@@ -1,73 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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/>.
-
-# TAP support:
-# - a "plan with skip" given after one or more test result have already
-# been seen is an error
-# - any test result following a "plan with skip" is an error.
-
-am_parallel_tests=yes
-. ./defs || Exit 1
-
-. "$testsrcdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
-
-cat > all.test <<END
-ok 1
-1..0 # SKIP too late
-END
-$MAKE check >stdout && { cat stdout; Exit 1; }
-cat stdout
-count_test_results total=2 pass=1 fail=0 xpass=0 xfail=0 skip=0 error=1
-grep '^ERROR: all\.test - too many tests run (expected 0, got 1)$' stdout
-
-cat > all.test <<END
-ok 1
-ok 2 # SKIP
-not ok 3 # TODO
-1..0 # SKIP too late
-END
-$MAKE check >stdout && { cat stdout; Exit 1; }
-cat stdout
-count_test_results total=4 pass=1 fail=0 xpass=0 xfail=1 skip=1 error=1
-grep '^ERROR: all\.test - too many tests run (expected 0, got 3)$' stdout
-
-cat > all.test <<END
-1..0 # SKIP falsified later
-ok 1
-END
-$MAKE check >stdout && { cat stdout; Exit 1; }
-cat stdout
-count_test_results total=3 pass=0 fail=0 xpass=0 xfail=0 skip=1 error=2
-grep '^ERROR: all\.test 1 # UNPLANNED$' stdout
-grep '^ERROR: all\.test - too many tests run (expected 0, got 1)$' stdout
-
-cat > all.test <<END
-1..0 # SKIP falsified later
-ok 1
-ok 2 # SKIP
-not ok 3
-not ok 4 # TODO
-END
-$MAKE check >stdout && { cat stdout; Exit 1; }
-cat stdout
-count_test_results total=6 pass=0 fail=0 xpass=0 xfail=0 skip=1 error=5
-grep '^ERROR: all\.test 1 # UNPLANNED$' stdout
-grep '^ERROR: all\.test 2 # UNPLANNED$' stdout
-grep '^ERROR: all\.test 3 # UNPLANNED$' stdout
-grep '^ERROR: all\.test 4 # UNPLANNED$' stdout
-grep '^ERROR: all\.test - too many tests run (expected 0, got 4)$' stdout
-
-:
diff --git a/tests/tap-planskip-whitespace.test
b/tests/tap-planskip-whitespace.test
deleted file mode 100755
index 95d01db..0000000
--- a/tests/tap-planskip-whitespace.test
+++ /dev/null
@@ -1,48 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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/>.
-
-# TAP support:
-# - normalization of whitespace in console testsuite progress associated
-# with a SKIP directive in the TAP plan
-
-am_parallel_tests=yes
-. ./defs || Exit 1
-
-. "$testsrcdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
-
-cat > foo.test <<END
-1..0${tab}${tab} #${tab}SKIP ${tab}Strip leading & trailing ${tab}${tab}
-END
-
-cat > bar.test <<END
-1..0 #SKIP Preserve ${tab} middle${tab}${tab}space
-END
-
-cat > baz.test <<END
-1..0 # SKIP${tab} Strip${tab}external preserve ${tab}middle ${tab}${sp}
-END
-
-$MAKE TESTS='foo.test bar.test baz.test' check > stdout \
- || { cat stdout; Exit 1; }
-cat stdout
-
-count_test_results total=3 pass=0 fail=0 error=0 xpass=0 xfail=0 skip=3
-
-grep "SKIP: foo\\.test - Strip leading & trailing$" stdout
-grep "SKIP: bar\\.test - Preserve ${tab} middle${tab}${tab}space" stdout
-grep "SKIP: baz\\.test - Strip${tab}external preserve ${tab}middle" stdout
-
-:
diff --git a/tests/tap-planskip.test b/tests/tap-planskip.test
deleted file mode 100755
index d5ab31f..0000000
--- a/tests/tap-planskip.test
+++ /dev/null
@@ -1,78 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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/>.
-
-# Basic TAP test protocol support:
-# - special plan format to skip all the tests in a script
-
-am_parallel_tests=yes
-. ./defs || Exit 1
-
-. "$testsrcdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
-
-weirdchars=\''"$!&()[]<>#;^?*/@%=,.:'
-
-cat > foo.test <<END
-1..0
-END
-
-cat > bar.test <<END
-blah
-# blah
-1..0$tab $tab
-END
-
-# It is undefined whether the comment after the plan below should
-# count as an explanation; still, the test should be skipped.
-cat > baz.test <<END
-1..0 # WWW::Mechanize not installed
-other
- junk
- lines
-END
-
-cat > wget.test <<END
-1..0 # SKIP wget(1) not installed
-# See also curl.test
-END
-
-cat > curl.test <<END
-1..0 # SKIP: Can't connect to gnu.org!
-# See also wget.test
-END
-
-cat > mu.test <<END
-1..0 # SKIP $weirdchars
-END
-
-$MAKE TESTS='foo.test bar.test baz.test wget.test curl.test mu.test' \
- check >stdout || { cat stdout; Exit 1; }
-cat stdout
-
-count_test_results total=6 pass=0 fail=0 xpass=0 xfail=0 skip=6 error=0
-
-# Look for a regression where the "1..0" wasn't being stripped from the
-# SKIP message.
-$FGREP '1..0' stdout && Exit 1
-
-grep '^SKIP: foo\.test$' stdout
-grep '^SKIP: bar\.test$' stdout
-grep '^SKIP: baz\.test' stdout # Deliberately laxer, see above for why.
-grep '^SKIP: wget\.test .* wget(1) not installed$' stdout
-grep '^SKIP: curl\.test .* Can'\''t connect to gnu\.org!$' stdout
-grep '^SKIP: mu\.test' stdout | $FGREP "$weirdchars" stdout
-test `grep -c ': .*\.test' stdout` -eq 6
-
-:
diff --git a/tests/tap-realtime.test b/tests/tap-realtime.test
deleted file mode 100755
index 624bdec..0000000
--- a/tests/tap-realtime.test
+++ /dev/null
@@ -1,109 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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/>.
-
-# TAP support:
-# - testsuite progress on console should happen mostly "in real time";
-# i.e., it's not acceptable for the driver to wait the end of the
-# script to start displaying results from it.
-# FIXME: this test uses expect(1) to ensure line buffering from make and
-# children, and is pretty hacky and complex; is there a better way to
-# accomplish the checks done here?
-
-am_parallel_tests=yes
-. ./defs || Exit 1
-
-cat >expect-check <<'END'
-eval spawn $env(SHELL) -c ":"
-expect eof
-END
-expect -f expect-check || {
- echo "$me: failed to find a working expect program" >&2
- Exit 77
-}
-rm -f expect-check
-
-cat > Makefile.am << 'END'
-TESTS = all.test
-END
-. "$testsrcdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
-
-cat > all.test <<'END'
-#! /bin/sh
-echo 1..3
-
-# Creative quoting to placate maintainer-check.
-sleep="sleep "3
-
-# The awk+shell implementation of the TAP driver must "read ahead" of one
-# line in order to catch the exit status of the test script it runs. So
-# be sure to echo one "dummy" line after each result line in order not to
-# cause false positives.
-
-echo ok 1 - foo
-echo DUMMY
-$sleep
-test -f ok-1 || { echo 'Bail out!'; exit 1; }
-
-echo ok 2 - bar
-echo DUMMY
-$sleep
-test -f ok-2 || { echo 'Bail out!'; exit 1; }
-
-echo ok 3 - baz
-echo DUMMY
-$sleep
-test -f ok-3 || { echo 'Bail out!'; exit 1; }
-
-: > all-is-well
-END
-
-chmod a+x all.test
-
-cat > expect-make <<'END'
-eval spawn $env(MAKE) check
-expect {
- "PASS: all.test 1 - foo" {
- open "ok-1" "w"
- exp_continue
- }
- "PASS: all.test 2 - bar" {
- open "ok-2" "w"
- exp_continue
- }
- "PASS: all.test 3 - baz" {
- open "ok-3" "w"
- exp_continue
- }
- "Testsuite summary" {
- exit 0
- }
- timeout {
- puts "expect timed out"
- exit 1
- }
- default {
- puts "expect error"
- exit 1
- }
-}
-END
-
-# Expect should simulate a tty as stdout, which should ensure a
-# line-buffered output.
-MAKE=$MAKE expect -f expect-make
-test -f all-is-well
-
-:
diff --git a/tests/tap-recheck-logs.test b/tests/tap-recheck-logs.test
deleted file mode 100755
index 6168806..0000000
--- a/tests/tap-recheck-logs.test
+++ /dev/null
@@ -1,119 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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/>.
-
-# TAP support:
-# - RECHECK_LOGS
-
-am_parallel_tests=yes
-. ./defs || Exit 1
-
-cat > Makefile.am << 'END'
-TEST_LOG_COMPILER = cat
-TESTS = foo.test bar.test baz.test
-baz.log: zardoz
-END
-
-. "$testsrcdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
-
-: > zardoz
-
-cat > foo.test <<'END'
-1..2
-ok 1
-ok 2
-END
-
-cat > bar.test <<'END'
-1..1
-not ok 1
-END
-
-cat > baz.test <<'END'
-1..1
-Bail out!
-END
-
-# Even the tests that are not re-run should contribute to the testsuite
-# summary when obtained by "make check RECHECK_LOGS=".
-grep_summary ()
-{
- grep '^# TOTAL: *4$' stdout
- grep '^# PASS: *2$' stdout
- grep '^# XPASS: *0$' stdout
- grep '^# FAIL: *1$' stdout
- grep '^# XFAIL: *0$' stdout
- grep '^# SKIP: *0$' stdout
- grep '^# ERROR: *1$' stdout
-}
-
-$MAKE check && Exit 1
-test -f foo.log
-test -f bar.log
-test -f baz.log
-
-rm -f foo.log bar.log
-
-$MAKE RECHECK_LOGS= check > stdout && { cat stdout; Exit 1; }
-cat stdout
-test -f foo.log
-test -f bar.log
-grep '^PASS: foo\.test 1$' stdout
-grep '^PASS: foo\.test 2$' stdout
-grep '^FAIL: bar\.test 1$' stdout
-grep 'baz\.test' stdout && Exit 1
-grep_summary
-
-$sleep
-touch foo.test
-# We re-run only a successful test, but the tests that failed in the
-# previous run should still be taken into account, and cause an overall
-# failure.
-$MAKE RECHECK_LOGS= check > stdout && { cat stdout; Exit 1; }
-cat stdout
-grep '^PASS: foo\.test 1$' stdout
-grep '^PASS: foo\.test 2$' stdout
-grep 'ba[rz]\.test' stdout && Exit 1
-is_newest foo.log foo.test
-grep_summary
-
-$sleep
-touch zardoz
-$MAKE RECHECK_LOGS= check > stdout && { cat stdout; Exit 1; }
-cat stdout
-grep '^ERROR: baz\.test' stdout
-$EGREP '(foo|bar)\.test' stdout && Exit 1
-is_newest baz.log zardoz
-grep_summary
-
-# Now, explicitly retry with all test logs already updated, and ensure
-# that the summary is still displayed.
-$MAKE RECHECK_LOGS= check > stdout && { cat stdout; Exit 1; }
-cat stdout
-$EGREP '(foo|bar|baz)\.test' stdout && Exit 1
-grep_summary
-
-# The following should re-run foo.test (and only foo.test), even if its
-# log file is up-to-date.
-: > older
-$MAKE RECHECK_LOGS=foo.log check > stdout && { cat stdout; Exit 1; }
-cat stdout
-grep '^PASS: foo\.test 1$' stdout
-grep '^PASS: foo\.test 2$' stdout
-grep 'ba[rz]\.test' stdout && Exit 1
-is_newest foo.log older
-grep_summary
-
-:
diff --git a/tests/tap-result-comment.test b/tests/tap-result-comment.test
deleted file mode 100755
index 4e4fd7a..0000000
--- a/tests/tap-result-comment.test
+++ /dev/null
@@ -1,54 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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/>.
-
-# TAP support:
-# - non-directive comments in TAP results are kept verbatim
-
-am_parallel_tests=yes
-. ./defs || Exit 1
-
-. "$testsrcdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
-
-cat > all.test <<END
-1..5
-ok 1 # TDO
-not ok 2 # SKP
-ok #SIKP${tab}${sp}
-not ok # TOD${tab}
-ok 5 # ${tab}${tab}TOOD${tab}${sp}${sp}
-END
-
-$MAKE check >stdout && { cat stdout; Exit 1; }
-cat stdout
-
-count_test_results total=5 pass=3 fail=2 xpass=0 xfail=0 skip=0 error=0
-
-# Don't be too strict about trailing white space.
-$FGREP ': all.test' stdout | sed "s/[$sp$tab]*$//" > got
-
-cat > exp <<END
-PASS: all.test 1 # TDO
-FAIL: all.test 2 # SKP
-PASS: all.test 3 #SIKP
-FAIL: all.test 4 # TOD
-PASS: all.test 5 # ${tab}${tab}TOOD
-END
-
-cat exp
-cat got
-diff exp got
-
-:
diff --git a/tests/tap-setup.sh b/tests/tap-setup.sh
deleted file mode 100755
index ab15505..0000000
--- a/tests/tap-setup.sh
+++ /dev/null
@@ -1,47 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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/>.
-
-# Auxiliary shell script that copies the common data and files used by
-# many tests on TAP support into the current directory. It should be
-# sourced by client test scripts, and assumes the auxiliary test
-# 'tap-common-setup.test' has been run beforehand (it will error out
-# if this is not the case).
-
-# Check that we are running from a proper directory: last thing we want
-# is to overwrite some random user files.
-test -f ../defs-static && test -f ../defs \
- || fatal_ "running from a wrong directory"
-
-test ! -f Makefile.am || mv Makefile.am Makefile.am~ \
- || fatal_ "failed to save Makefile.am"
-
-test -d ../tap-common-setup.dir && cp -fpR ../tap-common-setup.dir/* . \
- || fatal_ "couldn't get precomputed data files"
-
-fetch_tap_driver
-
-if test -f Makefile.am~; then
- mv -f Makefile.am~ Makefile.am \
- || fatal_ "failed to restore Makefile.am"
- echo 'TEST_LOG_DRIVER = $(PERL) $(srcdir)/tap-driver' >> Makefile.am \
- || fatal_ "failed to update Makefile.am"
- $AUTOMAKE Makefile \
- || fatal_ "failed to remake Makefile.in"
- ./config.status Makefile \
- || fatal_ "failed to remake Makefile"
-fi
-
-:
diff --git a/tests/tap-summary-aux.sh b/tests/tap-summary-aux.sh
deleted file mode 100755
index c5da03d..0000000
--- a/tests/tap-summary-aux.sh
+++ /dev/null
@@ -1,359 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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/>.
-
-# Auxiliary script for tests on TAP support: checking testsuite summary.
-
-am_parallel_tests=yes
-. ./defs || Exit 1
-
-br='============================================================================'
-
-case $use_colors in
- yes|no) ;;
- *) fatal_ "invalid \$use_colors value '$use_colors'"
-esac
-
-fetch_tap_driver
-
-cat > configure.ac <<END
-AC_INIT([GNU AutoTAP], [5.12], address@hidden)
-AM_INIT_AUTOMAKE([parallel-tests])
-AC_CONFIG_FILES([Makefile])
-AC_OUTPUT
-END
-
-cat > Makefile.am << 'END'
-TEST_LOG_DRIVER = $(srcdir)/tap-driver
-TEST_LOG_COMPILER = cat
-TESTS = all.test
-END
-
-# The following shell variables are influential for this function:
-# - expect_failure
-# - use_colors
-do_check ()
-{
- case $#,$1 in
- 1,--pass) expect_failure=no;;
- 1,--fail) expect_failure=yes;;
- *) fatal_ "invalid usage of 'do_check'";;
- esac
- shift
- cat > summary.exp
- cat all.test
- st=0
- if test $use_colors = yes; then
- make_cmd="$MAKE AM_COLOR_TESTS=always"
- else
- make_cmd=$MAKE
- fi
- $make_cmd check > stdout || st=$?
- cat stdout
- if test $expect_failure = yes; then
- test $st -gt 0 || Exit 1
- else
- test $st -eq 0 || Exit 1
- fi
- $PERL -w "$testsrcdir"/extract-testsuite-summary stdout > summary.got \
- || fatal_ "cannot extract testsuite summary"
- cat summary.exp
- cat summary.got
- if test $use_colors = yes; then
- # Use cmp, not diff, because the files might contain binary data.
- compare=cmp
- else
- compare=diff
- fi
- $compare summary.exp summary.got || Exit 1
-}
-
-if test $use_colors = yes; then
- red='[0;31m'
- grn='[0;32m'
- lgn='[1;32m'
- blu='[1;34m'
- mgn='[0;35m'
- brg='[1m'
- std='[m'
- echo AUTOMAKE_OPTIONS = color-tests >> Makefile.am
-else
- red= grn= lgn= blu= mgn= brg= std=
-fi
-
- success_header="\
-${grn}${br}${std}
-${grn}Testsuite summary for GNU AutoTAP 5.12${std}
-${grn}${br}${std}"
-
- success_footer=${grn}${br}${std}
-
- failure_header="\
-${red}${br}${std}
-${red}Testsuite summary for GNU AutoTAP 5.12${std}
-${red}${br}${std}"
-
- failure_footer="\
-${red}${br}${std}
-${red}See ./test-suite.log${std}
-${red}Please report to address@hidden
-${red}${br}${std}"
-
-$ACLOCAL
-$AUTOCONF
-$AUTOMAKE --add-missing
-
-./configure
-
-# 1 pass.
-{ echo 1..1 && echo ok; } > all.test
-do_check --pass <<END
-$success_header
-${brg}# TOTAL: 1${std}
-${grn}# PASS: 1${std}
-# SKIP: 0
-# XFAIL: 0
-# FAIL: 0
-# XPASS: 0
-# ERROR: 0
-$success_footer
-END
-
-# 1 skip.
-{ echo 1..1 && echo 'ok # SKIP'; } > all.test
-do_check --pass <<END
-$success_header
-${brg}# TOTAL: 1${std}
-# PASS: 0
-${blu}# SKIP: 1${std}
-# XFAIL: 0
-# FAIL: 0
-# XPASS: 0
-# ERROR: 0
-$success_footer
-END
-
-# 1 xfail.
-{ echo 1..1 && echo 'not ok # TODO'; } > all.test
-do_check --pass <<END
-$success_header
-${brg}# TOTAL: 1${std}
-# PASS: 0
-# SKIP: 0
-${lgn}# XFAIL: 1${std}
-# FAIL: 0
-# XPASS: 0
-# ERROR: 0
-$success_footer
-END
-
-# 1 fail.
-{ echo 1..1 && echo not ok; } > all.test
-do_check --fail <<END
-$failure_header
-${brg}# TOTAL: 1${std}
-# PASS: 0
-# SKIP: 0
-# XFAIL: 0
-${red}# FAIL: 1${std}
-# XPASS: 0
-# ERROR: 0
-$failure_footer
-END
-
-# 1 xpass.
-{ echo 1..1 && echo 'ok # TODO'; } > all.test
-do_check --fail <<END
-$failure_header
-${brg}# TOTAL: 1${std}
-# PASS: 0
-# SKIP: 0
-# XFAIL: 0
-# FAIL: 0
-${red}# XPASS: 1${std}
-# ERROR: 0
-$failure_footer
-END
-
-# 1 hard error.
-{ echo 1..1 && echo 'Bail out!'; } > all.test
-do_check --fail <<END
-$failure_header
-${brg}# TOTAL: 1${std}
-# PASS: 0
-# SKIP: 0
-# XFAIL: 0
-# FAIL: 0
-# XPASS: 0
-${mgn}# ERROR: 1${std}
-$failure_footer
-END
-
-# 3 non-failing results.
-cat > all.test <<END
-1..3
-ok
-not ok # TODO
-ok # SKIP
-END
-do_check --pass <<END
-$success_header
-${brg}# TOTAL: 3${std}
-${grn}# PASS: 1${std}
-${blu}# SKIP: 1${std}
-${lgn}# XFAIL: 1${std}
-# FAIL: 0
-# XPASS: 0
-# ERROR: 0
-$success_footer
-END
-
-# 1 pass, 1 skip, 1 fail.
-cat > all.test <<END
-1..3
-ok
-ok # SKIP
-not ok
-END
-do_check --fail <<END
-$failure_header
-${brg}# TOTAL: 3${std}
-${grn}# PASS: 1${std}
-${blu}# SKIP: 1${std}
-# XFAIL: 0
-${red}# FAIL: 1${std}
-# XPASS: 0
-# ERROR: 0
-$failure_footer
-END
-
-# 1 pass, 1 xfail, 1 xpass.
-cat > all.test <<END
-1..3
-ok
-ok # TODO
-not ok # TODO
-END
-do_check --fail <<END
-$failure_header
-${brg}# TOTAL: 3${std}
-${grn}# PASS: 1${std}
-# SKIP: 0
-${lgn}# XFAIL: 1${std}
-# FAIL: 0
-${red}# XPASS: 1${std}
-# ERROR: 0
-$failure_footer
-END
-
-# 1 skip, 1 xfail, 1 error.
-cat > all.test <<END
-1..3
-ok # SKIP
-not ok # TODO
-Bail out!
-END
-do_check --fail <<END
-$failure_header
-${brg}# TOTAL: 3${std}
-# PASS: 0
-${blu}# SKIP: 1${std}
-${lgn}# XFAIL: 1${std}
-# FAIL: 0
-# XPASS: 0
-${mgn}# ERROR: 1${std}
-$failure_footer
-END
-
-# 1 of each kind
-cat > all.test <<END
-1..6
-ok
-not ok
-ok # TODO
-not ok # TODO
-ok # SKIP
-Bail out!
-END
-do_check --fail <<END
-$failure_header
-${brg}# TOTAL: 6${std}
-${grn}# PASS: 1${std}
-${blu}# SKIP: 1${std}
-${lgn}# XFAIL: 1${std}
-${red}# FAIL: 1${std}
-${red}# XPASS: 1${std}
-${mgn}# ERROR: 1${std}
-$failure_footer
-END
-
-# Prepare some common data for later.
-for i in 0 1 2 3 4 5 6 7 8 9; do
- for j in 0 1 2 3 4 5 6 7 8 9; do
- echo "ok"
- echo "not ok # TODO"
- echo "ok # SKIP"
- done
-done > tap
-
-# Lots of non-failures (300 per kind).
-(cat tap && cat tap && cat tap) > all.test
-test `wc -l <all.test` -eq 900 || Exit 99 # Sanity check.
-echo 1..900 >> all.test # Test plan.
-do_check --pass <<END
-$success_header
-${brg}# TOTAL: 900${std}
-${grn}# PASS: 300${std}
-${blu}# SKIP: 300${std}
-${lgn}# XFAIL: 300${std}
-# FAIL: 0
-# XPASS: 0
-# ERROR: 0
-$success_footer
-END
-
-# 1 failure and lots of non-failures means failure.
-(cat tap && echo "not ok" && cat tap) > all.test
-test `wc -l <all.test` -eq 601 || Exit 99 # Sanity check.
-echo 1..601 >> all.test # Test plan.
-do_check --fail <<END
-$failure_header
-${brg}# TOTAL: 601${std}
-${grn}# PASS: 200${std}
-${blu}# SKIP: 200${std}
-${lgn}# XFAIL: 200${std}
-${red}# FAIL: 1${std}
-# XPASS: 0
-# ERROR: 0
-$failure_footer
-END
-
-# 1 error and lots of non-failures means failure.
-(cat tap && sed 30q tap && echo 'Bail out!') > all.test
-test `wc -l <all.test` -eq 331 || Exit 99 # Sanity check.
-echo 1..331 >> all.test # Test plan.
-do_check --fail <<END
-$failure_header
-${brg}# TOTAL: 331${std}
-${grn}# PASS: 110${std}
-${blu}# SKIP: 110${std}
-${lgn}# XFAIL: 110${std}
-# FAIL: 0
-# XPASS: 0
-${mgn}# ERROR: 1${std}
-$failure_footer
-END
-
-:
diff --git a/tests/tap-summary-color.test b/tests/tap-summary-color.test
deleted file mode 100755
index c3edbcf..0000000
--- a/tests/tap-summary-color.test
+++ /dev/null
@@ -1,23 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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/>.
-
-# TAP support:
-# - colorized testsuite summary
-
-. ./defs-static
-
-use_colors=yes
-. "$testsrcdir"/tap-summary-aux.sh
diff --git a/tests/tap-summary.test b/tests/tap-summary.test
deleted file mode 100755
index 8fe4e8b..0000000
--- a/tests/tap-summary.test
+++ /dev/null
@@ -1,23 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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/>.
-
-# TAP support:
-# - colorized testsuite summary
-
-. ./defs-static
-
-use_colors=no
-. "$testsrcdir"/tap-summary-aux.sh
diff --git a/tests/tap-test-number-0.test b/tests/tap-test-number-0.test
deleted file mode 100755
index 0782e17..0000000
--- a/tests/tap-test-number-0.test
+++ /dev/null
@@ -1,86 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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/>.
-
-# TAP support:
-# - a test result numbered as 0 is to be considered out-of-order
-# This is consistent with the behaviour of the 'prove' utility.
-
-am_parallel_tests=yes
-. ./defs || Exit 1
-
-if test $am_tap_implementation = perl; then
- $PERL -MTAP::Parser -e 1 \
- || skip_ "cannot import TAP::Parser perl module"
- if $PERL -w -e '
- use warnings FATAL => "all"; use strict;
- use TAP::Parser;
- my $parser = TAP::Parser->new({tap => "1..1\n" . "ok 0\n"});
- my $result = $parser->next;
- $result->is_plan or die "first line is not TAP plan";
- $result = $parser->next;
- $result->is_test or die "second line is not TAP test result";
- my $testno = $result->number;
- $parser->next and die "unexpected further TAP stream";
- exit ($testno == 0 ? 0 : 77);
- '; then
- : # Nothing to do.
- elif test $? -eq 77; then
- skip_ 'TAP::Parser bug: test number 0 gets relabelled as 1'
- else
- fatal_ "error analyzing TAP::Parser module for bugs"
- fi
-fi
-
-. "$testsrcdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
-
-cat > a.test <<END
-1..1
-ok 0
-END
-
-cat > b.test <<END
-1..1
-not ok 0
-END
-
-cat > c.test <<END
-1..1
-ok 0 foo # SKIP
-END
-
-cat > d.test <<END
-1..1
-not ok 0 bar # TODO
-END
-
-cat > e.test <<END
-1..1
-ok 0 # TODO
-END
-
-$MAKE TESTS='a.test b.test c.test d.test e.test' check >stdout \
- && { cat stdout; Exit 1; }
-cat stdout
-
-count_test_results total=5 pass=0 fail=0 xpass=0 xfail=0 skip=0 error=5
-
-grep '^ERROR: a\.test 0 # OUT-OF-ORDER (expecting 1)$' stdout
-grep '^ERROR: b\.test 0 # OUT-OF-ORDER (expecting 1)$' stdout
-grep '^ERROR: c\.test 0 foo # OUT-OF-ORDER (expecting 1)$' stdout
-grep '^ERROR: d\.test 0 bar # OUT-OF-ORDER (expecting 1)$' stdout
-grep '^ERROR: e\.test 0 # OUT-OF-ORDER (expecting 1)$' stdout
-
-:
diff --git a/tests/tap-todo-skip-together.test
b/tests/tap-todo-skip-together.test
deleted file mode 100755
index 5a07bcd..0000000
--- a/tests/tap-todo-skip-together.test
+++ /dev/null
@@ -1,40 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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/>.
-
-# TAP support:
-# - TODO and SKIP directives on the same line: the first one wins
-# See also related test 'tap-ambiguous-directive.test'.
-
-am_parallel_tests=yes
-. ./defs || Exit 1
-
-. "$testsrcdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
-
-cat > all.test <<END
-1..2
-ok 1 # SKIP TODO
-not ok 2 # TODO SKIP
-END
-
-$MAKE check >stdout || { cat stdout; Exit 1; }
-cat stdout
-
-count_test_results total=2 pass=0 fail=0 xpass=0 xfail=1 skip=1 error=0
-
-grep '^SKIP: all\.test 1 ' stdout
-grep '^XFAIL: all\.test 2 ' stdout
-
-:
diff --git a/tests/tap-todo-skip-whitespace.test
b/tests/tap-todo-skip-whitespace.test
deleted file mode 100755
index 414d2ca..0000000
--- a/tests/tap-todo-skip-whitespace.test
+++ /dev/null
@@ -1,100 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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/>.
-
-# TAP support:
-# - normalization of whitespace in console testsuite progress associated
-# with TODO and SKIP directives
-
-am_parallel_tests=yes
-. ./defs || Exit 1
-
-. "$testsrcdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
-
-cat > stub.tap <<END
-1 # TODO
-2 # TODO foo?
-3 # TODO: bar!
-4 aa # TODO
-5 bb # TODO fnord 5
-6 cc # TODO:${tab}fnord 6
-7 - x # TODO
-8 - y # TODO fnord $tab 8
-9 - z # TODO: fnord 9 $tab
-10# TODO x0
-11$tab# TODO x1
-12 $tab$tab # TODO x2
-13 asd# TODO x3
-14 sad$tab# TODO x4
-15 das$tab$tab # TODO x5
-END
-
-cat > stub.exp <<END
-1 # TODO
-2 # TODO foo?
-3 # TODO: bar!
-4 aa # TODO
-5 bb # TODO fnord 5
-6 cc # TODO:${tab}fnord 6
-7 - x # TODO
-8 - y # TODO fnord $tab 8
-9 - z # TODO: fnord 9
-10 # TODO x0
-11 # TODO x1
-12 # TODO x2
-13 asd # TODO x3
-14 sad # TODO x4
-15 das # TODO x5
-END
-
-plan=1..15
-
-my_make_check ()
-{
- xpass=0 xfail=0 skip=0
- case $1 in
- xpass|xfail|skip) eval $1=15;;
- *) fatal_ "bad argument '$1' for my_make_check";;
- esac
- cat all.test
- $MAKE check >stdout || : # Don't care about the exit status in this test.
- cat stdout
- count_test_results total=15 pass=0 fail=0 error=0 \
- xpass=$xpass xfail=$xfail skip=$skip
- # Don't be too strict w.r.t. possible normalization of "TODO: foo" into
- # "TODO : foo" (as is done by, e.g., the 'TAP::Parser' perl module).
- LC_ALL=C grep '^[A-Z][A-Z]*:' stdout \
- | sed -e 's/# TODO *:/# TODO:/' -e 's/# SKIP *:/# SKIP:/' > got
- cat exp
- cat got
- diff exp got
-}
-
-# For "TODO" directives leading to XPASS results.
-(echo $plan && sed -e 's/^/ok /' stub.tap) > all.test
-sed -e 's/^/XPASS: all.test /' stub.exp > exp
-my_make_check xpass
-
-# For "TODO" directives leading to XFAIL results.
-(echo $plan && sed -e 's/^/not ok /' stub.tap) > all.test
-sed -e 's/^/XFAIL: all.test /' stub.exp > exp
-my_make_check xfail
-
-# For "SKIP" directives.
-(echo $plan && sed -e 's/^/ok /' -e 's/TODO/SKIP/' stub.tap) > all.test
-sed -e 's/TODO/SKIP/' -e 's/^/SKIP: all.test /' stub.exp > exp
-my_make_check skip
-
-:
diff --git a/tests/tap-todo-skip.test b/tests/tap-todo-skip.test
deleted file mode 100755
index 775fe35..0000000
--- a/tests/tap-todo-skip.test
+++ /dev/null
@@ -1,91 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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/>.
-
-# TAP support:
-# - TODO and SKIP directives are case-insensitive
-# - TODO and SKIP directives can be followed optionally by a colon ":"
-# and by an optional explanation.
-# - our driver isn't fooled into recognizing TODO and SKIP directives
-# spuriously
-# - the reasons for TODO and SKIP, if present, are nicely printed in
-# the testsuite progress output
-
-am_parallel_tests=yes
-. ./defs || Exit 1
-
-. "$testsrcdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
-
-# ----------------------------------------------------- #
-# Check all possible combinations of: #
-# - uppercase/lowercase #
-# - with/without colon character ":" #
-# - with/without explanatory message #
-# in TODO and SKIP directives. #
-# ----------------------------------------------------- #
-
-# There are 2 * 2^6 + 2 * 2^6 = 256 tests.
-echo 1..256 > all.test
-
-# These nested loops are clearer without indentation.
-
-for c1 in t T; do
-for c2 in o O; do
-for c3 in d D; do
-for c4 in o O; do
-for ex in '' ':' ' foo' ': foo'; do
- echo "not ok # $c1$c2$c3$c4$ex"
- echo "not ok# $c1$c2$c3$c4$ex"
-done; done; done; done; done >> all.test
-
-for c1 in s S; do
-for c2 in k K; do
-for c3 in i I; do
-for c4 in p P; do
-for ex in '' ':' ' foo' ': foo'; do
- echo "ok # $c1$c2$c3$c4$ex"
- echo "ok# $c1$c2$c3$c4$ex"
-done; done; done; done; done >> all.test
-
-cat all.test # For debugging.
-
-$MAKE check >stdout || { cat stdout; Exit 1; }
-cat stdout
-
-count_test_results total=256 pass=0 fail=0 xpass=0 xfail=128 skip=128 error=0
-
-# -------------------------------------------------------- #
-# TODO ans SKIP directives aren't recognized spuriously. #
-# -------------------------------------------------------- #
-
-cat > all.test <<'END'
-1..9
-ok TODO
-ok - TODO
-ok 3 TODO
-ok 4 - TODO
-ok SKIP
-ok - SKIP
-ok 7 SKIP
-ok 8 - SKIP
-ok 9
-END
-
-$MAKE check >stdout || { cat stdout; Exit 1; }
-cat stdout
-
-count_test_results total=9 pass=9 fail=0 xpass=0 xfail=0 skip=0 error=0
-
-:
diff --git a/tests/tap-unplanned.test b/tests/tap-unplanned.test
deleted file mode 100755
index 4f60ab9..0000000
--- a/tests/tap-unplanned.test
+++ /dev/null
@@ -1,159 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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/>.
-
-# TAP support:
-# - unplanned tests are properly reported as errors
-
-am_parallel_tests=yes
-. ./defs || Exit 1
-
-. "$testsrcdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
-
-cat > all.test <<END
-1..1
-ok 1
-ok 2
-END
-$MAKE check >stdout && { cat stdout; Exit 1; }
-cat stdout
-count_test_results total=3 pass=1 fail=0 xpass=0 xfail=0 skip=0 error=2
-grep '^ERROR: all\.test - too many tests run (expected 1, got 2)$' stdout
-grep '^ERROR: all\.test 2 # UNPLANNED$' stdout
-
-cat > all.test <<END
-1..2
-ok 1
-ok 2
-ok 3
-END
-$MAKE check >stdout && { cat stdout; Exit 1; }
-cat stdout
-count_test_results total=4 pass=2 fail=0 xpass=0 xfail=0 skip=0 error=2
-grep '^ERROR: all\.test - too many tests run (expected 2, got 3)$' stdout
-grep '^ERROR: all\.test 3 # UNPLANNED$' stdout
-
-# Interaction with XFAIL_TESTS.
-cat > all.test <<END
-1..2
-not ok 1
-ok 2 # SKIP
-ok 3
-not ok 4
-ok 5 # SKIP
-END
-$MAKE XFAIL_TESTS=all.test check >stdout && { cat stdout; Exit 1; }
-cat stdout
-count_test_results total=6 pass=0 fail=0 xpass=0 xfail=1 skip=1 error=4
-grep '^ERROR: all\.test - too many tests run (expected 2, got 5)$' stdout
-grep '^ERROR: all\.test 3 # UNPLANNED$' stdout
-grep '^ERROR: all\.test 4 # UNPLANNED$' stdout
-grep '^ERROR: all\.test 5 # UNPLANNED$' stdout
-
-cat > all.test <<END
-1..1
-ok 1
-
-ok
-ok 3
-ok foo
-ok 5 - bar bar
-
-not ok
-not ok 7
-not ok foo
-not ok 9 - bar bar
-
-ok # TODO
-ok 11 # TODO
-ok foo # TODO
-ok 13 - bar bar # TODO
-
-not ok # TODO
-not ok 15 # TODO
-not ok foo # TODO
-not ok 17 - bar bar # TODO
-
-ok # SKIP
-ok 19 # SKIP
-ok foo # SKIP
-ok 21 - bar bar # SKIP
-END
-
-cat > t <<END
-
-2
-3
-4 foo
-5 - bar bar
-
-6
-7
-8 foo
-9 - bar bar
-
-10
-11
-12 foo
-13 - bar bar
-
-14
-15
-16 foo
-17 - bar bar
-
-18
-19
-20 foo
-21 - bar bar
-
-END
-
-$MAKE check >stdout && { cat stdout; Exit 1; }
-cat stdout
-count_test_results total=22 pass=1 fail=0 xpass=0 xfail=0 skip=0 error=21
-
-echo 'PASS: all.test 1' > exp
-sed -e '/^$/d' -e 's/.*/ERROR: all.test & # UNPLANNED/' t >> exp
-echo 'ERROR: all.test - too many tests run (expected 1, got 21)' >> exp
-
-$FGREP ': all.test' stdout > got
-
-cat exp
-cat got
-diff exp got
-
-# Note that, if the TAP input has a trailing plan, it is not possible
-# to flag unplanned tests as such, since we do not know they're unplanned
-# until the plan is reached; still, we should give at least an error
-# message about the unmatched number of tests once we've got the plan.
-
-for x in 'ok' 'ok 3' 'not ok' 'not ok # TODO' 'ok # TODO' 'ok # SKIP'; do
- unindent > all.test <<END
- ok 1
- ok 2 # SKIP
- $x
- 1..2
-END
- $MAKE check >stdout && { cat stdout; Exit 1; }
- cat stdout
- test `$FGREP -c ': all.test' stdout` -eq 4
- $EGREP '^PASS: all\.test 1($| )' stdout
- $EGREP '^SKIP: all\.test 2($| )' stdout
- $EGREP ': all\.test 3($| )' stdout
- grep '^ERROR: all\.test - too many tests run (expected 2, got 3)$' stdout
-done
-
-:
diff --git a/tests/tap-whitespace-normalization.test
b/tests/tap-whitespace-normalization.test
deleted file mode 100755
index 3044f66..0000000
--- a/tests/tap-whitespace-normalization.test
+++ /dev/null
@@ -1,165 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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/>.
-
-# TAP support: whitespace normalization (or lack thereof) in the testsuite
-# progress output on console. We keep all these checks here in a single
-# script so that a potential cosmetic change in the output format won't
-# force us to tweak dozens of other tests (hopefully).
-# See also related test 'tap-todo-skip-whitespace.test'.
-
-am_parallel_tests=yes
-. ./defs || Exit 1
-
-cat > Makefile.am << 'END'
-TEST_LOG_COMPILER = cat
-TESTS =
-END
-
-: > exp
-
-spaces_a=${sp}${tab}${tab}${sp}${sp}${tab}
-spaces_b=${tab}${tab}${sp}${tab}${sp}${sp}${sp}
-
-#-----------------------------------------------------------------------
-
-echo TESTS += numbers.test >> Makefile.am
-
-cat > numbers.test <<END
-1..6
-ok${spaces_a}1
-ok 2${spaces_b}
-ok${spaces_a}3${spaces_b}
-not ok${spaces_b}4
-not ok 5${spaces_a}
-not ok${spaces_b}6${spaces_a}
-END
-
-cat >> exp <<END
-PASS: numbers.test 1
-PASS: numbers.test 2
-PASS: numbers.test 3
-FAIL: numbers.test 4
-FAIL: numbers.test 5
-FAIL: numbers.test 6
-END
-
-#-----------------------------------------------------------------------
-
-echo TESTS += description.test >> Makefile.am
-
-cat > description.test <<END
-1..8
-ok${spaces_a}+foo
-ok +bar${spaces_b}
-ok${spaces_a}+baz${spaces_b}
-not ok${spaces_b}-foo
-not ok -bar${spaces_a}
-not ok${spaces_b}-baz${spaces_a}
-ok u${spaces_b}v${spaces_a}w${sp}
-not ok${spaces_a}x${spaces_a}y${tab}z${tab}
-END
-
-cat >> exp <<END
-PASS: description.test 1 +foo
-PASS: description.test 2 +bar
-PASS: description.test 3 +baz
-FAIL: description.test 4 -foo
-FAIL: description.test 5 -bar
-FAIL: description.test 6 -baz
-PASS: description.test 7 u${spaces_b}v${spaces_a}w
-FAIL: description.test 8 x${spaces_a}y${tab}z
-END
-
-#-----------------------------------------------------------------------
-
-# "Bail out!" magic.
-
-echo TESTS += bailout.test >> Makefile.am
-
-cat > bailout.test <<END
-1..1
-Bail out!${tab}${sp}${sp}${tab}We're out of disk space.
-ok 1
-END
-
-cat >> exp <<END
-ERROR: bailout.test - Bail out! We're out of disk space.
-END
-
-echo TESTS += bailout2.test >> Makefile.am
-
-cat > bailout2.test <<END
-1..1
-Bail out!foo${tab}${sp}
-ok 1
-END
-
-cat >> exp <<END
-ERROR: bailout2.test - Bail out! foo
-END
-
-#-----------------------------------------------------------------------
-
-# Diagnostic lines.
-
-echo AM_TEST_LOG_DRIVER_FLAGS = --comments >> Makefile.am
-echo TESTS += cmnt.test >> Makefile.am
-
-cat > cmnt.test <<END
-1..1
-ok 1
-#Leading whitespace gets added
-# ${tab}${tab} ${tab}Extra leading whitespace is stripped
-# Trailing whitespace is stripped ${tab} ${tab}${tab}
-# Middle${tab}whitespace is${tab} ${tab}${tab} kept
-# ${tab} And only${tab}middle ${tab}whitespace ${tab}${tab} ${tab}
-END
-
-cat >> exp <<END
-PASS: cmnt.test 1
-# cmnt.test: Leading whitespace gets added
-# cmnt.test: Extra leading whitespace is stripped
-# cmnt.test: Trailing whitespace is stripped
-# cmnt.test: Middle${tab}whitespace is${tab} ${tab}${tab} kept
-# cmnt.test: And only${tab}middle ${tab}whitespace
-END
-
-#-----------------------------------------------------------------------
-
-# TODO: we should have more checks here ... (but let's not over-do FTM).
-
-#-----------------------------------------------------------------------
-
-chmod a+x *.test
-
-. "$testsrcdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
-
-# Don't care about exit status or number of test results, they should be
-# checked for in many other tests.
-$MAKE check >stdout || :
-cat stdout
-
-LC_ALL=C sort exp > t
-mv -f t exp
-
-# We need the sort below to account for parallel make usage.
-LC_ALL=C grep '[a-z0-9][a-z0-9]*\.test' stdout | LC_ALL=C sort > got
-
-cat exp
-cat got
-diff exp got
-
-:
diff --git a/tests/tap-with-and-without-number.test
b/tests/tap-with-and-without-number.test
deleted file mode 100755
index a116dba..0000000
--- a/tests/tap-with-and-without-number.test
+++ /dev/null
@@ -1,50 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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/>.
-
-# TAP support:
-# - numbered and unnumbered test results can coexist
-# - tests without explicit number get automatically numbered in the
-# testsuite progress output on console
-
-am_parallel_tests=yes
-. ./defs || Exit 1
-
-. "$testsrcdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
-
-cat > all.test <<'END'
-1..7
-ok 1 foo
-ok 2 - foo2
-ok - bar
-not ok baz # TODO
-not ok 5 - asd # TODO
-ok 6 # SKIP
-ok zardoz
-END
-
-$MAKE check >stdout || { cat stdout; Exit 1; }
-cat stdout
-count_test_results total=7 pass=4 fail=0 xpass=0 xfail=2 skip=1 error=0
-
-grep '^PASS: all\.test 1 foo$' stdout
-grep '^PASS: all\.test 2 - foo2$' stdout
-grep '^PASS: all\.test 3 - bar$' stdout
-grep '^XFAIL: all\.test 4 baz # TODO$' stdout
-grep '^XFAIL: all\.test 5 - asd # TODO$' stdout
-grep '^SKIP: all\.test 6 # SKIP$' stdout
-grep '^PASS: all\.test 7 zardoz$' stdout
-
-:
diff --git a/tests/tap-xfail-tests.test b/tests/tap-xfail-tests.test
deleted file mode 100755
index 6cede30..0000000
--- a/tests/tap-xfail-tests.test
+++ /dev/null
@@ -1,68 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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/>.
-
-# TAP and $(XFAIL_TESTS): test results without directives are turned from
-# PASS to XPASS and from FAIL to XFAIL; other results are unchanged.
-
-am_parallel_tests=yes
-. ./defs || Exit 1
-
-. "$testsrcdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh"
-
-echo 'XFAIL_TESTS = $(TESTS)' >> Makefile
-
-cat > all.test <<END
-1..6
-ok 1
-not ok 2
-ok 3 # TODO
-not ok 4 # TODO
-ok 5 # SKIP
-# The next should count as a failure (and thus will be
-# rendered into an expected failure by XFAIL_TESTS).
-not ok 6 # SKIP
-Bail out!
-END
-
-$MAKE check >stdout && { cat stdout; Exit 1; }
-cat stdout
-
-count_test_results total=7 pass=0 fail=0 xpass=2 xfail=3 skip=1 error=1
-
-grep '^XPASS: all\.test 1$' stdout
-grep '^XFAIL: all\.test 2$' stdout
-grep '^XPASS: all\.test 3 # TODO' stdout
-grep '^XFAIL: all\.test 4 # TODO' stdout
-grep '^SKIP: all\.test 5 # SKIP' stdout
-grep '^XFAIL: all\.test 6 # SKIP' stdout
-grep '^ERROR: all\.test - Bail out!' stdout
-
-# Check that the exit status of the testsuite is indeed 0 when we
-# would expect success.
-
-cat > all.test <<END
-1..3
-not ok 1
-ok 2 # SKIP
-not ok 3 # TODO
-END
-
-$MAKE check >stdout || { cat stdout; Exit 1; }
-cat stdout
-
-count_test_results total=3 pass=0 fail=0 xpass=0 xfail=2 skip=1 error=0
-
-:
diff --git a/tests/test-driver-acsubst.test b/tests/test-driver-acsubst.test
deleted file mode 100755
index eefdd81..0000000
--- a/tests/test-driver-acsubst.test
+++ /dev/null
@@ -1,88 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 Free Software Foundation, Inc.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-# parallel-tests:
-# - LOG_DRIVER variables can be AC_SUBST'd
-
-am_parallel_tests=yes
-. ./defs || Exit 1
-
-mkdir test-drivers
-
-cp "$testsrcdir"/trivial-test-driver test-drivers/triv \
- || fatal_ "failed to fetch auxiliary script trivial-test-driver"
-cp "$am_scriptdir"/test-driver test-drivers/dflt \
- || fatal_ "failed to fetch auxiliary script test-driver"
-
-cat >> configure.ac <<'END'
-AC_SUBST([LOG_DRIVER], ['${SHELL} test-drivers/triv'])
-AC_SUBST([TEST_LOG_DRIVER], ['${SHELL} test-drivers/dflt'])
-AC_SUBST([SH_LOG_DRIVER], ['${my_drv}'])
-AC_OUTPUT
-END
-
-cat > Makefile.am <<'END'
-TEST_EXTENSIONS = .test .sh
-my_drv = $(SHELL) test-drivers/dflt
-TESTS = foo bar.test baz.sh
-XFAIL_TESTS = baz.sh
-.PHONY: check-autodefs
-check-autodefs:
-### For debugging.
- @echo LOG_DRIVER = $(LOG_DRIVER)
- @echo TEST_LOG_DRIVER = $(TEST_LOG_DRIVER)
- @echo SH_LOG_DRIVER = $(SH_LOG_DRIVER)
-### Checks here.
- @echo ' ' $(LOG_DRIVER) ' ' | grep ' test-drivers/triv '
- @echo ' ' $(TEST_LOG_DRIVER) ' ' | grep ' test-drivers/dflt '
- @echo ' ' $(SH_LOG_DRIVER) ' ' | grep ' test-drivers/dflt '
-END
-
-$ACLOCAL
-$AUTOMAKE
-$AUTOCONF
-
-./configure
-
-cat > foo <<'END'
-#!/bin/sh
-echo "PASS: from $0"
-exit 1 # Exit status should be ignored by the trivial-test-driver.
-END
-
-cat > bar.test <<'END'
-#!/bin/sh
-exit 77
-END
-
-cat > baz.sh <<'END'
-#!/bin/sh
-exit 1
-END
-
-chmod a+x foo bar.test baz.sh
-
-$MAKE check-autodefs
-st=0; $MAKE check >stdout || st=$?
-cat stdout
-cat test-suite.log
-cat foo.log
-cat bar.log
-cat baz.log
-test $st -eq 0 || Exit 1
-count_test_results total=3 pass=1 fail=0 skip=1 xfail=1 xpass=0 error=0
-
-:
diff --git a/tests/test-driver-cond.test b/tests/test-driver-cond.test
deleted file mode 100755
index 3129b9b..0000000
--- a/tests/test-driver-cond.test
+++ /dev/null
@@ -1,119 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 Free Software Foundation, Inc.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-# parallel-tests:
-# - Automake can correctly handle conditionals contents for the
-# LOG_DRIVER variables.
-
-am_parallel_tests=yes
-. ./defs || Exit 1
-
-cp "$testsrcdir"/trivial-test-driver . \
- || fatal_ "failed to fetch auxiliary script trivial-test-driver"
-cp "$am_scriptdir"/tap-driver.pl . \
- || fatal_ "failed to fetch auxiliary script tap-driver.pl"
-
-cat >> configure.ac << END
-AM_CONDITIONAL([COND1], [:])
-AM_CONDITIONAL([COND2], [false])
-AM_CONDITIONAL([COND3], [false])
-AC_SUBST([PERL], ['$PERL'])
-AC_SUBST([my_LOG_DRIVER], ['\${SHELL} \${top_srcdir}/trivial-test-driver'])
-AM_SUBST_NOTMAKE([my_LOG_DRIVER])
-AC_OUTPUT
-END
-
-$ACLOCAL
-$AUTOCONF
-
-cat > Makefile.am << 'END'
-TESTS = foo bar.test baz.sh
-EXTRA_DIST = $(TESTS) tap-driver.pl trivial-test-driver
-TEST_EXTENSIONS = .test .sh
-LOG_DRIVER =
-SH_LOG_DRIVER = $(tap_rulez)
-if COND1
-LOG_DRIVER += @my_LOG_DRIVER@
-if COND2
-tap_rulez = false
-else !COND2
-tap_rulez = $(PERL) $(srcdir)/tap-driver.pl
-endif !COND2
-endif COND1
-END
-
-cat > foo <<'END'
-#!/bin/sh
-echo "PASS: from $0"
-echo "SKIP: from $0"
-exit 1 # Exit status should be ignored by the trivial-test-driver.
-END
-
-cat > bar.test <<'END'
-#!/bin/sh
-exit 0
-END
-
-cat > baz.sh <<'END'
-#!/bin/sh
-echo 1..3
-echo 'ok 1'
-echo 'not ok 2 # TODO'
-echo 'not ok 3 # TODO'
-END
-
-chmod a+x foo bar.test baz.sh
-
-$AUTOMAKE -a
-test -f test-driver
-
-grep DRIVER Makefile.in || Exit 99 # For debugging.
-
-grep '^my_LOG_DRIVER *=' Makefile.in \
- && fatal_ 'unexpected $(my_LOG_DRIVER) in Makefile.in'
-
-grep '^TEST_LOG_DRIVER =.*\$(SHELL).*/test-driver' Makefile.in
-
-$PERL -MTAP::Parser -e 1 \
- || skip_ "cannot import TAP::Parser perl module"
-
-./configure
-
-do_count ()
-{
- count_test_results total=6 pass=3 fail=0 skip=1 xfail=2 xpass=0 error=0
- grep '^PASS: foo, testcase 1 *$' stdout
- grep '^SKIP: foo, testcase 2 *$' stdout
- grep '^PASS: bar\.test *$' stdout
- $EGREP 'PASS: baz\.sh 1( |$)' stdout
- $EGREP 'XFAIL: baz\.sh 2( |$)' stdout
- $EGREP 'XFAIL: baz\.sh 3( |$)' stdout
-}
-
-st=0; $MAKE check >stdout || st=$?
-cat stdout
-cat test-suite.log
-cat foo.log
-cat bar.log
-cat baz.log
-test $st -eq 0 || Exit 1
-do_count
-
-$MAKE distcheck >stdout || { cat stdout; Exit 1; }
-cat stdout
-do_count
-
-:
diff --git a/tests/test-driver-custom-multitest-recheck.test
b/tests/test-driver-custom-multitest-recheck.test
deleted file mode 100755
index 267f0d5..0000000
--- a/tests/test-driver-custom-multitest-recheck.test
+++ /dev/null
@@ -1,214 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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/>.
-
-# Custom test drivers: try the "recheck" functionality with test protocols
-# that allow multiple testcases in a single test script. This test not
-# only checks implementation details in Automake's custom test drivers
-# support, but also serves as a "usability test" for our APIs.
-# See also related tests 'test-driver-custom-multitest-recheck2.test'
-# and 'parallel-tests-recheck-override.test'.
-# Keep in sync with 'tap-recheck.test'.
-
-am_parallel_tests=yes
-. ./defs || Exit 1
-
-cp "$testsrcdir"/trivial-test-driver . \
- || fatal_ "failed to fetch auxiliary script trivial-test-driver"
-
-cat >> configure.ac << 'END'
-AC_OUTPUT
-END
-
-cat > Makefile.am << 'END'
-TEST_LOG_DRIVER = $(SHELL) $(srcdir)/trivial-test-driver
-TESTS = a.test b.test c.test d.test
-END
-
-cat > a.test << 'END'
-#! /bin/sh
-echo PASS: aa
-echo PASS: AA
-: > a.run
-END
-
-cat > b.test << 'END'
-#! /bin/sh
-echo PASS:
-if test -f b.ok; then
- echo PASS:
-else
- echo ERROR:
-fi
-: > b.run
-END
-
-cat > c.test << 'END'
-#! /bin/sh
-if test -f c.pass; then
- echo PASS: c0
-else
- echo FAIL: c0
-fi
-if test -f c.xfail; then
- echo XFAIL: c1
-else
- echo XPASS: c1
-fi
-echo XFAIL: c2
-: > c.run
-END
-
-cat > d.test << 'END'
-#! /bin/sh
-echo SKIP: who cares ...
-(. ./d.extra) || echo FAIL: d.extra failed
-: > d.run
-END
-
-chmod a+x *.test
-
-$ACLOCAL
-$AUTOCONF
-$AUTOMAKE
-
-do_recheck ()
-{
- case $* in
- --fail) on_bad_rc='&&';;
- --pass) on_bad_rc='||';;
- *) fatal_ "invalid usage of function 'do_recheck'";;
- esac
- rm -f *.run
- eval "\$MAKE recheck >stdout $on_bad_rc { cat stdout; ls -l; Exit 1; }; :"
- cat stdout; ls -l
-}
-
-for vpath in : false; do
- if $vpath; then
- mkdir build
- cd build
- srcdir=..
- else
- srcdir=.
- fi
-
- $srcdir/configure
-
- : A "make recheck" in a clean tree should run no tests.
- do_recheck --pass
- cat test-suite.log
- test ! -r a.run
- test ! -r a.log
- test ! -r b.run
- test ! -r b.log
- test ! -r c.run
- test ! -r c.log
- test ! -r d.run
- test ! -r d.log
- count_test_results total=0 pass=0 fail=0 xpass=0 xfail=0 skip=0 error=0
-
- : Run the tests for the first time.
- $MAKE check >stdout && { cat stdout; Exit 1; }
- cat stdout
- ls -l
- # All the test scripts should have run.
- test -f a.run
- test -f b.run
- test -f c.run
- test -f d.run
- count_test_results total=9 pass=3 fail=2 xpass=1 xfail=1 skip=1 error=1
-
- : Let us make b.test pass.
- echo OK > b.ok
- do_recheck --fail
- # a.test has been successful the first time, so no need to re-run it.
- # Similar considerations apply to similar checks, below.
- test ! -r a.run
- test -f b.run
- test -f c.run
- test -f d.run
- count_test_results total=7 pass=2 fail=2 xpass=1 xfail=1 skip=1 error=0
-
- : Let us make the first part of c.test pass.
- echo OK > c.pass
- do_recheck --fail
- test ! -r a.run
- test ! -r b.run
- test -f c.run
- test -f d.run
- count_test_results total=5 pass=1 fail=1 xpass=1 xfail=1 skip=1 error=0
-
- : Let us make also the second part of c.test pass.
- echo KO > c.xfail
- do_recheck --fail
- test ! -r a.run
- test ! -r b.run
- test -f c.run
- test -f d.run
- count_test_results total=5 pass=1 fail=1 xpass=0 xfail=2 skip=1 error=0
-
- : Nothing changed, so only d.test should be run.
- for i in 1 2; do
- do_recheck --fail
- test ! -r a.run
- test ! -r b.run
- test ! -r c.run
- test -f d.run
- count_test_results total=2 pass=0 fail=1 xpass=0 xfail=0 skip=1 error=0
- done
-
- : Let us make d.test run more testcases, and experience _more_ failures.
- unindent > d.extra <<'END'
- echo SKIP: s
- echo FAIL: f 1
- echo PASS: p 1
- echo FAIL: f 2
- echo XPASS: xp
- echo FAIL: f 3
- echo FAIL: f 4
- echo ERROR: e 1
- echo PASS: p 2
- echo ERROR: e 2
-END
- do_recheck --fail
- test ! -r a.run
- test ! -r b.run
- test ! -r c.run
- test -f d.run
- count_test_results total=11 pass=2 fail=4 xpass=1 xfail=0 skip=2 error=2
-
- : Let us finally make d.test pass.
- echo : > d.extra
- do_recheck --pass
- test ! -r a.run
- test ! -r b.run
- test ! -r c.run
- test -f d.run
- count_test_results total=1 pass=0 fail=0 xpass=0 xfail=0 skip=1 error=0
-
- : All tests have been successful or skipped, nothing should be re-run.
- do_recheck --pass
- test ! -r a.run
- test ! -r b.run
- test ! -r c.run
- test ! -r d.run
- count_test_results total=0 pass=0 fail=0 xpass=0 xfail=0 skip=0 error=0
-
- cd $srcdir
-
-done
-
-:
diff --git a/tests/test-driver-custom-multitest-recheck2.test
b/tests/test-driver-custom-multitest-recheck2.test
deleted file mode 100755
index fa1fe0e..0000000
--- a/tests/test-driver-custom-multitest-recheck2.test
+++ /dev/null
@@ -1,182 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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/>.
-
-# Custom test drivers: try the "recheck" functionality with test protocols
-# that allow multiple testcases in a single test script. In particular,
-# check that this still works when we override $(TESTS) and $(TEST_LOGS)
-# at make runtime.
-# See also related tests 'test-driver-custom-multitest-recheck.test' and
-# 'parallel-tests-recheck-override.test'.
-
-am_parallel_tests=yes
-. ./defs || Exit 1
-
-cp "$testsrcdir"/trivial-test-driver . \
- || fatal_ "failed to fetch auxiliary script trivial-test-driver"
-
-cat >> configure.ac << 'END'
-AC_OUTPUT
-END
-
-cat > Makefile.am << 'END'
-TEST_LOG_DRIVER = $(SHELL) $(srcdir)/trivial-test-driver
-TESTS = a.test b.test c.test
-END
-
-cat > a.test << 'END'
-#! /bin/sh
-echo PASS: 1
-echo PASS: 2
-: > a.run
-END
-
-cat > b.test << 'END'
-#! /bin/sh
-echo SKIP: b0
-if test -f b.ok; then
- echo XFAIL: b1
-else
- echo FAIL: b2
-fi
-: > b.run
-END
-
-cat > c.test << 'END'
-#! /bin/sh
-if test -f c.err; then
- echo ERROR: xxx
-elif test -f c.ok; then
- echo PASS: ok
-else
- echo XPASS: xp
-fi
-: > c.run
-END
-
-chmod a+x *.test
-
-$ACLOCAL
-$AUTOCONF
-$AUTOMAKE
-
-for vpath in : false; do
- if $vpath; then
- mkdir build
- cd build
- srcdir=..
- else
- srcdir=.
- fi
-
- $srcdir/configure
-
- : Run the tests for the first time.
- $MAKE check >stdout && { cat stdout; Exit 1; }
- cat stdout
- # All the test scripts should have run.
- test -f a.run
- test -f b.run
- test -f c.run
- count_test_results total=5 pass=2 fail=1 xpass=1 xfail=0 skip=1 error=0
-
- rm -f *.run
-
- : An empty '$(TESTS)' or '$(TEST_LOGS)' means that no test should be run.
- for var in TESTS TEST_LOGS; do
- $MAKE "$var=" recheck >stdout || { cat stdout; Exit 1; }
- cat stdout
- count_test_results total=0 pass=0 fail=0 xpass=0 xfail=0 skip=0 error=0
- test ! -r a.run
- test ! -r b.run
- test ! -r c.run
- done
- unset var
-
- : a.test was successful the first time, no need to re-run it.
- $MAKE TESTS=a.test recheck >stdout || { cat stdout; Exit 1; }
- cat stdout
- count_test_results total=0 pass=0 fail=0 xpass=0 xfail=0 skip=0 error=0
- test ! -r a.run
- test ! -r b.run
- test ! -r c.run
-
- : b.test failed, it should be re-run. And make it pass this time.
- echo OK > b.ok
- $MAKE TEST_LOGS=b.log recheck >stdout || { cat stdout; Exit 1; }
- cat stdout
- test ! -r a.run
- test -f b.run
- test ! -r c.run
- count_test_results total=2 pass=0 fail=0 xpass=0 xfail=1 skip=1 error=0
-
- rm -f *.run
-
- : No need to re-run a.test or b.test anymore.
- $MAKE TEST_LOGS=b.log recheck >stdout || { cat stdout; Exit 1; }
- cat stdout
- count_test_results total=0 pass=0 fail=0 xpass=0 xfail=0 skip=0 error=0
- test ! -r a.run
- test ! -r b.run
- test ! -r c.run
- $MAKE TESTS='a.test b.test' recheck >stdout || { cat stdout; Exit 1; }
- cat stdout
- count_test_results total=0 pass=0 fail=0 xpass=0 xfail=0 skip=0 error=0
- test ! -r a.run
- test ! -r b.run
- test ! -r c.run
-
- : No need to re-run a.test anymore, but c.test should be rerun,
- : as it contained an XPASS. And this time, make it fail with
- : an hard error.
- # Use 'echo' here, since Solaris 10 /bin/sh would try to optimize
- # a ':' away after the first iteration, even if it is redirected.
- echo dummy > c.err
- $MAKE TEST_LOGS='a.log c.log' recheck >stdout && { cat stdout; Exit 1; }
- cat stdout
- count_test_results total=1 pass=0 fail=0 xpass=0 xfail=0 skip=0 error=1
- test ! -r a.run
- test ! -r b.run
- test -f c.run
-
- rm -f *.run *.err
-
- : c.test contained and hard error the last time, so it should be re-run.
- : This time, make it pass
- # Use 'echo', not ':'; see comments above for why.
- echo dummy > c.ok
- $MAKE TESTS='c.test a.test' recheck >stdout || { cat stdout; Exit 1; }
- cat stdout
- count_test_results total=1 pass=1 fail=0 xpass=0 xfail=0 skip=0 error=0
- test ! -r a.run
- test ! -r b.run
- test -f c.run
-
- rm -f *.run *.err *.ok
-
- : Nothing should be rerun anymore, as all tests have been eventually
- : successful.
- $MAKE recheck >stdout || { cat stdout; Exit 1; }
- cat stdout
- count_test_results total=0 pass=0 fail=0 xpass=0 xfail=0 skip=0 error=0
- test ! -r a.run
- test ! -r b.run
- test ! -r c.run
-
- cd $srcdir
-
-done
-
-:
diff --git a/tests/test-driver-custom-multitest.test
b/tests/test-driver-custom-multitest.test
deleted file mode 100755
index 76445d6..0000000
--- a/tests/test-driver-custom-multitest.test
+++ /dev/null
@@ -1,172 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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/>.
-
-# Custom test drivers: check that we can easily support test protocols
-# that allow multiple testcases in a single test script. This test not
-# only checks implementation details in Automake's custom test drivers
-# support, but also serves as a "usability test" for our APIs.
-
-am_parallel_tests=yes
-. ./defs || Exit 1
-
-cp "$testsrcdir"/trivial-test-driver . \
- || fatal_ "failed to fetch auxiliary script trivial-test-driver"
-
-cat >> configure.ac << 'END'
-AC_OUTPUT
-END
-
-cat > Makefile.am << 'END'
-TEST_EXTENSIONS = .t
-T_LOG_DRIVER = $(SHELL) $(srcdir)/trivial-test-driver
-
-TESTS = \
- pass.t \
- fail.t \
- fail2.t \
- pass-fail.t \
- pass4-skip.t \
- pass3-skip2-xfail.t \
- pass-xpass-fail-xfail-skip-error.t
-END
-
-cat > pass.t << 'END'
-echo %% pass %%
-echo PASS: pass
-END
-
-cat > fail.t << 'END'
-echo %% fail %%
-echo FAIL: fail
-END
-
-cat > fail2.t << 'END'
-echo %% fail2 %%
-echo FAIL: stdout >&1
-echo FAIL: stderr >&2
-echo :PASS: this should be ignored
-END
-
-cat > pass-fail.t << 'END'
-echo %% pass-fail %%
-echo 'FAIL: this fails :-('
-echo 'some randome message'
-echo 'some randome warning' >&2
-echo 'PASS: this passes :-)'
-echo 'INFO: blah'
-echo 'WARNING: blah blah' >&2
-END
-
-cat > pass4-skip.t << 'END'
-echo %% pass4-skip %%
-echo PASS: on stdout >&1
-echo PASS: on stderr >&2
-echo PASS: 3
-echo PASS: 4
-echo SKIP: 1
-echo this FAIL: should be ignored
-echo FAIL as should this
-exit 99
-END
-
-cat > pass3-skip2-xfail.t << 'END'
-echo %% pass4-skip2-xfail %%
-echo 'PASS: -v'
-echo 'PASS: --verbose'
-echo 'SKIP: Oops, unsupported system.'
-echo 'PASS: -#-#-#-'
-cp || echo "SKIP: cp cannot read users' mind" >&2
-mv || echo "XFAIL: mv cannot read users' mind yet"
-exit 127
-END
-
-cat > pass-xpass-fail-xfail-skip-error.t << 'END'
-echo PASS:
-echo FAIL:
-echo XFAIL:
-echo XPASS:
-echo SKIP:
-echo ERROR:
-echo %% pass-xpass-fail-xfail-skip-error %%
-END
-
-chmod a+x *.t
-
-$ACLOCAL
-$AUTOCONF
-$AUTOMAKE
-
-for vpath in : false; do
- if $vpath; then
- mkdir build
- cd build
- srcdir=..
- else
- srcdir=.
- fi
-
- $srcdir/configure
-
- $MAKE check >stdout && { cat stdout; cat test-suite.log; Exit 1; }
- cat stdout
- cat test-suite.log
- # Couple of sanity checks. These might need to be updated if the
- # 'trivial-test-driver' script is changed.
- $FGREP INVALID.NAME stdout test-suite.log && Exit 1
- test -f BAD.LOG && Exit 1
- test -f BAD.TRS && Exit 1
- # These log files must all have been created by the testsuite.
- cat pass.log
- cat fail.log
- cat fail2.log
- cat pass-fail.log
- cat pass4-skip.log
- cat pass3-skip2-xfail.log
- cat pass-xpass-fail-xfail-skip-error.log
-
- count_test_results total=23 pass=10 fail=5 skip=4 xfail=2 xpass=1 error=1
-
- tst=pass-xpass-fail-xfail-skip-error
- grep "^PASS: $tst\.t, testcase 1" stdout
- grep "^FAIL: $tst\.t, testcase 2" stdout
- grep "^XFAIL: $tst\.t, testcase 3" stdout
- grep "^XPASS: $tst\.t, testcase 4" stdout
- grep "^SKIP: $tst\.t, testcase 5" stdout
- grep "^ERROR: $tst\.t, testcase 6" stdout
-
- # Check that the content of, and only of, the test logs with at least
- # one failing test case has been copied into 'test-suite.log'. Note
- # that test logs containing skipped or xfailed test cases are *not*
- # copied into 'test-suite.log' -- a behaviour that deliberately differs
- # from the one of the built-in Automake test drivers.
- grep '%%' test-suite.log # For debugging.
- grep '%% fail %%' test-suite.log
- grep '%% fail2 %%' test-suite.log
- grep '%% pass-fail %%' test-suite.log
- grep '%% pass-xpass-fail-xfail-skip-error %%' test-suite.log
- test `grep -c '%% ' test-suite.log` -eq 4
-
- $MAKE TESTS='pass.t pass3-skip2-xfail.t' check >stdout \
- || { cat stdout; cat test-suite.log; Exit 1; }
- cat test-suite.log
- cat stdout
- count_test_results total=7 pass=4 fail=0 skip=2 xfail=1 xpass=0 error=0
-
- cd $srcdir
-
-done
-
-:
diff --git a/tests/testsuite-summary-checks.sh
b/tests/testsuite-summary-checks.sh
deleted file mode 100755
index f36f7a5..0000000
--- a/tests/testsuite-summary-checks.sh
+++ /dev/null
@@ -1,105 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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 the testsuite summary with the parallel-tests harness. This
-# script is meant to be sourced by other test script, so that it can
-# be used to check different scenarios (colorized and non-colorized
-# testsuite output, packages with and without bug-report addresses,
-# testsuites in subdirectories, ...)
-
-am_parallel_tests=yes
-. ./defs || Exit 1
-
-case $use_colors in
- yes)
- AM_COLOR_TESTS=always; export AM_COLOR_TESTS
- TERM=ansi; export TERM
- am_opts='parallel-tests color-tests'
- ;;
- no)
- am_opts='parallel-tests'
- ;;
- *)
- fatal_ "invalid use_colors='$use_colors'";;
-esac
-
-cat > configure.ac <<END
-AC_INIT([GNU AutoFoo], [7.1], address@hidden)
-AM_INIT_AUTOMAKE([$am_opts])
-AC_CONFIG_FILES([Makefile])
-AC_OUTPUT
-END
-
-cat > Makefile.am <<'END'
-TEST_EXTENSIONS = .t
-T_LOG_COMPILER = $(SHELL) $(srcdir)/log-compiler
-## Will be defined at runtime.
-TESTS =
-$(TESTS):
-END
-
-cat > log-compiler <<'END'
-#!/bin/sh
-case "$1" in
- pass*|*/pass*|xpass*|*/xpass*) exit 0;;
- fail*|*/fail*|xfail*|*/xfail*) exit 1;;
- skip*|*/skip*) exit 77;;
- error*|/error*) exit 99;;
- copy*|*/copy*) cat "$1";;
- *) exit 99;;
-esac
-END
-
-# Quite complexish, but allow the tests in client scripts to be written
-# in a "data-driven fashion".
-do_check ()
-{
- cat > summary.exp
- expect_failure=false
- tests=$* xfail_tests=
- for t in $*; do
- case $t in fail*|xpass*|error*) expect_failure=:;; esac
- case $t in xfail*|xpass*) xfail_tests="$xfail_tests $t";; esac
- done
- set "TESTS=$tests"
- test -z "$xfail_tests" || set "$@" XFAIL_TESTS="$xfail_tests"
- st=0; $MAKE "$@" check >stdout || st=$?
- cat stdout
- if $expect_failure; then
- test $st -gt 0 || Exit 1
- else
- test $st -eq 0 || Exit 1
- fi
- $PERL -w "$testsrcdir"/extract-testsuite-summary stdout > summary.got \
- || fatal_ "cannot extract testsuite summary"
- cat summary.exp
- cat summary.got
- if test $use_colors = yes; then
- # Use cmp, not diff, because the files might contain binary data.
- compare=cmp
- else
- compare=diff
- fi
- $compare summary.exp summary.got || Exit 1
-}
-
-br='============================================================================'
-
-$ACLOCAL
-$AUTOCONF
-$AUTOMAKE --add-missing
-
-:
diff --git a/tests/testsuite-summary-color.test
b/tests/testsuite-summary-color.test
deleted file mode 100755
index e2a0e68..0000000
--- a/tests/testsuite-summary-color.test
+++ /dev/null
@@ -1,199 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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 coloring of the testsuite summary.
-
-. ./defs-static || Exit 1
-
-use_colors=yes
-use_vpath=no
-
-. "$testsrcdir"/testsuite-summary-checks.sh || Exit 99
-
-./configure
-
-# ANSI colors.
-red='[0;31m'
-grn='[0;32m'
-lgn='[1;32m'
-blu='[1;34m'
-mgn='[0;35m'
-brg='[1m';
-std='[m';
-
-success_header="\
-${grn}${br}${std}
-${grn}Testsuite summary for GNU AutoFoo 7.1${std}
-${grn}${br}${std}"
-
-success_footer=${grn}${br}${std}
-
-failure_header="\
-${red}${br}${std}
-${red}Testsuite summary for GNU AutoFoo 7.1${std}
-${red}${br}${std}"
-
-failure_footer="\
-${red}${br}${std}
-${red}See ./test-suite.log${std}
-${red}Please report to address@hidden
-${red}${br}${std}"
-
-do_check '' <<END
-$success_header
-# TOTAL: 0
-# PASS: 0
-# SKIP: 0
-# XFAIL: 0
-# FAIL: 0
-# XPASS: 0
-# ERROR: 0
-$success_footer
-END
-
-do_check pass.t <<END
-$success_header
-${brg}# TOTAL: 1${std}
-${grn}# PASS: 1${std}
-# SKIP: 0
-# XFAIL: 0
-# FAIL: 0
-# XPASS: 0
-# ERROR: 0
-$success_footer
-END
-
-do_check skip.t <<END
-$success_header
-${brg}# TOTAL: 1${std}
-# PASS: 0
-${blu}# SKIP: 1${std}
-# XFAIL: 0
-# FAIL: 0
-# XPASS: 0
-# ERROR: 0
-$success_footer
-END
-
-do_check xfail.t <<END
-$success_header
-${brg}# TOTAL: 1${std}
-# PASS: 0
-# SKIP: 0
-${lgn}# XFAIL: 1${std}
-# FAIL: 0
-# XPASS: 0
-# ERROR: 0
-$success_footer
-END
-
-do_check fail.t <<END
-$failure_header
-${brg}# TOTAL: 1${std}
-# PASS: 0
-# SKIP: 0
-# XFAIL: 0
-${red}# FAIL: 1${std}
-# XPASS: 0
-# ERROR: 0
-$failure_footer
-END
-
-do_check xpass.t <<END
-$failure_header
-${brg}# TOTAL: 1${std}
-# PASS: 0
-# SKIP: 0
-# XFAIL: 0
-# FAIL: 0
-${red}# XPASS: 1${std}
-# ERROR: 0
-$failure_footer
-END
-
-do_check error.t <<END
-$failure_header
-${brg}# TOTAL: 1${std}
-# PASS: 0
-# SKIP: 0
-# XFAIL: 0
-# FAIL: 0
-# XPASS: 0
-${mgn}# ERROR: 1${std}
-$failure_footer
-END
-
-do_check pass.t xfail.t skip.t <<END
-$success_header
-${brg}# TOTAL: 3${std}
-${grn}# PASS: 1${std}
-${blu}# SKIP: 1${std}
-${lgn}# XFAIL: 1${std}
-# FAIL: 0
-# XPASS: 0
-# ERROR: 0
-$success_footer
-END
-
-do_check pass.t fail.t skip.t <<END
-$failure_header
-${brg}# TOTAL: 3${std}
-${grn}# PASS: 1${std}
-${blu}# SKIP: 1${std}
-# XFAIL: 0
-${red}# FAIL: 1${std}
-# XPASS: 0
-# ERROR: 0
-$failure_footer
-END
-
-do_check pass.t xfail.t xpass.t <<END
-$failure_header
-${brg}# TOTAL: 3${std}
-${grn}# PASS: 1${std}
-# SKIP: 0
-${lgn}# XFAIL: 1${std}
-# FAIL: 0
-${red}# XPASS: 1${std}
-# ERROR: 0
-$failure_footer
-END
-
-do_check skip.t xfail.t error.t <<END
-$failure_header
-${brg}# TOTAL: 3${std}
-# PASS: 0
-${blu}# SKIP: 1${std}
-${lgn}# XFAIL: 1${std}
-# FAIL: 0
-# XPASS: 0
-${mgn}# ERROR: 1${std}
-$failure_footer
-END
-
-do_check pass.t skip.t xfail.t fail.t xpass.t error.t <<END
-$failure_header
-${brg}# TOTAL: 6${std}
-${grn}# PASS: 1${std}
-${blu}# SKIP: 1${std}
-${lgn}# XFAIL: 1${std}
-${red}# FAIL: 1${std}
-${red}# XPASS: 1${std}
-${mgn}# ERROR: 1${std}
-$failure_footer
-END
-
-:
diff --git a/tests/testsuite-summary-count-many.test
b/tests/testsuite-summary-count-many.test
deleted file mode 100755
index 43c2b65..0000000
--- a/tests/testsuite-summary-count-many.test
+++ /dev/null
@@ -1,105 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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 test counts in the testsuite summary, with test drivers allowing
-# multiple test results per test script, and for a huge number of tests.
-# Incidentally, this test also checks that the testsuite summary doesn't
-# give any bug-report address if it's not defined.
-
-am_parallel_tests=yes
-. ./defs || Exit 1
-
-for s in trivial-test-driver extract-testsuite-summary; do
- cp "$testsrcdir/$s" . || fatal_ "failed to fetch auxiliary script $s"
-done
-
-br='============================================================================'
-
-header="\
-${br}
-Testsuite summary for $me 1.0
-${br}"
-
-footer="\
-${br}
-See ./test-suite.log
-${br}"
-
-echo AC_OUTPUT >> configure.ac
-
-cat > Makefile.am << 'END'
-TEST_LOG_DRIVER = $(SHELL) $(srcdir)/trivial-test-driver
-TESTS = all.test
-# Without this, the test driver will be horrendously slow.
-END
-
-cat > all.test <<'END'
-#!/bin/sh
-cat results.txt || { echo ERROR: weird; exit 99; }
-END
-chmod a+x all.test
-
-$PERL -w -e '
- use warnings FATAL => "all";
- use strict;
-
- # FIXME: we would like this to be 1000 or even 10000, but the current
- # implementation is too slow to handle that :-(
- my $base = 5;
- my %count = (
- TOTAL => $base * 1000,
- PASS => $base * 700,
- SKIP => $base * 200,
- XFAIL => $base * 80,
- FAIL => $base * 10,
- XPASS => $base * 7,
- ERROR => $base * 3,
- );
- my @results = qw/PASS SKIP XFAIL FAIL XPASS ERROR/;
-
- open (RES, ">results.txt") or die "opening results.txt: $!\n";
- open (CNT, ">count.txt") or die "opening count.txt: $!\n";
-
- printf CNT "# %-6s %d\n", "TOTAL:", $count{TOTAL};
- for my $res (@results)
- {
- my $uc_res = uc $res;
- print STDERR "Generating list of $res ...\n";
- for (1..$count{$res})
- {
- print RES "$uc_res: $_\n";
- }
- printf CNT "# %-6s %d\n", $res . ":", $count{$res};
- }
-'
-
-(echo "$header" && cat count.txt && echo "$footer") > summary.exp
-
-$ACLOCAL
-$AUTOMAKE -a
-$AUTOCONF
-
-./configure
-
-($MAKE check || : > make.fail) | tee stdout
-test -f make.fail
-
-$PERL -w extract-testsuite-summary stdout > summary.got
-cat summary.exp
-cat summary.got
-diff summary.exp summary.got || Exit 1
-
-:
diff --git a/tests/testsuite-summary-count.test
b/tests/testsuite-summary-count.test
deleted file mode 100755
index 70936fc..0000000
--- a/tests/testsuite-summary-count.test
+++ /dev/null
@@ -1,161 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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 test counts in the testsuite summary.
-
-. ./defs-static || Exit 1
-
-use_colors=no
-use_vpath=no
-
-. "$testsrcdir"/testsuite-summary-checks.sh || Exit 99
-
-./configure
-
-header="\
-${br}
-Testsuite summary for GNU AutoFoo 7.1
-${br}"
-
-success_footer=${br}
-
-failure_footer="\
-${br}
-See ./test-suite.log
-Please report to address@hidden
-${br}"
-
-# Corner cases.
-
-do_check '' <<END
-$header
-# TOTAL: 0
-# PASS: 0
-# SKIP: 0
-# XFAIL: 0
-# FAIL: 0
-# XPASS: 0
-# ERROR: 0
-$success_footer
-END
-
-do_check pass.t <<END
-$header
-# TOTAL: 1
-# PASS: 1
-# SKIP: 0
-# XFAIL: 0
-# FAIL: 0
-# XPASS: 0
-# ERROR: 0
-$success_footer
-END
-
-do_check fail.t <<END
-$header
-# TOTAL: 1
-# PASS: 0
-# SKIP: 0
-# XFAIL: 0
-# FAIL: 1
-# XPASS: 0
-# ERROR: 0
-$failure_footer
-END
-
-# Some simpler checks, with low or moderate number of tests.
-
-do_check skip.t skip2.t skip3.t xfail.t xfail2.t <<END
-$header
-# TOTAL: 5
-# PASS: 0
-# SKIP: 3
-# XFAIL: 2
-# FAIL: 0
-# XPASS: 0
-# ERROR: 0
-$success_footer
-END
-
-do_check pass.t pass2.t xfail.t xpass.t error.t error2.t <<END
-$header
-# TOTAL: 6
-# PASS: 2
-# SKIP: 0
-# XFAIL: 1
-# FAIL: 0
-# XPASS: 1
-# ERROR: 2
-$failure_footer
-END
-
-pass_count=22
-skip_count=19
-xfail_count=21
-fail_count=18
-xpass_count=23
-error_count=17
-tests_count=120
-
-pass=` seq_ 1 $pass_count | sed 's/.*/pass-&.t/'`
-skip=` seq_ 1 $skip_count | sed 's/.*/skip-&.t/'`
-xfail=`seq_ 1 $xfail_count | sed 's/.*/xfail-&.t/'`
-fail=` seq_ 1 $fail_count | sed 's/.*/fail-&.t/'`
-xpass=`seq_ 1 $xpass_count | sed 's/.*/xpass-&.t/'`
-error=`seq_ 1 $error_count | sed 's/.*/error-&.t/'`
-
-do_check $pass $skip $xfail $fail $xpass $error <<END
-$header
-# TOTAL: $tests_count
-# PASS: $pass_count
-# SKIP: $skip_count
-# XFAIL: $xfail_count
-# FAIL: $fail_count
-# XPASS: $xpass_count
-# ERROR: $error_count
-$failure_footer
-END
-
-# Mild stress test with a lot of test scripts.
-
-tests_count=1888
-pass_count=1403
-skip_count=292
-xfail_count=41
-fail_count=126
-xpass_count=17
-error_count=9
-
-pass=` seq_ 1 $pass_count | sed 's/.*/pass-&.t/'`
-skip=` seq_ 1 $skip_count | sed 's/.*/skip-&.t/'`
-xfail=`seq_ 1 $xfail_count | sed 's/.*/xfail-&.t/'`
-fail=` seq_ 1 $fail_count | sed 's/.*/fail-&.t/'`
-xpass=`seq_ 1 $xpass_count | sed 's/.*/xpass-&.t/'`
-error=`seq_ 1 $error_count | sed 's/.*/error-&.t/'`
-
-do_check $pass $skip $xfail $fail $xpass $error <<END
-$header
-# TOTAL: $tests_count
-# PASS: $pass_count
-# SKIP: $skip_count
-# XFAIL: $xfail_count
-# FAIL: $fail_count
-# XPASS: $xpass_count
-# ERROR: $error_count
-$failure_footer
-END
-
-:
diff --git a/tests/txinfo19.test b/tests/txinfo19.test
deleted file mode 100755
index e304b42..0000000
--- a/tests/txinfo19.test
+++ /dev/null
@@ -1,70 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2003-2012 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/>.
-
-# Test support for DJGPP's .iNN info files.
-
-required='makeinfo tex'
-. ./defs || Exit 1
-
-echo AC_OUTPUT >> configure.ac
-
-cat > Makefile.am << 'END'
-info_TEXINFOS = main.texi
-END
-
-cat > main.texi << 'END'
-\input texinfo
address@hidden main.info
address@hidden main
address@hidden Top
-Hello walls.
address@hidden
-END
-
-$ACLOCAL
-$AUTOMAKE --add-missing
-$AUTOCONF
-
-./configure "--infodir=`pwd`/_inst"
-$MAKE
-
-# Make sure .iNN files are installed.
-: > main.i1
-: > main.i21
-$MAKE install
-test -f _inst/main.i1
-test -f _inst/main.i21
-
-# They should be uninstalled too.
-$MAKE uninstall
-test ! -f _inst/main.i1
-test ! -f _inst/main.i21
-
-# Make sure rebuild rules erase old .iNN files when they run makeinfo.
-$sleep
-touch main.texi
-test -f main.i1
-test -f main.i21
-$MAKE
-test ! -f main.i1
-test ! -f main.i21
-
-# Finally, we also want them erased by maintainer-clean.
-: > main.i7
-: > main.i39
-$MAKE maintainer-clean
-test ! -f main.i7
-test ! -f main.i39
diff --git a/tests/vala-mix2.test b/tests/vala-mix2.test
deleted file mode 100755
index 5da5629..0000000
--- a/tests/vala-mix2.test
+++ /dev/null
@@ -1,119 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2012 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/>.
-
-# Vala sources, C and C++ sources and C and C++ headers in the same
-# program. Functional test. See automake bug#10894.
-
-required='valac cc c++'
-. ./defs || Exit 1
-
-cat >> configure.ac <<'END'
-AC_PROG_CC
-AC_PROG_CXX
-AM_PROG_VALAC([0.7.3])
-AC_OUTPUT
-END
-
-cat > Makefile.am <<'END'
-bin_PROGRAMS = zardoz
-AM_VALAFLAGS = --profile=posix
-zardoz_SOURCES = zardoz.vala foo.h bar.c baz.c zen.hh master.cxx
-END
-
-cat > zardoz.vala <<'END'
-int main ()
-{
- stdout.printf ("foo is alive\n");
- return 0;
-}
-END
-
-cat > foo.h <<'END'
-int foo;
-int bar (void);
-int baz (void);
-END
-
-cat > bar.c <<'END'
-#include "foo.h"
-int bar (void) { return foo + baz (); }
-END
-
-cat > baz.c <<'END'
-#include "foo.h"
-extern int foo = 0;
-int baz (void) { return 0; }
-END
-
-cat > zen.hh <<'END'
-#include <iostream>
-END
-
-cat > master.cxx <<'END'
-#include "zen.hh"
-void chatty (void) { std::cout << "Hello, stranger!\n"; }
-END
-
-$ACLOCAL
-$AUTOMAKE -a
-$AUTOCONF
-
-./configure
-
-$MAKE all
-ls -l # For debugging.
-
-have_generated_files ()
-{
- test -f zardoz_vala.stamp
- test -f zardoz.c
-}
-
-# Our vala-related rules must create stamp files and intermediate
-# C files.
-have_generated_files
-
-# Remake rules are not uselessly triggered.
-$MAKE -q
-$MAKE -n | $FGREP vala.stamp && Exit 1
-
-# But are triggered when they should.
-for file in zardoz.vala foo.h bar.c baz.c zen.hh master.cxx; do
- $sleep
- echo '& choke me !' >> $file
- $MAKE && Exit 1
- $sleep
- sed '$d' $file > t
- mv -f t $file
- $MAKE
-done
-
-# Check the distribution.
-$MAKE distcheck
-
-# Stamp files and intermediate C files should *not* be removed
-# by "make clean".
-$MAKE clean
-ls -l # For debugging.
-have_generated_files
-
-# But stamp files should be removed by "maintainer-clean" (the
-# behaviour w.r.t. intermediate C files is still unclear, and
-# better left undefined for the moment).
-$MAKE maintainer-clean
-ls *vala*.stamp | grep . && Exit 1
-
-:
diff --git a/tests/yacc-d-cxx.test b/tests/yacc-d-cxx.test
deleted file mode 100755
index 8e23f78..0000000
--- a/tests/yacc-d-cxx.test
+++ /dev/null
@@ -1,231 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 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/>.
-
-# Various tests on Yacc/C++ support with yacc-generated headers
-# (i.e., '-d' in *YFLAGS).
-# Keep in sync with sister test 'yacc-d-basic.test'.
-
-required=yacc
-. ./defs || Exit 1
-
-write_parse ()
-{
- header=$1
- unindent <<END
- %{
- // Valid C++, but deliberately invalid C.
- #include <cstdlib>
- #include "$header"
- int yylex (void) { return 0; }
- void yyerror (const char *s) {}
- %}
- %%
- x : 'x' {};
- %%
-END
-}
-
-write_main ()
-{
- header=$1
- unindent <<END
- // Valid C++, but deliberately invalid C.
- #include <cstdio>
- #include "$header"
- int main (int argc, char **argv)
- {
- int yyparse (void);
- return yyparse ();
- }
-END
-}
-
-cat >> configure.ac << 'END'
-AC_PROG_CXX
-AC_PROG_YACC
-AC_CONFIG_FILES([foo/Makefile bar/Makefile baz/Makefile qux/Makefile])
-AC_OUTPUT
-END
-
-mkdir foo bar baz qux baz/sub
-
-# These makefiles will be extended later.
-cat > Makefile.am <<'END'
-.PHONY: echo-distcom
-echo-distcom:
- @echo ' ' $(DIST_COMMON) ' '
-END
-cp Makefile.am foo/Makefile.am
-cp Makefile.am bar/Makefile.am
-cp Makefile.am baz/Makefile.am
-cp Makefile.am qux/Makefile.am
-
-cat >> Makefile.am <<'END'
-SUBDIRS = foo bar baz qux
-END
-
-$ACLOCAL
-$AUTOCONF
-
-cp $testsrcdir/../lib/ylwrap .
-
-$AUTOMAKE Makefile
-
-# Try with -d in $(YFLAGS) (don't do this in real life!).
-cat >> foo/Makefile.am <<END
-bin_PROGRAMS = zardoz
-zardoz_SOURCES = parse.yy main.cc
-BUILT_SOURCES = parse.hh
-YFLAGS=\
--d
-END
-
-$AUTOMAKE -Wno-gnu foo/Makefile
-
-write_parse parse.hh > foo/parse.yy
-write_main parse.hh > foo/main.cc
-
-# Try with -d in $(AM_YFLAGS).
-cat >> bar/Makefile.am <<END
-bin_PROGRAMS = zardoz
-zardoz_SOURCES = parse.ypp main.cpp
-BUILT_SOURCES = parse.hpp
-AM_YFLAGS${tab}= -d ${tab}
-END
-
-$AUTOMAKE bar/Makefile
-
-write_parse parse.hpp > bar/parse.ypp
-write_main parse.hpp > bar/main.cpp
-
-# Try with -d in $(AM_YFLAGS), and a subdir parser.
-cat >> baz/Makefile.am <<END
-AUTOMAKE_OPTIONS = subdir-objects
-bin_PROGRAMS = joe
-joe_SOURCES = sub/parse.y++ sub/main.c++
-BUILT_SOURCES = sub/parse.h++
-AM_YFLAGS = \
-${tab}-d
-END
-
-$AUTOMAKE baz/Makefile
-
-write_parse sub/parse.h++ > baz/sub/parse.y++
-write_main sub/parse.h++ > baz/sub/main.c++
-
-# Try with -d in $(xxx_YFLAGS) (per-object flag).
-cat >> qux/Makefile.am <<END
-bin_PROGRAMS = maude
-maude_SOURCES = parse.yxx main.cxx
-maude_YFLAGS=${tab} -d${tab}
-BUILT_SOURCES = maude-parse.hxx
-END
-
-$AUTOMAKE qux/Makefile
-
-write_parse maude-parse.hxx > qux/parse.yxx
-write_main maude-parse.hxx > qux/main.cxx
-
-./configure
-
-$MAKE
-ls -l . foo bar baz baz/sub qux # For debugging.
-
-test -f foo/parse.cc
-test -f foo/parse.hh
-test -f bar/parse.cpp
-test -f bar/parse.hpp
-test -f baz/sub/parse.c++
-test -f baz/sub/parse.h++
-test -f qux/maude-parse.cxx
-test -f qux/maude-parse.hxx
-
-# The ylwrap script must be shipped.
-$MAKE echo-distcom
-$MAKE -s echo-distcom | grep '[ /]ylwrap '
-
-# The generated C++ source and header files must be shipped.
-cd foo
-$MAKE echo-distcom
-$MAKE -s echo-distcom | grep '[ /]parse\.cc '
-$MAKE -s echo-distcom | grep '[ /]parse\.hh '
-cd ..
-cd bar
-$MAKE echo-distcom
-$MAKE -s echo-distcom | grep '[ /]parse\.cpp '
-$MAKE -s echo-distcom | grep '[ /]parse\.hpp '
-cd ..
-cd baz
-$MAKE echo-distcom
-$MAKE -s echo-distcom | grep '[ /]sub/parse\.c++ '
-$MAKE -s echo-distcom | grep '[ /]sub/parse\.h++ '
-cd ..
-cd qux
-$MAKE echo-distcom
-$MAKE -s echo-distcom | grep '[ /]maude-parse\.cxx '
-$MAKE -s echo-distcom | grep '[ /]maude-parse\.hxx '
-cd ..
-
-$MAKE distdir
-find $distdir # For debugging.
-
-test -f $distdir/ylwrap
-test -f $distdir/foo/parse.cc
-test -f $distdir/foo/parse.hh
-test -f $distdir/bar/parse.cpp
-test -f $distdir/bar/parse.hpp
-test -f $distdir/baz/sub/parse.c++
-test -f $distdir/baz/sub/parse.h++
-test -f $distdir/qux/maude-parse.cxx
-test -f $distdir/qux/maude-parse.hxx
-
-# The Yacc-derived C++ sources must be created, and not removed once
-# compiled (i.e., not treated like "intermediate files" in the GNU
-# make sense).
-$MAKE distcheck
-
-# Check that we can recover from deleted headers.
-$MAKE clean
-rm -f foo/parse.hh bar/parse.hpp baz/sub/parse.h++ qux/maude-parse.hxx
-$MAKE
-test -f foo/parse.hh
-test -f bar/parse.hpp
-test -f baz/sub/parse.h++
-test -f qux/maude-parse.hxx
-
-# Make sure that the Yacc-derived C++ sources are erased by
-# maintainer-clean, and not by distclean.
-$MAKE distclean
-test -f foo/parse.cc
-test -f foo/parse.hh
-test -f bar/parse.cpp
-test -f bar/parse.hpp
-test -f baz/sub/parse.c++
-test -f baz/sub/parse.h++
-test -f qux/maude-parse.cxx
-test -f qux/maude-parse.hxx
-./configure # Re-create 'Makefile'.
-$MAKE maintainer-clean
-test ! -f foo/parse.cc
-test ! -f foo/parse.hh
-test ! -f bar/parse.cpp
-test ! -f bar/parse.hpp
-test ! -f baz/sub/parse.c++
-test ! -f baz/sub/parse.h++
-test ! -f qux/maude-parse.cxx
-test ! -f qux/maude-parse.hxx
-
-:
hooks/post-receive
--
GNU Automake
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Automake-commit] [SCM] GNU Automake branch, ng/master, updated. ng-0.5a-190-g1490961,
Stefano Lattarini <=