travis: Enable codecov coverage

This necessitates adding some basic coverage-py configuration [1] and
making sure the pytest-cov plugin uses said configuration [2]. Badges
are included.

Note that we do not run the 'coverage' tox target, which is reserved for
users.

[1] https://github.com/codecov/example-python
[2] https://bitbucket.org/ned/coveragepy/issues/512/

Signed-off-by: Stephen Finucane <stephen@that.guru>
This commit is contained in:
Stephen Finucane 2017-10-21 15:52:46 +01:00
parent a9efb2517a
commit a3f9935d95
4 changed files with 29 additions and 4 deletions

View File

@ -14,13 +14,17 @@ matrix:
- python: 'pypy' - python: 'pypy'
env: TOXENV=pypy env: TOXENV=pypy
- python: '2.7' - python: '2.7'
env: TOXENV=du13 env:
- TOXENV=du13
- PYTEST_ADDOPTS = --cov sphinx --cov-append --cov-config setup.cfg
- python: '3.4' - python: '3.4'
env: TOXENV=py34 env: TOXENV=py34
- python: '3.5' - python: '3.5'
env: TOXENV=py35 env: TOXENV=py35
- python: '3.6' - python: '3.6'
env: TOXENV=py36 env:
- TOXENV=py36
- PYTEST_ADDOPTS = --cov sphinx --cov-append --cov-config setup.cfg
- python: 'nightly' - python: 'nightly'
env: TOXENV=py37 env: TOXENV=py37
- python: '3.6' - python: '3.6'
@ -35,7 +39,10 @@ addons:
- imagemagick - imagemagick
install: install:
- pip install -U tox - pip install -U tox codecov
script: script:
- tox -- -v - tox -- -v
after_success:
- codecov

View File

@ -22,6 +22,10 @@
:target: https://circleci.com/gh/sphinx-doc/sphinx :target: https://circleci.com/gh/sphinx-doc/sphinx
:alt: Build Status (CircleCI) :alt: Build Status (CircleCI)
.. image:: https://codecov.io/gh/sphinx-doc/sphinx/branch/master/graph/badge.svg
:target: https://codecov.io/gh/sphinx-doc/sphinx
:alt: Code Coverage Status (Codecov)
Sphinx is a tool that makes it easy to create intelligent and beautiful Sphinx is a tool that makes it easy to create intelligent and beautiful
documentation for Python projects (or other documents consisting of multiple documentation for Python projects (or other documents consisting of multiple
reStructuredText sources), written by Georg Brandl. It was originally created reStructuredText sources), written by Georg Brandl. It was originally created

View File

@ -43,3 +43,17 @@ follow_imports = skip
incremental = True incremental = True
check_untyped_defs = True check_untyped_defs = True
warn_unused_ignores = True warn_unused_ignores = True
[coverage:run]
branch = True
source = sphinx
[coverage:report]
exclude_lines =
# Have to re-enable the standard pragma
pragma: no cover
# Don't complain if tests don't hit defensive assertion code:
raise NotImplementedError
# Don't complain if non-runnable code isn't run:
if __name__ == .__main__.:
ignore_errors = True

View File

@ -22,7 +22,7 @@ deps =
du14: docutils==0.14 du14: docutils==0.14
setenv = setenv =
SPHINX_TEST_TEMPDIR = {envdir}/testbuild SPHINX_TEST_TEMPDIR = {envdir}/testbuild
coverage: PYTEST_ADDOPTS = --cov sphinx coverage: PYTEST_ADDOPTS = --cov sphinx --cov-config {toxinidir}/setup.cfg
commands= commands=
{envpython} -Wall tests/run.py --durations 25 {posargs} {envpython} -Wall tests/run.py --durations 25 {posargs}