Hi all,
I posted
https://gerrit.ovirt.org/49807, adding vdsm-coverage package, making
it easy to get coverage report for functional or system tests. This can also be
used to understand which code is touched when performing some flow manually.
Once this patch is merged, you can create coverage report like this:
1. Install vdsm-coverage
2. Enable coverage in vdsm.conf:
[devel]
coverage_enable = true
3. Restart vdsm
4. Run tests or interact with engine
5. Stop vdsm
The report is created in /var/run/vdsm/vdsm.coverage
To create html report:
coverage html --rcfile /etc/vdsm/coverage.conf
The view the report, start a web server:
cd htmlcov
python -m SimpleHTTPServer
The report is available now in your favorite browser:
http://myhost.example.com:8000/
The manual steps described above can probably be automated, having
a web server running and generating coverage report on demand.
(hint: patches are welcome)
Notes:
- On RHEL 7.2, python-coverage is old (3.6). Use pip to install
more recent one:
pip install -U coverage
Note that files generated by coverage 3.6 cannot be processed
with coverage 4.
- Needs debian packaging
Please try and suggest improvements.
Nir