]> git.ipfire.org Git - thirdparty/automake.git/commitdiff
check: the parallel-tests driver is now the default
authorStefano Lattarini <stefano.lattarini@gmail.com>
Fri, 18 May 2012 16:00:51 +0000 (18:00 +0200)
committerStefano Lattarini <stefano.lattarini@gmail.com>
Fri, 18 May 2012 16:45:25 +0000 (18:45 +0200)
The old serial testsuite driver is still supported, and can be activated
by the 'serial-tests' option (introduced by commit 'v1.11-1989-gdeb7773'
of 2012-02-20, "automake: new option 'serial-tests'").

* lib/Automake/Options.pm: Now, the 'parallel-tests' option is a no-op
(but still explicitly recognized, for backward compatibility), while the
'serial-tests' option is recognized and registered.
* automake.in: Adjust to ensure that the parallel test harness is used by
default; mostly, this amounts at using "! option('serial-tests')" where
"option('parallel-tests')" was used before.
* NEWS, doc/automake.texi: Update.
* configure.ac (AM_INIT_AUTOMAKE): Drop 'parallel-tests' option, is
redundant now.
* defs: In the generated AM_INIT_AUTOMAKE call, use the 'serial-tests'
when the serial testsuite harness is to be used, and no option otherwise.
* lib/am/check.am: Use (static) conditional '%SERIAL_TESTS%' instead of
conditional '%PARALLEL_TESTS%'.
* lib/test-driver: Adjust heading comments.
* t/ax/extract-testsuite-summary.pl: Likewise.
* t/check-exported-srcdir.sh: Likewise.
* t/check-subst.sh: Likewise.
* t/java-compile-run-nested.sh: Likewise.
* t/parallel-tests-dry-run-1.sh: Likewise.
* t/parallel-tests-dry-run-2.sh: Likewise.
* t/parallel-tests-interrupt.sh: Likewise.
* t/parallel-tests-many.sh: Likewise.
* t/test-metadata-global-log.sh: Likewise.
* t/tests-environment-backcompat.sh: Likewise.
* m4/init.m4 (AM_INIT_AUTOMAKE): Adjust a comment.
* t/check8.sh: Likewise.
* t/check-tests-in-builddir.sh: Likewise.
* t/java-compile-run-flat.sh: Adjust a botched comment.
* t/ax/tap-summary-aux.sh: Remove explicit use of the 'parallel-tests'
option.
* t/ax/testsuite-summary-checks.sh: Likewise.
* t/aclocal-path-precedence.sh: Likewise.
* t/dist-aux-many-subdirs.sh: Likewise.
* t/parallel-tests-no-color-in-log.sh: Likewise.
* t/parallel-tests-reset-term.sh: Likewise.
* t/parallel-tests-subdir.sh: Likewise.
* t/check-no-test-driver.sh: Fix setup to adjust to the changed
semantics.  Update heading comments.
* t/parallel-tests-driver-install.sh: Adjust to the new semantic.
* t/test-driver-is-distributed.sh: Simplified according to the
new semantics.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
33 files changed:
NEWS
automake.in
configure.ac
defs
doc/automake.texi
lib/Automake/Options.pm
lib/am/check.am
lib/test-driver
m4/init.m4
t/aclocal-path-precedence.sh
t/ax/extract-testsuite-summary.pl
t/ax/tap-summary-aux.sh
t/ax/testsuite-summary-checks.sh
t/check-exported-srcdir.sh
t/check-no-test-driver.sh
t/check-subst.sh
t/check-tests-in-builddir.sh
t/check8.sh
t/dist-auxdir-many-subdirs.sh
t/java-compile-run-flat.sh
t/java-compile-run-nested.sh
t/parallel-tests-driver-install.sh
t/parallel-tests-dry-run-1.sh
t/parallel-tests-dry-run-2.sh
t/parallel-tests-interrupt.tap
t/parallel-tests-many.sh
t/parallel-tests-no-color-in-log.sh
t/parallel-tests-reset-term.sh
t/parallel-tests-subdir.sh
t/tap-doc2.sh
t/test-driver-is-distributed.sh
t/test-metadata-global-log.sh
t/tests-environment-backcompat.sh

diff --git a/NEWS b/NEWS
index fcfbc6f173b6fe5e357b094915f3b3a41cd059d1..8b9c65f6616d57520ae9b9893b4c214f916946a7 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -35,6 +35,13 @@ New in 1.13:
 
   - All the "old alias" macros in 'm4/obsolete.m4' have been removed.
 
+* Changes to Automake-generated testsuite harnesses:
+
+  - The parallel testsuite harness (previously only enabled by the
+    'parallel-tests' option) is the default one; the older serial
+    testsuite harness will still be available through the use of the
+    'serial-tests' option (introduced in Automake 1.12).
+
 * Silent rules support:
 
   - Support for silent rules is now always active in Automake-generated
index 2baaf61030a4069874c370b7190aa82fdb26aa34..22fbbd764525b5a13ee85ac85d4ea6d68c7f7ed9 100644 (file)
@@ -4767,9 +4767,7 @@ sub handle_tests_dejagnu
 sub handle_per_suffix_test
 {
   my ($test_suffix, %transform) = @_;
-  my ($pfx, $generic, $parallel_tests_option, $am_exeext);
-  prog_error ("called with 'parallel-tests' option not set")
-    unless $parallel_tests_option = option 'parallel-tests';
+  my ($pfx, $generic, $am_exeext);
   if ($test_suffix eq '')
     {
       $pfx = '';
@@ -4786,13 +4784,12 @@ sub handle_per_suffix_test
                                                     : 'FALSE';
     }
   # The "test driver" program, deputed to handle tests protocol used by
-  # test scripts.  By default, it's assumed that no protocol is used,
-  # so we fall back to the old "parallel-tests" behaviour, implemented
-  # by the 'test-driver' auxiliary script.
+  # test scripts.  By default, it's assumed that no protocol is used, so
+  # we fall back to the old behaviour, implemented by the 'test-driver'
+  # auxiliary script.
   if (! var "${pfx}LOG_DRIVER")
     {
-      require_conf_file ($parallel_tests_option->{position}, FOREIGN,
-                        'test-driver');
+      require_conf_file ("parallel-tests", FOREIGN, 'test-driver');
       define_variable ("${pfx}LOG_DRIVER",
                        "\$(SHELL) $am_config_aux_dir/test-driver",
                        INTERNAL);
@@ -4852,7 +4849,7 @@ sub handle_tests
       my $check_deps = "@check";
       $output_rules .= &file_contents ('check', new Automake::Location,
                                       COLOR => !! option 'color-tests',
-                                      PARALLEL_TESTS => !! option 'parallel-tests',
+                                      SERIAL_TESTS => !! option 'serial-tests',
                                        CHECK_DEPS => $check_deps);
 
       # Tests that are known programs should have $(EXEEXT) appended.
@@ -4861,7 +4858,7 @@ sub handle_tests
       append_exeext { exists $known_programs{$_[0]} } 'XFAIL_TESTS'
        if (var ('XFAIL_TESTS'));
 
-      if (my $parallel_tests = option 'parallel-tests')
+      if (! option 'serial-tests')
         {
          define_variable ('TEST_SUITE_LOG', 'test-suite.log', INTERNAL);
          my $suff = '.test';
@@ -4911,7 +4908,7 @@ sub handle_tests
                if ($val =~ /(\$\((top_)?srcdir\))\//o)
                  {
                    msg ('error', $subvar->rdef ($cond)->location,
-                        "parallel-tests: using '$1' in TESTS is currently broken: '$val'");
+                        "using '$1' in TESTS is currently broken: '$val'");
                  }
 
                foreach my $test_suffix (@test_suffixes)
index ec384269c0bc5297f0c7356c3be9730ea9816efb..ad34d158923350fdcb5e1195d4440f2f179533c0 100644 (file)
@@ -40,7 +40,7 @@ dnl We call AC_PROG_CC in an unusual way, and only for use in our
 dnl testsuite, so also use 'no-dependencies' and 'no-define' among
 dnl the automake options to avoid bloating and potential problems.
 AM_INIT_AUTOMAKE([dist-xz filename-length-max=99 color-tests
-                 parallel-tests no-define no-dependencies])
+                  no-define no-dependencies])
 
 ## Keep this on a line of its own, since it must be found and processed
 ## by the 'update-copyright' rule in our Makefile.
diff --git a/defs b/defs
index 24d3fd25fb290ca279779ab46aecb5219382f292..181ce5c4e45f8d6af84beba91c4abb98f06846d1 100644 (file)
--- a/defs
+++ b/defs
@@ -1088,9 +1088,9 @@ else
     {
       echo "AC_INIT([$me], [1.0])"
       if test x"$am_serial_tests" = x"yes"; then
-        echo "AM_INIT_AUTOMAKE"
+        echo "AM_INIT_AUTOMAKE([serial-tests])"
       else
-        echo "AM_INIT_AUTOMAKE([parallel-tests])"
+        echo "AM_INIT_AUTOMAKE"
       fi
       echo "AC_CONFIG_FILES([Makefile])"
     } >configure.ac || framework_failure_ "creating configure.ac skeleton"
index 5928291bb975e30ae73d57c9b99fcfa29fee817e..ea0f3e678ac7ddffc07ede47a7103206bba010c5 100644 (file)
@@ -8744,21 +8744,20 @@ also data files to be passed to one or more test scripts defined by
 different means (the so-called ``log compilers'', @pxref{Parallel Test
 Harness}).
 
-Test scripts can be executed serially or concurrently.  Automake
-supports both these kinds of test execution, with the serial test harness
-being the default (for backward-compatibility reasons only, as its use
-is nowadays discouraged).  The concurrent test harness relies on the
-concurrence capabilities (if any) offered by the underlying @command{make}
+Test scripts can be executed serially or concurrently.  Automake supports
+both these kinds of test execution, with the parallel test harness being
+the default.  The concurrent test harness relies on the concurrence
+capabilities (if any) offered by the underlying @command{make}
 implementation, and can thus only be as good as those are.
 
 By default, only the exit statuses of the test scripts are considered when
 determining the testsuite outcome.  But Automake allows also the use of
 more complex test protocols, either standard (@pxref{Using the TAP test
-protocol}) or custom (@pxref{Custom Test Drivers}).  Note that you can
-enable such protocols only when the parallel harness is used: they won't
-work with the serial test harness.  In the rest of this section we are
-going to concentrate mostly on protocol-less tests, since we cover
-test protocols in a later section (again, @pxref{Custom Test Drivers}).
+protocol}) or custom (@pxref{Custom Test Drivers}).  Note that you can't
+enable such protocols when the serial harness is used, though.
+In the rest of this section we are going to concentrate mostly on
+protocol-less tests, since we cover test protocols in a later section
+(again, @pxref{Custom Test Drivers}).
 
 @cindex Exit status 77, special interpretation
 @cindex Exit status 99, special interpretation
@@ -8904,14 +8903,12 @@ by the tests, not the tests themselves.  Of course you can set
 @code{TESTS = $(check_PROGRAMS)} if all your programs are test cases.
 
 @node Serial Test Harness
-@subsection Serial Test Harness
+@subsection Older (and obsolescent) serial test harness
 @cindex @option{serial-tests}, Using
 
-@emph{NOTE:} This harness, while still being the default one, is
-obsolescent, and kept mostly for backward-compatibility reasons.  The user
-is advised to use the parallel test harness instead (@pxref{Parallel Test
-Harness}).  Be warned that future Automake versions might switch to use
-that more modern and feature-rich harness by default.
+@emph{This harness is obsolescent}, and kept for backward-compatibility
+reasons only.  The user is strongly advised to just use the parallel test
+harness instead (@pxref{Parallel Test Harness}).
 
 The serial test harness is enabled by the Automake option
 @option{serial-tests}. It operates by simply running the tests serially,
@@ -8946,14 +8943,12 @@ versions.
 
 @node Parallel Test Harness
 @subsection Parallel Test Harness
-@cindex @option{parallel-tests}, Using
 
-The parallel (or concurrent) test harness is enabled by the Automake option
-@option{parallel-tests}.  It features automatic collection of the test
-scripts output in @file{.log} files, concurrent execution of tests with
-@code{make -j}, specification of inter-test dependencies, lazy reruns of
-tests that have not completed in a prior run, and hard errors for exceptional
-failures.
+By default, Automake generated a parallel (concurrent) test harness.  It
+features automatic collection of the test scripts output in @file{.log}
+files, concurrent execution of tests with @code{make -j}, specification
+of inter-test dependencies, lazy reruns of tests that have not completed
+in a prior run, and hard errors for exceptional failures.
 
 This harness is still somewhat experimental and may undergo changes in
 order to satisfy additional portability requirements.
@@ -9321,11 +9316,10 @@ with the parallel test harness and its default driver.
 @subsubsection Command-line arguments for test drivers
 
 A custom driver can rely on various command-line options and arguments
-being passed to it automatically by the Automake's @option{parallel-tests}
-harness.  It is @emph{mandatory} that it understands all of them (even
-if the exact interpretation of the associated semantics can legitimately
-change between a test driver and another, and even be a no-op in some
-drivers).
+being passed to it automatically by the Automake-generated test harness.
+It is @emph{mandatory} that it understands all of them (even if the exact
+interpretation of the associated semantics can legitimately change
+between a test driver and another, and even be a no-op in some drivers).
 
 @noindent
 Here is the list of options:
@@ -9369,9 +9363,9 @@ for this program.
 Note that the exact semantics attached to the @option{--color-tests},
 @option{--expect-failure} and @option{--enable-hard-errors} options are
 left up to the individual test drivers.  Still, having a behaviour
-compatible or at least similar to that provided by the default
-@option{parallel-tests} driver is advised, as that would offer a better
-consistency and a more pleasant user experience.
+compatible or at least similar to that provided by the default driver
+is advised, as that would offer a better consistency and a more pleasant
+user experience.
 
 @node Log files generation and test results recording
 @subsubsection Log files generation and test results recording
@@ -9413,8 +9407,8 @@ The only recognized test results are currently @code{PASS}, @code{XFAIL},
 @code{SKIP}, @code{FAIL}, @code{XPASS} and @code{ERROR}.  These results,
 when declared with @code{:test-result:}, can be optionally followed by
 text holding the name and/or a brief description of the corresponding
-test; the @option{parallel-tests} harness will ignore such extra text when
-generating @file{test-suite.log} and preparing the testsuite summary.
+test; the harness will ignore such extra text when generating
+@file{test-suite.log} and preparing the testsuite summary.
 
 @c Keep in sync with 'test-metadata-recheck.test'.
 @item @code{:recheck:}
@@ -9522,7 +9516,7 @@ on standard output; a test harness (also called ``TAP consumer'') will
 parse and interpret these results, and properly present them to the user,
 and/or register them for later analysis.  The exact details of how this
 is accomplished can vary among different test harnesses.  The Automake
-parallel harness will present the results on the console in the usual
+harness will present the results on the console in the usual
 fashion (@pxref{Testsuite progress on console}), and will use the
 @file{.trs} files (@pxref{Basics of test metadata}) to store the test
 results and related metadata.  Apart from that, it will try to remain
@@ -9606,7 +9600,7 @@ Here is an example of how the TAP driver can be set up and used.
 % @kbd{cat configure.ac}
 AC_INIT([GNU Try Tap], [1.0], [bug-automake@@gnu.org])
 AC_CONFIG_AUX_DIR([build-aux])
-AM_INIT_AUTOMAKE([foreign parallel-tests -Wall -Werror])
+AM_INIT_AUTOMAKE([foreign -Wall -Werror])
 AC_CONFIG_FILES([Makefile])
 AC_REQUIRE_AUX_FILE([tap-driver.sh])
 AC_PROG_AWK
@@ -9687,7 +9681,7 @@ mainstream versions, which you should be aware of.
 A @code{Bail out!} directive doesn't stop the whole testsuite, but only
 the test script it occurs in.  This doesn't follow TAP specifications,
 but on the other hand it maximizes compatibility (and code sharing) with
-the ``hard error'' concept of the default @option{parallel-tests} driver.
+the ``hard error'' concept of the default testsuite driver.
 @item
 The @code{version} and @code{pragma} directives are not supported.
 @item
@@ -10106,18 +10100,19 @@ are ordinarily automatically provided by Automake.
 Don't require @file{texinfo.tex}, even if there are texinfo files in
 this directory.
 
-@item @option{parallel-tests}
-@cindex Option, @option{parallel-tests}
-@opindex parallel-tests
-Enable test suite harness for @code{TESTS} that can run tests in parallel
-(@pxref{Parallel Test Harness}, for more information).
-
 @item @option{serial-tests}
 @cindex Option, @option{serial-tests}
 @opindex serial-tests
 Enable the older serial test suite harness for @code{TESTS} (@pxref{Serial
-Test Harness}, for more information).  This is still the default for the
-moment.
+Test Harness}, for more information).
+
+@item @option{parallel-tests}
+@cindex Option, @option{parallel-tests}
+@opindex parallel-tests
+Enable test suite harness for @code{TESTS} that can run tests in parallel
+(@pxref{Parallel Test Harness}, for more information).  This option is
+only kept for backward-compatibility, since the parallel test harness is
+the default now.
 
 @item @option{readme-alpha}
 @cindex Option, @option{readme-alpha}
index 231600b82c1aaeb4f68fe9e3cebba5324bdfe53a..186d4ca8c6f901bb643ec15ebf123122661a0170 100644 (file)
@@ -286,6 +286,8 @@ sub _is_valid_easy_option ($)
     no-texinfo.tex
     nostdinc
     readme-alpha
+    serial-tests
+    parallel-tests
     silent-rules
     std-options
     subdir-objects
@@ -328,15 +330,6 @@ sub _process_option_list (\%@)
           error ($where, "support for lzma-compressed distribution " .
                          "archives has been removed");
         }
-      elsif ($_ eq 'parallel-tests')
-        {
-          # Just recognize it explicitly.
-        }
-      elsif ($_ eq 'serial-tests')
-        {
-          # This is a little of an hack, but good enough for the moment.
-          delete $options->{'parallel-tests'};
-        }
       elsif (/^filename-length-max=(\d+)$/)
         {
           delete $options->{$_};
index 9cda82aba62956860c76f53bbf5da4fbc3e529c6..67b254ffbb07c18c379a42b24159e02563d9355a 100644 (file)
@@ -46,7 +46,7 @@ endif !%?COLOR%
 
 .PHONY: check-TESTS
 
-if %?PARALLEL_TESTS%
+if !%?SERIAL_TESTS%
 
 include inst-vars.am
 
@@ -452,7 +452,9 @@ AM_RECURSIVE_TARGETS += check recheck
 
 .PHONY: recheck
 
-else !%?PARALLEL_TESTS%
+else %?SERIAL_TESTS%
+
+## Obsolescent serial testsuite driver.
 
 check-TESTS: $(TESTS)
        @failed=0; all=0; xfail=0; xpass=0; skip=0; \
@@ -558,4 +560,4 @@ check-TESTS: $(TESTS)
          test "$$failed" -eq 0; \
        else :; fi
 
-endif !%?PARALLEL_TESTS%
+endif %?SERIAL_TESTS%
index 2398a06ff13c7418d99df0e781113b3d388f6fbe..e70a930a1122e496f0f6c0572bf0ced5ac5c8a8a 100755 (executable)
@@ -1,7 +1,7 @@
 #! /bin/sh
-# test-driver - basic driver script for the `parallel-tests' mode.
+# test-driver - basic testsuite driver script.
 
-scriptversion=2011-08-17.14; # UTC
+scriptversion=2012-05-18.16; # UTC
 
 # Copyright (C) 2011-2012 Free Software Foundation, Inc.
 #
index 0a6eefc4cbec66e3eeddd1f21751e0f5784870e8..221aacf273e8024914c80524cdf26026f243fe49 100644 (file)
@@ -6,7 +6,7 @@
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 20
+# serial 21
 
 # This macro actually does too much.  Some checks are only needed if
 # your package does certain things.  But this isn't really a big deal.
@@ -109,9 +109,9 @@ AC_PROVIDE_IFELSE([AC_PROG_OBJCXX],
                             m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl
 ])
 AC_REQUIRE([AM_SILENT_RULES])dnl
-dnl The 'parallel-tests' driver may need to know about EXEEXT, so add the
-dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen.  This macro
-dnl is hooked onto _AC_COMPILER_EXEEXT early, see below.
+dnl The testsuite driver may need to know about EXEEXT, so add the
+dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen.  This
+dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below.
 AC_CONFIG_COMMANDS_PRE(dnl
 [m4_provide_if([_AM_COMPILER_EXEEXT],
   [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
index 91d9a424c268f998920165846e45b159ef7b63cc..d831cea0aa0f0036dcec6405d5b33fc3cf902a01 100755 (executable)
@@ -21,7 +21,7 @@ am_create_testdir=empty
 
 cat > configure.ac << 'END'
 AC_INIT([foo], [1.0])
-AM_INIT_AUTOMAKE([parallel-tests])
+AM_INIT_AUTOMAKE
 FOO_MACRO
 BAR_MACRO
 AC_PROG_LIBTOOL
index 28a9c356023ca8d0272bac606802eb12346be04f..a8b634373fc054475a13836721e4673ad908da9f 100644 (file)
@@ -1,6 +1,6 @@
 #! /usr/bin/env perl
-# Extract the testsuite summary generated by the parallel-tests harness
-# from the output of "make check".
+# Extract the testsuite summary generated by the parallel testsuite
+# harness from the output of "make check".
 
 # Copyright (C) 2012 Free Software Foundation, Inc.
 
index f5d1fbdfef97e2802db69cf395e6f1dfc1ddd24e..fcdcf53e8aa8981cb4e7ad01964c92fcfb271a59 100644 (file)
@@ -29,7 +29,7 @@ fetch_tap_driver
 
 cat > configure.ac <<END
 AC_INIT([GNU AutoTAP], [5.12], [bug-automake@gnu.org])
-AM_INIT_AUTOMAKE([parallel-tests])
+AM_INIT_AUTOMAKE
 AC_CONFIG_FILES([Makefile])
 AC_OUTPUT
 END
index 0c8e98c5d8f76c330afcb76a08252277cb399088..673fbcbdbc861ad4b79a65f4b4a4d7068389f448 100644 (file)
@@ -14,7 +14,7 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-# Check the testsuite summary with the parallel-tests harness.  This
+# Check the testsuite summary with the parallel test harness.  This
 # script is meant to be sourced by other test script, so that it can
 # be used to check different scenarios (colorized and non-colorized
 # testsuite output, packages with and without bug-report addresses,
@@ -28,10 +28,10 @@ case $use_colors in
     # Forced colorization should take place also with non-ANSI
     # terminals; hence this setting.
     TERM=dumb; export TERM
-    am_opts='parallel-tests color-tests'
+    am_opts='color-tests'
     ;;
   no)
-    am_opts='parallel-tests'
+    am_opts=''
     ;;
   *)
     fatal_ "invalid use_colors='$use_colors'";;
index c6fda212507ad26bc029c4f7aa088636120aafec..25a4722b6d676f185f8a8e984ebc3772b62ba4ce 100755 (executable)
@@ -15,7 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Check that the testsuite driver (either with or without the
-# parallel-tests option enabled) exports the 'srcdir' value in the
+# serial-tests option enabled) exports the 'srcdir' value in the
 # environment of the tests.  This is documented in the manual.
 
 # For gen-testsuite-part: ==> try-with-serial-tests <==
index 84ea32599911a70562d95991d07644fb4dacebf3..f86b4da9c53563ff9f949ad950df34fe6742403c 100755 (executable)
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Check that auxiliary script 'test-driver' doesn't get needlessly
-# installed or referenced when the 'parallel-tests' option is not
-# used.
+# installed or referenced when the 'serial-tests' option is used.
 
 am_serial_tests=yes
 . ./defs || Exit 1
 
-echo 'TESTS = foo.test' > Makefile.am
+cat > Makefile.am <<'END'
+AUTOMAKE_OPTIONS = serial-tests
+TESTS = foo.test
+END
 
 $ACLOCAL
 
index ac8fe8905a927a2733d2dfe51b1777aecdb5afef..3cc2bc40d03b84060e84eaeed1441b5c7e6979b5 100755 (executable)
@@ -16,7 +16,7 @@
 
 # Check @substituted@ TESTS.
 # Note that in this test, we rely on the .test extension for the
-# substituted names: this is necessary for parallel-tests.
+# substituted names: this is necessary for the parallel harness.
 # See also sister test 'check-subst-prog.test'.
 
 # For gen-testsuite-part: ==> try-with-serial-tests <==
index 323c3bca284d5712cee8384c5eb09f146ac83f4e..5b3cb222c8135c64d969df1fe87c80fe3873d23e 100755 (executable)
@@ -54,8 +54,8 @@ chmod a+x bar.test
 
 $MAKE check >out 2>&1 || { cat out; Exit1; }
 cat out
-# The simple-tests driver does not strip VPATH components from
-# the name of the test, but the parallel-tests driver should.
+# The serial test driver does not strip VPATH components from
+# the name of the test, but the parallel driver should.
 if test x"$am_serial_tests" = x"yes"; then
   grep '^PASS: .*foo\.test *$' out
 else
@@ -68,8 +68,8 @@ rm -f test-suite.log foo.log bar.log
 
 FOO_EXIT_STATUS=1 $MAKE check >out 2>&1 && { cat out; Exit1; }
 cat out
-# The simple-tests driver does not strip VPATH components from
-# the name of the test, but the parallel-tests driver should.
+# The serial test driver does not strip VPATH components from
+# the name of the test, but the parallel driver should.
 if test x"$am_serial_tests" = x"yes"; then
   grep '^FAIL: .*foo\.test *$' out
 else
index d33c002cfff2057a2025ca6d38cab88a8064a1ce..4db8e866a1d73a9fb6b33f0d628c62993c9c2085 100755 (executable)
@@ -75,7 +75,7 @@ grep '^[^X]*PASS.* bar' stdout
 grep '^[^X]*PASS.* sub/bar' stdout
 grep '^[^X]*FAIL.* baz' stdout
 grep 'XFAIL.* sub/baz' stdout
-# 'parallel-tests' should not add circular dependencies.
+# The parallel test driver should cause circular dependencies.
 # Look for known warnings from a couple of 'make' implementations.
 grep -i 'circular.*dependency' stderr && Exit 1
 grep -i 'graph cycles' stderr && Exit 1
index f84514a793de67ced91b26a7eaa5bed7c9616218..39eb373627f086eded797f23037caf3f56cda7d0 100755 (executable)
@@ -41,7 +41,7 @@ do_check ()
   unindent > configure.ac << END
     AC_INIT([$me], [$count])
     AC_CONFIG_AUX_DIR([$auxdir])
-    AM_INIT_AUTOMAKE([parallel-tests])
+    AM_INIT_AUTOMAKE
     AC_PROG_CC
     # We don't want to require python or emcas in this test, so
     # the tricks below.
index 9f3c184416ac28e7b786bb59f4d97b63ff36c08d..3a8fcadf221897736ba70d022e95dc7617b56753 100755 (executable)
@@ -20,8 +20,8 @@
 # This test uses a "flat" setup for the source tree (i.e., everything in
 # the top-level directory), and forces the use of the old, non-parallel
 # testsuite driver.  The sister test 'java-compile-run-nested.test' do
-# similar checks with a more usual, "nested" setup, and using the newer
-# 'parallel-tests' driver.
+# similar checks with a more usual, "nested" setup, and using the older
+# 'serial-tests' driver.
 
 required='java javac'
 am_serial_tests=yes
index 61727f7c900f9f6e352512ff559c402e344d52de..ece2d1c984d4c54ed57d21277abf502c5dcee088 100755 (executable)
 # Also meddle with wrapper scripts, as would be probably seen in a real
 # "UNIX-style" use case.
 # This test uses a typical "nested" source tree setup (i.e., different
-# components/aspects are separated into different subdirectories),
-# and uses the 'parallel-tests' testsuite driver.  The sister test
-# 'java-compile-run-flat.test' do similar checks with a "flat" setup
-# (i.e., everything in the top-level directory), and forcing the use
-# of the older non-parallel 'simple-tests' driver.
+# components/aspects are separated into different subdirectories), and
+# uses the parallel testsuite driver.
+# The sister test 'java-compile-run-flat.test' do similar checks with a
+# "flat" setup (i.e., everything in the top-level directory), and forcing
+# the use of the older 'serial-tests' driver.
 
 required='java javac'
 . ./defs || Exit 1
index fcfa38d7f73492d9e0ed531028c21cbf81788db6..a04e9b1d213a25088cadbf9927bd8b25c1a1769d 100755 (executable)
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Check that auxiliary script 'test-driver' gets automatically installed
-# in the correct directory by 'parallel-tests' option.
+# in the correct directory.
 
+am_create_testdir=empty
 . ./defs || Exit 1
 
-: Try first with parallel-tests defined in AM_INIT_AUTOMAKE.
-
-mkdir am-init-automake
-cd am-init-automake
-
 cat > configure.ac <<END
 AC_INIT([$me], [1.0])
 AC_CONFIG_AUX_DIR([my_aux_dir])
-AM_INIT_AUTOMAKE([parallel-tests])
+AM_INIT_AUTOMAKE
 AC_CONFIG_FILES([Makefile sub/Makefile])
 AC_OUTPUT
 END
@@ -52,41 +48,6 @@ test -f my_aux_dir/test-driver
 test ! -r test-driver
 test ! -r sub/test-driver
 
-grep '^configure\.ac:3:.*installing.*my_aux_dir/test-driver' stderr
-
-cd ..
-
-: Now try with parallel-tests defined in AUTOMAKE_OPTIONS.
-
-mkdir automake-options
-cd automake-options
-
-cat > configure.ac <<END
-AC_INIT([$me], [1.0])
-AC_CONFIG_AUX_DIR([build-aux])
-AM_INIT_AUTOMAKE
-AC_CONFIG_FILES([dir/GNUmakefile])
-AC_OUTPUT
-END
-
-mkdir build-aux dir
-
-cat > dir/GNUmakefile.am <<END
-TESTS = foo.test
-AUTOMAKE_OPTIONS = parallel-tests
-TESTS += bar.test
-END
-
-$ACLOCAL
-$AUTOMAKE --add-missing --copy dir/GNUmakefile 2>stderr \
-  || { cat stderr >&2; Exit 1; }
-cat stderr >&2
-
-ls -l . dir build-aux # For debugging.
-test -f build-aux/test-driver
-test ! -r test-driver
-test ! -r dir/test-driver
-
-grep '^dir/GNUmakefile\.am:2:.*installing.*build-aux/test-driver' stderr
+grep '^parallel-tests:.*installing.*my_aux_dir/test-driver' stderr
 
 :
index 6fdcb9820903a7d9b0c5a96c8de3665b91a15028..f5496e3d3898fe5bd53301f67f75727fd563c54c 100755 (executable)
@@ -14,7 +14,7 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-# Check parallel-tests interactions with "make -n".
+# Check interactions between the parallel test harness and "make -n".
 # See also sister test 'parallel-tests-dry-run-2.test'.
 
 . ./defs || Exit 1
index 20ccb5dc4e97659816c04ad7fb635168326bb782..f3ce42ea440b09b873d82990cc56b53bd01f42c7 100755 (executable)
@@ -14,7 +14,7 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-# Check parallel-tests interactions with "make -n".
+# Check interactions between the parallel test harness and "make -n".
 # See also sister test 'parallel-tests-dry-run-1.test'.
 
 . ./defs || Exit 1
index afc19568d2643bbf1800e90c8f0c89e5c2965aa7..08f9031d1dd75059083260d5203441c2b7dfb6a2 100755 (executable)
@@ -14,7 +14,7 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-# Check that the parallel-tests driver removed incomplete log files
+# Check that the parallel testsuite harness removes incomplete log files
 # when interrupt upon some signal.  This test is definitely too hacky,
 # but we couldn't find a better way to deal with inter-processes
 # signals and the whole process-synchronization mess.
index 65db6e6cac5883e4c5d3fed831eccdc6f6271e38..d4f6c7f27ec5e59c9f177d92a190652fdcd63c7a 100755 (executable)
@@ -14,8 +14,8 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-# Check that the parallel-tests harness does not hit errors due to
-# an exceeded command line length when there are many tests.
+# Check that the parallel testsuite harness does not hit errors due
+# to an exceeded command line length when there are many tests.
 # For automake bug#7868.  This test is currently expected to fail.
 
 . ./defs || Exit 1
index 69414f7fea246bc25865ebd635b3e3a78a881d1a..16c0ed7e56ff8b752d85581d0dafa25452852f75 100755 (executable)
@@ -37,7 +37,7 @@ END
 
 cat >Makefile.am <<'END'
 LOG_COMPILER = $(SHELL)
-AUTOMAKE_OPTIONS = color-tests parallel-tests
+AUTOMAKE_OPTIONS = color-tests
 TESTS = pass fail skip xpass xfail error
 XFAIL_TESTS = xpass xfail
 END
index cf9fb6cfb5df291c5311a303c37c1b2aa08f116a..4cd80862bd9e59e314a3d3bb18dc0ce4d384fb06 100755 (executable)
@@ -14,7 +14,7 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-# Check that the parallel-tests driver correctly handle overrides of the
+# Check that the testsuite harness correctly handle overrides of the
 # TERM variable by either TESTS_ENVIRONMENT and AM_TESTS_ENVIRONMENT.
 
 . ./defs || Exit 1
index 2698a53df97e6d0a51de75c79b855f081ded4fc7..336fcd80ee4129b7d7604c8b376f7eddf2b0ac1a 100755 (executable)
@@ -14,7 +14,7 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-# Check that the parallel-tests driver creates parent directories for
+# Check that the parallel test harness creates parent directories for
 # the log files when needed.
 
 . ./defs || Exit 1
index 0607112d3966dc3dbb06ea0c49193da71d131d08..b1ea8b900fadc8710403b2104b1a240f89a64706 100755 (executable)
@@ -31,7 +31,7 @@ END
 cat > configure.ac <<'END'
 AC_INIT([GNU Try Tap], [1.0], [bug-automake@gnu.org])
 AC_CONFIG_AUX_DIR([build-aux])
-AM_INIT_AUTOMAKE([foreign parallel-tests -Wall -Werror])
+AM_INIT_AUTOMAKE([foreign -Wall -Werror])
 AC_CONFIG_FILES([Makefile])
 AC_REQUIRE_AUX_FILE([tap-driver.sh])
 AC_PROG_AWK
index 9b2f08bba53030d43adcfcc12a192d000b7bc918..88f7982e88d1397f811c4a14d7e969719439a3c6 100755 (executable)
@@ -23,31 +23,25 @@ am_create_testdir=empty
 
 ocwd=`pwd` || fatal_ "getting current working directory"
 
-do_check ()
-{
-  whereopts=$1 auxdir=$2
-  case $#,$whereopts in
-    2,ac) ac_opts=parallel-tests am_code= ;;
-    2,am) am_opts=parallel-tests ac_code= ;;
-       *) fatal_ "do_check: bad usage";;
-  esac
-  mkdir $whereopts
-  cd $whereopts
+for i in 1 2; do
+  mkdir D$i
+  cd D$i
+  if test $i -eq 1; then
+    auxdir=.
+    test_driver=test-driver
+  else
+    auxdir=build-aux
+    test_driver=$auxdir/test-driver
+    mkdir $auxdir
+  fi
   mkdir tests
   unindent > configure.ac << END
     AC_INIT([$me], [1.0])
     AC_CONFIG_AUX_DIR([$auxdir])
-    AM_INIT_AUTOMAKE([$ac_opts])
+    AM_INIT_AUTOMAKE
     AC_CONFIG_FILES([Makefile tests/Makefile])
     AC_OUTPUT
 END
-  if test $auxdir = .; then
-    test_driver=test-driver
-  else
-    mkdir $auxdir
-    test_driver=$auxdir/test-driver
-  fi
-  # No 'AUTOMAKE_OPTIONS' in here -- purposely.
   unindent > Makefile.am << END
     SUBDIRS = tests
     check-local: test-top
@@ -57,7 +51,6 @@ END
     .PHONY: test-top
 END
   unindent > tests/Makefile.am << END
-    AUTOMAKE_OPTIONS = $am_opts
     check-local: test-sub
     test-sub:
        echo ' ' \$(DIST_COMMON) ' ' | grep '[ /]$test_driver '
@@ -84,10 +77,7 @@ END
   $AUTOMAKE
   diff Makefile.in Makefile.sav
   diff tests/Makefile.in tests/Makefile.sav
-  :
-}
-
-do_check ac .
-do_check am build-aux
+  cd "$ocwd" || fatal_ "cannot chdir back to '$ocwd'"
+done
 
 :
index af435ae3cbcbc00966bb38bb858bbfa564984339..dc65b2517d4072b58ecaca83513652aaf412f50c 100755 (executable)
@@ -14,7 +14,7 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-# Custom test drivers and parallel-tests harness: check the documented
+# Custom test drivers and parallel test harness: check the documented
 # semantics for deciding when the content of a test log file should be
 # copied in the global test-suite.log file.  Currently, this is done
 # with the use of the reStructuredText field ':copy-in-global-log:' in
index 93643d11ddcaeda9233b44cf644936bce7d925bb..db370ab94ca5e0590b9460e43af9765d88fcdcd0 100755 (executable)
@@ -16,7 +16,7 @@
 
 # With old serial testsuite driver, TESTS_ENVIRONMENT can be used to
 # define the "test runner", i.e. the program that the test scripts must
-# be run by (with the parallel-tests driver one should use LOG_COMPILER
+# be run by (with the parallel test harness one should use LOG_COMPILER
 # for this).  The behaviour tested here is also documented in the manual.
 
 am_serial_tests=yes