[tox]
envlist =
    py{36,35,34,27,py}
    py{36,27,py}-simplejson
    py{36,27,py}-devel
    py{36,27,py}-lowest
    docs-html
    coverage-report

[testenv]
passenv = LANG
deps =
    pytest>=3
    coverage
    greenlet
    blinker
    python-dotenv

    lowest: Werkzeug==0.14
    lowest: Jinja2==2.10
    lowest: itsdangerous==0.24
    lowest: Click==5.1

    devel: https://github.com/pallets/werkzeug/archive/master.tar.gz
    devel: https://github.com/pallets/markupsafe/archive/master.tar.gz
    devel: https://github.com/pallets/jinja/archive/master.tar.gz
    devel: https://github.com/pallets/itsdangerous/archive/master.tar.gz
    devel: https://github.com/pallets/click/archive/master.tar.gz

    simplejson: simplejson

commands =
    # the examples need to be installed to test successfully
    pip install -e examples/tutorial -q

    # pytest-cov doesn't seem to play nice with -p
    coverage run -p -m pytest tests examples

[testenv:docs-html]
deps = sphinx
commands = sphinx-build -W -b html -d {envtmpdir}/doctrees docs {envtmpdir}/html

[testenv:docs-linkcheck]
deps = sphinx
commands = sphinx-build -W -b linkcheck -d {envtmpdir}/doctrees docs {envtmpdir}/linkcheck

[testenv:coverage-report]
deps = coverage
skip_install = true
commands =
    coverage combine
    coverage report
    coverage html

[testenv:codecov]
passenv = CI TRAVIS TRAVIS_*
deps = codecov
skip_install = true
commands =
    coverage combine
    coverage report
    codecov