diff --git a/.coveragerc b/.coveragerc new file mode 100644 index 00000000..c98ed32f --- /dev/null +++ b/.coveragerc @@ -0,0 +1,6 @@ +[run] +branch = True +source = src + +[report] +precision = 2 diff --git a/.gitignore b/.gitignore index 0ae1f69f..74409911 100644 --- a/.gitignore +++ b/.gitignore @@ -1,13 +1,17 @@ +*.egg-info *.pyc *.pyo -*.egg-info +.coverage +.coverage.* .installed.cfg .mr.developer.cfg .tox bin/ build/ +coverage.xml develop-eggs/ dist/ eggs/ +htmlcov/ lib/ parts/ diff --git a/.travis.yml b/.travis.yml index 99e27a24..7fea02c5 100644 --- a/.travis.yml +++ b/.travis.yml @@ -9,12 +9,15 @@ install: - pip install six==1.10.0 # force here to avoid conflit with zc.recipe.testrunner - pip install -U setuptools==33.1.1 - pip install zc.buildout + - pip install coveralls coverage - buildout bootstrap - - buildout + - buildout install test script: - - bin/test -v1 + - coverage run bin/test -v1 notifications: email: false +after_success: + - coveralls cache: pip: true directories: diff --git a/tox.ini b/tox.ini index bc5f52b8..a7a3a099 100644 --- a/tox.ini +++ b/tox.ini @@ -3,14 +3,31 @@ envlist = py27, py34, py35, - py36 + py36, + coverage-report, [testenv] commands = {envbindir}/buildout -c {toxinidir}/buildout.cfg buildout:directory={envdir} buildout:develop={toxinidir} bootstrap - {envbindir}/buildout -c {toxinidir}/buildout.cfg buildout:directory={envdir} buildout:develop={toxinidir} - {envbindir}/test -v1 + {envbindir}/buildout -c {toxinidir}/buildout.cfg buildout:directory={envdir} buildout:develop={toxinidir} install test + coverage run {envbindir}/test -v1 skip_install = true deps = setuptools==33.1.1 zc.buildout + coverage +setenv = + COVERAGE_FILE=.coverage.{envname} + +[testenv:coverage-report] +basepython = python2.7 +deps = coverage +setenv = + COVERAGE_FILE=.coverage +skip_install = true +commands = + coverage erase + coverage combine + coverage html -i + coverage xml -i + coverage report -i