aboutsummaryrefslogtreecommitdiffstats
path: root/tox.ini
blob: 4994b11918a462ab94246344010ddb5f56f02f6d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
[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/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}