[tox] envlist = py26,py27,pypy,py33,py34,py35,docs,pep8,py3pep8 [testenv] # If you add a new dep here you probably need to add it in setup.py as well deps = coverage iso8601 pretend pytest!=2.8.4 hypothesis>=1.11.4 pyasn1_modules ./vectors passenv = ARCHFLAGS LDFLAGS CFLAGS INCLUDE LIB LD_LIBRARY_PATH USERNAME commands = pip list python -c "from cryptography.hazmat.backends.openssl.backend import backend; print(backend.openssl_version_text())" # We use parallel mode and then combine here so that coverage.py will take # the paths like .tox/py34/lib/python3.4/site-packages/cryptography/__init__.py # and collapse them into src/cryptography/__init__.py. coverage run --parallel-mode -m pytest --capture=no --strict {posargs} coverage combine coverage report -m [testenv:docs] deps = doc8 pyenchant readme>=0.5.1 sphinx==1.3.1 sphinx_rtd_theme sphinxcontrib-spelling basepython = python2.7 commands = sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/_build/html sphinx-build -W -b latex -d {envtmpdir}/doctrees docs docs/_build/latex sphinx-build -W -b doctest -d {envtmpdir}/doctrees docs docs/_build/html sphinx-build -W -b spelling docs docs/_build/html doc8 --allow-long-titles README.rst CHANGELOG.rst docs/ --ignore-path docs/_build/ python setup.py check --restructuredtext --strict [testenv:docs-linkcheck] deps = sphinx basepython = python2.7 commands = sphinx-build -W -b linkcheck docs docs/_build/html # Temporarily disable coverage on pypy because of performance problems with # coverage.py on pypy. [testenv:pypy] commands = pip list python -c "from cryptography.hazmat.backends.openssl.backend import backend; print(backend.openssl_version_text())" py.test --capture=no --strict {posargs} # Temporarily disable coverage on pypy3 because of performance problems with # coverage.py on pypy3. [testenv:pypy3] commands = pip list python -c "from cryptography.hazmat.backends.openssl.backend import backend; print(backend.openssl_version_text())" py.test --capture=no --strict {posargs} [testenv:pep8] deps = flake8 flake8-import-order pep8-naming commands = flake8 . [testenv:py3pep8] basepython = python3 deps = flake8 flake8-import-order pep8-naming commands = flake8 . [testenv:randomorder] deps = {[testenv]deps} pytest-random commands = py.test --capture=no --strict --random {posargs} [flake8] exclude = .tox,*.egg,.git,_build,.hypothesis select = E,W,F,N,I application-import-names = cryptography,cryptography_vectors,tests [doc8] extensions = rst [pytest] addopts = -r s markers = requires_backend_interface: this test requires a specific backend interface supported: parametrized test requiring only_if and skip_message