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 (see Parallel Test Harness). Be warned that future Automake versions might switch to use that more modern and feature-rich harness by default.
The serial test harness is enabled by the Automake option serial-tests. It operates by simply running the tests serially, one at the time, without any I/O redirection. It's up to the user to implement logging of tests' output, if that's requited or desired.
For historical and implementation reasons, the AM_TESTS_ENVIRONMENT
variable is not supported by this harness (it will be silently
ignored if defined); only TESTS_ENVIRONMENT
is, and it is to be
considered a developer-reserved variable. This is done so that, when
using the serial harness, TESTS_ENVIRONMENT
can be defined to an
invocation of an interpreter through which the tests are to be run.
For instance, the following setup may be used to run tests with Perl:
TESTS_ENVIRONMENT = $(PERL) -Mstrict -w TESTS = foo.pl bar.pl baz.pl
It's important to note that the use of TESTS_ENVIRONMENT
endorsed
here would be invalid with the parallel harness. That harness
provides a more elegant way to achieve the same effect, with the further
benefit of freeing the TESTS_ENVIRONMENT
variable for the user
(see Parallel Test Harness).
Another, less serious limit of the serial harness is that it doesn't really distinguish between simple failures and hard errors; this is due to historical reasons only, and might be fixed in future Automake versions.