diff --git a/.coveragerc b/.coveragerc new file mode 100644 index 000000000..57f9c988d --- /dev/null +++ b/.coveragerc @@ -0,0 +1,4 @@ +[run] +branch = True +source = sendgrid +omit = site-packages diff --git a/.gitignore b/.gitignore index e1d700498..36ecf0c3d 100644 --- a/.gitignore +++ b/.gitignore @@ -15,4 +15,9 @@ venv/ .tox/ profile* README.txt -temp*.pysendgrid.env +temp*.py +.coverage +coverage.xml +htmlcov +temp*.py +sendgrid.env \ No newline at end of file diff --git a/.travis.yml b/.travis.yml index 8cd946b24..0767a91dc 100644 --- a/.travis.yml +++ b/.travis.yml @@ -14,6 +14,8 @@ install: - pip install flask - pip install six - pip install pypandoc +- pip install coverage +- pip install codecov # - sudo apt-get install -y pandoc addons: apt_packages: @@ -24,7 +26,9 @@ before_script: - export PATH=$PATH:$PWD/prism/bin/ - ./test/prism.sh script: -- if [[ $TRAVIS_PYTHON_VERSION == '2.6' ]]; then unit2 discover; else python -m unittest discover; fi +- if [[ $TRAVIS_PYTHON_VERSION == '2.6' ]]; then coverage run unit2 discover; else coverage run -m unittest discover; fi +after_script: +- codecov before_deploy: - python ./register.py deploy: diff --git a/README.md b/README.md index 4ed273d6e..bbc1fd4db 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,7 @@ ![SendGrid Logo](https://uiux.s3.amazonaws.com/2016-logos/email-logo%402x.png) [![Travis Badge](https://travis-ci.org/sendgrid/sendgrid-python.svg?branch=master)](https://travis-ci.org/sendgrid/sendgrid-python) +[![codecov](https://codecov.io/gh/meahow/sendgrid-python/branch/issue_251_coverage/graph/badge.svg)](https://codecov.io/gh/meahow/sendgrid-python) [![Docker Badge](https://img.shields.io/docker/automated/sendgrid/sendgrid-python.svg)](https://hub.docker.com/r/sendgrid/sendgrid-python/) [![Email Notifications Badge](https://dx.sendgrid.com/badge/python)](https://dx.sendgrid.com/newsletter/python) [![MIT licensed](https://img.shields.io/badge/license-MIT-blue.svg)](./LICENSE.txt) diff --git a/tox.ini b/tox.ini index bb68641a0..d3e892480 100644 --- a/tox.ini +++ b/tox.ini @@ -7,11 +7,17 @@ envlist = py26, py27, py34, py35, py36 [testenv] -commands = {envbindir}/python -m unittest discover -v [] +commands = coverage erase + coverage run -m unittest discover -v [] + coverage report deps = -rrequirements.txt + coverage + [testenv:py26] -commands = {envbindir}/unit2 discover -v [] +commands = coverage erase + coverage run {envbindir}/unit2 discover -v [] + coverage report deps = unittest2 {[testenv]deps} basepython = python2.6