diff options
author | Stefano Lattarini <stefano.lattarini@gmail.com> | 2012-05-18 18:00:51 +0200 |
---|---|---|
committer | Stefano Lattarini <stefano.lattarini@gmail.com> | 2012-05-18 18:45:25 +0200 |
commit | 5e771b27e52cda72b1bfde18ed7a4f118fad24e0 (patch) | |
tree | 7faf4b36f8b098dbce59b3ebf77deab1f1bd426a | |
parent | 7b6129b9bb74773e1a02c5c43614f9fd47179369 (diff) | |
download | automake-5e771b27e52cda72b1bfde18ed7a4f118fad24e0.tar.gz |
check: the parallel-tests driver is now the default
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, 126 insertions, 179 deletions
@@ -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 diff --git a/automake.in b/automake.in index 2baaf6103..22fbbd764 100644 --- a/automake.in +++ b/automake.in @@ -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) diff --git a/configure.ac b/configure.ac index ec384269c..ad34d1589 100644 --- a/configure.ac +++ b/configure.ac @@ -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. @@ -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" diff --git a/doc/automake.texi b/doc/automake.texi index 5928291bb..ea0f3e678 100644 --- a/doc/automake.texi +++ b/doc/automake.texi @@ -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} diff --git a/lib/Automake/Options.pm b/lib/Automake/Options.pm index 231600b82..186d4ca8c 100644 --- a/lib/Automake/Options.pm +++ b/lib/Automake/Options.pm @@ -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->{$_}; diff --git a/lib/am/check.am b/lib/am/check.am index 9cda82aba..67b254ffb 100644 --- a/lib/am/check.am +++ b/lib/am/check.am @@ -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% diff --git a/lib/test-driver b/lib/test-driver index 2398a06ff..e70a930a1 100755 --- a/lib/test-driver +++ b/lib/test-driver @@ -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. # diff --git a/m4/init.m4 b/m4/init.m4 index 0a6eefc4c..221aacf27 100644 --- a/m4/init.m4 +++ b/m4/init.m4 @@ -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 diff --git a/t/aclocal-path-precedence.sh b/t/aclocal-path-precedence.sh index 91d9a424c..d831cea0a 100755 --- a/t/aclocal-path-precedence.sh +++ b/t/aclocal-path-precedence.sh @@ -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 diff --git a/t/ax/extract-testsuite-summary.pl b/t/ax/extract-testsuite-summary.pl index 28a9c3560..a8b634373 100644 --- a/t/ax/extract-testsuite-summary.pl +++ b/t/ax/extract-testsuite-summary.pl @@ -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. diff --git a/t/ax/tap-summary-aux.sh b/t/ax/tap-summary-aux.sh index f5d1fbdfe..fcdcf53e8 100644 --- a/t/ax/tap-summary-aux.sh +++ b/t/ax/tap-summary-aux.sh @@ -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 diff --git a/t/ax/testsuite-summary-checks.sh b/t/ax/testsuite-summary-checks.sh index 0c8e98c5d..673fbcbdb 100644 --- a/t/ax/testsuite-summary-checks.sh +++ b/t/ax/testsuite-summary-checks.sh @@ -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'";; diff --git a/t/check-exported-srcdir.sh b/t/check-exported-srcdir.sh index c6fda2125..25a4722b6 100755 --- a/t/check-exported-srcdir.sh +++ b/t/check-exported-srcdir.sh @@ -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 <== diff --git a/t/check-no-test-driver.sh b/t/check-no-test-driver.sh index 84ea32599..f86b4da9c 100755 --- a/t/check-no-test-driver.sh +++ b/t/check-no-test-driver.sh @@ -15,13 +15,15 @@ # 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 diff --git a/t/check-subst.sh b/t/check-subst.sh index ac8fe8905..3cc2bc40d 100755 --- a/t/check-subst.sh +++ b/t/check-subst.sh @@ -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 <== diff --git a/t/check-tests-in-builddir.sh b/t/check-tests-in-builddir.sh index 323c3bca2..5b3cb222c 100755 --- a/t/check-tests-in-builddir.sh +++ b/t/check-tests-in-builddir.sh @@ -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 diff --git a/t/check8.sh b/t/check8.sh index d33c002cf..4db8e866a 100755 --- a/t/check8.sh +++ b/t/check8.sh @@ -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 diff --git a/t/dist-auxdir-many-subdirs.sh b/t/dist-auxdir-many-subdirs.sh index f84514a79..39eb37362 100755 --- a/t/dist-auxdir-many-subdirs.sh +++ b/t/dist-auxdir-many-subdirs.sh @@ -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. diff --git a/t/java-compile-run-flat.sh b/t/java-compile-run-flat.sh index 9f3c18441..3a8fcadf2 100755 --- a/t/java-compile-run-flat.sh +++ b/t/java-compile-run-flat.sh @@ -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 diff --git a/t/java-compile-run-nested.sh b/t/java-compile-run-nested.sh index 61727f7c9..ece2d1c98 100755 --- a/t/java-compile-run-nested.sh +++ b/t/java-compile-run-nested.sh @@ -18,11 +18,11 @@ # 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 diff --git a/t/parallel-tests-driver-install.sh b/t/parallel-tests-driver-install.sh index fcfa38d7f..a04e9b1d2 100755 --- a/t/parallel-tests-driver-install.sh +++ b/t/parallel-tests-driver-install.sh @@ -15,19 +15,15 @@ # 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 : diff --git a/t/parallel-tests-dry-run-1.sh b/t/parallel-tests-dry-run-1.sh index 6fdcb9820..f5496e3d3 100755 --- a/t/parallel-tests-dry-run-1.sh +++ b/t/parallel-tests-dry-run-1.sh @@ -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 diff --git a/t/parallel-tests-dry-run-2.sh b/t/parallel-tests-dry-run-2.sh index 20ccb5dc4..f3ce42ea4 100755 --- a/t/parallel-tests-dry-run-2.sh +++ b/t/parallel-tests-dry-run-2.sh @@ -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 diff --git a/t/parallel-tests-interrupt.tap b/t/parallel-tests-interrupt.tap index afc19568d..08f9031d1 100755 --- a/t/parallel-tests-interrupt.tap +++ b/t/parallel-tests-interrupt.tap @@ -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. diff --git a/t/parallel-tests-many.sh b/t/parallel-tests-many.sh index 65db6e6ca..d4f6c7f27 100755 --- a/t/parallel-tests-many.sh +++ b/t/parallel-tests-many.sh @@ -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 diff --git a/t/parallel-tests-no-color-in-log.sh b/t/parallel-tests-no-color-in-log.sh index 69414f7fe..16c0ed7e5 100755 --- a/t/parallel-tests-no-color-in-log.sh +++ b/t/parallel-tests-no-color-in-log.sh @@ -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 diff --git a/t/parallel-tests-reset-term.sh b/t/parallel-tests-reset-term.sh index cf9fb6cfb..4cd80862b 100755 --- a/t/parallel-tests-reset-term.sh +++ b/t/parallel-tests-reset-term.sh @@ -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 diff --git a/t/parallel-tests-subdir.sh b/t/parallel-tests-subdir.sh index 2698a53df..336fcd80e 100755 --- a/t/parallel-tests-subdir.sh +++ b/t/parallel-tests-subdir.sh @@ -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 diff --git a/t/tap-doc2.sh b/t/tap-doc2.sh index 0607112d3..b1ea8b900 100755 --- a/t/tap-doc2.sh +++ b/t/tap-doc2.sh @@ -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 diff --git a/t/test-driver-is-distributed.sh b/t/test-driver-is-distributed.sh index 9b2f08bba..88f7982e8 100755 --- a/t/test-driver-is-distributed.sh +++ b/t/test-driver-is-distributed.sh @@ -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 : diff --git a/t/test-metadata-global-log.sh b/t/test-metadata-global-log.sh index af435ae3c..dc65b2517 100755 --- a/t/test-metadata-global-log.sh +++ b/t/test-metadata-global-log.sh @@ -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 diff --git a/t/tests-environment-backcompat.sh b/t/tests-environment-backcompat.sh index 93643d11d..db370ab94 100755 --- a/t/tests-environment-backcompat.sh +++ b/t/tests-environment-backcompat.sh @@ -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 |