diff options
author | John Snow <jsnow@redhat.com> | 2021-09-15 12:29:55 -0400 |
---|---|---|
committer | John Snow <jsnow@redhat.com> | 2021-09-27 12:10:29 -0400 |
commit | a4ffaecd5726433f01b0ff857054acad9dc9df12 (patch) | |
tree | c5d4eb8b4e37d91df07d3550f5cdabba3d170061 /python | |
parent | 8193b9d148e0d42794b78ab040c804db15b5f524 (diff) | |
download | qemu-a4ffaecd5726433f01b0ff857054acad9dc9df12.zip qemu-a4ffaecd5726433f01b0ff857054acad9dc9df12.tar.gz qemu-a4ffaecd5726433f01b0ff857054acad9dc9df12.tar.bz2 |
python/aqmp: Add Coverage.py support
I'm not exposing this via the Makefile help, it's not likely to be
useful to passersby. Switch the avocado runner to the 'legacy' runner
for now, as the new runner seems to obscure coverage reports, again.
Usage is to enter your venv of choice and then:
`make check-coverage && xdg-open htmlcov/index.html`.
Signed-off-by: John Snow <jsnow@redhat.com>
Message-id: 20210915162955.333025-28-jsnow@redhat.com
Signed-off-by: John Snow <jsnow@redhat.com>
Diffstat (limited to 'python')
-rw-r--r-- | python/.gitignore | 5 | ||||
-rw-r--r-- | python/Makefile | 9 | ||||
-rw-r--r-- | python/avocado.cfg | 3 | ||||
-rw-r--r-- | python/setup.cfg | 10 |
4 files changed, 27 insertions, 0 deletions
diff --git a/python/.gitignore b/python/.gitignore index c8b0e67..904f324 100644 --- a/python/.gitignore +++ b/python/.gitignore @@ -15,3 +15,8 @@ qemu.egg-info/ .venv/ .tox/ .dev-venv/ + +# Coverage.py reports +.coverage +.coverage.* +htmlcov/ diff --git a/python/Makefile b/python/Makefile index fe27a3e..3334311 100644 --- a/python/Makefile +++ b/python/Makefile @@ -92,6 +92,13 @@ check: check-tox: @tox $(QEMU_TOX_EXTRA_ARGS) +.PHONY: check-coverage +check-coverage: + @coverage run -m avocado --config avocado.cfg run tests/*.py + @coverage combine + @coverage html + @coverage report + .PHONY: clean clean: python3 setup.py clean --all @@ -100,3 +107,5 @@ clean: .PHONY: distclean distclean: clean rm -rf qemu.egg-info/ .venv/ .tox/ $(QEMU_VENV_DIR) dist/ + rm -f .coverage .coverage.* + rm -rf htmlcov/ diff --git a/python/avocado.cfg b/python/avocado.cfg index 10dc6fb..c7722e7 100644 --- a/python/avocado.cfg +++ b/python/avocado.cfg @@ -1,3 +1,6 @@ +[run] +test_runner = runner + [simpletests] # Don't show stdout/stderr in the test *summary* status.failure_fields = ['status'] diff --git a/python/setup.cfg b/python/setup.cfg index 8481fa7..4fd0c68 100644 --- a/python/setup.cfg +++ b/python/setup.cfg @@ -140,3 +140,13 @@ deps = .[fuse] # Workaround to trigger tox venv rebuild commands = make check + +# Coverage.py [https://coverage.readthedocs.io/en/latest/] is a tool for +# measuring code coverage of Python programs. It monitors your program, +# noting which parts of the code have been executed, then analyzes the +# source to identify code that could have been executed but was not. + +[coverage:run] +concurrency = multiprocessing +source = qemu/ +parallel = true |