mitmproxy/tox.ini

71 lines
2.0 KiB
INI

[tox]
envlist = py35, py36, docs, lint
skipsdist = True
toxworkdir={env:TOX_WORK_DIR:.tox}
[testenv]
deps =
{env:CI_DEPS:}
-rrequirements.txt
passenv = CODECOV_TOKEN CI CI_* TRAVIS TRAVIS_* APPVEYOR APPVEYOR_* SNAPSHOT_* OPENSSL_* RTOOL_*
setenv = HOME = {envtmpdir}
commands =
mitmdump --version
pytest --timeout 60 --cov-report='' \
--cov=mitmproxy --cov=pathod \
--full-cov=mitmproxy/ --full-cov=pathod/ \
{posargs}
{env:CI_COMMANDS:python -c ""}
[testenv:docs]
changedir = docs
commands = sphinx-build -W -b html -d {envtmpdir}/doctrees . {envtmpdir}/html
[testenv:lint]
commands =
mitmdump --version
flake8 --jobs 8 mitmproxy pathod examples test release
python3 test/filename_matching.py
rstcheck README.rst
mypy --ignore-missing-imports --follow-imports=skip \
mitmproxy/addons/ \
mitmproxy/addonmanager.py \
mitmproxy/optmanager.py \
mitmproxy/proxy/protocol/ \
mitmproxy/log.py \
mitmproxy/tools/dump.py \
mitmproxy/tools/web/ \
mitmproxy/contentviews/
[testenv:individual_coverage]
deps =
-rrequirements.txt
commands =
python3 test/individual_coverage.py
[testenv:wheel]
recreate = True
deps =
commands =
python setup.py -q bdist_wheel --dist-dir release/dist
pip install {posargs} release/dist/mitmproxy-{env:VERSION:}-py3-none-any.whl
# skip `mitmproxy --version` if SKIP_MITMPROXY is defined.
{env:SKIP_MITMPROXY:mitmproxy --version}
mitmdump --version
mitmweb --version
pathod --version
pathoc --version
[testenv:rtool]
deps =
-rrequirements.txt
-e./release
# The 3.2 release is broken 🎉
# the next commit after this updates the bootloaders, which then segfault! 🎉
# https://github.com/pyinstaller/pyinstaller/issues/2232
git+https://github.com/pyinstaller/pyinstaller.git@483c819d6a256b58db6740696a901bd41c313f0c; sys_platform == 'win32'
git+https://github.com/mhils/pyinstaller.git@d094401e4196b1a6a03818b80164a5f555861cef; sys_platform != 'win32'
commands =
rtool {posargs}