phpcov is a command-line frontend for the PHP_CodeCoverage library.
The easiest way to obtain phpcov is to download a PHP Archive (PHAR) that has all required dependencies of phpcov bundled in a single file:
$ wget https://phar.phpunit.de/phpcov.phar
$ chmod +x phpcov.phar
$ mv phpcov.phar /usr/local/bin/phpcov
You can also immediately use the PHAR after you have downloaded it, of course:
$ wget https://phar.phpunit.de/phpcov.phar
$ php phpcov.phar
You can add this tool as a local, per-project, development-time dependency to your project using Composer:
$ composer require --dev phpunit/phpcov
You can then invoke it using the vendor/bin/phpcov
executable.
$ git diff HEAD^1 > /tmp/patch.txt
$ phpunit --coverage-php /tmp/coverage.cov
$ phpcov patch-coverage /tmp/coverage.cov \
--patch /tmp/patch.txt \
--path-prefix /path/to/project
phpcov 2.0.0 by Sebastian Bergmann.
1 / 2 changed executable lines covered (50.00%)
Changed executable lines that are not covered:
Example.php:11
$ parallel --gnu ::: \
'phpunit --coverage-php /tmp/coverage/FooTest.cov tests/FooTest' \
'phpunit --coverage-php /tmp/coverage/BarTest.cov tests/BarTest'
$ phpcov merge /tmp/coverage --clover /tmp/clover.xml
phpcov 2.0.0 by Sebastian Bergmann.
Generating code coverage report in Clover XML format ... done
$ phpcov execute script.php --clover coverage.xml
phpcov 2.0.0 by Sebastian Bergmann.
Generating code coverage report in Clover XML format ... done