1[tox] 2envlist = 3 py27, 4 py35, 5 py36, 6 py37, 7 py38, 8 py39, 9 pypy, 10 pypy3, 11 lint, 12 coverage 13 14[testenv] 15commands = 16 {envbindir}/buildout -c {toxinidir}/buildout.cfg buildout:directory={envdir} buildout:develop={toxinidir} install test 17 coverage run {envbindir}/test {posargs:-cv} 18deps = 19 zc.buildout 20 coverage 21setenv = 22 COVERAGE_FILE=.coverage.{envname} 23skip_install = true 24 25[testenv:coverage] 26basepython = python3.6 27skip_install = true 28deps = coverage 29depends = 30 py27, 31 py35, 32 py36, 33 py37, 34 py38, 35 py39, 36 pypy, 37 pypy3, 38setenv = 39 COVERAGE_FILE=.coverage 40commands = 41 coverage erase 42 coverage combine 43 coverage html 44 coverage xml 45 coverage report 46 47[testenv:lint] 48basepython = python3.6 49skip_install = true 50 51deps = 52 isort 53 flake8 54 # helper to generate HTML reports: 55 flake8-html 56 # Useful flake8 plugins that are Python and Plone specific: 57 flake8-coding 58 flake8-debugger 59 flake8-deprecated 60 flake8-todo 61 mccabe 62 # Potential flake8 plugins that should be used: # TBD 63 #flake8-blind-except 64 #flake8-commas 65 #flake8-docstrings 66 #flake8-mypy 67 #flake8-pep3101 68 #flake8-plone-hasattr 69 #flake8-string-format 70 #flake8_strict 71 #flake8-quotes 72 73commands = 74 - isort --check-only --diff {toxinidir}/src setup.py 75 flake8 src setup.py 76