Feature #91691

Add code coverage report to bamboo build

Added by Tymoteusz Motylewski 23 days ago. Updated 23 days ago.

Status:
New
Priority:
Should have
Assignee:
-
Category:
-
Target version:
-
Start date:
2020-06-22
Due date:
% Done:

0%

PHP Version:
Tags:
Complexity:
Sprint Focus:

Description

It would be nice to get feedback about test code coverage when pushing a commit to gerrit.
I've played around with PCOV (https://github.com/krakjoe/pcov), and running unit tests with coverage enabled on my local machine took 46.63 seconds (23.74 seconds without coverage enabled),
Generating code coverage report in Clover XML format ... done [15.69 seconds]
Generating code coverage report in HTML format ... done [7.77 seconds]

Here is the config I've used:

#Build/pcov.ini
pcov.enabled = 1
pcov.directory = typo3
pcov.exclude="~(vendor|Tests|Resources|Configuration|node_modules)~" 
pcov.initial.files = 10000
memory_limit = 2G

php -c Build/pcov.ini vendor/phpunit/phpunit/phpunit -c vendor/typo3/testing-framework/Resources/Core/Build/UnitTests.xml --coverage-html 'reports/clover_html' --coverage-clover 'reports/clover.xml'

We can either generate html coverage report ourselves or push the report to some external tool like https://coveralls.io/.

As a first step the report could be generated in the nightly build , later it could be added to bamboo patchset tests.

To have the most meaningful report we should combine coverage reports from our parallel unit builds and functional tests. This could be achieved using phpunit/phpcov (https://github.com/sebastianbergmann/phpcov):

phpunit --coverage-php build/cov/coverage-${component_name}.cov

php vendor/bin/phpcov.php merge --clover build/logs/clover.xml build/cov

History

#1 Updated by Tymoteusz Motylewski 23 days ago

  • Description updated (diff)

Also available in: Atom PDF