Use coverage parallel mode and coverage combine to fix paths

When using coverage.py with a project installed into site-packages
instead of in the current directory you end up with paths like
.tox/py34/lib/python3.4/site-packages/cryptography/__init__.py which
is less than ideal (and may cause issues when aggregating coverage
over multiple versions of Python). Switching coverage.py into
parallel-mode will have it write a .coverage.* file instead of a
.coverage file, which can then be "combined" into a .coverage file
using coverage combine. When coverage.py does the combine step it
will collapse the .tox/*/lib/python*/site-packages/cryptography
paths into src/cryptography.
This commit is contained in:
Donald Stufft 2014-11-13 08:17:36 -05:00
parent c62a78c015
commit 62143e4707
2 changed files with 10 additions and 1 deletions

View file

@ -4,6 +4,11 @@ source =
cryptography
tests/
[paths]
source =
src/cryptography
.tox/*/lib/python*/site-packages/cryptography
[report]
exclude_lines =
@abc.abstractmethod

View file

@ -11,7 +11,11 @@ deps =
pytest
./vectors
commands =
coverage run -m pytest --capture=no --strict {posargs}
# We use parallel mode and then combine here so that coverage.py will take
# the paths like .tox/py34/lib/python3.4/site-packages/cryptography/__init__.py
# and collapse them into src/cryptography/__init__.py.
coverage run --parallel-mode -m pytest --capture=no --strict {posargs}
coverage combine
coverage report -m
[testenv:docs]