diff --git a/.travis.yml b/.travis.yml index b0a4ea10d..3c48eb39b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -14,15 +14,15 @@ matrix: fast_finish: true include: - python: 2.7 - env: TOXENV=py27 + env: TOXENV=py27-ci - python: 2.7 - env: TOXENV=py27 NO_ALPN=1 + env: TOXENV=py27-ci NO_ALPN=1 - python: 3.5 - env: TOXENV=py35 + env: TOXENV=py35-ci - python: 3.5 - env: TOXENV=py35 NO_ALPN=1 + env: TOXENV=py35-ci NO_ALPN=1 - language: generic - env: TOXENV=py27 + env: TOXENV=py27-ci os: osx osx_image: xcode7.1 git: @@ -40,9 +40,9 @@ install: brew outdated openssl || brew upgrade openssl brew install python fi + - pip install tox tox-travis before_script: - - "pip install tox" - "tox -e lint" script: tox diff --git a/tox.ini b/tox.ini index d1b02463b..2ae4a8a92 100644 --- a/tox.ini +++ b/tox.ini @@ -9,12 +9,24 @@ passenv = CI TRAVIS_BUILD_ID TRAVIS TRAVIS_BRANCH TRAVIS_JOB_NUMBER TRAVIS_PULL_ [testenv:py27] commands = - py.test --cov netlib --cov mitmproxy --cov pathod --color=yes --timeout 60 ./test - codecov -e TOXENV + py.test -n 8 --color=yes --timeout 60 [] [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 --color=yes --timeout 60 test/netlib test/mitmproxy/script test/pathod/test_utils.py test/pathod/test_log.py test/pathod/test_language_generators.py test/pathod/test_language_writer.py test/pathod/test_language_base.py test/pathod/test_language_http.py test/pathod/test_language_websocket.py test/pathod/test_language_http2.py 2>&1 | grep -v Cryptography_locking_cb' + +[testenv:py27-ci] +basepython = python2.7 +commands = + py.test --cov netlib --cov mitmproxy --cov pathod --color=yes --timeout 60 ./test + codecov -e TOXENV + +[testenv:py35-ci] +# remove bash & pipe & grep hack after cryptography ships with openssl 1.1.0 +basepython = python3.5 +whitelist_externals = bash commands = bash -c 'set -o pipefail ; py.test --cov netlib --cov mitmproxy --cov pathod --color=yes --timeout 60 test/netlib test/mitmproxy/script test/pathod/test_utils.py test/pathod/test_log.py test/pathod/test_language_generators.py test/pathod/test_language_writer.py test/pathod/test_language_base.py test/pathod/test_language_http.py test/pathod/test_language_websocket.py test/pathod/test_language_http2.py 2>&1 | grep -v Cryptography_locking_cb' codecov -e TOXENV