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/22 07:32] – [Installing PHP] 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 ====
Line 6: Line 7:
    * Extract into /the/place/you/keep/php/source    * 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. 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 woudl be enough to run the run-tests.php and its unit tests.+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> <code>
 git clone http://git.php.net/repository/phpruntests.git git clone http://git.php.net/repository/phpruntests.git
Line 28: Line 38:
 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. 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. 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 php build.xml file.+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. 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.
qa/runtests/development.1337671966.txt.gz · Last modified: 2017/09/22 13:28 (external edit)