Next: , Previous: Scripts-based Testsuites, Up: Simple Tests


15.2.2 Serial Test Harness

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.