automake-commit
[Top][All Lists]
Advanced

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

[Automake-commit] [SCM] GNU Automake branch, minor, updated. v1.14.1-26-


From: Stefano Lattarini
Subject: [Automake-commit] [SCM] GNU Automake branch, minor, updated. v1.14.1-26-gc020f1e
Date: Thu, 26 Dec 2013 18:03:57 +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=c020f1ef664e1ec835d856ec5485769d0a9a7386

The branch, minor has been updated
       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  526c4b04a699fd62da6bc3915cdb333f0a6ca92d (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 c020f1ef664e1ec835d856ec5485769d0a9a7386
Author: Stefano Lattarini <address@hidden>
Date:   Thu Dec 26 17:05:27 2013 +0100

    cosmetics: remove a couple of extra trailing white spaces
    
    Signed-off-by: Stefano Lattarini <address@hidden>

commit 09cbe67d3a5fea8774d529f41577e32b4b1ba81c
Author: Stefano Lattarini <address@hidden>
Date:   Thu Dec 26 16:52:06 2013 +0100

    tests: fix a spurious failure on Mac OS X
    
    This change fixes bug#14706.
    
    * lib/depcomp2.sh: Also cater to spurious diagnostic from GNU rm,
    not only from Apple's rm.
    
    Signed-off-by: Stefano Lattarini <address@hidden>

commit 50a08a2bc300d600603cdb5b5756baf71b9b431a
Author: Stefano Lattarini <address@hidden>
Date:   Thu Dec 26 15:46:13 2013 +0100

    docs: make clear the JAVA primary is frozen
    
    * doc/automake.texi: Here.  The JAVA primary is broken in several ways,
    and will no longer be developed, not even for bug fixes.
    
    See also automake bugs #9088, #8662 and #8540.
    
    Signed-off-by: Stefano Lattarini <address@hidden>

commit d46102e54a015731e0270a2457dba569d95f289b
Merge: 6863925 3dd26cf
Author: Stefano Lattarini <address@hidden>
Date:   Thu Dec 26 01:11:25 2013 +0100

    Merge branch 'install-sh-improvements' into minor
    
    * install-sh-improvements:
      install-sh: a slightly better diagnostic, and tests enhancements
      install-sh: be stricter in catching invalid usages

commit 3dd26cf0809384a80586113656fad0a4983a2a26
Author: Stefano Lattarini <address@hidden>
Date:   Thu Dec 26 00:33:05 2013 +0100

    install-sh: a slightly better diagnostic, and tests enhancements
    
    * lib/install-sh: When called with no non-option arguments and the '-t'
    option with an argument that is not an existing directory, have the
    diagnostic output complain about the lack of required arguments rather
    than about the bad argument passed to '-t'.
    * t/install-sh-unittests.sh: Enhance to also check diagnostic printed
    in cases of expected failure.
    
    Signed-off-by: Stefano Lattarini <address@hidden>

commit 222337e60bfc87456773a4c7cbbbd3192fde956d
Author: Stefano Lattarini <address@hidden>
Date:   Thu Dec 26 00:07:27 2013 +0100

    install-sh: be stricter in catching invalid usages
    
    Such usages (which are rejected by GNU install as well) are:
    
      - options -d and -t used together;
    
      - argument passed to option -t must be a directory;
    
      - if there are two or more SOURCEFILE arguments, the
        DESTINATION argument must be a directory.
    
    Note that we still allow the use of options -d and -T together, by
    making -d take the precedence; this is for compatibility with GNU
    install.
    
    This change fixes, among other things, automake bug#15376.
    
    * lib/install-sh: Adjust.
    * t/install-sh-unittests.sh: Enhance.
    * NEWS: Update.
    * THANKS: Add reporter of bug#15376.
    
    Helped-by: Tobias Hansen <address@hidden>
    Signed-off-by: Stefano Lattarini <address@hidden>

commit 6863925ddd92c8f4b44556a2bb32d958d00325ff
Author: Stefano Lattarini <address@hidden>
Date:   Wed Dec 25 17:07:11 2013 +0100

    tests: more significant names for some tests
    
    * t/insh2.sh: Rename...
    * t/dist-install-sh.sh: ... like this.
    * t/instsh.sh: Rename...
    * t/add-missing-install-sh.sh: ... like this.
    * t/instsh2.sh: Rename...
    * t/install-sh-unittests.sh: ... like this.
    * t/instsh3.sh: Rename...
    * t/install-sh-option-C.sh: ... like this.
    * t/list-of-tests.mk: Adjust.
    
    Signed-off-by: Stefano Lattarini <address@hidden>

commit 58fb7bf3e5f514b4a0595a7eea6732d6c816e29a
Author: Stefano Lattarini <address@hidden>
Date:   Wed Dec 25 16:57:07 2013 +0100

    tests: some cosmetic fixes
    
    * t/instdat.sh: Here.
    * t/instdat2.sh: And here.
    * t/instsh.sh: And here.
    * t/instsh3.sh: And here.
    
    Signed-off-by: Stefano Lattarini <address@hidden>

commit 431aa0bbe4f328ff2d26cbc8b146098e22cddc10
Author: Stefano Lattarini <address@hidden>
Date:   Wed Dec 25 16:51:05 2013 +0100

    tests: more significant names for a test
    
    * t/install2.sh: Rename...
    * t/dist-with-unreadable-makefile-fails.sh: ... like this.
    * t/list-of-tests.mk: Adjust.
    
    Signed-off-by: Stefano Lattarini <address@hidden>

commit b04ea3e9d7f7133021c93c06c85687e24220a0f4
Merge: 203d077 d1efc3d a6d6734
Author: Stefano Lattarini <address@hidden>
Date:   Wed Dec 25 16:44:17 2013 +0100

    Merge branches 'fix-pr11814' and 'drop-perl-tap-driver' into minor
    
    * fix-pr11814:
      docs: drop a few obsolescent FIXME/TODO comments, and associated text
      testsuite harness: report test exit status in log file
    
    * drop-perl-tap-driver:
      TAP driver: remove perl implementation (move it into contrib/)
    
    Signed-off-by: Stefano Lattarini <address@hidden>

commit d1efc3dde88b2f4ac7abe396ad07001fe4e2a94c
Author: Stefano Lattarini <address@hidden>
Date:   Tue Dec 24 21:16:23 2013 +0100

    docs: drop a few obsolescent FIXME/TODO comments, and associated text
    
    Signed-off-by: Stefano Lattarini <address@hidden>

commit c7e2fb2e73b2d1b904feef0ed5e87ce05a41c119
Author: Stefano Lattarini <address@hidden>
Date:   Tue Dec 24 17:45:18 2013 +0100

    testsuite harness: report test exit status in log file
    
    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.
    
    This fixes automake bug#11814.
    
    * lib/test-driver: Also report the test script exit status in the
    test log (as the last line).
    * t/check-exit-status-reported.sh: Test this new behaviour.
    * t/list-of-tests.mk: Add the new test.
    * t/ax/test-lib.sh( am_exit_trap): No longer log the test exit status;
    this has been made redundant by the change to 'test-driver'.  While at
    it, fix an imperfect quoting.
    
    Signed-off-by: Stefano Lattarini <address@hidden>

commit 203d0775e6a9c0e04d896d24b45eec614d92c230
Author: Stefano Lattarini <address@hidden>
Date:   Tue Dec 24 22:02:15 2013 +0100

    TAP driver: no need to invoke AC_PROG_AWK directly
    
    It is already required by AM_INIT_AUTOMAKE anyway.
    
    * doc/automake.texi: Adjust examples.
    * t/tap-doc2.sh: Adjust documentation-tracking test.
    * m4/init.m4 (AM_INIT_AUTOMAKE): Explicitly tell that the AC_PROG_AWK
    requirement is also needed whenever the TAP driver is used.
    
    Signed-off-by: Stefano Lattarini <address@hidden>

commit a6d6734fca39448770365e77acb562e6c42a7ea2
Author: Stefano Lattarini <address@hidden>
Date:   Tue Dec 24 16:27:28 2013 +0100

    TAP driver: remove perl implementation (move it into contrib/)
    
    That implementation was only meant as a standard against which the
    portable awk+shell implementation was to be measured.  Now, since
    Automake 1.12, the latter implementation is fully functional and
    already used in the wild, and in fact feature-par with the perl
    implementation.  So the perl implementation is now just slowing
    down and complicating our testsuite.  Let's move it to 'contrib/'
    (we don't want to remove it, in case someone is actually using it
    in the wild).
    
    * lib/tap-driver.pl: Move it ...
    * contrib/tap-driver.pl: ... here.  While at it, convert quoting
    `like this' to quoting 'like this', and remove an obsolescent FIXME
    comment.
    * lib/Makefile.inc (dist_script_DATA): Drop '%D%/tap-driver.pl'.
    * Makefile.am (EXTRA_DIST): Add 'contrib/tap-driver.pl'.
    * doc/automake.texi: Remove one stray reference to 'tap-driver.pl',
    and reference 'tap-driver.sh' instead, as intended.
    * t/ax/am-test-lib.sh ($am_tap_implementation): Delete definition and
    uses.
    (fetch_tap_driver): Simplify to unconditionally assume the shell+awk
    implementation of the TAP driver is used.
    (get_shell_script): Make more flexible so that it can cater to the
    needs of 'fetch_tap_driver()'.
    * t/tap-bad-prog.tap: Likewise.
    * t/tap-bailout-leading-space.sh: Likewise.
    * t/tap-signal.tap: Likewise.
    * t/tap-test-number-0.sh: Likewise.
    * t/test-driver-cond.sh: Use 'tap-driver.sh' instead of 'tap-driver.pl'.
    * gen-testsuite-part (%test_generators): Do not generate sister tests
    that use the perl TAP driver rather than the shell+awk one.
    * NEWS: Update.
    
    Signed-off-by: Stefano Lattarini <address@hidden>

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

Summary of changes:
 Makefile.am                                        |    1 +
 NEWS                                               |   26 ++++++-
 THANKS                                             |    1 +
 {lib => contrib}/tap-driver.pl                     |    9 +-
 doc/automake.texi                                  |   34 ++-------
 gen-testsuite-part                                 |   14 ----
 lib/Makefile.inc                                   |    3 +-
 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                                 |   11 ++-
 t/parallel-tests-exit-status-reported.sh           |   68 +++++++++++++++++
 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 +-
 29 files changed, 252 insertions(+), 202 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

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 5cc0019..8d902c0 100644
--- a/NEWS
+++ b/NEWS
@@ -64,15 +64,35 @@
 
 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#118149).
+
+  - 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.
+
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 New in 1.14.1:
diff --git a/THANKS b/THANKS
index e4f70f3..2b4f8ee 100644
--- a/THANKS
+++ b/THANKS
@@ -401,6 +401,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/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 cd33ad7..6d90182 100644
--- a/doc/automake.texi
+++ b/doc/automake.texi
@@ -1900,9 +1900,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!
 
 
@@ -7601,7 +7598,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}
@@ -8821,9 +8820,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
 
@@ -8956,8 +8952,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
@@ -9017,7 +9011,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
@@ -9086,8 +9079,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
@@ -9596,12 +9587,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
 
@@ -9650,10 +9635,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
@@ -9709,7 +9693,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}
@@ -9742,7 +9725,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
@@ -10838,9 +10821,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/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/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 432ff20..05ad294 100644
--- a/m4/init.m4
+++ b/m4/init.m4
@@ -90,8 +90,8 @@ AC_REQUIRE([AC_PROG_MKDIR_P])dnl
 # <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
 # <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
 AC_SUBST([mkdir_p], ['$(MKDIR_P)'])
-# 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
 AC_REQUIRE([AM_SET_LEADING_DOT])dnl
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 462497e..54afd8f 100644
--- a/t/list-of-tests.mk
+++ b/t/list-of-tests.mk
@@ -514,12 +514,12 @@ t/hfs.sh \
 t/implicit.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 \
@@ -765,6 +765,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 \
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/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]