--WK3l2KTTmXPVedZ6
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
On 11/27 20:57, Nir Soffer wrote:
Hi all,
=20
Thanks to Edward, we have now coverage reports in jenkins.
=20
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/<buil...
umber>/artifact/exported-artifacts/htmlcov/index.html
fact/exported-artifacts/htmlcov/index.html
=20
Todo:
=20
- 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.
=20
- 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 g=
ood
idea to generate them too in the check-merged.
=20
- We have only 45% coverage instead of the minimum, 100%.
=20
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/ar=
tifact/exported-artifacts/htmlcov/_home_jenkins_workspace_vdsm_master_check=
-patch-fc23-x86_64_vdsm_vdsm_storage_devicemapper_py.html
=20
Modules that were never imported during the tests have 0% coverage:
http://jenkins.ovirt.org/job/vdsm_master_check-patch-fc23-x86_64/648/ar=
tifact/exported-artifacts/htmlcov/_home_jenkins_workspace_vdsm_master_check=
-patch-fc23-x86_64_vdsm_vdsm_storage_hsm_py.html
=20
- coverage creates lot of useless noise in the jenkins logs, need to slic=
ense
nsoleFull
I did not find a way to do this in nosetests, may need hacking
nose coverage plugin.
=20
- The report includes only the tests in the tests directory.
=20
We have additional tests in lib/vdsm/infra/* which are not
included. We should
move these to the tests directory.
=20
- The report is using absolute paths, but we like shorter relative paths.
=20
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 :)
=20
- Add "make coverage" target for running coverage locally
=20
- An easy way to enable coverage for the functional tests or for running
a single test module.
=20
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
=20
- An easy way to enable coverage when testing flows in vdsm
=20
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 set=
up
=20
Nir
--=20
David Caro
Red Hat S.L.
Continuous Integration Engineer - EMEA ENG Virtualization R&D
Tel.: +420 532 294 605
Email: dcaro(a)redhat.com
IRC: dcaro|dcaroest@{freenode|oftc|redhat}
Web:
www.redhat.com
RHT Global #: 82-62605
--WK3l2KTTmXPVedZ6
Content-Type: application/pgp-signature; name="signature.asc"
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQEcBAEBAgAGBQJWWK0AAAoJEEBxx+HSYmnDRZQIAJSjT1HUI0OVV29vhBQ2UqXP
jxfiAe+3XjGCBNa6mCmSbv4KSV6mivJYsjk0dq+hh88UzBhJ1IRBhW5nYPx8PaYH
y6DdDt8E9IeXWDWjVDdkOMUeDoajcuTaOKoU0HKbYkYx59y6hugtAmYi2r1kU+jT
2ZPweulBTtvq2DzT3IXVkKwqzvR7TdHy9/IGAsENmCrLyG4ZSNlBQwTinwj4qNjC
Nrs0/uUewcL/AbL6t7buSSyE8PvB7oaU6KbwZ4dz1mFEWFVZbIa3QFpTrX6k305R
l1CWggj0rAisl3ka1ubM3QuvgRESrgjhLWtq9Eqrp8fwYNAFawbiQJmvzP3bZy0=
=DV50
-----END PGP SIGNATURE-----
--WK3l2KTTmXPVedZ6--