qa:runtests:development

Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
qa:runtests:development [2012/05/18 18:45] – run-tests development environment zoeqa:runtests:development [2017/09/22 13:28] (current) – external edit 127.0.0.1
Line 1: Line 1:
 ====== 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. 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 ==== ==== Installing PHP ====
    * Download the PHP 5.4.0 source tar    * Download the PHP 5.4.0 source tar
-   * Extract into /the/place/you/keep/php/souce+   * Extract into /the/place/you/keep/php/source
    * cd /the/place/you/keep/phpsource/    * cd /the/place/you/keep/phpsource/
-   * configure --with-zlib --enable-pcntl +   * configure --with-zlib --enable-pcntl --exec-prefix=/usr/local/minimalphp
    * make    * make
    * sudo make install    * sudo make install
-    + 
-This gets a recent copy of PHP installed in /usr/local+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 ==== ==== Installing other things ====
-Now you need:+ 
 +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)   * PHPUnit (which you should be able to install using pear)
   * Phing (likewise)   * Phing (likewise)
   * Doxygen (download, extract, configure, make sudo make install)   * 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 poining to the right xdebug.so.+  * 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. 
  
-Check that you have all this using php -m. 
  
 ==== Getting the development version of parallel run-tests.php ==== ==== 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 ==== ==== 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.1337366705.txt.gz · Last modified: 2017/09/22 13:28 (external edit)