[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/ \ --no-full-cov=mitmproxy/contentviews/__init__.py --no-full-cov=mitmproxy/contentviews/protobuf.py --no-full-cov=mitmproxy/contentviews/wbxml.py --no-full-cov=mitmproxy/contentviews/xml_html.py \ --no-full-cov=mitmproxy/net/tcp.py --no-full-cov=mitmproxy/net/http/cookies.py --no-full-cov=mitmproxy/net/http/encoding.py --no-full-cov=mitmproxy/net/http/message.py --no-full-cov=mitmproxy/net/http/request.py --no-full-cov=mitmproxy/net/http/response.py --no-full-cov=mitmproxy/net/http/url.py \ --no-full-cov=mitmproxy/proxy/protocol/ --no-full-cov=mitmproxy/proxy/config.py --no-full-cov=mitmproxy/proxy/root_context.py --no-full-cov=mitmproxy/proxy/server.py \ --no-full-cov=mitmproxy/tools/ \ --no-full-cov=mitmproxy/certs.py --no-full-cov=mitmproxy/connections.py --no-full-cov=mitmproxy/controller.py --no-full-cov=mitmproxy/events.py --no-full-cov=mitmproxy/export.py --no-full-cov=mitmproxy/flow.py --no-full-cov=mitmproxy/flowfilter.py --no-full-cov=mitmproxy/http.py --no-full-cov=mitmproxy/io_compat.py --no-full-cov=mitmproxy/master.py --no-full-cov=mitmproxy/optmanager.py \ --full-cov=pathod/ --no-full-cov=pathod/pathoc.py --no-full-cov=pathod/pathod.py --no-full-cov=pathod/test.py --no-full-cov=pathod/protocols/http2.py \ {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 --count mitmproxy pathod examples test release rstcheck README.rst mypy --silent-imports \ mitmproxy/addons/ \ mitmproxy/addonmanager.py \ mitmproxy/proxy/protocol/ \ mitmproxy/log.py \ mitmproxy/tools/dump.py \ mitmproxy/tools/web/ \ mitmproxy/contentviews/ [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}