[tox]
envlist = py, flake8, mypy
skipsdist = True
toxworkdir={env:TOX_WORK_DIR:.tox}

[testenv]
deps =
  -e .[dev]
setenv = HOME = {envtmpdir}
commands =
  mitmdump --version
  pytest --timeout 60 -vv --cov-report xml \
    --continue-on-collection-errors \
    --cov=mitmproxy --cov=release \
    --full-cov=mitmproxy/ \
    {posargs}

[testenv:flake8]
deps =
  flake8>=3.8.4,<5.1
  flake8-tidy-imports>=4.2.0,<5
commands =
  flake8 --jobs 8 mitmproxy examples test release {posargs}

[testenv:filename_matching]
deps =
commands =
  python ./test/filename_matching.py

[testenv:mypy]
deps =
  mypy==0.982
  types-certifi==2021.10.8.3
  types-Flask==1.1.6
  types-Werkzeug==1.0.9
  types-requests==2.28.11.2
  types-cryptography==3.3.23.1
  types-pyOpenSSL==22.1.0.1
  -e .[dev]

commands =
  mypy {posargs}

[testenv:individual_coverage]
commands =
  python ./test/individual_coverage.py {posargs}

[testenv:wheeltest]
recreate = True
deps =
commands =
  pip install {posargs}
  mitmproxy --version
  mitmdump --version
  mitmweb --version
