qa:runtests:development

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
qa:runtests:development [2012/05/18 17:57] – created zoeqa:runtests:development [2017/09/22 13:28] (current) – external edit 127.0.0.1
Line 1: Line 1:
-Instructions for setting up development environment+====== Setting up development environment ====== 
 +run-tests.php is a PHP script so all you really need is a fairly standard development environment. This is a brief set of instructions. 
 +If you just want to **run** the code this page is not for you - look [[http://wiki.php.net/qa/runtests/howtorun|here]] 
 + 
 +==== Installing PHP ==== 
 +   * Download the PHP 5.4.0 source tar 
 +   * Extract into /the/place/you/keep/php/source 
 +   * cd /the/place/you/keep/phpsource/ 
 +   * configure --with-zlib --enable-pcntl --exec-prefix=/usr/local/minimalphp 
 +   * make 
 +   * sudo make install 
 + 
 +This gets a recent copy of PHP installed in /usr/local/minimalphp/bin/php. Note: you do not _need_ zlib, a couple of the unit test use it in testing the --GZIP_POST-- and --DEFLATE_POST-- sections. You can skip these tests with a configuration variable. You also only need pcntl for running tests in parallel. So, in fact your configure command here could be --disable-all. This would be enough to run the run-tests.php and its unit tests. 
 + 
 +==== Installing other things ==== 
 + 
 +The run-tests.php code is unit tested using PHPUnit. The unit tests can be run individually but the easiest way to run them all is from a build.xml file driven by phing.  
 + 
 +Code documentation is generated using Doxygen and unit test code coverage comes from Xdebug.  
 + 
 +You don't **need** any of these things if all you want to do is **run** the code. You do need them if you want to make changes and test your changes. 
 + 
 +So, in summary, install: 
 + 
 +  * PHPUnit (which you should be able to install using pear) 
 +  * Phing (likewise) 
 +  * Doxygen (download, extract, configure, make sudo make install) 
 +  * Xdebug 2.2.0 (download and build). Follow the Xdebug instructions carefully - make sure that your php.ini is pointing to the right xdebug.so. 
 + 
 + 
 + 
 +==== Getting the development version of parallel run-tests.php ==== 
 + 
 +<code> 
 +git clone http://git.php.net/repository/phpruntests.git 
 +</code> 
 + 
 +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. 
 + 
 +Assuming that you have installed all the tools above, yo may want to run  
 + 
 +<code> 
 +phing doc 
 +</code> 
 + 
 +first. This will generate class documentation in a sub directory called _docs. It may be useful to look at that in conjunction with the source code and documentation on this wiki. 
 +==== Checking that the code is working ==== 
 + 
 +The source code comes with a set of PHPUnit test cases and a QA test suite, all of this is controlled in a build.xml file. 
 + 
 +Before running the tests you **must set up a configuration file**. You will find phpdefinitions.txt.sample in the phpruntests directory. Copy it to phpdefinitions.txt and modify the settings to suit those on your system. 
 + 
 +=== Unit tests === 
 +<code> 
 +phing test 
 +</code> 
 + 
 +=== QA === 
 +<code>  
 +phing qa 
 +</code> 
 + 
 +This will run unit tests first and the go on to run a standard test bucket, first with the old version of run-tests.php and the with the new version (in sequential mode). A php script is used to compare the results of the new and old versions. Look in phpruntests/_compare for a results file. 
 + 
 +At the moment (18th May 2012) you can expect a few differences in the output from the old and new versions of run-tests.php. These are mainly due to REDIRECTTEST not being implemented and a few other small differences in tests which need to be fixed.  
 + 
 + 
 + 
 + 
 + 
qa/runtests/development.1337363822.txt.gz · Last modified: 2017/09/22 13:28 (external edit)