| [tox] |
| minversion = 3.0 |
| envlist = py{27,37}-cov, htmlcov |
| |
| [testenv] |
| deps = |
| cov: coverage>=4.3 |
| pytest |
| pytest-randomly |
| -rrequirements.txt |
| extras = |
| ufo |
| woff |
| unicode |
| interpolatable |
| !nolxml: lxml |
| commands = |
| # test with or without coverage, passing extra positonal args to pytest |
| cov: coverage run --parallel-mode -m pytest {posargs:Tests fontTools} |
| !cov: pytest {posargs:Tests fontTools} |
| |
| [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:package_readme] |
| description = check that the long description is valid (need for PyPi) |
| deps = twine >= 1.12.1 |
| pip >= 18.0.0 |
| skip_install = true |
| extras = |
| commands = pip wheel -w {envtmpdir}/build --no-deps . |
| twine check {envtmpdir}/build/* |
| |
| [testenv:bdist] |
| deps = |
| 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 = |
| # clean up build/ and dist/ folders |
| python -c 'import shutil; shutil.rmtree("dist", ignore_errors=True)' |
| 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 |
| |
| [testenv:pypi] |
| deps = |
| {[testenv:bdist]deps} |
| twine |
| skip_install = true |
| passenv = TWINE_USERNAME TWINE_PASSWORD |
| commands = |
| {[testenv:bdist]commands} |
| twine upload dist/*.whl dist/*.zip |