automake-ng
[Top][All Lists]
Advanced

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

[Automake-ng] [PATCH 8/8] [ng] general: "make -e" is not needed anymore


From: Stefano Lattarini
Subject: [Automake-ng] [PATCH 8/8] [ng] general: "make -e" is not needed anymore
Date: Thu, 19 Jan 2012 22:59:36 +0100

Now that we can assume macros redefined on the command line get
correctly passed down to sub-make invocations, there's not need
to prefer "FOO=bar make -e" over "make FOO=bar" in out testsuite.
In fact, "make -e" is brittle and unsafe, since it let *all* the
environment win over the macro definitions in the Makefiles; so,
since we are at it, let's prohibit the use of "make -e" altogether.

* tests/README: Don't give advices about using "make -e" for
non-GNU make implementations.
* doc/automake.texi: Likewise.
* Makefile.am (sc_tests_no_make_e): New maintainer check.
(sc_docs_no_make_e): Likewise.
(syntax_check_rules): Add them.
* Many tests: Adjust.
---
 Makefile.am                                      |   18 +++++++++++++++
 doc/automake.texi                                |   12 +++++-----
 tests/README                                     |   18 +++------------
 tests/check-concurrency-bug9245.test             |    6 ++--
 tests/check10.test                               |   25 +++++++++++----------
 tests/check11.test                               |    6 ++--
 tests/check5.test                                |    4 +-
 tests/check7.test                                |    4 +-
 tests/check8.test                                |    5 ++-
 tests/color.test                                 |    7 +++--
 tests/cond19.test                                |   10 ++++----
 tests/cond32.test                                |    8 +++---
 tests/cond4.test                                 |   12 +++++-----
 tests/defs                                       |    4 +-
 tests/depmod.tap                                 |    4 +-
 tests/distcheck-configure-flags.test             |    7 +++--
 tests/distcheck-override-infodir.test            |    4 +-
 tests/distdir.test                               |    6 ++--
 tests/exeext.test                                |   10 +++++---
 tests/instdir-java.test                          |   15 +++++++------
 tests/instdir-lisp.test                          |   14 ++++++------
 tests/instdir-ltlib.test                         |   14 ++++++------
 tests/instdir-prog.test                          |   13 ++++++-----
 tests/instdir-python.test                        |   14 ++++++------
 tests/instdir-texi.test                          |   13 +++++------
 tests/instdir.test                               |   17 ++++++++------
 tests/instdir2.test                              |   17 ++++++++------
 tests/insthook.test                              |    6 ++--
 tests/instmany-mans.test                         |    5 ++-
 tests/instmany-python.test                       |    5 ++-
 tests/instmany.test                              |    5 ++-
 tests/instspc.tap                                |    2 +-
 tests/javaflags.test                             |    8 +-----
 tests/lflags.test                                |    8 +-----
 tests/lflags2.test                               |    8 +-----
 tests/libtool9.test                              |   10 +++++---
 tests/man3.test                                  |    4 +-
 tests/mmodely.test                               |    8 ++++--
 tests/parallel-tests-cmdline-override.test       |    4 +-
 tests/parallel-tests-empty-testlogs.test         |    8 +++---
 tests/parallel-tests-exit-statuses.test          |   17 ++++++++------
 tests/parallel-tests-extra-programs.test         |    4 +-
 tests/parallel-tests-fork-bomb.test              |    4 +-
 tests/parallel-tests-harderror.test              |    9 ++-----
 tests/parallel-tests-log-compiler-1.test         |    4 +-
 tests/parallel-tests-log-override-1.test         |   12 +++++-----
 tests/parallel-tests-log-override-2.test         |    7 +++--
 tests/parallel-tests-log-override-recheck.test   |    6 ++--
 tests/parallel-tests-no-color-in-log.test        |    4 +-
 tests/parallel-tests.test                        |   14 ++++++------
 tests/parallel-tests2.test                       |    8 +++---
 tests/pr8365-remake-timing.test                  |   10 +++++---
 tests/python-virtualenv.test                     |   16 ++++++++------
 tests/remake-subdir-long-time.test               |    6 ++--
 tests/subst-no-trailing-empty-line.test          |    4 +-
 tests/suffix11.tap                               |    5 ++-
 tests/suffix12.test                              |    6 ++--
 tests/suffix6c.test                              |    7 +++--
 tests/suffix8.tap                                |    5 ++-
 tests/tap-autonumber.test                        |    4 +-
 tests/tap-bailout-leading-space.test             |    5 +--
 tests/tap-bailout-suppress-later-errors.test     |    4 +-
 tests/tap-bailout.test                           |    4 +-
 tests/tap-basic.test                             |    6 ++--
 tests/tap-color.test                             |    6 +++-
 tests/tap-diagnostic.test                        |    4 +-
 tests/tap-doc2.test                              |    4 +-
 tests/tap-global-log.test                        |    4 +-
 tests/tap-global-result.test                     |    6 ++--
 tests/tap-log.test                               |    6 ++--
 tests/tap-merge-stdout-stderr.test               |    4 +-
 tests/tap-msg0-bailout.test                      |    4 +-
 tests/tap-msg0-planskip.test                     |    4 +-
 tests/tap-out-of-order.test                      |    4 +-
 tests/tap-passthrough-exit.test                  |    4 +-
 tests/tap-passthrough.test                       |    8 +++---
 tests/tap-plan-corner.test                       |   18 ++++++++--------
 tests/tap-plan-leading-zero.test                 |    6 ++--
 tests/tap-plan-malformed.test                    |    4 +-
 tests/tap-plan-middle.test                       |    6 ++--
 tests/tap-plan-whitespace.test                   |    4 +-
 tests/tap-plan.test                              |    6 ++--
 tests/tap-planskip-and-logging.test              |    4 +-
 tests/tap-planskip-case-insensitive.test         |    4 +-
 tests/tap-planskip-late.test                     |    4 +-
 tests/tap-planskip-unplanned-corner.test         |    4 +-
 tests/tap-planskip-whitespace.test               |    4 +-
 tests/tap-planskip.test                          |    6 ++--
 tests/tap-recheck-logs.test                      |   14 ++++++------
 tests/tap-summary-aux.sh                         |    4 +-
 tests/tap-test-number-0.test                     |    2 +-
 tests/tap-unplanned.test                         |    4 +-
 tests/test-driver-custom-multitest-recheck2.test |   22 +++++++------------
 tests/test-driver-custom-multitest.test          |    4 +-
 tests/test-log.test                              |    6 ++--
 tests/test-missing.test                          |    8 ++----
 tests/test-trs-basic.test                        |   17 +++++++--------
 tests/test-trs-recover.test                      |    8 +++---
 tests/test-trs-recover2.test                     |    4 +-
 tests/testsuite-summary-checks.sh                |   11 ++++-----
 tests/testsuite-summary-reference-log.test       |    6 ++--
 tests/txinfo21.test                              |    6 ++--
 tests/yacc-dist-nobuild-subdir.test              |    6 ++--
 tests/yflags-cmdline-override.test               |    4 +-
 tests/yflags.test                                |    8 +-----
 tests/yflags2.test                               |    8 +-----
 106 files changed, 408 insertions(+), 401 deletions(-)

diff --git a/Makefile.am b/Makefile.am
index d943d9f..c88b2da 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -233,6 +233,8 @@ sc_tests_no_gmake_requirement \
 sc_tests_no_gmake_checking \
 sc_tests_make_can_chain_suffix_rules \
 sc_no_am_makeflags \
+sc_tests_no_make_e \
+sc_docs_no_make_e \
 sc_tests_obsolete_variables \
 sc_tests_plain_make \
 sc_tests_plain_autoconf \
@@ -514,6 +516,22 @@ sc_no_am_makeflags:
          exit 1; \
        fi
 
+## "make -e" is brittle and unsafe, since it let *all* the environment
+## win over the macro definitions in the Makefiles.  We needed it when
+## we couldn't assume GNU make, but now that the tide has turned, it's
+## better to prohibit it altogether.
+sc_tests_no_make_e:
+       @if grep -E '\$$MAKE\b.* -[a-zA-Z0-9]*e' $(xtests); then \
+         echo "\"make -e\" is brittle, don't use it." 1>&2; \
+         exit 1; \
+       fi
+sc_docs_no_make_e:
+       @if grep '\bmake\b.* -[a-zA-Z0-9]*e' README tests/README; then \
+         echo "Don't advocate the use of \"make -e\" in the manual or" \
+              " in the README files." 1>&2; \
+         exit 1; \
+       fi
+
 ## Look out for some obsolete variables.
 sc_tests_obsolete_variables:
        @vars=" \
diff --git a/doc/automake.texi b/doc/automake.texi
index 3afa8b3..227a4eb 100644
--- a/doc/automake.texi
+++ b/doc/automake.texi
@@ -9120,7 +9120,7 @@ You can set the @code{TESTS} variable.  For example, you 
can use a
 command like this to run only a subset of the tests:
 
 @example
-env TESTS="foo.test bar.test" make -e check
+make check TESTS="foo.test bar.test"
 @end example
 
 Note however that the command above will unconditionally overwrite the
@@ -9132,7 +9132,7 @@ for example,
 
 @c Keep in sync with parallel-tests-log-override-2.test.
 @example
-env TEST_SUITE_LOG=partial.log TESTS="..." make -e check
+make check TEST_SUITE_LOG=partial.log TESTS="..."
 @end example
 
 will write the result of the partial testsuite runs to the
@@ -9145,7 +9145,7 @@ described above.  For example, you can use the following:
 
 @example
 set x subset*.log; shift
-env TEST_LOGS="foo.log $*" make -e check
+make check TEST_LOGS="foo.log $*"
 @end example
 
 The comments made above about @code{TEST_SUITE_LOG} overriding applies
@@ -9165,7 +9165,7 @@ are outdated, i.e., older than their prerequisite test 
files, by setting
 this variable to the empty value:
 
 @example
-env RECHECK_LOGS= make -e check
+make check RECHECK_LOGS=
 @end example
 
 @item
@@ -9705,8 +9705,8 @@ Please report to bug-automake@@gnu.org
 exit status: 1
 
 @c Keep the "skewed" indentation below, it produces pretty PDF output.
-% @kbd{env TEST_LOG_DRIVER_FLAGS='--comments --ignore-exit' \
-      TESTS='foo.test baz.test' make -e check}
+% @kbd{make check TEST_LOG_DRIVER_FLAGS='--comments --ignore-exit' \
+             TESTS='foo.test baz.test'}
 ...
 PASS: foo.test 1 - Swallows fly
 XFAIL: foo.test 2 - Caterpillars fly # TODO metamorphosis in progress
diff --git a/tests/README b/tests/README
index 64e977a..f593eab 100644
--- a/tests/README
+++ b/tests/README
@@ -26,13 +26,11 @@ Running the tests
 
   To run only selected tests:
 
-    make -k check TESTS="foo.test bar.test"             (GNU make)
-    env TESTS="foo.test bar.test" make -e -k check      (non-GNU make)
+    make -k check TESTS="foo.test bar.test"
 
  To run the tests in cross-compilation mode:
 
-    make -k check host_alias="$host_alias"              (GNU make)
-    env host_alias="$host_alias" make -e -k check       (non-GNU make)
+    make -k check host_alias="$host_alias"
 
  Here `$host_alias' should be defined to a proper value different from
  configure-determined `$build_alias', and should refer to a set of
@@ -70,7 +68,7 @@ Getting details from failures
   detailed test output at the end of the test run with the VERBOSE
   variable:
 
-    env VERBOSE=x TESTS='first.test second.test ...' make -e check
+    make check VERBOSE=x TESTS='first.test second.test ...' 
 
   You can also run the tests by hand, as explained in the next subsection.
 
@@ -110,8 +108,7 @@ Supported shells
 
   to run a test directly, and:
 
-    make check LOG_COMPILER=/path/to/sh         (GNU make)
-    LOG_COMPILER=/path/to/sh make -e check      (non-GNU make)
+    make check LOG_COMPILER=/path/to/sh
 
   to run the test(s) through the makefile test driver.
 
@@ -277,10 +274,3 @@ Do not
   (Note this doesn't prevent the test from failing for another
   reason, but at least it makes sure the original error is still
   here.)
-
-  Do not override Makefile variables using make arguments, as in e.g.:
-    $MAKE prefix=/opt install
-  This is not portable for recursive targets (targets that call a
-  sub-make may not pass `prefix=/opt' along).  Use the following
-  instead:
-    prefix=/opt $MAKE -e install
diff --git a/tests/check-concurrency-bug9245.test 
b/tests/check-concurrency-bug9245.test
index 966b7a6..04a71a1 100755
--- a/tests/check-concurrency-bug9245.test
+++ b/tests/check-concurrency-bug9245.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2011 Free Software Foundation, Inc.
+# 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
@@ -47,10 +47,10 @@ $MAKE -j1 || Exit 77
 
 for j in '' -j1 -j2; do
   $MAKE $j check && Exit 1
-  TESTS=foo.test $MAKE $j -e check && Exit 1
+   $MAKE $j TESTS=foo.test check && Exit 1
   if test x"$am_parallel_tests" = x"yes"; then
     $MAKE $j recheck && Exit 1
-    TEST_LOGS=foo.log $MAKE $j -e check && Exit 1
+    $MAKE $j TEST_LOGS=foo.log check && Exit 1
     rm -f test-suite.log
     $MAKE $j test-suite.log && Exit 1
     test -f test-suite.log || Exit 1
diff --git a/tests/check10.test b/tests/check10.test
index 54f882a..f99a840 100755
--- a/tests/check10.test
+++ b/tests/check10.test
@@ -1,5 +1,6 @@
 #! /bin/sh
-# Copyright (C) 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+# Copyright (C) 2008, 2009, 2010, 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
@@ -58,17 +59,17 @@ $AUTOMAKE -a
 (
   # Do not check for failure in this subshell
   set +e
-  env TESTS=pass $MAKE -e check
-  env TESTS=fail $MAKE -e check
-  env TESTS=skip $MAKE -e check
-  env TESTS=xfail $MAKE -e check
-  env TESTS=xpass $MAKE -e check
-  env TESTS="pass pass2" $MAKE -e check
-  env TESTS="fail fail2" $MAKE -e check
-  env TESTS="skip skip2" $MAKE -e check
-  env TESTS="xfail xfail2" $MAKE -e check
-  env TESTS="xpass xpass2" $MAKE -e check
-  env TESTS='pass skip xfail' $MAKE -e check
+  $MAKE check TESTS="pass"
+  $MAKE check TESTS="fail"
+  $MAKE check TESTS="skip"
+  $MAKE check TESTS="xfail"
+  $MAKE check TESTS="xpass"
+  $MAKE check TESTS="pass pass2"
+  $MAKE check TESTS="fail fail2"
+  $MAKE check TESTS="skip skip2"
+  $MAKE check TESTS="xfail xfail2"
+  $MAKE check TESTS="xpass xpass2"
+  $MAKE check TESTS="pass skip xfail"
   $MAKE check
   :
 ) >stdout || { cat stdout; Exit 1; }
diff --git a/tests/check11.test b/tests/check11.test
index f419bfd..76abb3d 100755
--- a/tests/check11.test
+++ b/tests/check11.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc.
+# Copyright (C) 2009, 2010, 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
@@ -39,7 +39,7 @@ $AUTOMAKE -a
 
 ./configure
 
-env TESTS=skip $MAKE -e check >stdout || { cat stdout; Exit 1; }
+$MAKE check TESTS=skip >stdout || { cat stdout; Exit 1; }
 cat stdout
 if test x"$am_parallel_tests" = x"yes"; then
   count_test_results total=1 pass=0 fail=0 skip=1 xfail=0 xpass=0 error=0
@@ -48,7 +48,7 @@ else
   : For shells with buggy 'set -e'.
 fi
 
-env TESTS="skip skip2" $MAKE -e check >stdout || { cat stdout; Exit 1; }
+$MAKE check TESTS="skip skip2" >stdout || { cat stdout; Exit 1; }
 cat stdout
 if test x"$am_parallel_tests" = x"yes"; then
   count_test_results total=2 pass=0 fail=0 skip=2 xfail=0 xpass=0 error=0
diff --git a/tests/check5.test b/tests/check5.test
index a10989c..6ec624d 100755
--- a/tests/check5.test
+++ b/tests/check5.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011, 2012 Free Software
 # Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
@@ -52,7 +52,7 @@ cp one.c two.c
 ./configure
 $MAKE check
 test -f ok
-EXEEXT=.bin $MAKE -e print-tests >stdout || { cat stdout; Exit 1; }
+$MAKE EXEEXT=.bin print-tests >stdout || { cat stdout; Exit 1; }
 cat stdout
 $FGREP 'BEG: one.bin two.bin :END' stdout
 # No am__EXEEXT_* variable is needed.
diff --git a/tests/check7.test b/tests/check7.test
index e0b37c9..de101ff 100755
--- a/tests/check7.test
+++ b/tests/check7.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2007, 2011 Free Software Foundation, Inc.
+# Copyright (C) 2007, 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
@@ -59,7 +59,7 @@ $AUTOMAKE -a
 
 ./configure
 $MAKE check
-EXEEXT=.bin $MAKE -e print-xfail-tests >stdout || {  cat stdout; Exit 1; }
+$MAKE EXEEXT=.bin print-xfail-tests >stdout || { cat stdout; Exit 1; }
 cat stdout
 $FGREP 'BEG: a.bin b c.bin d.bin :END' stdout
 
diff --git a/tests/check8.test b/tests/check8.test
index 51fcbd2..4576665 100755
--- a/tests/check8.test
+++ b/tests/check8.test
@@ -1,5 +1,6 @@
 #! /bin/sh
-# Copyright (C) 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+# Copyright (C) 2008, 2009, 2010, 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
@@ -64,7 +65,7 @@ $AUTOCONF
 $AUTOMAKE -a
 
 ./configure
-AM_COLOR_TESTS=always $MAKE -e check >stdout 2>stderr &&
+$MAKE check AM_COLOR_TESTS=always >stdout 2>stderr &&
   { cat stdout; cat stderr >&2; Exit 1; }
 cat stdout
 cat stderr >&2
diff --git a/tests/color.test b/tests/color.test
index 1313b7a..e7134e7 100755
--- a/tests/color.test
+++ b/tests/color.test
@@ -1,5 +1,6 @@
 #! /bin/sh
-# Copyright (C) 2007, 2008, 2010, 2011 Free Software Foundation, Inc.
+# Copyright (C) 2007, 2008, 2010, 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
@@ -141,11 +142,11 @@ for vpath in false :; do
 
   $srcdir/configure
 
-  AM_COLOR_TESTS=always $MAKE -e check >stdout && { cat stdout; Exit 1; }
+  $MAKE check AM_COLOR_TESTS=always >stdout && { cat stdout; Exit 1; }
   cat stdout
   test_color
 
-  $MAKE -e check >stdout && { cat stdout; Exit 1; }
+  $MAKE check >stdout && { cat stdout; Exit 1; }
   cat stdout
   test_no_color
 
diff --git a/tests/cond19.test b/tests/cond19.test
index d1ba08a..a73ce32 100755
--- a/tests/cond19.test
+++ b/tests/cond19.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2001, 2002, 2011 Free Software Foundation, Inc.
+# Copyright (C) 2001, 2002, 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
@@ -60,12 +60,12 @@ $AUTOCONF
 $AUTOMAKE -a -i
 
 CONDITION1=true CONDITION2=true ./configure
-exp='dlmaina1.c dlmainb2.c dlmaina1.o dlmainb2.o' $MAKE -e test
+$MAKE exp='dlmaina1.c dlmainb2.c dlmaina1.o dlmainb2.o' test
 CONDITION1=true CONDITION2=false ./configure
-exp='dlmainb1.c dlmaina2.c dlmainb1.o dlmaina2.o' $MAKE -e test
+$MAKE exp='dlmainb1.c dlmaina2.c dlmainb1.o dlmaina2.o' test
 CONDITION1=false CONDITION2=true ./configure
-exp='dlmaina1.c dlmainb2.c dlmaina1.o dlmainb2.o' $MAKE -e test
+$MAKE exp='dlmaina1.c dlmainb2.c dlmaina1.o dlmainb2.o' test
 CONDITION1=false CONDITION2=false ./configure
-exp='dlmainb1.c dlmaina2.c dlmainb1.o dlmaina2.o' $MAKE -e test
+$MAKE exp='dlmainb1.c dlmaina2.c dlmainb1.o dlmaina2.o' test
 
 :
diff --git a/tests/cond32.test b/tests/cond32.test
index 45ecf70..b1faba2 100755
--- a/tests/cond32.test
+++ b/tests/cond32.test
@@ -1,5 +1,5 @@
 #!/bin/sh
-# Copyright (C) 2003, 2006, 2011 Free Software Foundation, Inc.
+# Copyright (C) 2003, 2006, 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
@@ -61,12 +61,12 @@ $AUTOCONF
 $AUTOMAKE
 
 ./configure
-exp='foo.o nonsense.a' $MAKE -e test
+$MAKE test exp='foo.o nonsense.a' 
 
 ./configure two=yes three=
-exp='bar.o' $MAKE -e test
+$MAKE test exp='bar.o'
 
 ./configure two=yes three=yes
-exp='baz.o' $MAKE -e test
+$MAKE test exp='baz.o'
 
 :
diff --git a/tests/cond4.test b/tests/cond4.test
index 3071577..57a4042 100755
--- a/tests/cond4.test
+++ b/tests/cond4.test
@@ -1,6 +1,6 @@
 #! /bin/sh
-# Copyright (C) 1998, 2001, 2002, 2010, 2011 Free Software Foundation,
-# Inc.
+# Copyright (C) 1998, 2001, 2002, 2010, 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
@@ -57,12 +57,12 @@ grep 'address@hidden@' Makefile.in && Exit 1
 $AUTOCONF
 
 CONDITION1=true CONDITION2=true ./configure
-exp='main.o one.o two.o' $MAKE -e test
+$MAKE test exp='main.o one.o two.o'
 CONDITION1=true CONDITION2=false ./configure
-exp='main.o one.o' $MAKE -e test
+$MAKE test exp='main.o one.o'
 CONDITION1=false CONDITION2=true ./configure
-exp='main.o two.o' $MAKE -e test
+$MAKE test exp='main.o two.o'
 CONDITION1=false CONDITION2=false ./configure
-exp='main.o' $MAKE -e test
+$MAKE test exp='main.o'
 
 :
diff --git a/tests/defs b/tests/defs
index e3fc891..67e45ad 100644
--- a/tests/defs
+++ b/tests/defs
@@ -142,8 +142,8 @@ set +e
 unset MFLAGS MAKEFLAGS AM_MAKEFLAGS MAKELEVEL
 # Unset verbosity flag.
 unset V
-# Also unset variables that will let `make -e install' divert
-# files into unwanted directories.
+# 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
diff --git a/tests/depmod.tap b/tests/depmod.tap
index e1fbef5..b6af3ec 100755
--- a/tests/depmod.tap
+++ b/tests/depmod.tap
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2011 Free Software Foundation, Inc.
+# 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
@@ -180,7 +180,7 @@ for vpath in simple long absolute; do
       # second time the objects are built because 'depcomp' has silently
       # messed up the .Po files the first time.
       $MAKE clean \
-        && { e=0; $MAKE >output 2>&1 || e=1; cat output; test $e -eq 0; } \
+        && { e=0; $MAKE >output 2>&1 || e=1; cat output; test $e = 0; } \
         && { if grep 'src/[._]deps' output; then false; else :; fi; } \
         && r1='ok'
       result_ "$r1" "$pfx make & remake"
diff --git a/tests/distcheck-configure-flags.test 
b/tests/distcheck-configure-flags.test
index 9a2eb4c..09288e2 100755
--- a/tests/distcheck-configure-flags.test
+++ b/tests/distcheck-configure-flags.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2011 Free Software Foundation, Inc.
+# 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
@@ -40,8 +40,9 @@ $AUTOCONF
 # It should be ok to define DISTCHECK_CONFIGURE_FLAGS either on the
 # make command line or in the environment.
 
-env DISTCHECK_CONFIGURE_FLAGS='--enable-success sentence=it\ works\ :-\)' \
-  $MAKE distcheck # Not `make -e' here, deliberately.
+env \
+  DISTCHECK_CONFIGURE_FLAGS='--enable-success sentence=it\ works\ :-\)' \
+  $MAKE distcheck
 
 $MAKE distcheck \
   DISTCHECK_CONFIGURE_FLAGS="--enable-success=yes sentence='it works :-)'"
diff --git a/tests/distcheck-override-infodir.test 
b/tests/distcheck-override-infodir.test
index 468ce6c..824920e 100755
--- a/tests/distcheck-override-infodir.test
+++ b/tests/distcheck-override-infodir.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2011 Free Software Foundation, Inc.
+# 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
@@ -55,7 +55,7 @@ $AUTOCONF
 $MAKE
 
 $MAKE distcheck
-infodir="`pwd`"/_info $MAKE -e distcheck
+$MAKE distcheck infodir="`pwd`"/_info 
 test -f _info/dir || Exit 99 # Sanity check.
 
 :
diff --git a/tests/distdir.test b/tests/distdir.test
index a576e3d..ec7d121 100755
--- a/tests/distdir.test
+++ b/tests/distdir.test
@@ -1,6 +1,6 @@
 #! /bin/sh
-# Copyright (C) 1996, 2001, 2002, 2003, 2006, 2007, 2009, 2010, 2011
-# Free Software Foundation, Inc.
+# Copyright (C) 1996, 2001, 2002, 2003, 2006, 2007, 2009, 2010, 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
@@ -69,7 +69,7 @@ test -d foo && Exit 1
 
 rm -rf $me-1.0
 # Remove the dot from VERSION for the next grep.
-VERSION=10 MKDIR_P='echo MKDIR_P' $MAKE -e distdir >stdout || :
+$MAKE distdir VERSION=10 MKDIR_P='echo MKDIR_P' >stdout || :
 cat stdout
 
 # Make sure no `./' appear in the directory names.  srcdir is `..', so
diff --git a/tests/exeext.test b/tests/exeext.test
index 08cc034..e95c0a2 100755
--- a/tests/exeext.test
+++ b/tests/exeext.test
@@ -1,6 +1,6 @@
 #! /bin/sh
-# Copyright (C) 2001, 2002, 2003, 2010, 2011 Free Software Foundation,
-# Inc.
+# Copyright (C) 2001, 2002, 2003, 2010, 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
@@ -70,7 +70,7 @@ grep 'maude3__EXEEXT__OBJECTS' Makefile.in && Exit 1
 
 ./configure
 
-EXEEXT=.foo $MAKE -e print > stdout
+$MAKE EXEEXT=.foo print > stdout || { cat stdout; Exit 1; }
 cat stdout
 
 grep '1BEG: maude.foo mt.foo :END1' stdout
@@ -80,10 +80,12 @@ grep '4BEG: rmt.foo :END4' stdout
 
 ./configure revert=yes
 
-EXEEXT=.foo $MAKE -e print > stdout
+$MAKE EXEEXT=.foo print > stdout || { cat stdout; Exit 1; }
 cat stdout
 
 grep '1BEG: maude.foo :END1' stdout
 grep '2BEG: maude.static.foo :END2' stdout
 grep '3BEG: maude3.foo :END3' stdout
 grep '4BEG: :END4' stdout
+
+:
diff --git a/tests/instdir-java.test b/tests/instdir-java.test
index eaf2981..5885b27 100755
--- a/tests/instdir-java.test
+++ b/tests/instdir-java.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2009, 2011 Free Software Foundation, Inc.
+# Copyright (C) 2009, 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
@@ -44,15 +44,16 @@ cd build
 ../configure --prefix="$instdir"
 $MAKE
 
-javadir=
-export javadir
-$MAKE -e install
+xMAKE() { $MAKE javadir= "$@"; }
+
+xMAKE install
 test ! -d "$instdir"
-$MAKE -e install DESTDIR="$destdir"
+xMAKE install DESTDIR="$destdir"
 test ! -d "$instdir"
 test ! -d "$destdir"
-$MAKE -e uninstall > stdout || { cat stdout; Exit 1; }
+xMAKE uninstall > stdout || { cat stdout; Exit 1; }
 cat stdout
 grep 'rm -f' stdout && Exit 1
-$MAKE -e uninstall DESTDIR="$destdir"
+xMAKE uninstall DESTDIR="$destdir"
+
 :
diff --git a/tests/instdir-lisp.test b/tests/instdir-lisp.test
index 5cfbf04..05957fd 100755
--- a/tests/instdir-lisp.test
+++ b/tests/instdir-lisp.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2009, 2011 Free Software Foundation, Inc.
+# Copyright (C) 2009, 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
@@ -41,16 +41,16 @@ cd build
 ../configure --prefix="$instdir"
 $MAKE
 
-lispdir=
-export lispdir
+xMAKE () { $MAKE lispdir= "$@"; }
 
-$MAKE -e install
+xMAKE install
 test ! -d "$instdir"
-$MAKE -e install DESTDIR="$destdir"
+xMAKE install DESTDIR="$destdir"
 test ! -d "$instdir"
 test ! -d "$destdir"
-$MAKE -e uninstall > stdout || { cat stdout; Exit 1; }
+xMAKE uninstall > stdout || { cat stdout; Exit 1; }
 cat stdout
 grep 'rm -f' stdout && Exit 1
-$MAKE -e uninstall DESTDIR="$destdir"
+xMAKE uninstall DESTDIR="$destdir"
+
 :
diff --git a/tests/instdir-ltlib.test b/tests/instdir-ltlib.test
index bf9330f..fbe879b 100755
--- a/tests/instdir-ltlib.test
+++ b/tests/instdir-ltlib.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2009, 2011 Free Software Foundation, Inc.
+# Copyright (C) 2009, 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
@@ -68,18 +68,18 @@ cd build
              am_cv_python_pyexecdir="$instdir/pyexec"
 $MAKE
 
-bindir= libdir= pyexecdir=
-export bindir libdir pyexecdir
-$MAKE -e install
+xMAKE() { $MAKE bindir= libdir= pyexecdir= "$@"; }
+
+xMAKE install
 test ! -d "$instdir"
-$MAKE -e install DESTDIR="$destdir"
+xMAKE install DESTDIR="$destdir"
 test ! -d "$instdir"
 test ! -d "$destdir"
-$MAKE -e uninstall > stdout || { cat stdout; Exit 1; }
+xMAKE uninstall > stdout || { cat stdout; Exit 1; }
 cat stdout
 # Creative quoting below to please maintainer-check.
 grep 'rm'' ' stdout && Exit 1
-$MAKE -e uninstall DESTDIR="$destdir" > stdout || { cat stdout; Exit 1; }
+xMAKE uninstall DESTDIR="$destdir" > stdout || { cat stdout; Exit 1; }
 cat stdout
 # Creative quoting below to please maintainer-check.
 grep 'rm'' ' stdout && Exit 1
diff --git a/tests/instdir-prog.test b/tests/instdir-prog.test
index 5e7c6a1..85df840 100755
--- a/tests/instdir-prog.test
+++ b/tests/instdir-prog.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2009, 2011 Free Software Foundation, Inc.
+# Copyright (C) 2009, 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
@@ -67,18 +67,19 @@ cd build
              am_cv_python_pyexecdir="$instdir/pyexec"
 $MAKE
 
-bindir= libdir= pyexecdir=
+xMAKE () { $MAKE bindir= libdir= pyexecdir= "$@"; }
+
 export bindir libdir pyexecdir
-$MAKE -e install
+xMAKE install
 test ! -d "$instdir"
-$MAKE -e install DESTDIR="$destdir"
+xMAKE install DESTDIR="$destdir"
 test ! -d "$instdir"
 test ! -d "$destdir"
-$MAKE -e uninstall > stdout || { cat stdout; Exit 1; }
+xMAKE uninstall > stdout || { cat stdout; Exit 1; }
 cat stdout
 # Creative quoting below to please maintainer-check.
 grep 'rm'' ' stdout && Exit 1
-$MAKE -e uninstall DESTDIR="$destdir" > stdout || { cat stdout; Exit 1; }
+xMAKE uninstall DESTDIR="$destdir" > stdout || { cat stdout; Exit 1; }
 cat stdout
 # Creative quoting below to please maintainer-check.
 grep 'rm'' ' stdout && Exit 1
diff --git a/tests/instdir-python.test b/tests/instdir-python.test
index 21b550e..df3c8ca 100755
--- a/tests/instdir-python.test
+++ b/tests/instdir-python.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2009, 2011 Free Software Foundation, Inc.
+# Copyright (C) 2009, 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
@@ -45,16 +45,16 @@ cd build
 ../configure --prefix="$instdir"
 $MAKE
 
-pythondir=
-export pythondir
+xMAKE () { $MAKE pythondir= "$@"; }
 
-$MAKE -e install
+xMAKE install
 test ! -d "$instdir"
-$MAKE -e install DESTDIR="$destdir"
+xMAKE install DESTDIR="$destdir"
 test ! -d "$instdir"
 test ! -d "$destdir"
-$MAKE -e uninstall > stdout || { cat stdout; Exit 1; }
+xMAKE uninstall > stdout || { cat stdout; Exit 1; }
 cat stdout
 grep 'rm -f' stdout && Exit 1
-$MAKE -e uninstall DESTDIR="$destdir"
+xMAKE uninstall DESTDIR="$destdir"
+
 :
diff --git a/tests/instdir-texi.test b/tests/instdir-texi.test
index 5e9ee9d..04a37b2 100755
--- a/tests/instdir-texi.test
+++ b/tests/instdir-texi.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2009, 2011 Free Software Foundation, Inc.
+# Copyright (C) 2009, 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
@@ -55,17 +55,16 @@ cd build
 $MAKE all dvi ps pdf html
 ls -l
 
-infodir= htmldir= dvidir= psdir= pdfdir=
-export infodir htmldir dvidir psdir pdfdir
+xMAKE () { $MAKE infodir= htmldir= dvidir= psdir= pdfdir= "$@"; }
 
-$MAKE -e install install-html install-dvi install-ps install-pdf
+xMAKE install install-html install-dvi install-ps install-pdf
 test ! -d "$instdir"
-$MAKE -e install install-html install-dvi install-ps install-pdf 
DESTDIR="$destdir"
+xMAKE install install-html install-dvi install-ps install-pdf 
DESTDIR="$destdir"
 test ! -d "$instdir"
 test ! -d "$destdir"
-$MAKE -e uninstall > stdout || { cat stdout; Exit 1; }
+xMAKE uninstall > stdout || { cat stdout; Exit 1; }
 cat stdout
 grep 'rm -f' stdout && Exit 1
-$MAKE -e uninstall DESTDIR="$destdir"
+xMAKE uninstall DESTDIR="$destdir"
 
 :
diff --git a/tests/instdir.test b/tests/instdir.test
index 89e7950..a348969 100755
--- a/tests/instdir.test
+++ b/tests/instdir.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2009, 2011 Free Software Foundation, Inc.
+# Copyright (C) 2009, 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
@@ -54,16 +54,19 @@ cd build
 ../configure --prefix="$instdir"
 $MAKE
 
-bindir= datadir= includedir= foodir= bardir= man1dir= man2dir=
-export bindir datadir includedir foodir bardir man1dir man2dir
+xMAKE ()
+{
+  $MAKE bindir= datadir= includedir= foodir= bardir= man1dir= man2dir= "$@"
+}
 
-$MAKE -e install
+xMAKE install
 test ! -d "$instdir"
-$MAKE -e install DESTDIR="$destdir"
+xMAKE install DESTDIR="$destdir"
 test ! -d "$instdir"
 test ! -d "$destdir"
-$MAKE -e uninstall > stdout || { cat stdout; Exit 1; }
+xMAKE uninstall > stdout || { cat stdout; Exit 1; }
 cat stdout
 grep 'rm -f' stdout && Exit 1
-$MAKE -e uninstall DESTDIR="$destdir"
+xMAKE uninstall DESTDIR="$destdir"
+
 :
diff --git a/tests/instdir2.test b/tests/instdir2.test
index fd9ab05..9b702df 100755
--- a/tests/instdir2.test
+++ b/tests/instdir2.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2009, 2011 Free Software Foundation, Inc.
+# Copyright (C) 2009, 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
@@ -76,16 +76,19 @@ cd build
 ../configure --prefix="$instdir"
 $MAKE
 
-bindir= datadir= includedir= foodir= bardir= man1dir= man2dir=
-export bindir datadir includedir foodir bardir man1dir man2dir
+xMAKE ()
+{
+  $MAKE bindir= datadir= includedir= foodir= bardir= man1dir= man2dir= "$@"
+}
 
-$MAKE -e install
+xMAKE install
 test ! -d "$instdir"
-$MAKE -e install DESTDIR="$destdir"
+xMAKE install DESTDIR="$destdir"
 test ! -d "$instdir"
 test ! -d "$destdir"
-$MAKE -e uninstall > stdout || { cat stdout; Exit 1; }
+xMAKE uninstall > stdout || { cat stdout; Exit 1; }
 cat stdout
 grep 'rm -f' stdout && Exit 1
-$MAKE -e uninstall DESTDIR="$destdir"
+xMAKE uninstall DESTDIR="$destdir"
+
 :
diff --git a/tests/insthook.test b/tests/insthook.test
index 50b7fd2..51fcc34 100755
--- a/tests/insthook.test
+++ b/tests/insthook.test
@@ -1,6 +1,6 @@
 #! /bin/sh
-# Copyright (C) 2003, 2005, 2007, 2010, 2011 Free Software Foundation,
-# Inc.
+# Copyright (C) 2003, 2005, 2007, 2010, 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
@@ -60,7 +60,7 @@ test -f ok
 ./configure "--bindir=`pwd`/bin"
 $MAKE install
 echo 2 > foo
-VERSION=2.0 $MAKE -e install
+$MAKE install VERSION=2.0 
 grep 1 bin/foo-1.0
 grep 2 bin/foo-2.0
 grep 2 bin/foo
diff --git a/tests/instmany-mans.test b/tests/instmany-mans.test
index f0b15f4..76f24d6 100755
--- a/tests/instmany-mans.test
+++ b/tests/instmany-mans.test
@@ -1,5 +1,6 @@
 #! /bin/sh
-# Copyright (C) 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+# Copyright (C) 2008, 2009, 2010, 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
@@ -113,7 +114,7 @@ $MAKE uninstall
 test `find "$instdir" -type f -print | wc -l` = 0
 
 # Try whether we don't exceed the low limit.
-INSTALL='$(SHELL) $(top_builddir)/myinstall' $MAKE -e install
+$MAKE install INSTALL='$(SHELL) $(top_builddir)/myinstall'
 env save_PATH="$PATH" PATH="`pwd`/..$PATH_SEPARATOR$PATH" $MAKE uninstall
 
 cd $subdir
diff --git a/tests/instmany-python.test b/tests/instmany-python.test
index 0031913..069172c 100755
--- a/tests/instmany-python.test
+++ b/tests/instmany-python.test
@@ -1,5 +1,6 @@
 #! /bin/sh
-# Copyright (C) 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+# Copyright (C) 2008, 2009, 2010, 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
@@ -104,7 +105,7 @@ $MAKE uninstall
 test `find "$instdir" -type f -print | wc -l` = 0
 
 # Try whether we don't exceed the low limit.
-INSTALL='$(SHELL) $(top_builddir)/myinstall' $MAKE -e install
+$MAKE install INSTALL='$(SHELL) $(top_builddir)/myinstall'
 env save_PATH="$PATH" PATH="`pwd`/..$PATH_SEPARATOR$PATH" $MAKE uninstall
 
 cd $subdir
diff --git a/tests/instmany.test b/tests/instmany.test
index 5a5a324..671581a 100755
--- a/tests/instmany.test
+++ b/tests/instmany.test
@@ -1,5 +1,6 @@
 #! /bin/sh
-# Copyright (C) 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+# Copyright (C) 2008, 2009, 2010, 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
@@ -127,7 +128,7 @@ $MAKE uninstall
 test `find "$instdir" -type f -print | wc -l` = 0
 
 # Try whether we don't exceed the low limit.
-INSTALL='$(SHELL) $(top_builddir)/myinstall' $MAKE -e install
+$MAKE install INSTALL='$(SHELL) $(top_builddir)/myinstall'
 env save_PATH="$PATH" PATH="`pwd`/..$PATH_SEPARATOR$PATH" $MAKE uninstall
 
 cd $subdir
diff --git a/tests/instspc.tap b/tests/instspc.tap
index 914b36c..ac18e1d 100755
--- a/tests/instspc.tap
+++ b/tests/instspc.tap
@@ -302,7 +302,7 @@ for test_name in $test_names_list; do
     r=ok
     ../configure --prefix "/$test_string-prefix" \
       && $MAKE all \
-      && DESTDIR="$dest" file="./$test_string" $MAKE -e test-inst \
+      && $MAKE DESTDIR="$dest" file="./$test_string" test-inst \
       || r='not ok'
 
     description="$test_name in ${where}dir"
diff --git a/tests/javaflags.test b/tests/javaflags.test
index 2b1e471..0e1d45d 100755
--- a/tests/javaflags.test
+++ b/tests/javaflags.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2011 Free Software Foundation, Inc.
+# 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
@@ -24,10 +24,6 @@ echo "$*" > javaflags.list
 END
 chmod a+x fake-javac
 
-# Remove JAVAC from the environment, so that it won't interfere
-# with `make -e' below.
-unset JAVAC || :
-
 cat >> configure.in <<'END'
 AC_PROG_CC
 # Simulate presence of the java compiler using our fake-javac script.
@@ -50,7 +46,7 @@ grep '\$(JAVACFLAGS).*\$(AM_JAVACFLAGS)' Makefile.in && Exit 1
 
 $AUTOCONF
 ./configure
-env JAVACFLAGS=__user_flags__ $MAKE -e
+$MAKE JAVACFLAGS=__user_flags__
 
 ls -l
 
diff --git a/tests/lflags.test b/tests/lflags.test
index 63e1073..59b36f2 100755
--- a/tests/lflags.test
+++ b/tests/lflags.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2010, 2011 Free Software Foundation, Inc.
+# Copyright (C) 2010, 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
@@ -29,10 +29,6 @@ echo 'extern int dummy;' >> lex.yy.c
 END
 chmod a+x fake-lex
 
-# Remove Lex from the environment, so that it won't interfere
-# with `make -e' below.
-unset LEX || :
-
 cat >> configure.in <<'END'
 AC_SUBST([CC], [false])
 # Simulate presence of Lex using our fake-lex script.
@@ -62,7 +58,7 @@ grep '\$(LFLAGS).*\$(AM_LFLAGS)' Makefile.in && Exit 1
 
 $AUTOCONF
 ./configure
-env LFLAGS=__user_flags__ $MAKE -e foo.c bar-bar.c
+$MAKE foo.c bar-bar.c LFLAGS=__user_flags__
 
 cat foo.c
 cat bar-bar.c
diff --git a/tests/lflags2.test b/tests/lflags2.test
index 139c800..7fd0b8b 100755
--- a/tests/lflags2.test
+++ b/tests/lflags2.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2010, 2011 Free Software Foundation, Inc.
+# Copyright (C) 2010, 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
@@ -28,10 +28,6 @@ echo 'extern int dummy;' >> lex.yy.c
 END
 chmod a+x fake-lex
 
-# Remove Lex from the environment, so that it won't interfere
-# with `make -e' below.
-unset LEX || :
-
 cat >> configure.in <<'END'
 AC_SUBST([CXX], [false])
 # Simulate presence of Lex using our fake-lex script.
@@ -61,7 +57,7 @@ grep '\$(LFLAGS).*\$(AM_LFLAGS)' Makefile.in && Exit 1
 
 $AUTOCONF
 ./configure
-env LFLAGS=__user_flags__ $MAKE -e foo.cc bar-bar.c++
+$MAKE foo.cc bar-bar.c++ LFLAGS=__user_flags__
 
 cat foo.cc
 cat bar-bar.c++
diff --git a/tests/libtool9.test b/tests/libtool9.test
index d21ff55..9d59a50 100755
--- a/tests/libtool9.test
+++ b/tests/libtool9.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2005, 2011 Free Software Foundation, Inc.
+# Copyright (C) 2005, 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
@@ -85,9 +85,11 @@ $AUTOCONF
 $AUTOMAKE --add-missing --copy
 
 ./configure
-env LDFLAGS=ldflags AM_LDFLAGS=am_ldflags libmod1_la_LDFLAGS=lm1_la_ldflags \
-    CFLAGS=cflags AM_CFLAGS=am_cflags prg2_CFLAGS=prg2_cflags \
-    $MAKE -e print >output 2>&1 || { cat output; Exit 1; }
+$MAKE LDFLAGS=ldflags AM_LDFLAGS=am_ldflags \
+      CFLAGS=cflags AM_CFLAGS=am_cflags \
+      libmod1_la_LDFLAGS=lm1_la_ldflags \
+      prg2_CFLAGS=prg2_cflags \
+      print >output 2>&1 || { cat output; Exit 1; }
 cat output
 grep '1BEG: libmod1.la mod2.la :END1' output
 grep '2BEG: mod2.la :END2' output
diff --git a/tests/man3.test b/tests/man3.test
index ff49d87..1838b09 100755
--- a/tests/man3.test
+++ b/tests/man3.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2008, 2010, 2011 Free Software Foundation, Inc.
+# Copyright (C) 2008, 2010, 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
@@ -39,6 +39,6 @@ $ACLOCAL
 $AUTOMAKE
 $AUTOCONF
 ./configure
-DISTCHECK_CONFIGURE_FLAGS=foo=bar $MAKE -e distcheck
+$MAKE distcheck DISTCHECK_CONFIGURE_FLAGS="foo=bar"
 
 :
diff --git a/tests/mmodely.test b/tests/mmodely.test
index 4457bb0..111dc8b 100755
--- a/tests/mmodely.test
+++ b/tests/mmodely.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2004, 2006, 2007, 2009, 2010, 2011 Free Software
+# Copyright (C) 2004, 2006, 2007, 2009, 2010, 2011, 2012 Free Software
 # Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
@@ -88,7 +88,9 @@ PATH="`pwd`$PATH_SEPARATOR$PATH"
 # per GNU Standard.
 $MAKE maintainer-clean
 ./configure
-YACC="myyacc.sh" LEX="mylex.sh" \
-   LEX_OUTPUT_ROOT='lex.yy' $MAKE -e zardoz.c joe.c
+$MAKE zardoz.c joe.c YACC="myyacc.sh" LEX="mylex.sh" \
+                     LEX_OUTPUT_ROOT='lex.yy' 
 grep zardoz.y zardoz.c
 grep joe.l joe.c
+
+:
diff --git a/tests/parallel-tests-cmdline-override.test 
b/tests/parallel-tests-cmdline-override.test
index c12156e..238edb8 100755
--- a/tests/parallel-tests-cmdline-override.test
+++ b/tests/parallel-tests-cmdline-override.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2011 Free Software Foundation, Inc.
+# 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
@@ -61,7 +61,7 @@ END
 
 do_check ()
 {
-  env "$@" $MAKE -e check >stdout || { cat stdout; Exit 1; }
+  $MAKE "$@" check >stdout || { cat stdout; Exit 1; }
   cat stdout
   grep '^PASS:' stdout | LC_ALL=C sort > got-out
   cat got-out
diff --git a/tests/parallel-tests-empty-testlogs.test 
b/tests/parallel-tests-empty-testlogs.test
index ea8e705..7e8c9a2 100755
--- a/tests/parallel-tests-empty-testlogs.test
+++ b/tests/parallel-tests-empty-testlogs.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2011 Free Software Foundation, Inc.
+# 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
@@ -69,12 +69,12 @@ for vpath in : false; do
   fi
   $srcdir/configure
   cd sub1
-  VERBOSE=yes $MAKE check
+  $MAKE check VERBOSE=yes
   no_test_has_run
   cd ../sub2
-  VERBOSE=yes TESTS='' $MAKE -e check
+  $MAKE check VERBOSE=yes TESTS=''
   no_test_has_run
-  VERBOSE=yes TEST_LOGS='' $MAKE -e check
+  $MAKE check VERBOSE=yes TEST_LOGS=''
   no_test_has_run
   cd ..
   $MAKE check
diff --git a/tests/parallel-tests-exit-statuses.test 
b/tests/parallel-tests-exit-statuses.test
index a2e56a4..ff5228e 100755
--- a/tests/parallel-tests-exit-statuses.test
+++ b/tests/parallel-tests-exit-statuses.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2011 Free Software Foundation, Inc.
+# 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
@@ -68,9 +68,10 @@ $AUTOMAKE -a
 sed 's/^FAIL:/XFAIL:/' exp-fail | LC_ALL=C sort > exp-xfail-1
 sed '/^ERROR:/d' exp-xfail-1 > exp-xfail-2
 
-sort exp-fail
-sort exp-xfail-1
-sort exp-xfail-2
+# For debugging.
+cat exp-fail
+cat exp-xfail-1
+cat exp-xfail-2
 
 ./configure
 
@@ -83,7 +84,7 @@ LC_ALL=C grep '^[A-Z][A-Z]*:' stdout | LC_ALL=C sort > 
got-fail
 diff exp-fail got-fail
 
 st=1
-XFAIL_TESTS="$failure_statuses 99" $MAKE -e check >stdout && st=0
+$MAKE check XFAIL_TESTS="$failure_statuses 99" >stdout && st=0
 cat stdout
 cat test-suite.log
 test $st -gt 0 || Exit 1
@@ -91,8 +92,10 @@ LC_ALL=C grep '^[A-Z][A-Z]*:' stdout | LC_ALL=C sort > 
got-xfail-1
 diff exp-xfail-1 got-xfail-1
 
 st=0
-XFAIL_TESTS="$failure_statuses" TESTS="0 77 $failure_statuses" \
-  $MAKE -e check >stdout || st=$?
+$MAKE check \
+  XFAIL_TESTS="$failure_statuses" \
+  TESTS="0 77 $failure_statuses" \
+  > stdout || st=$?
 cat stdout
 cat test-suite.log
 test $st -eq 0 || Exit 1
diff --git a/tests/parallel-tests-extra-programs.test 
b/tests/parallel-tests-extra-programs.test
index 51d6ef3..5c5242c 100755
--- a/tests/parallel-tests-extra-programs.test
+++ b/tests/parallel-tests-extra-programs.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2011 Free Software Foundation, Inc.
+# 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
@@ -152,7 +152,7 @@ $sleep
 echo 'int main (void) { return 0; }' > none.c
 
 st=0
-RECHECK_LOGS= $MAKE -e check >stdout || st=$?
+$MAKE check RECHECK_LOGS= >stdout || st=$?
 cat stdout
 ls -l
 test $st -eq 0 || Exit 1
diff --git a/tests/parallel-tests-fork-bomb.test 
b/tests/parallel-tests-fork-bomb.test
index 8e13394..62cc3e7 100755
--- a/tests/parallel-tests-fork-bomb.test
+++ b/tests/parallel-tests-fork-bomb.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2011 Free Software Foundation, Inc.
+# 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
@@ -58,7 +58,7 @@ do_check ()
 {
   st=0
   log=$1; shift
-  env "$@" $MAKE -e check >output 2>&1 || st=$?
+  $MAKE "$@" check >output 2>&1 || st=$?
   cat output
   $FGREP '::OOPS::' output && Exit 1 # Possible infinite recursion.
   # Check that at least we don't create a botched global log file.
diff --git a/tests/parallel-tests-harderror.test 
b/tests/parallel-tests-harderror.test
index 3d453d2..654400d 100755
--- a/tests/parallel-tests-harderror.test
+++ b/tests/parallel-tests-harderror.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2011 Free Software Foundation, Inc.
+# 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
@@ -54,9 +54,7 @@ $AUTOMAKE -a
 
 # DISABLE_HARD_ERRORS is not defined as a make variable, so that it
 # should be possible to define either from the environment or from
-# command-line, also when recursive make invocations are involved,
-# and also without using the `-e' make flag; this should work also
-# for non-GNU make. Moreover, it shouldn't be necessary to define
+# command-line.  Moreover, it shouldn't be necessary to define
 # DISABLE_HARD_ERRORS to "yes" to really disable hard errors: any
 # non-empty value should do.
 $MAKE check DISABLE_HARD_ERRORS=yes
@@ -70,8 +68,7 @@ cat test-suite.log
 grep '^ERROR: foo$' test-suite.log
 
 cd sub
-# The `-e' is wanted here.
-DISABLE_HARD_ERRORS='' $MAKE -e check && Exit 1
+$MAKE DISABLE_HARD_ERRORS='' check && Exit 1
 cat test-suite.log
 grep '^ERROR: bar$' test-suite.log
 cd ..
diff --git a/tests/parallel-tests-log-compiler-1.test 
b/tests/parallel-tests-log-compiler-1.test
index 2618177..a726f9d 100755
--- a/tests/parallel-tests-log-compiler-1.test
+++ b/tests/parallel-tests-log-compiler-1.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc.
+# Copyright (C) 2009, 2010, 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
@@ -112,7 +112,7 @@ test -f bla.log
 test -f bli.suff.log
 test -f sub/test.log
 
-T_LOG_FLAGS=--bad $MAKE -e check && Exit 1
+$MAKE check T_LOG_FLAGS=--bad && Exit 1
 cat test-suite.log
 cat bla.log
 # With the above flag overridden, bla.t should fail ...
diff --git a/tests/parallel-tests-log-override-1.test 
b/tests/parallel-tests-log-override-1.test
index 1b007d7..2034979 100755
--- a/tests/parallel-tests-log-override-1.test
+++ b/tests/parallel-tests-log-override-1.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2011 Free Software Foundation, Inc.
+# 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
@@ -77,19 +77,19 @@ $MAKE clean
 test -f test-suite.log && Exit 99 # Sanity check.
 
 # Check that we can override the testsuite log file at runtime.
-TEST_SUITE_LOG=zardoz.log $MAKE -e check
+$MAKE check TEST_SUITE_LOG=zardoz.log
 ls -l
 test ! -f test-suite.log
 cat zardoz.log
 test_log_expected zardoz.log
 # Sanity check the distribution too (this also does minimal checks on
 # VPATH support).
-TEST_SUITE_LOG=zardoz.log $MAKE -e distcheck
+$MAKE distcheck TEST_SUITE_LOG=zardoz.log
 
 # Check that cleanup rules remove the correct file even when
 # user overrides are in place.
 cp orig test-suite.log
-TEST_SUITE_LOG=zardoz.log $MAKE -e clean
+$MAKE clean TEST_SUITE_LOG=zardoz.log
 ls -l
 test ! -f zardoz.log
 diff orig test-suite.log
@@ -98,11 +98,11 @@ diff orig test-suite.log
 # Also check that the testsuite log file doesn't need to be named
 # accordingly to the `*.log' pattern.
 chmod a-w test-suite.log
-TEST_SUITE_LOG=TheLogFile $MAKE -e check
+$MAKE check TEST_SUITE_LOG=TheLogFile
 ls -l
 diff orig test-suite.log
 test_log_expected TheLogFile
-TEST_SUITE_LOG=TheLogFile $MAKE -e clean
+$MAKE clean TEST_SUITE_LOG=TheLogFile
 ls -l
 test ! -f TheLogFile
 diff orig test-suite.log
diff --git a/tests/parallel-tests-log-override-2.test 
b/tests/parallel-tests-log-override-2.test
index da7366b..a66681c 100755
--- a/tests/parallel-tests-log-override-2.test
+++ b/tests/parallel-tests-log-override-2.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2011 Free Software Foundation, Inc.
+# 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
@@ -57,12 +57,13 @@ $AUTOMAKE -a
 
 ./configure
 
+# Extra quoting for the sake of Solaris sh bugs.
 for test_list_override in \
   'TESTS=pass.test skip.test' \
   'TEST_LOGS=pass.log skip.log'
 do
-  env TEST_SUITE_LOG=partial.log "$test_list_override" \
-    $MAKE -e check >stdout || { cat stdout; Exit 1; }
+  eval "\$MAKE TEST_SUITE_LOG=partial.log '$test_list_override'" \
+        check >stdout || { cat stdout; Exit 1; }
   cat stdout
   ls -l
   count_test_results total=2 pass=1 fail=0 skip=1 xfail=0 xpass=0 error=0
diff --git a/tests/parallel-tests-log-override-recheck.test 
b/tests/parallel-tests-log-override-recheck.test
index b969906..f5458ec 100755
--- a/tests/parallel-tests-log-override-recheck.test
+++ b/tests/parallel-tests-log-override-recheck.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2011 Free Software Foundation, Inc.
+# 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
@@ -66,7 +66,7 @@ $MAKE check >stdout && { cat stdout; Exit 1; }
 cat stdout
 
 chmod a-rw test-suite.log
-TEST_SUITE_LOG=my.log $MAKE -e recheck >stdout \
+$MAKE TEST_SUITE_LOG=my.log recheck >stdout \
   && { cat stdout; Exit 1; }
 cat stdout
 ls -l
@@ -79,7 +79,7 @@ for x in stdout my.log; do
 done
 
 chmod a-rw my.log
-BAZ_EXIT_STATUS=0 TEST_SUITE_LOG=my2.log $MAKE -e recheck >stdout \
+$MAKE BAZ_EXIT_STATUS=0 TEST_SUITE_LOG=my2.log recheck >stdout \
   && { cat stdout; Exit 1; }
 cat stdout
 ls -l
diff --git a/tests/parallel-tests-no-color-in-log.test 
b/tests/parallel-tests-no-color-in-log.test
index b69d6e1..9da4239 100755
--- a/tests/parallel-tests-no-color-in-log.test
+++ b/tests/parallel-tests-no-color-in-log.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2011 Free Software Foundation, Inc.
+# 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
@@ -57,7 +57,7 @@ $AUTOMAKE --add-missing
 
 ./configure
 mv config.log config-log # Avoid possible false positives below.
-AM_COLOR_TESTS=always $MAKE -e check && Exit 1
+$MAKE check AM_COLOR_TESTS=always && Exit 1
 $FGREP "$esc" *.log && Exit 1
 
 :
diff --git a/tests/parallel-tests.test b/tests/parallel-tests.test
index 1b03710..b1747a4 100755
--- a/tests/parallel-tests.test
+++ b/tests/parallel-tests.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc.
+# Copyright (C) 2009, 2010, 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
@@ -88,7 +88,7 @@ test ! -f test-suite.log
 # Note that this usage has a problem: the summary will only
 # take bar.log into account, because the $(TEST_SUITE_LOG) rule
 # does not "see" baz.log.  Hmm.
-env TESTS='bar.test' $MAKE -e check >stdout && { cat stdout; Exit 1; }
+$MAKE check TESTS=bar.test >stdout && { cat stdout; Exit 1; }
 cat stdout
 grep '^FAIL: baz\.test$' stdout
 grep '^ERROR: bar\.test$' stdout
@@ -104,7 +104,7 @@ test -f test-suite.log
 # Note that the previous test and this one taken together expose the timing
 # issue that requires the check-TESTS rule to always remove TEST_SUITE_LOG
 # before running the tests lazily.
-env RECHECK_LOGS= $MAKE -e check > stdout && { cat stdout; Exit 1; }
+$MAKE check RECHECK_LOGS= > stdout && { cat stdout; Exit 1; }
 cat stdout
 test -f foo.log
 grep '^PASS: foo\.test$' stdout
@@ -116,7 +116,7 @@ grep '^# ERROR: *1$' stdout
 
 # Now, explicitly retry with all test logs already updated, and ensure
 # that the summary is still displayed.
-env RECHECK_LOGS= $MAKE -e check > stdout && { cat stdout; Exit 1; }
+$MAKE check RECHECK_LOGS= > stdout && { cat stdout; Exit 1; }
 cat stdout
 grep foo.test stdout && Exit 1
 grep bar.test stdout && Exit 1
@@ -126,7 +126,7 @@ grep '^# FAIL: *1$' stdout
 grep '^# ERROR: *1$' stdout
 
 # Lazily rerunning only foo should only rerun this one test.
-env RECHECK_LOGS=foo.log $MAKE -e check > stdout && { cat stdout; Exit 1; }
+$MAKE check RECHECK_LOGS=foo.log > stdout && { cat stdout; Exit 1; }
 cat stdout
 grep foo.test stdout
 grep bar.test stdout && Exit 1
@@ -136,14 +136,14 @@ grep '^# FAIL: *1$' stdout
 grep '^# ERROR: *1$' stdout
 
 $MAKE clean
-env TEST_LOGS=baz.log $MAKE -e check > stdout && { cat stdout; Exit 1; }
+$MAKE check TEST_LOGS=baz.log > stdout && { cat stdout; Exit 1; }
 cat stdout
 grep foo.test stdout && Exit 1
 grep bar.test stdout && Exit 1
 grep baz.test stdout
 
 $MAKE clean
-env TESTS=baz.test $MAKE -e check > stdout && { cat stdout; Exit 1; }
+$MAKE check TESTS=baz.test > stdout && { cat stdout; Exit 1; }
 cat stdout
 grep foo.test stdout && Exit 1
 grep bar.test stdout && Exit 1
diff --git a/tests/parallel-tests2.test b/tests/parallel-tests2.test
index a9ef964..eadd68d 100755
--- a/tests/parallel-tests2.test
+++ b/tests/parallel-tests2.test
@@ -89,12 +89,12 @@ test ! -f bla
 
 # Always create the HTML output, even if there were no failures.
 rm -f mylog.html
-env TESTS=foo.test $MAKE -e check-html
+$MAKE TESTS=foo.test check-html
 test -f mylog.html
 
 # Create summarizing HTML output also with recheck-html.
 rm -f mylog.html
-env TESTS=foo.test $MAKE -e recheck-html
+$MAKE TESTS=foo.test recheck-html
 test -f mylog.html
 
 # Create HTML output for an individual test.
@@ -122,7 +122,7 @@ test ! -f mylog.html
 
 $MAKE clean
 test ! -f mylog.html
-env TEST_LOGS=foo.log $MAKE -e check-html
+$MAKE check-html TEST_LOGS=foo.log
 test -f bla
 test -f foo.log
 test ! -f bar.log
@@ -130,7 +130,7 @@ test ! -f baz.log
 test -f mylog.html
 
 $MAKE clean
-env TESTS=foo.test $MAKE -e recheck-html
+$MAKE recheck-html TESTS=foo.test 
 test -f bla
 test ! -f foo.log
 test -f mylog.html
diff --git a/tests/pr8365-remake-timing.test b/tests/pr8365-remake-timing.test
index 1b5d7a7..7325262 100755
--- a/tests/pr8365-remake-timing.test
+++ b/tests/pr8365-remake-timing.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2011 Free Software Foundation, Inc.
+# 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
@@ -98,9 +98,11 @@ END
 
 chmod a+x aclocal-wrap automake-wrap autoconf-wrap
 
-env \
-  ACLOCAL=./aclocal-wrap AUTOMAKE=./automake-wrap AUTOCONF=./autoconf-wrap \
-  $MAKE -e Makefile
+$MAKE ACLOCAL=./aclocal-wrap \
+      AUTOMAKE=./automake-wrap \
+      AUTOCONF=./autoconf-wrap \
+      Makefile
+
 grep '^FOOBAR =' Makefile.in
 grep '^FOOBAR *= *zardoz *$' Makefile
 
diff --git a/tests/python-virtualenv.test b/tests/python-virtualenv.test
index 7004446..0a31783 100755
--- a/tests/python-virtualenv.test
+++ b/tests/python-virtualenv.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2011 Free Software Foundation, Inc.
+# 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
@@ -161,14 +161,16 @@ $MAKE distclean
 
 # Overriding pythondir and pyexecdir at make time should be enough.
 ./configure --prefix="$cwd/bad-prefix"
-pythondir=$py_site pyexecdir=$py_site
+
+xMAKE () { $MAKE pythondir="$py_site" pyexecdir="$py_site" "$@"; }
+
 export pythondir pyexecdir
-$MAKE -e install
+xMAKE install
 test ! -d bad-prefix
-$MAKE -e test-install
-$MAKE test-run
-$MAKE -e uninstall
-$MAKE -e test-uninstall
+xMAKE test-install
+xMAKE test-run
+xMAKE uninstall
+xMAKE test-uninstall
 unset pythondir pyexecdir
 
 # Also check that the distribution is self-contained, for completeness.
diff --git a/tests/remake-subdir-long-time.test 
b/tests/remake-subdir-long-time.test
index 40f3e5f..29b41e2 100755
--- a/tests/remake-subdir-long-time.test
+++ b/tests/remake-subdir-long-time.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2011 Free Software Foundation, Inc.
+# 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
@@ -93,14 +93,14 @@ rm -f automake-has-run aclocal-has-run
 
 ./configure
 # Sanity check: Makefile doesn't get updated uselessly.
-ACLOCAL=false AUTOMAKE=false AUTOCONF=false $MAKE -e
+$MAKE ACLOCAL=false AUTOMAKE=false AUTOCONF=false
 
 $sleep
 sed "s|magic|magic2|" configure.in > t
 mv -f t configure.in
 
 cd sub
-AUTOMAKE="$AUTOMAKE" ACLOCAL="$ACLOCAL" $MAKE -e Makefile
+$MAKE Makefile AUTOMAKE="$AUTOMAKE" ACLOCAL="$ACLOCAL"
 cd ..
 
 # For debugging.
diff --git a/tests/subst-no-trailing-empty-line.test 
b/tests/subst-no-trailing-empty-line.test
index c638b54..2fb586e 100755
--- a/tests/subst-no-trailing-empty-line.test
+++ b/tests/subst-no-trailing-empty-line.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2003, 2006, 2011 Free Software Foundation, Inc.
+# Copyright (C) 2003, 2006, 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
@@ -88,7 +88,7 @@ grep '^BEG1: x :END1$' stdout
 grep '^BEG2: :END2$' stdout
 grep '^BEG3: zardoz x :END3$' stdout
 
-am__empty=X $MAKE -e print-programs >stdout || { cat stdout; Exit 1; }
+$MAKE am__empty=X print-programs >stdout || { cat stdout; Exit 1; }
 cat stdout
 grep '^BEG1: x X :END1$' stdout
 grep '^BEG2: X :END2$' stdout
diff --git a/tests/suffix11.tap b/tests/suffix11.tap
index 36bb086..bbf8dc0 100755
--- a/tests/suffix11.tap
+++ b/tests/suffix11.tap
@@ -1,5 +1,6 @@
 #! /bin/sh
-# Copyright (C) 2002, 2003, 2010, 2011 Free Software Foundation, Inc.
+# Copyright (C) 2002, 2003, 2010, 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
@@ -67,7 +68,7 @@ command_ok_ "warn about unportable make usage" \
 command_ok_ "automake" $AUTOMAKE -a -Wno-portability
 
 command_ok_ "configure"       ./configure
-command_ok_ "make test-fake"  env OBJEXT=foo $MAKE -e test-fake
+command_ok_ "make test-fake"  $MAKE test-fake OBJEXT=foo
 command_ok_ "make test-real"  $MAKE test-real
 command_ok_ "make"            $MAKE
 command_ok_ "make distcheck"  $MAKE distcheck
diff --git a/tests/suffix12.test b/tests/suffix12.test
index 4244bc2..2aa1c12 100755
--- a/tests/suffix12.test
+++ b/tests/suffix12.test
@@ -1,6 +1,6 @@
 #! /bin/sh
-# Copyright (C) 2002, 2003, 2006, 2010, 2011 Free Software Foundation,
-# Inc.
+# Copyright (C) 2002, 2003, 2006, 2010, 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
@@ -53,7 +53,7 @@ $AUTOMAKE -a
 
 ./configure
 
-OBJEXT=quux $MAKE -e test-fake
+$MAKE test-fake OBJEXT=quux 
 $MAKE test-real
 
 :
diff --git a/tests/suffix6c.test b/tests/suffix6c.test
index 7d1d7b5..82927da 100755
--- a/tests/suffix6c.test
+++ b/tests/suffix6c.test
@@ -1,5 +1,6 @@
 #! /bin/sh
-# Copyright (C) 2001, 2002, 2010, 2011 Free Software Foundation, Inc.
+# Copyright (C) 2001, 2002, 2010, 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
@@ -70,7 +71,7 @@ cat > foo.exp <<'END'
 %TWO%
 END
 echo %TWO% > foo.zoo
-OBJEXT=o $MAKE -e
+$MAKE OBJEXT=o
 cat foo.o
 cat foo.XxX
 diff foo.XxX foo.exp
@@ -82,7 +83,7 @@ cat > foo.exp <<'END'
 %THREE%
 END
 echo %THREE% > foo.zoo
-OBJEXT=obj $MAKE -e
+$MAKE OBJEXT=obj 
 cat foo.obj
 cat foo.XxX
 diff foo.XxX foo.exp
diff --git a/tests/suffix8.tap b/tests/suffix8.tap
index b402f98..ed6cd24 100755
--- a/tests/suffix8.tap
+++ b/tests/suffix8.tap
@@ -1,5 +1,6 @@
 #! /bin/sh
-# Copyright (C) 2002, 2003, 2010, 2011 Free Software Foundation, Inc.
+# Copyright (C) 2002, 2003, 2010, 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
@@ -76,7 +77,7 @@ command_ok_ "aclocal"    $ACLOCAL
 command_ok_ "autoconf"   $AUTOCONF
 command_ok_ "automake"   $AUTOMAKE -a
 command_ok_ "configure"  ./configure
-command_ok_ "make test0" env OBJEXT=foo $MAKE -e test0
+command_ok_ "make test0" $MAKE test0 OBJEXT=foo
 
 for target in test1 test2 all distcheck; do
   command_ok_ "make $target" $MAKE $target
diff --git a/tests/tap-autonumber.test b/tests/tap-autonumber.test
index c0b6d5d..43989d1 100755
--- a/tests/tap-autonumber.test
+++ b/tests/tap-autonumber.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2011 Free Software Foundation, Inc.
+# 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
@@ -45,7 +45,7 @@ not ok
 ok
 END
 
-TESTS=all.test $MAKE -e check >stdout && { cat stdout; Exit 1; }
+$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
 
diff --git a/tests/tap-bailout-leading-space.test 
b/tests/tap-bailout-leading-space.test
index 1615c09..1cf8940 100755
--- a/tests/tap-bailout-leading-space.test
+++ b/tests/tap-bailout-leading-space.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2011 Free Software Foundation, Inc.
+# 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
@@ -51,8 +51,7 @@ ERROR: b.test - Bail out!
 ERROR: c.test - Bail out! FUBAR!
 END
 
-TESTS='a.test b.test c.test' $MAKE -e check >stdout \
-  && { cat stdout; Exit 1; }
+$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
diff --git a/tests/tap-bailout-suppress-later-errors.test 
b/tests/tap-bailout-suppress-later-errors.test
index c636289..c6a6e4a 100755
--- a/tests/tap-bailout-suppress-later-errors.test
+++ b/tests/tap-bailout-suppress-later-errors.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2011 Free Software Foundation, Inc.
+# 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
@@ -53,7 +53,7 @@ ok 2
 ok 3
 END
 
-TESTS='foo.test bar.test baz.test' $MAKE -e check >stdout \
+$MAKE TESTS='foo.test bar.test baz.test' check >stdout \
   && { cat stdout; Exit 1; }
 cat stdout
 
diff --git a/tests/tap-bailout.test b/tests/tap-bailout.test
index d5b6330..724609e 100755
--- a/tests/tap-bailout.test
+++ b/tests/tap-bailout.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2011 Free Software Foundation, Inc.
+# 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
@@ -119,7 +119,7 @@ echo "ERROR: e.test - Bail out!" >> exp
 # Doing the sums above, we have:
 test_counts='total=12 pass=3 fail=1 xpass=1 xfail=1 skip=1 error=5'
 
-TESTS='a.test b.test c.test d.test e.test' $MAKE -e check >stdout \
+$MAKE TESTS='a.test b.test c.test d.test e.test' check >stdout \
   && { cat stdout; Exit 1; }
 cat stdout
 
diff --git a/tests/tap-basic.test b/tests/tap-basic.test
index 8e39161..aa31ac7 100755
--- a/tests/tap-basic.test
+++ b/tests/tap-basic.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2011 Free Software Foundation, Inc.
+# 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
@@ -128,7 +128,7 @@ Bail out!
 ok 1
 END
 
-TESTS=bail.test $MAKE -e check >stdout && { cat stdout; Exit 1; }
+$MAKE TESTS=bail.test 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
@@ -147,7 +147,7 @@ $FGREP 'success.test' stdout && Exit 1
 
 rm -f *.log *.test
 
-TEST_LOGS=ok.log $MAKE -e check >stdout || { cat stdout; Exit 1; }
+$MAKE TEST_LOGS=ok.log check >stdout || { cat stdout; Exit 1; }
 cat stdout
 
 count_test_results total=3 pass=1 fail=0 xpass=0 xfail=1 skip=1 error=0
diff --git a/tests/tap-color.test b/tests/tap-color.test
index 5884a2b..3ad0d5c 100755
--- a/tests/tap-color.test
+++ b/tests/tap-color.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2011 Free Software Foundation, Inc.
+# 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
@@ -162,11 +162,13 @@ test_no_color ()
   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 -e check >stdout && { cat stdout; Exit 1; }
+$MAKE check >stdout && { cat stdout; Exit 1; }
 cat stdout
 test_no_color
 
diff --git a/tests/tap-diagnostic.test b/tests/tap-diagnostic.test
index 16101af..480e9b3 100755
--- a/tests/tap-diagnostic.test
+++ b/tests/tap-diagnostic.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2011 Free Software Foundation, Inc.
+# 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
@@ -67,7 +67,7 @@ cat got
 diff exp got
 count_test_results total=4 pass=2 fail=0 xpass=0 xfail=1 skip=1 error=0
 
-TEST_LOG_DRIVER_FLAGS="--no-comments" $MAKE -e check >stdout \
+$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
diff --git a/tests/tap-doc2.test b/tests/tap-doc2.test
index 87aa6ed..2d64072 100755
--- a/tests/tap-doc2.test
+++ b/tests/tap-doc2.test
@@ -105,10 +105,10 @@ diff exp got
 
 grep '^Please report to address@hidden' stdout
 
-env \
+$MAKE check \
   TESTS='foo.test baz.test' \
   TEST_LOG_DRIVER_FLAGS='--comments --ignore-exit' \
-  $MAKE -e check >stdout || { cat stdout; Exit 1; }
+    > stdout || { cat stdout; Exit 1; }
 
 cat > exp <<'END'
 PASS: foo.test 1 - Swallows fly
diff --git a/tests/tap-global-log.test b/tests/tap-global-log.test
index a442602..18a4b94 100755
--- a/tests/tap-global-log.test
+++ b/tests/tap-global-log.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2011 Free Software Foundation, Inc.
+# 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
@@ -103,7 +103,7 @@ cat > skipall.test << 'END'
 END
 
 # We don't care about the exit status of "make check" here.
-TESTS="`echo *.test`" $MAKE -e check || :
+$MAKE TESTS="`echo *.test`" check || :
 cat test-suite.log
 
 grep ':.*ok|not seen' test-suite.log && Exit 1
diff --git a/tests/tap-global-result.test b/tests/tap-global-result.test
index ff825da..ee67d06 100755
--- a/tests/tap-global-result.test
+++ b/tests/tap-global-result.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2011 Free Software Foundation, Inc.
+# 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
@@ -141,7 +141,7 @@ END
 
 tests=`echo *.test` # Also required later.
 
-TESTS="$tests" $MAKE -e check >stdout && { cat stdout; Exit 1; }
+$MAKE TESTS="$tests" check >stdout && { cat stdout; Exit 1; }
 cat stdout
 
 # Dirty trick required here.
@@ -150,7 +150,7 @@ for tst in `echo " $tests " | sed 's/.test / /'`; do
 done
 
 rm -f test-suite.log
-TESTS="$tests" $MAKE -e test-suite.log && Exit 1
+$MAKE TESTS="$tests" test-suite.log && Exit 1
 cat test-suite.log
 
 have_rst_section ()
diff --git a/tests/tap-log.test b/tests/tap-log.test
index ff832f2..8d895f1 100755
--- a/tests/tap-log.test
+++ b/tests/tap-log.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2011 Free Software Foundation, Inc.
+# 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
@@ -86,7 +86,7 @@ END
 
 chmod a+x *.test
 
-TEST_SUITE_LOG=my.log $MAKE -e check && Exit 1
+$MAKE check TEST_SUITE_LOG=my.log && Exit 1
 ls -l # For debugging.
 test ! -f test-suite.log
 test ! -f global.log
@@ -117,7 +117,7 @@ $FGREP 'xpass.test' my.log
 $FGREP 'error.test' my.log
 
 touch error2.log test-suite.log global.log
-TEST_SUITE_LOG=my.log $MAKE -e mostlyclean
+$MAKE mostlyclean TEST_SUITE_LOG=my.log
 ls -l # For debugging.
 test ! -f my.log
 test ! -f pass.log
diff --git a/tests/tap-merge-stdout-stderr.test 
b/tests/tap-merge-stdout-stderr.test
index 6c07048..80e7159 100755
--- a/tests/tap-merge-stdout-stderr.test
+++ b/tests/tap-merge-stdout-stderr.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2011 Free Software Foundation, Inc.
+# 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
@@ -61,7 +61,7 @@ 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'.
 
-TEST_LOG_DRIVER_FLAGS=--no-merge $MAKE -e check >stdout \
+$MAKE check TEST_LOG_DRIVER_FLAGS=--no-merge >stdout \
   || { cat stdout; Exit 1; }
 cat stdout
 
diff --git a/tests/tap-msg0-bailout.test b/tests/tap-msg0-bailout.test
index 9e326b4..f87e66e 100755
--- a/tests/tap-msg0-bailout.test
+++ b/tests/tap-msg0-bailout.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2011 Free Software Foundation, Inc.
+# 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
@@ -27,7 +27,7 @@ am_parallel_tests=yes
 echo 'Bail out! 0' > a.test
 echo 'Bail out! 0.0' > b.test
 
-TESTS='a.test b.test' $MAKE -e check >stdout && { cat stdout; Exit 1; }
+$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
diff --git a/tests/tap-msg0-planskip.test b/tests/tap-msg0-planskip.test
index d10acc3..76ae8ee 100755
--- a/tests/tap-msg0-planskip.test
+++ b/tests/tap-msg0-planskip.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2011 Free Software Foundation, Inc.
+# 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
@@ -26,7 +26,7 @@ am_parallel_tests=yes
 echo '1..0 # SKIP 0' > a.test
 echo '1..0 # SKIP 0.0' > b.test
 
-TESTS='a.test b.test' $MAKE -e check >stdout || { cat stdout; Exit 1; }
+$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
diff --git a/tests/tap-out-of-order.test b/tests/tap-out-of-order.test
index 0e3beba..4b697da 100755
--- a/tests/tap-out-of-order.test
+++ b/tests/tap-out-of-order.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2011 Free Software Foundation, Inc.
+# 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
@@ -58,7 +58,7 @@ ok 16
 ok 17
 END
 
-TESTS='a.test b.test c.test d.test' $MAKE -e check >stdout \
+$MAKE TESTS='a.test b.test c.test d.test' check >stdout \
   && { cat stdout; Exit 1; }
 cat stdout
 
diff --git a/tests/tap-passthrough-exit.test b/tests/tap-passthrough-exit.test
index a232601..d4d439f 100755
--- a/tests/tap-passthrough-exit.test
+++ b/tests/tap-passthrough-exit.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2011 Free Software Foundation, Inc.
+# 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
@@ -53,7 +53,7 @@ for e in $exit_statuses; do
   done
 done
 
-env TEST_LOG_DRIVER_FLAGS='--ignore-exit' $MAKE -e check
+$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
index 28501cd..cc2b1a0 100755
--- a/tests/tap-passthrough.test
+++ b/tests/tap-passthrough.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2011 Free Software Foundation, Inc.
+# 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
@@ -47,7 +47,7 @@ ok # SKIP who cares?
 $weirdchars
 END
 
-TESTS=ok.test $MAKE -e check || { cat ok.log; Exit 1; }
+$MAKE TESTS=ok.test check || { cat ok.log; Exit 1; }
 cat ok.log
 
 for rx in \
@@ -116,8 +116,8 @@ Last line
 END
 
 st=0
-env TESTS='tiny.test ok.test ko.test bail.test skip.test err.test' \
-  $MAKE -e check || st=$?
+$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
diff --git a/tests/tap-plan-corner.test b/tests/tap-plan-corner.test
index 7718930..c1bf41b 100755
--- a/tests/tap-plan-corner.test
+++ b/tests/tap-plan-corner.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2011 Free Software Foundation, Inc.
+# 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
@@ -37,7 +37,7 @@ ok 1
 END
 
 for pos in leading trailing; do
-  TESTS="$pos-repeated.test" $MAKE -e check >stdout \
+  $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
@@ -60,8 +60,8 @@ ok 2
 1..2
 END
 
-env TESTS="leading-repeated.test trailing-repeated.test" \
-  $MAKE -e check >stdout && { cat stdout; Exit 1; }
+$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
@@ -91,8 +91,8 @@ cat > 4.test <<END
 1..0 # SKIP
 END
 
-env TESTS="1.test 2.test 3.test 4.test" \
-  $MAKE -e check >stdout && { cat stdout; Exit 1; }
+$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
@@ -113,7 +113,7 @@ ok 4
 ok 5
 END
 
-$MAKE -e check >stdout && { cat stdout; Exit 1; }
+$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
 
@@ -144,7 +144,7 @@ ok 2
 ok 3
 END
 
-$MAKE -e check >stdout && { cat stdout; Exit 1; }
+$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
 
@@ -175,7 +175,7 @@ ok 4
 ok 5
 END
 
-$MAKE -e check >stdout && { cat stdout; Exit 1; }
+$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
 
diff --git a/tests/tap-plan-leading-zero.test b/tests/tap-plan-leading-zero.test
index 14bf439..8349587 100755
--- a/tests/tap-plan-leading-zero.test
+++ b/tests/tap-plan-leading-zero.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2011 Free Software Foundation, Inc.
+# 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
@@ -48,8 +48,8 @@ done >> d.test
 echo 1..00 > e.test
 echo '1..000 # SKIP' > f.test
 
-env TESTS='a.test b.test c.test d.test e.test f.test' \
-  $MAKE -e check >stdout || { cat stdout; Exit 1; }
+$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
index 8b0fa8a..b92d5c9 100755
--- a/tests/tap-plan-malformed.test
+++ b/tests/tap-plan-malformed.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2011 Free Software Foundation, Inc.
+# 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
@@ -48,7 +48,7 @@ END
 
 tests_list=`echo *.test`
 
-TESTS="$tests_list" $MAKE -e check >stdout && { cat stdout; Exit 1; }
+$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
diff --git a/tests/tap-plan-middle.test b/tests/tap-plan-middle.test
index 7e90944..ccd4605 100755
--- a/tests/tap-plan-middle.test
+++ b/tests/tap-plan-middle.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2011 Free Software Foundation, Inc.
+# 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
@@ -74,8 +74,8 @@ END
 tests=`echo *.test`
 
 for tap_flags in "" "--comments"; do
-  env TEST_LOG_DRIVER_FLAGS="$tap_flags" TESTS="$tests" \
-    $MAKE -e check >stdout || { cat stdout; Exit 1; }
+  $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
index c62f751..95e20fd 100755
--- a/tests/tap-plan-whitespace.test
+++ b/tests/tap-plan-whitespace.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2011 Free Software Foundation, Inc.
+# 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
@@ -33,7 +33,7 @@ cat > bar.test <<END
 ok 1
 END
 
-TESTS='foo.test bar.test' $MAKE -e check >stdout || { cat stdout; Exit 1; }
+$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
index 6b0513a..39b827f 100755
--- a/tests/tap-plan.test
+++ b/tests/tap-plan.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2011 Free Software Foundation, Inc.
+# 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
@@ -42,8 +42,8 @@ ok
 END
 
 for tap_flags in "" "--comments"; do
-  env TEST_LOG_DRIVER_FLAGS="$tap_flags" TESTS='top.test bot.test' \
-    $MAKE -e check >stdout || { cat stdout; Exit 1; }
+  $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
index 9059a38..853bfe8 100755
--- a/tests/tap-planskip-and-logging.test
+++ b/tests/tap-planskip-and-logging.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2011 Free Software Foundation, Inc.
+# 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
@@ -46,7 +46,7 @@ an early non-TAP line
 a later non-TAP line
 END
 
-TESTS='foo.test foo2.test bar.test' $MAKE -e check >stdout \
+$MAKE TESTS='foo.test foo2.test bar.test' check >stdout \
   || { cat stdout; Exit 1; }
 cat stdout
 
diff --git a/tests/tap-planskip-case-insensitive.test 
b/tests/tap-planskip-case-insensitive.test
index 6ae8b63..2f6f1cc 100755
--- a/tests/tap-planskip-case-insensitive.test
+++ b/tests/tap-planskip-case-insensitive.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2011 Free Software Foundation, Inc.
+# 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
@@ -34,7 +34,7 @@ for c4 in p P; do
   echo "1..0 # $c1$c2$c3$c4 foobar" > $i.test
 done; done; done; done
 
-TESTS="`echo *.test`" $MAKE -e check >stdout || { cat stdout; Exit 1; }
+$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
diff --git a/tests/tap-planskip-late.test b/tests/tap-planskip-late.test
index a246bb9..2e8d965 100755
--- a/tests/tap-planskip-late.test
+++ b/tests/tap-planskip-late.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2011 Free Software Foundation, Inc.
+# 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
@@ -33,7 +33,7 @@ cat > bar.test <<END
 1..0
 END
 
-TESTS='foo.test bar.test' $MAKE -e check >stdout || { cat stdout; Exit 1; }
+$MAKE TESTS='foo.test bar.test' check >stdout || { cat stdout; Exit 1; }
 cat stdout
 
 grep '^SKIP: foo\.test .* from the last line$' stdout
diff --git a/tests/tap-planskip-unplanned-corner.test 
b/tests/tap-planskip-unplanned-corner.test
index a2ee90a..8435cb3 100755
--- a/tests/tap-planskip-unplanned-corner.test
+++ b/tests/tap-planskip-unplanned-corner.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2011 Free Software Foundation, Inc.
+# 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
@@ -33,7 +33,7 @@ ok 1 # SKIP
 1..0 # SKIP
 END
 
-TESTS='foo.test bar.test' $MAKE -e check >stdout && { cat stdout; Exit 1; }
+$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
diff --git a/tests/tap-planskip-whitespace.test 
b/tests/tap-planskip-whitespace.test
index 7962e19..6448f5c 100755
--- a/tests/tap-planskip-whitespace.test
+++ b/tests/tap-planskip-whitespace.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2011 Free Software Foundation, Inc.
+# 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
@@ -35,7 +35,7 @@ cat > baz.test <<END
 1..0 #  SKIP${tab}  Strip${tab}external  preserve ${tab}middle  ${tab}${sp}
 END
 
-TESTS='foo.test bar.test baz.test' $MAKE -e check > stdout \
+$MAKE TESTS='foo.test bar.test baz.test' check > stdout \
   || { cat stdout; Exit 1; }
 cat stdout
 
diff --git a/tests/tap-planskip.test b/tests/tap-planskip.test
index 0f24462..3108983 100755
--- a/tests/tap-planskip.test
+++ b/tests/tap-planskip.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2011 Free Software Foundation, Inc.
+# 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
@@ -57,8 +57,8 @@ cat > mu.test <<END
 1..0 # SKIP $weirdchars
 END
 
-env TESTS='foo.test bar.test baz.test wget.test curl.test mu.test' \
-  $MAKE -e check >stdout || { cat stdout; Exit 1; }
+$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
diff --git a/tests/tap-recheck-logs.test b/tests/tap-recheck-logs.test
index d7852c6..16ae7c7 100755
--- a/tests/tap-recheck-logs.test
+++ b/tests/tap-recheck-logs.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2011 Free Software Foundation, Inc.
+# 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
@@ -59,14 +59,14 @@ grep_summary ()
   grep '^# ERROR: *1$' stdout
 }
 
-$MAKE -e check && Exit 1
+$MAKE check && Exit 1
 test -f foo.log
 test -f bar.log
 test -f baz.log
 
 rm -f foo.log bar.log
 
-env RECHECK_LOGS= $MAKE -e check > stdout && { cat stdout; Exit 1; }
+$MAKE RECHECK_LOGS= check > stdout && { cat stdout; Exit 1; }
 cat stdout
 test -f foo.log
 test -f bar.log
@@ -81,7 +81,7 @@ 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.
-env RECHECK_LOGS= $MAKE -e check > stdout && { cat stdout; Exit 1; }
+$MAKE RECHECK_LOGS= check > stdout && { cat stdout; Exit 1; }
 cat stdout
 grep '^PASS: foo\.test 1$' stdout
 grep '^PASS: foo\.test 2$' stdout
@@ -91,7 +91,7 @@ grep_summary
 
 $sleep
 touch zardoz
-env RECHECK_LOGS= $MAKE -e check > stdout && { cat stdout; Exit 1; }
+$MAKE RECHECK_LOGS= check > stdout && { cat stdout; Exit 1; }
 cat stdout
 grep '^ERROR: baz\.test' stdout
 $EGREP '(foo|bar)\.test' stdout && Exit 1
@@ -100,7 +100,7 @@ grep_summary
 
 # Now, explicitly retry with all test logs already updated, and ensure
 # that the summary is still displayed.
-env RECHECK_LOGS= $MAKE -e check > stdout && { cat stdout; Exit 1; }
+$MAKE RECHECK_LOGS= check > stdout && { cat stdout; Exit 1; }
 cat stdout
 $EGREP '(foo|bar|baz)\.test' stdout && Exit 1
 grep_summary
@@ -108,7 +108,7 @@ grep_summary
 # The following should re-run foo.test (and only foo.test), even if its
 # log file is up-to-date.
 : > older
-env RECHECK_LOGS=foo.log $MAKE -e check > stdout && { cat stdout; Exit 1; }
+$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
diff --git a/tests/tap-summary-aux.sh b/tests/tap-summary-aux.sh
index f98f4e3..b35565a 100755
--- a/tests/tap-summary-aux.sh
+++ b/tests/tap-summary-aux.sh
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2011 Free Software Foundation, Inc.
+# 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
@@ -56,7 +56,7 @@ do_check ()
   cat all.test
   st=0
   if test $use_colors = yes; then
-    make_cmd="env AM_COLOR_TESTS=always $MAKE -e"
+    make_cmd="$MAKE AM_COLOR_TESTS=always"
   else
     make_cmd=$MAKE
   fi
diff --git a/tests/tap-test-number-0.test b/tests/tap-test-number-0.test
index 6e77a5d..a198083 100755
--- a/tests/tap-test-number-0.test
+++ b/tests/tap-test-number-0.test
@@ -71,7 +71,7 @@ cat > e.test <<END
 ok 0 # TODO
 END
 
-TESTS='a.test b.test c.test d.test e.test' $MAKE -e check >stdout \
+$MAKE TESTS='a.test b.test c.test d.test e.test' check >stdout \
   && { cat stdout; Exit 1; }
 cat stdout
 
diff --git a/tests/tap-unplanned.test b/tests/tap-unplanned.test
index 7d131d4..4244104 100755
--- a/tests/tap-unplanned.test
+++ b/tests/tap-unplanned.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2011 Free Software Foundation, Inc.
+# 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
@@ -54,7 +54,7 @@ ok 3
 not ok 4
 ok 5 # SKIP
 END
-XFAIL_TESTS=all.test $MAKE -e check >stdout && { cat stdout; Exit 1; }
+$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
diff --git a/tests/test-driver-custom-multitest-recheck2.test 
b/tests/test-driver-custom-multitest-recheck2.test
index 9f43b77..94d8d3b 100755
--- a/tests/test-driver-custom-multitest-recheck2.test
+++ b/tests/test-driver-custom-multitest-recheck2.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2011 Free Software Foundation, Inc.
+# 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
@@ -96,7 +96,7 @@ for vpath in : false; do
 
   : An empty '$(TESTS)' or '$(TEST_LOGS)' means that no test should be run.
   for var in TESTS TEST_LOGS; do
-    env "$var=" $MAKE -e recheck >stdout || { cat stdout; Exit 1; }
+    $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
@@ -106,8 +106,7 @@ for vpath in : false; do
   unset var
 
   : a.test was sucessfull the first time, no need to re-run it.
-  env TESTS=a.test $MAKE -e recheck >stdout \
-    || { cat stdout; Exit 1; }
+  $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
@@ -116,8 +115,7 @@ for vpath in : false; do
 
   : b.test failed, it should be re-run.  And make it pass this time.
   echo OK > b.ok
-  TEST_LOGS=b.log $MAKE -e recheck >stdout \
-    || { cat stdout; Exit 1; }
+  $MAKE TEST_LOGS=b.log recheck >stdout || { cat stdout; Exit 1; }
   cat stdout
   test ! -r a.run
   test -f b.run
@@ -127,15 +125,13 @@ for vpath in : false; do
   rm -f *.run
 
   : No need to re-run a.test or b.test anymore.
-  TEST_LOGS=b.log $MAKE -e recheck >stdout \
-    || { cat stdout; Exit 1; }
+  $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
-  TESTS='a.test b.test' $MAKE -e recheck >stdout \
-    || { cat stdout; Exit 1; }
+  $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
@@ -148,8 +144,7 @@ for vpath in : false; do
   # 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
-  env TEST_LOGS='a.log c.log' $MAKE -e recheck >stdout \
-    && { cat stdout; Exit 1; }
+  $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
@@ -162,8 +157,7 @@ for vpath in : false; do
   : This time, make it pass
   # Use `echo', not `:'; see comments above for why.
   echo dummy > c.ok
-  env TESTS='c.test a.test' $MAKE -e recheck >stdout \
-    || { cat stdout; Exit 1; }
+  $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
diff --git a/tests/test-driver-custom-multitest.test 
b/tests/test-driver-custom-multitest.test
index 1380ea7..6e7cdb2 100755
--- a/tests/test-driver-custom-multitest.test
+++ b/tests/test-driver-custom-multitest.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2011 Free Software Foundation, Inc.
+# 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
@@ -159,7 +159,7 @@ for vpath in : false; do
   grep '%% pass-xpass-fail-xfail-skip-error %%' test-suite.log
   test `grep -c '%% ' test-suite.log` -eq 4
 
-  TESTS='pass.t pass3-skip2-xfail.t' $MAKE -e check >stdout \
+  $MAKE TESTS='pass.t pass3-skip2-xfail.t' check >stdout \
     || { cat stdout; cat test-suite.log; Exit 1; }
   cat test-suite.log
   cat stdout
diff --git a/tests/test-log.test b/tests/test-log.test
index 144c866..a42cccb 100755
--- a/tests/test-log.test
+++ b/tests/test-log.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2011 Free Software Foundation, Inc.
+# 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
@@ -89,7 +89,7 @@ $AUTOMAKE -a
 
 ./configure
 
-TEST_SUITE_LOG=my.log $MAKE -e check && Exit 1
+$MAKE TEST_SUITE_LOG=my.log check && Exit 1
 ls -l # For debugging.
 test ! -f test-suite.log
 test ! -f global.log
@@ -131,7 +131,7 @@ have_rst_section 'XPASS: xpass' my.log
 have_rst_section 'ERROR: error' my.log
 
 touch error2.log test-suite.log global.log
-TEST_SUITE_LOG=my.log $MAKE -e mostlyclean
+$MAKE TEST_SUITE_LOG=my.log mostlyclean
 ls -l # For debugging.
 test ! -f my.log
 test ! -f pass.log
diff --git a/tests/test-missing.test b/tests/test-missing.test
index 4e9f286..885a4c7 100755
--- a/tests/test-missing.test
+++ b/tests/test-missing.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2011 Free Software Foundation, Inc.
+# 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
@@ -45,14 +45,12 @@ grep '^PASS: ok\.test' output
 $FGREP 'zardoz.log' output
 test ! -f test-suite.log
 
-TESTS='zardoz2.test' $MAKE -e check >output 2>&1 \
-  && { cat output; Exit 1; }
+$MAKE TESTS='zardoz2.test' check >output 2>&1 && { cat output; Exit 1; }
 cat output
 $FGREP 'zardoz2.log' output
 test ! -f test-suite.log
 
-TEST_LOGS='zardoz3.log' $MAKE -e check >output 2>&1 \
-  && { cat output; Exit 1; }
+$MAKE TEST_LOGS='zardoz3.log' check >output 2>&1 && { cat output; Exit 1; }
 cat output
 $FGREP 'zardoz3.log' output
 test ! -f test-suite.log
diff --git a/tests/test-trs-basic.test b/tests/test-trs-basic.test
index b615b18..cbd27cb 100755
--- a/tests/test-trs-basic.test
+++ b/tests/test-trs-basic.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2011 Free Software Foundation, Inc.
+# 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
@@ -51,7 +51,6 @@ $ACLOCAL
 $AUTOCONF
 $AUTOMAKE -a
 
-
 #
 # Check some internal details first.
 #
@@ -72,7 +71,7 @@ for vpath in : false; do
   test x"`cat tb`" = x"foo bar sub/zardoz"
   rm -f tb
   # Please don't change the order of the stuff in TESTS, below.
-  TESTS='foo.test foo2.sh foo-log foolog.test a.log.b.sh 0.exe' $MAKE -e tb
+  $MAKE TESTS='foo.test foo2.sh foo-log foolog.test a.log.b.sh 0.exe' tb
   test x"`cat tb`" = x"foo foo2 foo-log foolog a.log.b 0.exe"
   rm -f tb
 
@@ -117,18 +116,18 @@ test -f sub/foo.trs
 # Try with a subset of TESTS.
 #
 
-TESTS=foo.test $MAKE -e check
+$MAKE TESTS=foo.test check
 test -f foo.trs
 test ! -f bar.trs
 test ! -f sub/zardoz.trs
 $MAKE clean
 test ! -f foo.trs
-TESTS='foo.test bar.sh' $MAKE -e check
+$MAKE TESTS='foo.test bar.sh' check
 test -f foo.trs
 test -f bar.trs
 test ! -f sub/zardoz.trs
 # "make clean" shouldn't remove `.trs' files for tests not in $(TESTS).
-TESTS=bar.sh $MAKE -e clean
+$MAKE TESTS=bar.sh clean
 test -f foo.trs
 test ! -f bar.trs
 
@@ -138,19 +137,19 @@ $MAKE clean
 # Try with a subset of TEST_LOGS.
 #
 
-TEST_LOGS=sub/zardoz.log $MAKE -e check
+$MAKE TEST_LOGS=sub/zardoz.log check
 test ! -f foo.trs
 test ! -f bar.trs
 test -f sub/zardoz.trs
 $MAKE clean
 test ! -f sub/zardoz.trs
-TEST_LOGS='foo.log bar.log' $MAKE -e check
+$MAKE TEST_LOGS='foo.log bar.log' check
 test -f foo.trs
 test -f bar.trs
 test ! -f sub/zardoz.trs
 # "make clean" shouldn't remove `.trs' files for tests whose log
 # is not in $(TEST_LOGS).
-TEST_LOGS=foo.log $MAKE -e clean
+$MAKE TEST_LOGS=foo.log clean
 test ! -f foo.trs
 test -f bar.trs
 test ! -f sub/zardoz.trs
diff --git a/tests/test-trs-recover.test b/tests/test-trs-recover.test
index e498688..326d005 100755
--- a/tests/test-trs-recover.test
+++ b/tests/test-trs-recover.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2011 Free Software Foundation, Inc.
+# 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
@@ -97,14 +97,14 @@ grep '^PASS: baz\.test' stdout
 
 : Recreate with a "make check" with redefined TESTS.
 rm -f foo.trs bar.trs baz.trs
-TESTS=foo.test $MAKE -e check
+$MAKE TESTS=foo.test check
 test -f foo.trs
 test ! -f bar.trs
 test ! -f baz.trs
 
 : Recreate with a "make check" with redefined TEST_LOGS.
 rm -f foo.trs bar.trs baz.trs
-TEST_LOGS=bar.log $MAKE -e check
+$MAKE TEST_LOGS=bar.log check
 test ! -f foo.trs
 test -f bar.trs
 test ! -f baz.trs
@@ -154,7 +154,7 @@ test -f baz.trs
 rm -f foo.trs
 update_stamp
 touch bar.test
-RECHECK_LOGS= $MAKE -e check >stdout || { cat stdout; Exit 1; }
+$MAKE RECHECK_LOGS= check >stdout || { cat stdout; Exit 1; }
 cat stdout
 # Check that make has updated what it needed to, but no more.
 test -f foo.trs
diff --git a/tests/test-trs-recover2.test b/tests/test-trs-recover2.test
index fb9f924..dc078bf 100755
--- a/tests/test-trs-recover2.test
+++ b/tests/test-trs-recover2.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2011 Free Software Foundation, Inc.
+# 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
@@ -119,7 +119,7 @@ $sleep
 touch stamp
 $sleep
 touch bar.test
-RECHECK_LOGS= $MAKE -e check >stdout || { cat stdout; Exit 1; }
+$MAKE RECHECK_LOGS= check >stdout || { cat stdout; Exit 1; }
 cat stdout
 test -r foo.trs
 is_newest bar.trs bar.test
diff --git a/tests/testsuite-summary-checks.sh 
b/tests/testsuite-summary-checks.sh
index 2a5685b..fcf619a 100755
--- a/tests/testsuite-summary-checks.sh
+++ b/tests/testsuite-summary-checks.sh
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2011 Free Software Foundation, Inc.
+# 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
@@ -69,15 +69,14 @@ do_check ()
 {
   cat > summary.exp
   expect_failure=false
-  xfail_tests=''
-  tests="TESTS='$*'"
+  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
-  test -z "$xfail_tests" || xfail_tests="XFAIL_TESTS='$xfail_tests'"
-  st=0
-  eval "env $tests $xfail_tests \$MAKE -e check > stdout || st=\$?"
+  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
diff --git a/tests/testsuite-summary-reference-log.test 
b/tests/testsuite-summary-reference-log.test
index eb21f8c..9d1809e 100755
--- a/tests/testsuite-summary-reference-log.test
+++ b/tests/testsuite-summary-reference-log.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2011 Free Software Foundation, Inc.
+# 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
@@ -51,7 +51,7 @@ cat stdout
 grep '^See \./my_test_suite\.log$' stdout
 
 mkdir bar
-TEST_SUITE_LOG=bar/bar.log $MAKE -e check >stdout && { cat stdout; Exit 1; }
+$MAKE TEST_SUITE_LOG=bar/bar.log check >stdout && { cat stdout; Exit 1; }
 cat stdout
 grep '^See \./bar/bar\.log$' stdout
 
@@ -81,7 +81,7 @@ cat stdout
 grep '^See sub/test-suite\.log$' stdout
 cd ..
 
-TEST_SUITE_LOG=foo.log $MAKE -e check >stdout && { cat stdout; Exit 1; }
+$MAKE TEST_SUITE_LOG=foo.log check >stdout && { cat stdout; Exit 1; }
 cat stdout
 grep '^See sub/foo\.log$' stdout
 
diff --git a/tests/txinfo21.test b/tests/txinfo21.test
index f5c9587..8db1f2d 100755
--- a/tests/txinfo21.test
+++ b/tests/txinfo21.test
@@ -1,6 +1,6 @@
 #! /bin/sh
-# Copyright (C) 2003, 2004, 2006, 2008, 2011 Free Software Foundation,
-# Inc.
+# Copyright (C) 2003, 2004, 2006, 2008, 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
@@ -106,7 +106,7 @@ test ! -d sub/main2.html
 test ! -d rec/main3.html
 
 # Test production of a single HTML file.
-MAKEINFOFLAGS=--no-split $MAKE -e html
+$MAKE MAKEINFOFLAGS=--no-split html
 test -f main.html
 test -f sub/main2.html
 test -f rec/main3.html
diff --git a/tests/yacc-dist-nobuild-subdir.test 
b/tests/yacc-dist-nobuild-subdir.test
index 7ae38b2..7597a81 100755
--- a/tests/yacc-dist-nobuild-subdir.test
+++ b/tests/yacc-dist-nobuild-subdir.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2011 Free Software Foundation, Inc.
+# 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
@@ -83,9 +83,9 @@ chmod u+w .
 # Try to enable dependency tracking even with slow dependency
 # extractors, to improve coverage.
 ../configure --enable-dependency-tracking YACC=false
-YACC=false $MAKE -e
+$MAKE all YACC=false
 ls -l sub/*.[ch] && Exit 1
 
-env YACC=false DISTCHECK_CONFIGURE_FLAGS='YACC=false' $MAKE -e distcheck
+$MAKE distcheck YACC=false DISTCHECK_CONFIGURE_FLAGS='YACC=false' 
 
 :
diff --git a/tests/yflags-cmdline-override.test 
b/tests/yflags-cmdline-override.test
index accebe3..ec6a9b5 100755
--- a/tests/yflags-cmdline-override.test
+++ b/tests/yflags-cmdline-override.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2011 Free Software Foundation, Inc.
+# 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
@@ -76,7 +76,7 @@ $MAKE maintainer-clean
 ls -l
 
 ./configure YFLAGS='-v'
-YFLAGS=-d $MAKE -e
+$MAKE YFLAGS=-d
 ls -l
 test -f foo.c
 test -f foo.h
diff --git a/tests/yflags.test b/tests/yflags.test
index 7eb3040..d37cad1 100755
--- a/tests/yflags.test
+++ b/tests/yflags.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2010, 2011 Free Software Foundation, Inc.
+# Copyright (C) 2010, 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
@@ -28,10 +28,6 @@ echo 'extern int dummy;' >> y.tab.c
 END
 chmod a+x fake-yacc
 
-# Remove Yacc from the environment, so that it won't interfere
-# with `make -e' below.
-unset YACC || :
-
 cat >> configure.in <<'END'
 AC_SUBST([CC], [false])
 # Simulate presence of Yacc using our fake-yacc script.
@@ -59,7 +55,7 @@ grep '\$(YFLAGS).*\$(AM_YFLAGS)' Makefile.in && Exit 1
 
 $AUTOCONF
 ./configure
-env YFLAGS=__user_flags__ $MAKE -e foo.c bar-bar.c
+$MAKE foo.c bar-bar.c YFLAGS=__user_flags__
 
 cat foo.c
 cat bar-bar.c
diff --git a/tests/yflags2.test b/tests/yflags2.test
index b4678af..8c2beda 100755
--- a/tests/yflags2.test
+++ b/tests/yflags2.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2010, 2011 Free Software Foundation, Inc.
+# Copyright (C) 2010, 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
@@ -28,10 +28,6 @@ echo 'extern int dummy;' >> y.tab.c
 END
 chmod a+x fake-yacc
 
-# Remove Yacc from the environment, so that it won't interfere
-# with `make -e' below.
-unset YACC || :
-
 cat >> configure.in <<'END'
 AC_SUBST([CXX], [false])
 # Simulate presence of Yacc using our fake-yacc script.
@@ -59,7 +55,7 @@ grep '\$(YFLAGS).*\$(AM_YFLAGS)' Makefile.in && Exit 1
 
 $AUTOCONF
 ./configure
-env YFLAGS=__user_flags__ $MAKE -e foo.cc bar-bar.c++
+$MAKE foo.cc bar-bar.c++ YFLAGS=__user_flags__
 
 cat foo.cc
 cat bar-bar.c++
-- 
1.7.7.3




reply via email to

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