qa:testcoverage
Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
qa:testcoverage [2008/04/30 19:44] – created zoe | qa:testcoverage [2017/09/22 13:28] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
==== How to look at the test coverage for an extension - eg /ext/dom ==== | ==== How to look at the test coverage for an extension - eg /ext/dom ==== | ||
- | * Make sure that you have LTP installed | + | |
- | * sudo apt-get install ltp (on Ubuntu) | + | * sudo apt-get install ltp |
* sudo apt-get install lcov | * sudo apt-get install lcov | ||
+ | |||
+ | === Checkout the PHP53 code and build it === | ||
+ | * Checkout or download PHP53 into directory of your choice (in my case / | ||
+ | * cd / | ||
+ | * ./buildconf | ||
+ | * ./configure --enable-gcov | ||
+ | * make | ||
+ | |||
+ | === Check the coverage of a single extension === | ||
+ | * make a new directory somewhere (eg / | ||
+ | * create a script (run_coverage) file to run the tests, eg | ||
+ | < | ||
+ | export TEST_PHP_EXECUTABLE=/ | ||
+ | $TEST_PHP_EXECUTABLE / | ||
+ | </ | ||
+ | * ./ | ||
+ | * lcov --directory / | ||
+ | * genhtml dom.info -o dom_coverage. This will make a directory called dom_coverage with html coverage files in it. | ||
+ | * View the coverage files :-) | ||
+ | |||
+ | ==== How would I look at the coverage of a subset of the tests? ==== | ||
+ | For example - suppose I wanted to take all the tests which are there because of bug reports and just look at what the base test cases cover. | ||
+ | * cd / | ||
+ | * '' | ||
+ | * make clean; make | ||
+ | * cd / | ||
+ | * run lcov and genhtml as above | ||
+ | |||
+ | Just for interest, the code coverage of the dom extension without the bug tests is 2101 of 4708 lines (44.6%). | ||
+ | |||
+ | Don't forget to copy the bug tests back afterwards: | ||
+ | * '' | ||
+ | * NB: no space between the two slashes after .bak | ||
+ | |||
+ | |||
+ | |||
+ | |||
qa/testcoverage.1209584666.txt.gz · Last modified: 2017/09/22 13:28 (external edit)