[ovirt-devel] [VDSM] Coverage reports

David Caro Estevez dcaro at redhat.com
Fri Nov 27 19:20:32 UTC 2015


On 11/27 20:57, Nir Soffer wrote:
> Hi all,
> 
> Thanks to Edward, we have now coverage reports in jenkins.
> 
> The way to access the report on jenkins is to use this url:
> http://jenkins.ovirt.org/job/vdsm_master_check-patch-fc23-x86_64/<build-number>/artifact/exported-artifacts/htmlcov/index.html
> 
> Here is an example, hopefully it will be accessible when you try:
> http://jenkins.ovirt.org/job/vdsm_master_check-patch-fc23-x86_64/648/artifact/exported-artifacts/htmlcov/index.html
> 
> Todo:
> 
> - Easy way to access the report from gerrit
>   It should be easy to add a link the coverage report in the comment added
>   by jenkins after a build finish.

Not really, the gerrit comments that jenkins sends can't be changed by the
build, that means that you can't put put there a non-static url.
There's a quite tricky way that can be done with groovy postscripts and
accessing the jenkins inner objects, but that's very likely to break on any
plugin upgrade and requires a bit of investigating with objects to change.

> 
> - Store the coverage reports for longer time, maybe a week?

If they are generated with the check patch, you always have the latest there
(stored as long as your builds). If you want longer archiving, might be a good
idea to generate them too in the check-merged.

> 
> - We have only 45% coverage instead of the minimum, 100%.
> 
>   Note that coverage of 25% can mean *no* code was run by the tests.
> The only code
>   running was the functions and class definitions. Here is an example:
>   http://jenkins.ovirt.org/job/vdsm_master_check-patch-fc23-x86_64/648/artifact/exported-artifacts/htmlcov/_home_jenkins_workspace_vdsm_master_check-patch-fc23-x86_64_vdsm_vdsm_storage_devicemapper_py.html
> 
>   Modules that were never imported during the tests have 0% coverage:
>   http://jenkins.ovirt.org/job/vdsm_master_check-patch-fc23-x86_64/648/artifact/exported-artifacts/htmlcov/_home_jenkins_workspace_vdsm_master_check-patch-fc23-x86_64_vdsm_vdsm_storage_hsm_py.html
> 
> - coverage creates lot of useless noise in the jenkins logs, need to slicense
>   this output.
>   http://jenkins.ovirt.org/job/vdsm_master_check-patch-fc23-x86_64/648/consoleFull
>   I did not find a way to do this in nosetests, may need hacking
>   nose coverage plugin.
> 
> - The report includes only the tests in the tests directory.
> 
>    We have additional tests in lib/vdsm/infra/* which are not
> included. We should
>    move these to the tests directory.
> 
> - The report is using absolute paths, but we like shorter relative paths.
> 
>   I don't see a way to configure nosetests or coverage to generate
> relative paths.
>   May need hacking of the generated html/json in htmlcov.

If you find it please tell me, I have the same issue with other projects, I'll
do if I discover a way :)

> 
> - Add "make coverage" target for running coverage locally
> 
> - An easy way to enable coverage for the functional tests or for running
>   a single test module.
> 
>   Can be done using nosetests --cover* options. Should be documented in
>   tests/README, and maybe automated using a script or Makefile.
>   When running locally, one would like to have the script open the report
>   in the browser automatically:
>   xdg-open tests/htmlcov/index.html
> 
> - An easy way to enable coverage when testing flows in vdsm
> 
>   Petr sent a patch for enabling coverage using vdsm.conf:
>   https://gerrit.ovirt.org/49168
>   We discussed adding vdsm-coverage package that will make it easy to setup
> 
> Nir

-- 
David Caro

Red Hat S.L.
Continuous Integration Engineer - EMEA ENG Virtualization R&D

Tel.: +420 532 294 605
Email: dcaro at redhat.com
IRC: dcaro|dcaroest@{freenode|oftc|redhat}
Web: www.redhat.com
RHT Global #: 82-62605
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 473 bytes
Desc: not available
URL: <http://lists.ovirt.org/pipermail/devel/attachments/20151127/2c21366e/attachment.sig>


More information about the Devel mailing list