[tox]
minversion = 3.0
envlist = py{27,36,37}-cov, htmlcov

[testenv]
deps =
    cov: coverage>=4.3
    pytest
    -rrequirements.txt
install_command =
    pip install -v {opts} {packages}
commands =
    # run the test suite against the package installed inside tox env.
    # We use parallel mode and then combine later so that coverage.py will take
    # paths like .tox/py36/lib/python3.6/site-packages/fontTools and collapse
    # them into Lib/fontTools.
    cov: coverage run --parallel-mode -m pytest {posargs}
    nocov: pytest {posargs}

[testenv:htmlcov]
deps =
    coverage>=4.3
skip_install = true
commands =
    coverage combine
    coverage html

[testenv:codecov]
passenv = *
deps =
    coverage>=4.3
    codecov
skip_install = true
ignore_outcome = true
commands =
    coverage combine
    codecov --env TOXENV

[testenv:bdist]
deps =
    pygments
    docutils
    setuptools
    wheel
skip_install = true
install_command =
    # make sure we use the latest setuptools and wheel
    pip install --upgrade {opts} {packages}
whitelist_externals =
    rm
commands =
    # check metadata and rst long_description
    python setup.py check --restructuredtext --strict
    # clean up build/ and dist/ folders
    rm -rf {toxinidir}/dist
    python setup.py clean --all
    # build sdist
    python setup.py sdist --dist-dir {toxinidir}/dist
    # build wheel from sdist
    pip wheel -v --no-deps --no-index --wheel-dir {toxinidir}/dist --find-links {toxinidir}/dist fonttools
