====== Running the new version of run-tests.php ====== ===== Extract the code ===== Checkout the code from the PHP git repository like this: git clone http://git.php.net/repository/phpruntests.git Under the phpruntests directory you will find all the source code under the directory /src and all of the unit tests under the directory /tests. The main program is called run-tests.php. The main program is located in the directory /src. ===== Create a test runner ===== Create a script called 'runtests' in your bin directory (or any directory that is on your PATH) with this content: #!/bin/sh export TEST_PHP_EXECUTABLE=/location/of/php_to_test/php export TEST_PHP_CGI_EXECUTABLE=/location/of/php_cgi_to_test/php-cgi $TEST_PHP_EXECUTABLE /where/you/put/runtests/run-tests.php $* In the same way as the original script, this version demands that the PHP executable is set before it will run. You do not **need** to specify the CGI executable, the run-tests.php code will attempt to guess its location (as the current code does) from the location of the cli. ===== Run the code ===== Run a single test, eg: runtests my_test.phpt Run all the tests under a given directory, eg: runtests ext/standard/tests/ The output format is different to run-tests.php. If a single test is run a short summary is printed to stdout. If one or more directories of tests are run the output is printed after each group (directory) of tests has been run. Again, a summary is printed to stdout but details are written to a file. Run all the tests under path_to_php/ext in parallel on 4 processors runtests path_to_php/ext -z 4 Generate XML formatted output to a file: runtests -o xml -s /tmp/somefile path_to_php/tests Get more verbose results to the screen: runtests -vvv path_to_php/tests Note: there are three levels of verbosity, -v, -vv and -vvv. But default all you will see is a '.' for each test. runtests --help will give you all of the possible command line options. ======run-tests.php on Windows====== Running the code should be the same, you will need a runtests.bat file rather than a shell script.