Table of Contents

Requirements for run-tests.php

There are three main reasons to re-write (or re-factor) the existing run-tests.php code, these are:

Usability

There are several features of the run-tests.php code which should be preserved: It is very easy to run from the command line. It does not require special installation - the script is just there in the PHP distribution Although the code has become tangled the central idea is simple and easy for people to understand. The format of PHP test cases *must not* change as part of any re-write. run-tests.php should not require PHP to be built with any non-core extension with the exception of pcntl. We have to make this one exception because it is the only way to address the problem of running tests in parallel.

Compatibility

Any rewrite *must* be able to run all the existing tests as they are without modification. Since we know that tests within the same directory sometimes depend on each other, for instance they may modify the same file), parallelism can currently only be achieved at the level of test directories, not at individual tests.

Maintainability

Any new code must be easy to maintain and easy to extend. This means that we have to be clear about and agree on things like formatting, naming conventions and so on.

Additional requirements