diff --git a/.coveragerc b/.coveragerc deleted file mode 100644 index 3e345e68..00000000 --- a/.coveragerc +++ /dev/null @@ -1,7 +0,0 @@ -[report] -# Regexes for lines to exclude from consideration -exclude_lines = - if __name__ == .__main__.: -include= - hooks/keystone_* - actions/actions.py diff --git a/.zuul.yaml b/.zuul.yaml index 7051aeeb..dc276615 100644 --- a/.zuul.yaml +++ b/.zuul.yaml @@ -1,3 +1,4 @@ - project: templates: - python35-charm-jobs + - openstack-cover-jobs diff --git a/test-requirements.txt b/test-requirements.txt index 79988242..1937e87c 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -5,3 +5,4 @@ flake8>=2.2.4,<=2.4.1 os-testr>=0.4.1 python-keystoneclient>=1.7.1 git+https://github.com/openstack-charmers/zaza.git#egg=zaza;python_version>='3.0' +coverage>=4.5.2 diff --git a/tox.ini b/tox.ini index d19cf071..6fd7f2a3 100644 --- a/tox.ini +++ b/tox.ini @@ -41,6 +41,33 @@ deps = -r{toxinidir}/requirements.txt commands = flake8 {posargs} hooks unit_tests tests actions lib charm-proof +[testenv:cover] +# Technique based heavily upon +# https://github.com/openstack/nova/blob/master/tox.ini +basepython = python3 +deps = -r{toxinidir}/requirements.txt + -r{toxinidir}/test-requirements.txt +setenv = + {[testenv]setenv} + PYTHON=coverage run +commands = + coverage erase + ostestr {posargs} + coverage combine + coverage html -d cover + coverage xml -o cover/coverage.xml + coverage report + +[coverage:run] +branch = True +concurrency = multiprocessing +parallel = True +source = + . +omit = + .tox/* + charmhelpers/* + [testenv:venv] basepython = python3 commands = {posargs}