From f69972d13d9c6bfc5f59e71c1253b8d81003d064 Mon Sep 17 00:00:00 2001 From: Maximilian Hils Date: Tue, 28 Jun 2016 19:44:25 -0700 Subject: [PATCH] simplify tox setup --- .travis.yml | 23 ++++++++++++++--------- requirements.txt | 1 + setup.py | 5 +++-- tox.ini | 45 +++++++++++---------------------------------- 4 files changed, 29 insertions(+), 45 deletions(-) diff --git a/.travis.yml b/.travis.yml index a01bf0551..24a0a5c65 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,23 +10,31 @@ addons: packages: - libssl-dev +env: + global: + - TOXENV=py + - CI_DEPS=codecov>=2.0.5 + - CI_COMMANDS=codecov + matrix: fast_finish: true include: - python: 2.7 - env: TOXENV=py27-ci + env: TOXENV=py27 - python: 2.7 - env: TOXENV=py27-ci NO_ALPN=1 + env: TOXENV=py27 NO_ALPN=1 - python: 3.5 - env: TOXENV=py35-ci + env: TOXENV=py35 - python: 3.5 - env: TOXENV=py35-ci NO_ALPN=1 + env: TOXENV=py35 NO_ALPN=1 - language: generic - env: TOXENV=py27-ci os: osx osx_image: xcode7.1 git: depth: 9999999 + env: TOXENV=py27 + - python: 3.5 + env: TOXENV=lint - python: 2.7 env: TOXENV=docs allow_failures: @@ -42,10 +50,7 @@ install: fi - pip install tox -before_script: - - "tox -e lint" - -script: tox +script: tox -- --cov netlib --cov mitmproxy --cov pathod after_success: - | diff --git a/requirements.txt b/requirements.txt index 9d5d5bbbd..092f834a9 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,2 +1,3 @@ +https://maximilianhils.com/upload/2016-06/lxml-3.6.0-cp35-cp35m-win32.whl; sys_platform == 'win32' and python_version == '3.5' -e .[dev,examples,contentviews] -e ./release \ No newline at end of file diff --git a/setup.py b/setup.py index a430d31a6..c0ad74891 100644 --- a/setup.py +++ b/setup.py @@ -110,8 +110,9 @@ setup( ], 'contentviews': [ "cssutils>=1.0.1, <1.1", - "protobuf>=2.6.1, <2.7", - "pyamf>=0.8.0, <0.9", + # TODO: Find Python 3 replacements + # "protobuf>=2.6.1, <2.7", + # "pyamf>=0.8.0, <0.9", ], 'examples': [ "beautifulsoup4>=4.4.1, <4.5", diff --git a/tox.ini b/tox.ini index 13b67ad57..38507f277 100644 --- a/tox.ini +++ b/tox.ini @@ -2,52 +2,29 @@ envlist = py27, py35, docs, lint [testenv] +usedevelop=True deps = + {env:CI_DEPS:} -rrequirements.txt - codecov>=2.0.5 -passenv = USERNAME HOME HOMEPATH LOCALAPPDATA CODECOV_TOKEN CI TRAVIS TRAVIS_* APPVEYOR APPVEYOR_* +passenv = CODECOV_TOKEN CI CI_* TRAVIS TRAVIS_* APPVEYOR APPVEYOR_* setenv = - PY3TESTS = test/netlib test/pathod/ test/mitmproxy/script test/mitmproxy/test_contentview.py test/mitmproxy/test_custom_contentview.py test/mitmproxy/test_app.py test/mitmproxy/test_controller.py test/mitmproxy/test_fuzzing.py test/mitmproxy/test_script.py test/mitmproxy/test_web_app.py test/mitmproxy/test_utils.py test/mitmproxy/test_stateobject.py test/mitmproxy/test_cmdline.py test/mitmproxy/test_contrib_tnetstring.py test/mitmproxy/test_proxy.py test/mitmproxy/test_protocol_http1.py test/mitmproxy/test_platform_pf.py - -[testenv:py27] + TESTS = test/ + HOME = {envtmpdir} commands = - py.test -n 8 --timeout 60 [] + py.test -n 4 --timeout 60 {posargs} {env:TESTS} + {env:CI_COMMANDS:python -c ""} [testenv:py35] -# remove bash & pipe & grep hack after cryptography ships with openssl 1.1.0 -whitelist_externals = bash -commands = - bash -c 'set -o pipefail ; py.test -n 8 --timeout 60 {env:PY3TESTS:} 2>&1 | grep -v Cryptography_locking_cb' - -[testenv:py27-ci] -commands = - py.test --cov netlib --cov mitmproxy --cov pathod --timeout 60 - codecov -e TOXENV - -[testenv:py35-ci] -# remove bash & pipe & grep hack after cryptography ships with openssl 1.1.0 -whitelist_externals = bash -commands = - bash -c 'set -o pipefail ; py.test --cov netlib --cov mitmproxy --cov pathod --timeout 60 {env:PY3TESTS:} 2>&1 | grep -v Cryptography_locking_cb' - codecov -e TOXENV - -[testenv:py35-ci-win] -deps = - https://snapshots.mitmproxy.org/misc/lxml-3.6.0-cp35-cp35m-win32.whl - codecov>=2.0.5 - .[dev] -commands = - py.test --cov netlib --cov mitmproxy --cov pathod --timeout 60 {env:PY3TESTS:} - codecov -e TOXENV +setenv = + TESTS = test/netlib test/pathod/ test/mitmproxy/script test/mitmproxy/test_contentview.py test/mitmproxy/test_custom_contentview.py test/mitmproxy/test_app.py test/mitmproxy/test_controller.py test/mitmproxy/test_fuzzing.py test/mitmproxy/test_script.py test/mitmproxy/test_web_app.py test/mitmproxy/test_utils.py test/mitmproxy/test_stateobject.py test/mitmproxy/test_cmdline.py test/mitmproxy/test_contrib_tnetstring.py test/mitmproxy/test_proxy.py test/mitmproxy/test_protocol_http1.py test/mitmproxy/test_platform_pf.py [testenv:docs] basepython = python2.7 whitelist_externals = make changedir = docs -setenv = SPHINXOPTS="-W" -commands = make -e html +commands = sphinx-build -W -b html -d {envtmpdir}/doctrees . {envtmpdir}/html [testenv:lint] -basepython = python2.7 +basepython = python deps = flake8>=2.6.2, <3 commands = flake8 --jobs 8 --count mitmproxy netlib pathod examples test