[tox] skip_missing_interpreters=true envlist = cov-clean, lint, {py27,py35,py36,py37,py38,pypy,pypy3}-{requests,httplib2,urllib3,tornado4,boto3}, {py35,py36,py37,py38}-{aiohttp}, cov-report # Coverage environment tasks: cov-clean and cov-report # https://pytest-cov.readthedocs.io/en/latest/tox.html [testenv:cov-clean] deps = coverage skip_install=true commands = coverage erase [testenv:cov-report] deps = coverage skip_install=true commands = coverage html coverage report --fail-under=90 [testenv:lint] skipsdist = True commands = black --version black --check --diff . flake8 --version flake8 --exclude=./docs/conf.py,./.tox/ pyflakes ./docs/conf.py deps = flake8 black [testenv] # Need to use develop install so that paths # for aggregate code coverage combine usedevelop=true commands = ./runtests.sh --cov=./vcr --cov-branch --cov-report=xml --cov-append {posargs} deps = Flask mock pytest pytest-httpbin pytest-cov PyYAML ipaddress requests: requests>=2.22.0 httplib2: httplib2 urllib3: urllib3 {py27,py35,py36,pypy}-tornado4: tornado>=4,<5 {py27,py35,py36,pypy}-tornado4: pytest-tornado {py27,py35,py36}-tornado4: pycurl boto3: boto3 boto3: urllib3 aiohttp: aiohttp aiohttp: pytest-asyncio aiohttp: pytest-aiohttp depends = {py27,py35,py36,py37,pypy}-{lint,requests,httplib2,urllib3,tornado4,boto3},{py35,py36,py37}-{aiohttp}: cov-clean cov-report: {py27,py35,py36,py37,pypy}-{lint,requests,httplib2,urllib3,tornado4,boto3},{py35,py36,py37}-{aiohttp} passenv = AWS_ACCESS_KEY_ID AWS_DEFAULT_REGION AWS_SECRET_ACCESS_KEY [flake8] max_line_length = 110