[tox] skip_missing_interpreters=true envlist = cov-clean, {py38,py39,py310,py311,py312}-{requests-urllib3-1,httplib2,urllib3-1,tornado4,boto3,aiohttp,httpx}, {py310,py311,py312}-{requests-urllib3-2,urllib3-2}, {pypy3}-{requests-urllib3-1,httplib2,urllib3-1,tornado4,boto3}, #{py310}-httpx019, cov-report [gh-actions] python = 3.8: py38 3.9: py39 3.10: py310 3.11: py311 3.12: py312 pypy-3: pypy3 # 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] # 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} allowlist_externals = ./runtests.sh deps = Werkzeug==2.0.3 pytest pytest-httpbin>=1.0.1 pytest-cov PyYAML ipaddress requests: requests>=2.22.0 httplib2: httplib2 urllib3-1: urllib3<2 urllib3-2: urllib3<3 boto3: boto3 aiohttp: aiohttp aiohttp: pytest-asyncio aiohttp: pytest-aiohttp httpx: httpx {py38,py39,py310}-{httpx}: httpx {py38,py39,py310}-{httpx}: pytest-asyncio httpx: httpx>0.19 httpx019: httpx==0.19 {py38,py39,py310}-{httpx}: pytest-asyncio depends = {py38,py39,py310,py311,py312,pypy3}-{requests-urllib3-1,httplib2,urllib3-1,tornado4,boto3},{py310,py311,py312}-{requests-urllib3-2,urllib3-2},{py38,py39,py310,py311,py312}-{aiohttp},{py38,py39,py310,py311,py312}-{httpx}: cov-clean cov-report: {py38,py39,py310,py311,py312,pypy3}-{requests-urllib3-1,httplib2,urllib3-1,tornado4,boto3},{py310,py311,py312}-{requests-urllib3-2,urllib3-2},{py38,py39,py310,py311,py312}-{aiohttp} passenv = AWS_ACCESS_KEY_ID AWS_DEFAULT_REGION AWS_SECRET_ACCESS_KEY setenv = # workaround for broken C extension in aiohttp # see: https://github.com/aio-libs/aiohttp/issues/7229 py312: AIOHTTP_NO_EXTENSIONS=1