| [tox] |
| minversion = 2.4 |
| envlist = py27,pypy,py34,py35,py36,py37,docs,pep8,py3pep8 |
| |
| [testenv] |
| extras = |
| test |
| idna: idna |
| deps = |
| # This must be kept in sync with Jenkinsfile and .travis/install.sh |
| coverage |
| ./vectors |
| passenv = ARCHFLAGS LDFLAGS CFLAGS INCLUDE LIB LD_LIBRARY_PATH USERNAME |
| commands = |
| pip list |
| # 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 |
| |
| # This target disables coverage on pypy because of performance problems with |
| # coverage.py on pypy. |
| [testenv:pypy-nocoverage] |
| basepython = pypy |
| commands = |
| pip list |
| pytest --capture=no --strict {posargs} |
| |
| # This target disables coverage on pypy because of performance problems with |
| # coverage.py on pypy. |
| [testenv:pypy3-nocoverage] |
| basepython = pypy3 |
| commands = |
| pip list |
| pytest --capture=no --strict {posargs} |
| |
| [testenv:docs] |
| extras = |
| docs |
| docstest |
| basepython = python3 |
| commands = |
| sphinx-build -j4 -T -W -b html -d {envtmpdir}/doctrees docs docs/_build/html |
| sphinx-build -j4 -T -W -b latex -d {envtmpdir}/doctrees docs docs/_build/latex |
| sphinx-build -j4 -T -W -b doctest -d {envtmpdir}/doctrees docs docs/_build/html |
| sphinx-build -j4 -T -W -b spelling docs docs/_build/html |
| doc8 --allow-long-titles README.rst CHANGELOG.rst docs/ --ignore-path docs/_build/ |
| python setup.py sdist |
| twine check dist/* |
| |
| [testenv:docs-linkcheck] |
| extras = |
| docs |
| basepython = python2.7 |
| commands = |
| sphinx-build -W -b linkcheck docs docs/_build/html |
| |
| [testenv:pep8] |
| basepython = python3 |
| extras = |
| pep8test |
| commands = |
| flake8 . |
| |
| [testenv:randomorder] |
| deps = |
| {[testenv]deps} |
| pytest-random |
| commands = |
| pytest --capture=no --strict --random {posargs} |
| |
| [flake8] |
| ignore = W504 |
| 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 |
| wycheproof_tests: this test runs a wycheproof fixture |