automake-commit
[Top][All Lists]
Advanced

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

[Automake-commit] [SCM] GNU Automake branch, master, updated. v1.14.1-15


From: Stefano Lattarini
Subject: [Automake-commit] [SCM] GNU Automake branch, master, updated. v1.14.1-152-g7573a45
Date: Mon, 21 Apr 2014 14:03:00 +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=7573a4579ebf36ddf0c2ee61ed4414a57c9f44de

The branch, master has been updated
       via  7573a4579ebf36ddf0c2ee61ed4414a57c9f44de (commit)
       via  9b8c797c1e262d2fc61783f421eb338b0a08c0a6 (commit)
       via  49035b4d4f65132bd5426ec57e499152b52ba2c2 (commit)
       via  accb12f10f84f1439590eb4743457b13b3ff9919 (commit)
       via  ad9804e1b825ddb304bfaf62b7108f2b6e08dc81 (commit)
       via  bd31e3434f0d676817177395126e4afd2c928f19 (commit)
       via  f0a7083afefe98aa7aecf4ece592915395947631 (commit)
       via  c020f1ef664e1ec835d856ec5485769d0a9a7386 (commit)
       via  09cbe67d3a5fea8774d529f41577e32b4b1ba81c (commit)
       via  50a08a2bc300d600603cdb5b5756baf71b9b431a (commit)
       via  d46102e54a015731e0270a2457dba569d95f289b (commit)
       via  3dd26cf0809384a80586113656fad0a4983a2a26 (commit)
       via  222337e60bfc87456773a4c7cbbbd3192fde956d (commit)
       via  6863925ddd92c8f4b44556a2bb32d958d00325ff (commit)
       via  58fb7bf3e5f514b4a0595a7eea6732d6c816e29a (commit)
       via  431aa0bbe4f328ff2d26cbc8b146098e22cddc10 (commit)
       via  b04ea3e9d7f7133021c93c06c85687e24220a0f4 (commit)
       via  d1efc3dde88b2f4ac7abe396ad07001fe4e2a94c (commit)
       via  c7e2fb2e73b2d1b904feef0ed5e87ce05a41c119 (commit)
       via  203d0775e6a9c0e04d896d24b45eec614d92c230 (commit)
       via  a6d6734fca39448770365e77acb562e6c42a7ea2 (commit)
      from  22a496d84271b2fa25c0d22a233dde4a3eee9ca3 (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 7573a4579ebf36ddf0c2ee61ed4414a57c9f44de
Merge: bd31e34 9b8c797
Author: Stefano Lattarini <address@hidden>
Date:   Mon Apr 21 10:09:41 2014 +0100

    Merge branch 'minor'
    
    * minor:
      doc: fix encoding error with UTF-8 characters
      NEWS: a typofix, and better word wrapping
      parallel-tests: avoid possible implicit "make all" in test-suite.log rule

commit bd31e3434f0d676817177395126e4afd2c928f19
Merge: 22a496d f0a7083
Author: Stefano Lattarini <address@hidden>
Date:   Thu Dec 26 21:01:30 2013 +0100

    Merge branch 'minor'
    
    * minor:
      Allow user to extend .PRECIOUS target
      cosmetics: remove a couple of extra trailing white spaces
      tests: fix a spurious failure on Mac OS X
      docs: make clear the JAVA primary is frozen
      install-sh: a slightly better diagnostic, and tests enhancements
      install-sh: be stricter in catching invalid usages
      tests: more significant names for some tests
      tests: some cosmetic fixes
      tests: more significant names for a test
      docs: drop a few obsolescent FIXME/TODO comments, and associated text
      testsuite harness: report test exit status in log file
      TAP driver: no need to invoke AC_PROG_AWK directly
      TAP driver: remove perl implementation (move it into contrib/)
    
    Signed-off-by: Stefano Lattarini <address@hidden>

-----------------------------------------------------------------------

Summary of changes:
 Makefile.am                                        |    1 +
 NEWS                                               |   35 ++++++++-
 THANKS                                             |    2 +
 bin/automake.in                                    |    4 +-
 {lib => contrib}/tap-driver.pl                     |    9 +-
 doc/automake.texi                                  |   36 ++-------
 gen-testsuite-part                                 |   14 ----
 lib/Automake/Rule.pm                               |    2 +-
 lib/Makefile.inc                                   |    3 +-
 lib/am/check.am                                    |    4 +-
 lib/install-sh                                     |   31 +++++++-
 lib/test-driver                                    |   13 +++-
 m4/init.m4                                         |    4 +-
 t/Makefile.inc                                     |    2 +-
 t/{instsh.sh => add-missing-install-sh.sh}         |    6 +-
 t/ax/am-test-lib.sh                                |   53 +++++--------
 t/ax/test-lib.sh                                   |    3 +-
 t/depcomp2.sh                                      |    2 +-
 t/{insh2.sh => dist-install-sh.sh}                 |    0
 ...2.sh => dist-with-unreadable-makefile-fails.sh} |    0
 t/{instsh3.sh => install-sh-option-C.sh}           |    4 +-
 t/{instsh2.sh => install-sh-unittests.sh}          |   80 ++++++++++++++------
 t/instdat.sh                                       |    3 +-
 t/instdat2.sh                                      |    5 +-
 t/list-of-tests.mk                                 |   12 ++-
 t/parallel-tests-exit-status-reported.sh           |   68 +++++++++++++++++
 t/phony.sh                                         |    1 +
 t/{phony.sh => precious.sh}                        |   13 ++--
 t/tap-bad-prog.tap                                 |   30 +-------
 t/tap-bailout-leading-space.sh                     |    9 +--
 t/tap-doc2.sh                                      |    1 -
 t/tap-signal.tap                                   |    9 +--
 t/tap-test-number-0.sh                             |   24 ------
 t/test-driver-cond.sh                              |    8 +-
 34 files changed, 279 insertions(+), 212 deletions(-)
 rename {lib => contrib}/tap-driver.pl (98%)
 rename t/{instsh.sh => add-missing-install-sh.sh} (94%)
 rename t/{insh2.sh => dist-install-sh.sh} (100%)
 rename t/{install2.sh => dist-with-unreadable-makefile-fails.sh} (100%)
 rename t/{instsh3.sh => install-sh-option-C.sh} (97%)
 rename t/{instsh2.sh => install-sh-unittests.sh} (54%)
 create mode 100644 t/parallel-tests-exit-status-reported.sh
 copy t/{phony.sh => precious.sh} (71%)

diff --git a/Makefile.am b/Makefile.am
index 143308a..f8b6ac5 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -92,6 +92,7 @@ ChangeLog:
 
 # Third-party, obsolescent or experimental stuff.
 EXTRA_DIST += \
+  contrib/tap-driver.pl \
   contrib/check-html.am \
   contrib/multilib/README \
   contrib/multilib/config-ml.in \
diff --git a/NEWS b/NEWS
index 470a33e..204dd7f 100644
--- a/NEWS
+++ b/NEWS
@@ -122,15 +122,44 @@ New in 2.0:
 
 New in 1.15:
 
-* Cleanups and modernizations:
+* Improvements and refactorings in the install-sh script:
 
-  - The install-sh script has been modernized, and now makes the following
-    assumptions *unconditionally*:
+  - It has been modernized, and now makes the following assumptions
+    *unconditionally*:
     (1) a working 'dirname' program is available;
     (2) the ${var:-value} shell parameters substitution works;
     (3) the "set -f" and "set +f" shell commands work, and, respectively,
         disable and enable shell globbing.
 
+  - The script implements stricter error checking, an it will now complain
+    and bail out if:
+    (1) the options -d and -t are used together;
+    (2) the argument passed to option -t must be a directory;
+    (3) if there are two or more SOURCEFILE arguments, the
+        DESTINATION argument must be a directory.
+
+* Automake-generated testsuites:
+
+  - The default test-driver used by the Automake-generates testsuites
+    now append the result and exit status of each "plain" test to the
+    associated log file (automake bug#11814).
+
+  - The perl implementation of the TAP testsuite driver is no longer
+    installed in the Automake's scripts directory, and is instead just
+    distributed as a "contrib" addition.  There should be no reason to
+    use this implementation anyway in real packages, since the awk+shell
+    implementation of the TAP driver (that is documented in the manual)
+    is more portable and has feature parity with the perl implementation.
+
+  - The rule generating 'test-suite.log' no longer risk incurring in an
+    extra useless "make all" recursive invocation in some corner cases
+    (automake bug#16302).
+
+* Bug fixes:
+
+  - The user can now extend the special .PRECIOUS target, the same way
+    he could already do with the .MAKE .and .PHONY targets.
+
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 New in 1.14.1:
diff --git a/THANKS b/THANKS
index e4f70f3..58dac98 100644
--- a/THANKS
+++ b/THANKS
@@ -152,6 +152,7 @@ Harlan Stenn                    address@hidden
 He Li                           address@hidden
 Henrik Frystyk Nielsen          address@hidden
 Hib Eris                        address@hidden
+Holger Hans Peter Freyther      address@hidden
 Ian Lance Taylor                address@hidden
 Ignacy Gawedzki                 address@hidden
 Илья Н. Голубев                 address@hidden
@@ -401,6 +402,7 @@ Tim Mooney                      address@hidden
 Tim Retout                      address@hidden
 Tim Rice                        address@hidden
 Tim Van Holder                  address@hidden
+Tobias Hansen                   address@hidden
 Toshio Kuratomi                 address@hidden
 Tom Epperly                     address@hidden
 Tom Rini                        address@hidden
diff --git a/bin/automake.in b/bin/automake.in
index 24372ff..f19cac7 100644
--- a/bin/automake.in
+++ b/bin/automake.in
@@ -4526,9 +4526,9 @@ sub handle_factored_dependencies ()
       # to append dependencies.  This would not work if Automake
       # refrained from defining its own .PHONY target as it does
       # with other overridden targets.
-      # Likewise for '.MAKE'.
+      # Likewise for '.MAKE' and '.PRECIOUS'.
       my @undefined_conds = (TRUE,);
-      if ($_ ne '.PHONY' && $_ ne '.MAKE')
+      if ($_ ne '.PHONY' && $_ ne '.MAKE' && $_ ne '.PRECIOUS')
        {
          @undefined_conds =
            Automake::Rule::define ($_, 'internal',
diff --git a/lib/tap-driver.pl b/contrib/tap-driver.pl
similarity index 98%
rename from lib/tap-driver.pl
rename to contrib/tap-driver.pl
index aca65fe..e7e581d 100755
--- a/lib/tap-driver.pl
+++ b/contrib/tap-driver.pl
@@ -32,7 +32,7 @@ use strict;
 use Getopt::Long ();
 use TAP::Parser;
 
-my $VERSION = '2012-02-01.19'; # UTC
+my $VERSION = '2013-12-24.15'; # UTC
 
 my $ME = "tap-driver.pl";
 
@@ -43,13 +43,13 @@ Usage:
              [--enable-hard-errors={yes|no}] [--ignore-exit]
              [--diagnostic-string=STRING] [--merge|--no-merge]
              [--comments|--no-comments] [--] TEST-COMMAND
-The `--test-name', `--log-file' and `--trs-file' options are mandatory.
+The '--test-name', '--log-file' and '--trs-file' options are mandatory.
 END
 
 my $HELP = "$ME: TAP-aware test driver for Automake testsuite harness." .
            "\n" . $USAGE;
 
-# Keep this in sync with `lib/am/check.am:$(am__tty_colors)'.
+# Keep this in sync with 'lib/am/check.am:$(am__tty_colors)'.
 my %COLOR = (
   red => "\e[0;31m",
   grn => "\e[0;32m",
@@ -208,7 +208,6 @@ TEST_RESULTS :
     return grep { not $_ eq "PASS" } (keys %test_results_seen);
   }
 
-  # FIXME: this can certainly be improved ...
   sub get_global_test_result ()
   {
     return "ERROR"
@@ -465,7 +464,7 @@ sub extract_tap_comment ($)
   my $line = shift;
   if (index ($line, $diag_string) == 0)
     {
-      # Strip leading `$diag_string' from `$line'.
+      # Strip leading '$diag_string' from '$line'.
       $line = substr ($line, length ($diag_string));
       # And strip any leading and trailing whitespace left.
       $line =~ s/(?:^\s*|\s*$)//g;
diff --git a/doc/automake.texi b/doc/automake.texi
index 10d0f8f..6da08e5 100644
--- a/doc/automake.texi
+++ b/doc/automake.texi
@@ -2,6 +2,8 @@
 @c %**start of header
 @setfilename automake.info
 @settitle automake
address@hidden UTF-8
address@hidden en
 @setchapternewpage off
 @c %**end of header
 
@@ -1901,9 +1903,6 @@ It is customary to make the first line of 
@file{Makefile.am} read:
 ## Process this file with automake to produce Makefile.in
 @end example
 
address@hidden FIXME discuss putting a copyright into Makefile.am here?  I 
would but
address@hidden I don't know quite what to say.
-
 @c FIXME document customary ordering of Makefile.am here!
 
 
@@ -7580,7 +7579,9 @@ native machine code; @pxref{Java Support with gcj}).  
Note however that
 Future Automake releases will strive to provide a better and cleaner
 interface, which however @emph{won't be backward-compatible}; the present
 interface will probably be removed altogether some time after the
-introduction of the new interface (if that ever materializes).
+introduction of the new interface (if that ever materializes).  In any
+case, the current @code{JAVA} primary features are frozen and will no
+longer be developed, not even to take bug fixes.
 
 Any @file{.java} files listed in a @code{_JAVA} variable will be
 compiled with @code{JAVAC} at build time.  By default, @file{.java}
@@ -8786,9 +8787,6 @@ error} happens when e.g., the set-up of a test case 
scenario fails, or when
 some other unexpected or highly undesirable condition is encountered (for
 example, the program under test experiences a segmentation fault).
 
address@hidden: Links to other test harnesses (esp. those sharing our
-terminology)?
-
 @node Simple Tests
 @section Simple Tests
 
@@ -8921,8 +8919,6 @@ flag on file descriptors opened with the @command{exec} 
builtin, thus
 rendering an idiom like @code{AM_TESTS_ENVIRONMENT = exec 9>&2;}
 ineffectual.  This issue also affects some Bourne shells, such as the
 HP-UX's @command{/bin/sh},
address@hidden FIXME: should we offer a link to the relevant discussions on the
address@hidden bug-autoconf list?
 
 @c Keep in sync with tests-environment-backcompat.sh
 @example
@@ -8982,7 +8978,6 @@ The serial test harness is enabled by the Automake option
 @option{serial-tests}. It operates by simply running the tests serially,
 one at the time, without any I/O redirection.  It's up to the user to
 implement logging of tests' output, if that's requited or desired.
address@hidden TODO: give an example of how this can be done.
 
 For historical and implementation reasons, the @code{AM_TESTS_ENVIRONMENT}
 variable is @emph{not} supported by this harness (it will be silently
@@ -9051,8 +9046,6 @@ to a per-test log file, so that parallel execution does 
not produce
 intermingled output.  The output from failed tests is collected in the
 @file{test-suite.log} file.  If the variable @samp{VERBOSE} is set, this
 file is output after the summary.
address@hidden FIXME: we should be clearer about what we mean exactly here ...
-For best results, the tests should be verbose by default now.
 
 @vindex TEST_EXTENSIONS
 @vindex TEST_LOGS
@@ -9561,12 +9554,6 @@ other end, if you are using a known and widespread test 
protocol with
 well-established implementations, being consistent with those
 implementations' output might be a good idea too.
 
address@hidden TODO: Give an example, maybe inspired to py.test-style output.
address@hidden TODO: That is a good idea because it shows a test driver that 
allows
address@hidden TODO: for different levels of verbosity in the progress output 
(could
address@hidden TODO: be implemented either using a driver cmdline flag, or an
address@hidden TODO: environment variable, or both).
-
 @node Using the TAP test protocol
 @section Using the TAP test protocol
 
@@ -9615,10 +9602,9 @@ Currently, the TAP driver that comes with Automake 
requires some by-hand
 steps on the developer's part (this situation should hopefully be improved
 in future Automake versions).  You'll have to grab the @file{tap-driver.sh}
 script from the Automake distribution by hand, copy it in your source tree,
-add a call to @code{AC_PROG_AWK} in @file{configure.ac} to search for a
-proper awk program, and use the Automake support for third-party test
-drivers to instruct the harness to use the @file{tap-driver.sh} script
-and that awk program to run your TAP-producing tests.  See the example
+and use the Automake support for third-party test drivers to instruct the
+harness to use the @file{tap-driver.sh} script and the awk program found
+by @code{AM_INIT_AUTOMAKE} to run your TAP-producing tests.  See the example
 below for clarification.
 
 Apart from the options common to all the Automake test drivers
@@ -9674,7 +9660,6 @@ AC_CONFIG_AUX_DIR([build-aux])
 AM_INIT_AUTOMAKE([foreign -Wall -Werror])
 AC_CONFIG_FILES([Makefile])
 AC_REQUIRE_AUX_FILE([tap-driver.sh])
-AC_PROG_AWK
 AC_OUTPUT
 
 % @kbd{cat Makefile.am}
@@ -9707,7 +9692,7 @@ echo ok 1
 # Exit with error, even if all the tests have been successful.
 exit 7
 
-% @kbd{cp @var{PREFIX}/share/address@hidden/tap-driver.pl .}
+% @kbd{cp @var{PREFIX}/share/address@hidden/tap-driver.sh .}
 % @kbd{autoreconf -vi && ./configure && make check}
 ...
 PASS: foo.test 1 - Swallows fly
@@ -10782,9 +10767,6 @@ they all have their serious drawbacks and limitations.  
That's why
 automake provides support for a more advanced and flexible way of
 obtaining quieter output from @command{make} (for most rules at least).
 
address@hidden TODO: Maybe describe in brief the precedent set by the build 
system
address@hidden of the Linux Kernel, from which Automake took inspiration ... 
Links?
-
 To give the gist of what Automake can do in this respect, here is a simple
 comparison between a typical @command{make} output (where silent rules
 are disabled) and one with silent rules enabled:
diff --git a/gen-testsuite-part b/gen-testsuite-part
index 3bd5c9f..5bd1b4e 100755
--- a/gen-testsuite-part
+++ b/gen-testsuite-part
@@ -241,20 +241,6 @@ my %test_generators =
         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',
-      },
   );
 
 #--------------------------------------------------------------------------
diff --git a/lib/Automake/Rule.pm b/lib/Automake/Rule.pm
index a28a78d..5227009 100644
--- a/lib/Automake/Rule.pm
+++ b/lib/Automake/Rule.pm
@@ -340,8 +340,8 @@ sub reset()
      # Tarballing.
      'dist-all'             => [],
 
-     # Phonying.
      '.PHONY'               => [],
+     '.PRECIOUS'            => [],
      # Recursive install targets (so "make -n install" works for BSD Make).
      '.MAKE'               => [],
      );
diff --git a/lib/Makefile.inc b/lib/Makefile.inc
index d1971f5..8eed303 100644
--- a/lib/Makefile.inc
+++ b/lib/Makefile.inc
@@ -40,8 +40,7 @@ dist_script_DATA = \
   %D%/py-compile \
   %D%/ar-lib \
   %D%/test-driver \
-  %D%/tap-driver.sh \
-  %D%/tap-driver.pl
+  %D%/tap-driver.sh
 
 install-data-hook:
        @$(POST_INSTALL)
diff --git a/lib/am/check.am b/lib/am/check.am
index 7012d5a..4d2a498 100644
--- a/lib/am/check.am
+++ b/lib/am/check.am
@@ -274,7 +274,9 @@ $(TEST_SUITE_LOG): $(TEST_LOGS)
        if test -n "$$am__remaking_logs"; then \
          echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \
               "recursion detected" >&2; \
-       else \
+## Invoking this unconditionally could cause a useless "make all" to
+## be invoked when '$redo_logs' expands to empty (automake bug#16302).
+       elif test -n "$$redo_logs"; then \
          am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \
        fi; \
        if $(am__make_dryrun); then :; else \
diff --git a/lib/install-sh b/lib/install-sh
index 0436737..0b0fdcb 100755
--- a/lib/install-sh
+++ b/lib/install-sh
@@ -1,7 +1,7 @@
 #!/bin/sh
 # install - install a program, script, or datafile
 
-scriptversion=2013-10-30.23; # UTC
+scriptversion=2013-12-25.23; # UTC
 
 # This originates from X11R5 (mit/util/scripts/install.sh), which was
 # later released in X11R6 (xc/config/util/install.sh) with the
@@ -82,7 +82,7 @@ dir_arg=
 dst_arg=
 
 copy_on_change=false
-no_target_directory=
+is_target_a_directory=possibly
 
 usage="\
 Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
@@ -139,14 +139,16 @@ while test $# -ne 0; do
 
     -s) stripcmd=$stripprog;;
 
-    -t) dst_arg=$2
+    -t)
+        is_target_a_directory=always
+        dst_arg=$2
         # Protect names problematic for 'test' and other utilities.
         case $dst_arg in
           -* | [=\(\)!]) dst_arg=./$dst_arg;;
         esac
         shift;;
 
-    -T) no_target_directory=true;;
+    -T) is_target_a_directory=never;;
 
     --version) echo "$0 $scriptversion"; exit $?;;
 
@@ -161,6 +163,16 @@ while test $# -ne 0; do
   shift
 done
 
+# We allow the use of options -d and -T together, by making -d
+# take the precedence; this is for compatibility with GNU install.
+
+if test -n "$dir_arg"; then
+  if test -n "$dst_arg"; then
+    echo "$0: target directory not allowed when installing a directory." >&2
+    exit 1
+  fi
+fi
+
 if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
   # When -d is used, all remaining arguments are directories to create.
   # When -t is used, the destination is already specified.
@@ -192,6 +204,15 @@ if test $# -eq 0; then
 fi
 
 if test -z "$dir_arg"; then
+  if test $# -gt 1 || test "$is_target_a_directory" = always; then
+    if test ! -d "$dst_arg"; then
+      echo "$0: $dst_arg: Is not a directory." >&2
+      exit 1
+    fi
+  fi
+fi
+
+if test -z "$dir_arg"; then
   do_exit='(exit $ret); exit $ret'
   trap "ret=129; $do_exit" 1
   trap "ret=130; $do_exit" 2
@@ -253,7 +274,7 @@ do
     # If destination is a directory, append the input filename; won't work
     # if double slashes aren't ignored.
     if test -d "$dst"; then
-      if test -n "$no_target_directory"; then
+      if test "$is_target_a_directory" = never; then
         echo "$0: $dst_arg: Is a directory" >&2
         exit 1
       fi
diff --git a/lib/test-driver b/lib/test-driver
index d306056..110eec4 100755
--- a/lib/test-driver
+++ b/lib/test-driver
@@ -106,11 +106,14 @@ trap "st=143; $do_exit" 15
 # Test script is run here.
 "$@" >$log_file 2>&1
 estatus=$?
+
 if test $enable_hard_errors = no && test $estatus -eq 99; then
-  estatus=1
+  tweaked_estatus=1
+else
+  tweaked_estatus=$estatus
 fi
 
-case $estatus:$expect_failure in
+case $tweaked_estatus:$expect_failure in
   0:yes) col=$red res=XPASS recheck=yes gcopy=yes;;
   0:*)   col=$grn res=PASS  recheck=no  gcopy=no;;
   77:*)  col=$blu res=SKIP  recheck=no  gcopy=yes;;
@@ -119,6 +122,12 @@ case $estatus:$expect_failure in
   *:*)   col=$red res=FAIL  recheck=yes gcopy=yes;;
 esac
 
+# Report the test outcome and exit status in the logs, so that one can
+# know whether the test passed or failed simply by looking at the '.log'
+# file, without the need of also peaking into the corresponding '.trs'
+# file (automake bug#11814).
+echo "$res $test_name (exit status: $estatus)" >>$log_file
+
 # Report outcome to console.
 echo "${col}${res}${std}: $test_name"
 
diff --git a/m4/init.m4 b/m4/init.m4
index 06605a6..7a285ef 100644
--- a/m4/init.m4
+++ b/m4/init.m4
@@ -87,8 +87,8 @@ AM_MISSING_PROG([MAKEINFO], [makeinfo])
 AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
 AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
 AC_REQUIRE([AC_PROG_MKDIR_P])dnl
-# We need awk for the "check" target.  The system "awk" is bad on
-# some platforms.
+# We need awk for the "check" target (and possibly the TAP driver).  The
+# system "awk" is bad on some platforms.
 AC_REQUIRE([AC_PROG_AWK])dnl
 AC_REQUIRE([AC_PROG_MAKE_SET])dnl
 _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
diff --git a/t/Makefile.inc b/t/Makefile.inc
index b67f3a5..b9dd5e0 100644
--- a/t/Makefile.inc
+++ b/t/Makefile.inc
@@ -33,7 +33,7 @@ TAP_LOG_DRIVER = AM_TAP_AWK='$(AWK)' $(SHELL) 
$(srcdir)/lib/tap-driver.sh
 AM_TAP_LOG_DRIVER_FLAGS = --merge
 
 EXTRA_DIST += %D%/README %D%/ax/is %D%/ax/is_newest %D%/ax/deltree.pl
- 
+
 
 ## Will be updated later.
 TESTS =
diff --git a/t/instsh.sh b/t/add-missing-install-sh.sh
similarity index 94%
rename from t/instsh.sh
rename to t/add-missing-install-sh.sh
index 3d84245..33cf5f5 100644
--- a/t/instsh.sh
+++ b/t/add-missing-install-sh.sh
@@ -30,10 +30,12 @@ mv Makefile.am configure.ac frob/
 cd frob
 
 $ACLOCAL
-$AUTOMAKE --add-missing > output 2>&1
+$AUTOMAKE --add-missing >output 2>&1 || { cat output; exit 1; }
+cat output
 
 # Only one '/' should appear in the output.
-cat output
 grep '/.*/' output && exit 1
 
 test -f install-sh
+
+:
diff --git a/t/ax/am-test-lib.sh b/t/ax/am-test-lib.sh
index 26e58ef..cee5c8d 100644
--- a/t/ax/am-test-lib.sh
+++ b/t/ax/am-test-lib.sh
@@ -583,17 +583,31 @@ count_test_results ()
 # of /bin/sh.
 get_shell_script ()
 {
-  test ! -f "$1" || rm -f "$1" || return 99
+  am_source=$1 am_target=${2-$1}
+  test ! -f "$am_target" || rm -f "$am_target" || return 99
   if test x"$am_test_prefer_config_shell" = x"yes"; then
-    sed "1s|#!.*|#! $SHELL|" "$am_scriptdir/$1" > "$1" \
-     && chmod a+x "$1" \
+    sed "1s|#!.*|#! $SHELL|" "$am_scriptdir/$am_source" > "$am_target" \
+     && chmod a+x "$am_target" \
      || return 99
   else
-    cp -f "$am_scriptdir/$1" . || return 99
+    cp -f "$am_scriptdir/$am_source" "$am_target" || return 99
   fi
-  sed 10q "$1" # For debugging.
+  sed 10q "$am_target" # For debugging.
+  unset am_target am_source
 }
 
+# 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 proper shell.
+fetch_tap_driver ()
+{
+  AM_TAP_AWK=$AWK; export AM_TAP_AWK
+  get_shell_script tap-driver.sh tap-driver
+}
+
+
 # require_xsi SHELL
 # -----------------
 # Skip the test if the given shell fails to support common XSI constructs.
@@ -612,35 +626,6 @@ xsi_shell_code='
     && 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
-    # Extra quoting required to avoid maintainer-check spurious failures.
-   '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.
-}
-am_tap_implementation=${am_tap_implementation-shell}
-
 # $PYTHON and support for PEP-3147.  Needed to check our python-related
 # install rules.
 python_has_pep3147 ()
diff --git a/t/ax/test-lib.sh b/t/ax/test-lib.sh
index aa015d6..b8c7253 100644
--- a/t/ax/test-lib.sh
+++ b/t/ax/test-lib.sh
@@ -254,7 +254,7 @@ am_exit_trap ()
     # 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.
+    # '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
@@ -266,7 +266,6 @@ am_exit_trap ()
   fi
   am_keeping_testdirs || rm_rf_ $am_test_subdir
   set +x
-  echo "$me: exit $exit_status"
   # Spurious escaping to ensure we do not call our "exit" alias.
   \exit $exit_status
 }
diff --git a/t/depcomp2.sh b/t/depcomp2.sh
index 3eba12d..3baaebf 100644
--- a/t/depcomp2.sh
+++ b/t/depcomp2.sh
@@ -47,7 +47,7 @@ $AUTOCONF
 cat stderr >&2
 # Ignore warning messages sometimes seen on Mac OS X; they are
 # not automake's fault anyway, but either autoconf's or Mac's.
-sed '/rm:.* conftest\.dSYM/d' stderr >stderr2
+sed '/rm:.*conftest\.dSYM/d' stderr >stderr2
 test -s stderr2 && { cat stderr2; exit 1; }
 
 :
diff --git a/t/insh2.sh b/t/dist-install-sh.sh
similarity index 100%
rename from t/insh2.sh
rename to t/dist-install-sh.sh
diff --git a/t/install2.sh b/t/dist-with-unreadable-makefile-fails.sh
similarity index 100%
rename from t/install2.sh
rename to t/dist-with-unreadable-makefile-fails.sh
diff --git a/t/instsh3.sh b/t/install-sh-option-C.sh
similarity index 97%
rename from t/instsh3.sh
rename to t/install-sh-option-C.sh
index d69f225..a53e21d 100644
--- a/t/instsh3.sh
+++ b/t/install-sh-option-C.sh
@@ -21,7 +21,7 @@ required=non-root
 . test-init.sh
 
 # Solaris /usr/ucb/touch does not accept -t.
-touch -t $old_timestamp foo \
+touch -t "$old_timestamp" foo \
   || skip_ "touch utility doesn't accept '-t' option"
 
 get_shell_script install-sh
@@ -41,3 +41,5 @@ diff file d1/file
 ./install-sh -C -m 444 file d1
 test -r d1/file
 test ! -w d1/file
+
+:
diff --git a/t/instsh2.sh b/t/install-sh-unittests.sh
similarity index 54%
rename from t/instsh2.sh
rename to t/install-sh-unittests.sh
index 8a60d74..98c711c 100644
--- a/t/instsh2.sh
+++ b/t/install-sh-unittests.sh
@@ -19,32 +19,66 @@
 am_create_testdir=empty
 . test-init.sh
 
+install_sh_fail ()
+{
+  err_rx=$1; shift
+  ./install-sh ${1+"$@"} 2>stderr && { cat stderr >&2; exit 1; }
+  cat stderr >&2
+  $EGREP "install-sh:.* $err_rx" stderr || exit 1
+}
+
 get_shell_script install-sh
 
 # Basic errors.
-./install-sh && exit 1
-./install-sh -m 644 dest && exit 1
+install_sh_fail 'no input file specified'
+install_sh_fail 'no input file specified' dest
+install_sh_fail 'no input file specified' -m 644 dest
+install_sh_fail 'no input file specified' -c -t dest
 
-# Directories.
+# Incorrect usages.
+: > bar
+: > baz
+: > qux
+install_sh_fail 'target directory not allowed when installing a directory' \
+                -d -t foo
+install_sh_fail 'target directory not allowed when installing a directory' \
+                -d -t foo bar
+install_sh_fail 'foo: [iI]s not a directory' -t foo bar
+install_sh_fail 'foo: [iI]s not a directory' bar baz foo
+mkdir foo
+install_sh_fail 'target directory not allowed when installing a directory' \
+                -d -t foo
+install_sh_fail 'target directory not allowed when installing a directory' \
+                -d -t foo bar
+rmdir foo
+rm -f bar baz qux
 
-# It should be OK to create no directory.  We sometimes need
-# this when directory are conditionally defined.
-./install-sh -d
-# One directory.
-./install-sh -d d0
-test -d d0
-# Multiple directories (for make installdirs).
-./install-sh -d d1 d2 d3 d4
-test -d d1
-test -d d2
-test -d d3
-test -d d4
-# Subdirectories.
-./install-sh -d p1/p2/p3 p4//p5//p6//
-test -d p1/p2/p3
-test -d p4/p5/p6
+# Directories.
+for opts in '-d' '-d -T' '-T -d' '-d -T -d' '-T -d -T -d -T'; do
+  # It should be OK to create no directory.  We sometimes need
+  # this when directory are conditionally defined.
+  ./install-sh $opts
+  # One directory.
+  ./install-sh $opts d0
+  test -d d0
+  # Multiple directories (for make installdirs).
+  ./install-sh $opts d1 d2 d3 d4
+  test -d d1
+  test -d d2
+  test -d d3
+  test -d d4
+  rmdir d[0-9]
+  # Subdirectories.
+  ./install-sh $opts p1/p2/p3 p4//p5//p6//
+  test -d p1/p2/p3
+  test -d p4/p5/p6
+  rmdir p[0-9]/p[0-9]/p[0-9]
+  rmdir p[0-9]/p[0-9]
+  rmdir p[0-9]
+done
 
 # Files.
+mkdir d0 d1 d2 d3 d4
 : > x
 ./install-sh -c -m 644 x y
 test -f x
@@ -76,8 +110,8 @@ test -f d4/z
 ./install-sh -T x d3/y
 test -f x
 test -f d3/y
-./install-sh -T x d3 && exit 1
-./install-sh -T x d4// && exit 1
+install_sh_fail 'd3: [iI]s a directory' -T x d3
+install_sh_fail 'd4(//)?: [iI]s a directory' -T x d4//
 
 # Ensure that install-sh works with names that include spaces.
 touch 'a  b'
@@ -88,8 +122,8 @@ test -f 'a  b'
 
 # Ensure we do not run into 'test' operator precedence bugs with Tru64 sh.
 for c in = '(' ')' '!'; do
-  ./install-sh $c 2>stderr && { cat stderr >&2; exit 1; }
-  cat stderr >&2
+  install_sh_fail 'no input file specified' $c
+  test -f stderr # sanity check
   grep 'test: ' stderr && exit 1
   # Skip tests if the file system is not capable.
   mkdir ./$c || continue
diff --git a/t/instdat.sh b/t/instdat.sh
index e030b90..64e0c7f 100644
--- a/t/instdat.sh
+++ b/t/instdat.sh
@@ -29,4 +29,5 @@ $ACLOCAL
 $AUTOMAKE
 
 grep '^DATA =' Makefile.in | grep 'INSTALL_DATA' && exit 1
-exit 0
+
+:
diff --git a/t/instdat2.sh b/t/instdat2.sh
index 1a55e8e..fcca619 100644
--- a/t/instdat2.sh
+++ b/t/instdat2.sh
@@ -62,7 +62,7 @@ pkgdata_SCRIPTS = script
 ##pkginclude_SCRIPTS = script
 EOF
 
-$ACLOCAL || exit 1
+$ACLOCAL
 $AUTOMAKE
 
 # install-SCRIPTS targets.
@@ -75,7 +75,6 @@ EOF
 
 diff expected produced
 
-
 # install-exec targets.
 sed -n '/^install-exec-am/,/^  /p' Makefile.in > produced
 
@@ -86,4 +85,4 @@ EOF
 
 diff expected produced
 
-exit 0
+:
diff --git a/t/list-of-tests.mk b/t/list-of-tests.mk
index 1a21f1c..dfbf3e2 100644
--- a/t/list-of-tests.mk
+++ b/t/list-of-tests.mk
@@ -515,12 +515,12 @@ t/implicit.sh \
 t/includes-deprecation.sh \
 t/init.sh \
 t/init2.sh \
-t/insh2.sh \
-t/install2.sh \
+t/dist-install-sh.sh \
+t/dist-with-unreadable-makefile-fails.sh \
 t/installdir.sh \
-t/instsh.sh \
-t/instsh2.sh \
-t/instsh3.sh \
+t/add-missing-install-sh.sh \
+t/install-sh-unittests.sh \
+t/install-sh-option-C.sh \
 t/instdat.sh \
 t/instdat2.sh \
 t/instdir.sh \
@@ -763,6 +763,7 @@ t/parallel-tests-basics.sh \
 t/parallel-tests-concurrency.sh \
 t/parallel-tests-concurrency-2.sh \
 t/parallel-tests-empty.sh \
+t/parallel-tests-exit-status-reported.sh \
 t/parallel-tests-generated-and-distributed.sh \
 t/parallel-tests-recheck.sh \
 t/parallel-tests-trailing-whitespace.sh \
@@ -835,6 +836,7 @@ t/percent.sh \
 t/percent2.sh \
 t/per-target-flags.sh \
 t/phony.sh \
+t/precious.sh \
 t/pluseq.sh \
 t/pluseq2.sh \
 t/pluseq3.sh \
diff --git a/t/parallel-tests-exit-status-reported.sh 
b/t/parallel-tests-exit-status-reported.sh
new file mode 100644
index 0000000..d40f1f5
--- /dev/null
+++ b/t/parallel-tests-exit-status-reported.sh
@@ -0,0 +1,68 @@
+#! /bin/sh
+# Copyright (C) 2013 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# The exit status of a test should be reported in the test logs, so
+# that one can see at a glance whether the test has succeeded or failed,
+# without having to look also into the corresponding .trs file.
+# See automake bug#11814.
+
+. test-init.sh
+
+echo AC_OUTPUT >> configure.ac
+
+echo XFAIL_TESTS = t3.test t00.test > Makefile.am
+echo TESTS = t00.test >> Makefile.am
+for s in 0 1 2 3 5 77 78 99 100 126 127; do
+  echo "TESTS += t${s}.test" >> Makefile.am
+  cat > t${s}.test <<END
+#!/bin/sh
+printf "%s\\n%s\\n" 'random' 'will exit with status $s'
+exit $s
+END
+done
+cp t0.test t00.test
+
+chmod a+x *.test
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE -a
+
+./configure
+run_make -e FAIL check
+ls -l  # For debugging.
+
+match_result ()
+{
+  cat "$1.log"  # For debugging.
+  test $(wc -l <"$1.log") -eq 3
+  sed -n '$p' "$1.log" | grep "^$2 $1\\.test (exit status: $3)$"
+}
+
+match_result  t0   PASS  0
+match_result  t00  XPASS 0
+match_result  t1   FAIL  1
+match_result  t2   FAIL  2
+match_result  t3   XFAIL 3
+match_result  t5   FAIL  5
+match_result  t77  SKIP  77
+match_result  t78  FAIL  78
+match_result  t99  ERROR 99
+match_result  t100 FAIL  100
+match_result  t126 FAIL  126
+match_result  t127 FAIL  127
+
+:
diff --git a/t/phony.sh b/t/phony.sh
index dd0c54a..a632776 100644
--- a/t/phony.sh
+++ b/t/phony.sh
@@ -26,6 +26,7 @@ EOF
 
 $ACLOCAL
 $AUTOMAKE
+$FGREP '.PHONY:' Makefile.in  # For debugging.
 test $($FGREP -c '.PHONY:' Makefile.in) -eq 3
 
 :
diff --git a/t/phony.sh b/t/precious.sh
similarity index 71%
copy from t/phony.sh
copy to t/precious.sh
index dd0c54a..8750305 100644
--- a/t/phony.sh
+++ b/t/precious.sh
@@ -1,5 +1,5 @@
 #!/bin/sh
-# Copyright (C) 2002-2013 Free Software Foundation, Inc.
+# Copyright (C) 2013 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
@@ -14,18 +14,19 @@
 # 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 .PHONY can be given dependencies several times.
-# From Ralf Corsepius.
+# Make sure .PRECIOUS can be extended by the user, and can be given
+# dependencies several times.
 
 . test-init.sh
 
 cat >Makefile.am << 'EOF'
-.PHONY: foo
-.PHONY: bar
+.PRECIOUS: foo
+.PRECIOUS: bar
 EOF
 
 $ACLOCAL
 $AUTOMAKE
-test $($FGREP -c '.PHONY:' Makefile.in) -eq 3
+$FGREP '.PRECIOUS:' Makefile.in  # For debugging.
+test $($FGREP -c '.PRECIOUS:' Makefile.in) -eq 3
 
 :
diff --git a/t/tap-bad-prog.tap b/t/tap-bad-prog.tap
index 490cd4a..9225c38 100644
--- a/t/tap-bad-prog.tap
+++ b/t/tap-bad-prog.tap
@@ -73,35 +73,13 @@ else
 fi
 
 # Check that no spurious test result is reported.  This is lower-priority
-# (and in fact the check currently fails for our awk-based driver).
-directive=
-if test $am_tap_implementation = shell; then
-  directive=TODO
-else
-  # Older versions of IPC::Open3 (e.g., version 1.05 on perl 5.12.4 or
-  # version 1.0103 on perl 5.6.2) fail to properly trap errors in exec(2)
-  # calls in the child process; hence, the TAP driver cannot be properly
-  # informed of such error.
-  if $PERL -w -e '
-    use IPC::Open3 qw/open3/;
-    $@ = "";
-    eval { open3(*STDIN, *STDOUT, *STDERR, "am--no-such-command") };
-    $@ =~ m/\bopen3:.*am--no-such-command/
-      or die "Bad \$@ value: \"address@hidden"\n";
-  '; then
-    : # OK. IPC::Open3 should be good enough.
-  else
-    for s in '"missing plan" message' 'results'; do
-      skip_ -r "IPC::Open3 not good enough" "no spurious $s"
-    done
-    exit 0
-  fi
-fi
+# (and in fact the check currently fails).
 
 command_ok_ 'no spurious "missing plan" message' \
-    -D "$directive" -- not grep 'missing.* plan' stdout
+  -D TODO -- not grep 'missing.* plan' stdout
+
 command_ok_ 'no spurious results' \
-  -D "$directive" -r 'still get "missing plan"' \
+  -D TODO -r 'still get "missing plan"' \
   count_test_results total=3 pass=0 fail=0 xpass=0 xfail=0 skip=0 error=3
 
 :
diff --git a/t/tap-bailout-leading-space.sh b/t/tap-bailout-leading-space.sh
index 120ae03..7a55a1f 100644
--- a/t/tap-bailout-leading-space.sh
+++ b/t/tap-bailout-leading-space.sh
@@ -14,15 +14,10 @@
 # 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.
+# A "Bail out!" directive that is preceded by whitespace should still
+# be recognized.
 
-am_tap_implementation=shell
 . test-init.sh
-
 . tap-setup.sh
 
 cat > a.test <<END
diff --git a/t/tap-doc2.sh b/t/tap-doc2.sh
index ddac739..d260d9a 100644
--- a/t/tap-doc2.sh
+++ b/t/tap-doc2.sh
@@ -34,7 +34,6 @@ AC_CONFIG_AUX_DIR([build-aux])
 AM_INIT_AUTOMAKE([foreign -Wall -Werror])
 AC_CONFIG_FILES([Makefile])
 AC_REQUIRE_AUX_FILE([tap-driver.sh])
-AC_PROG_AWK
 AC_OUTPUT
 END
 
diff --git a/t/tap-signal.tap b/t/tap-signal.tap
index f1a8130..70fe5c1 100644
--- a/t/tap-signal.tap
+++ b/t/tap-signal.tap
@@ -93,13 +93,8 @@ signal_caught ()
   esac
   wbound_re="($|[^a-zA-Z0-9_-])"
   pfx_re="^ERROR: signal-$numeric\\.test"
-  case $am_tap_implementation in
-    # Dummy escape to please maintainer-check.
-    per\l) rx="$pfx_re - terminated by signal $sig_re$";;
-    shell) rx="$pfx_re .*terminated by signal $sig_re$wbound_re";;
-    *) fatal_ "invalid \$am_tap_implementation '$am_tap_implementation'";;
-  esac
-  desc="TAP driver catch test termination by signal SIG$symbolic"
+  rx="${pfx_re} .*terminated by signal ${sig_re}${wbound_re}"
+  desc="TAP driver catch test termination by signal SIG${symbolic}"
   case " $blocked_signals " in
     *" $numeric "*) skip_ -r "SIG$symbolic is blocked" "$desc" ;;
     *) command_ok_ "$desc" env LC_ALL=C $EGREP "$rx" stdout ;;
diff --git a/t/tap-test-number-0.sh b/t/tap-test-number-0.sh
index b5b161b..d447ebe 100644
--- a/t/tap-test-number-0.sh
+++ b/t/tap-test-number-0.sh
@@ -19,30 +19,6 @@
 # This is consistent with the behaviour of the 'prove' utility.
 
 . test-init.sh
-
-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
-
 . tap-setup.sh
 
 cat > a.test <<END
diff --git a/t/test-driver-cond.sh b/t/test-driver-cond.sh
index febb9d2..9b50b1c 100644
--- a/t/test-driver-cond.sh
+++ b/t/test-driver-cond.sh
@@ -22,8 +22,8 @@
 
 cp "$am_testaux_srcdir"/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"
+cp "$am_scriptdir"/tap-driver.sh . \
+  || fatal_ "failed to fetch auxiliary script tap-driver.sh"
 
 cat >> configure.ac << END
 AM_CONDITIONAL([COND1], [:])
@@ -40,7 +40,7 @@ $AUTOCONF
 
 cat > Makefile.am << 'END'
 TESTS = foo bar.test baz.sh
-EXTRA_DIST = $(TESTS) tap-driver.pl trivial-test-driver
+EXTRA_DIST = $(TESTS) tap-driver.sh trivial-test-driver
 TEST_EXTENSIONS = .test .sh
 LOG_DRIVER =
 SH_LOG_DRIVER = $(tap_rulez)
@@ -49,7 +49,7 @@ LOG_DRIVER += @my_LOG_DRIVER@
 if COND2
 tap_rulez = false
 else !COND2
-tap_rulez = $(PERL) $(srcdir)/tap-driver.pl
+tap_rulez = $(PERL) $(srcdir)/tap-driver.sh
 endif !COND2
 endif COND1
 END


hooks/post-receive
-- 
GNU Automake



reply via email to

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