aboutsummaryrefslogtreecommitdiffstats
path: root/tox.ini
diff options
context:
space:
mode:
Diffstat (limited to 'tox.ini')
-rw-r--r--tox.ini104
1 files changed, 47 insertions, 57 deletions
diff --git a/tox.ini b/tox.ini
index 272f5b59..48cfc451 100644
--- a/tox.ini
+++ b/tox.ini
@@ -1,91 +1,80 @@
[tox]
-envlist = py26,py27,pypy,py33,py34,docs,pep8,py3pep8
+minversion = 2.4
+envlist = py27,pypy,py35,py36,py37,py38,docs,pep8,packaging
+isolated_build = True
[testenv]
-# If you add a new dep here you probably need to add it in setup.py as well
+extras =
+ test
+ idna: idna
deps =
+ # This must be kept in sync with .travis/install.sh and .github/workflows/ci.yml
coverage
- iso8601
- pretend
- pytest
./vectors
-passenv = ARCHFLAGS LDFLAGS CFLAGS INCLUDE LIB LD_LIBRARY_PATH
+ randomorder: pytest-randomly
+passenv = ARCHFLAGS LDFLAGS CFLAGS INCLUDE LIB LD_LIBRARY_PATH USERNAME PYTHONIOENCODING
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
+ # the paths like .tox/py38/lib/python3.8/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
- 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
+# This target disables coverage on pypy because of performance problems with
+# coverage.py on pypy.
+[testenv:pypy-nocoverage]
+basepython = pypy
commands =
- sphinx-build -W -b linkcheck docs docs/_build/html
+ pip list
+ pytest --capture=no --strict {posargs}
-# Temporarily disable coverage on pypy because of performance problems with
+# This target disables coverage on pypy because of performance problems with
# coverage.py on pypy.
-[testenv:pypy]
+[testenv:pypy3-nocoverage]
+basepython = 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}
+ pytest --capture=no --strict {posargs}
-# Temporarily disable coverage on pypy3 because of performance problems with
-# coverage.py on pypy3.
-[testenv:pypy3]
+[testenv:docs]
+extras =
+ docs
+ docstest
+basepython = python3
commands =
- pip list
- python -c "from cryptography.hazmat.backends.openssl.backend import backend; print(backend.openssl_version_text())"
- py.test --capture=no --strict {posargs}
+ 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:pep8]
-deps =
- flake8
- flake8-import-order
- pep8-naming
+[testenv:docs-linkcheck]
+extras =
+ docs
+basepython = python2.7
commands =
- flake8 .
+ sphinx-build -W -b linkcheck docs docs/_build/html
-[testenv:py3pep8]
-basepython = python3.3
-deps =
- flake8
- flake8-import-order
- pep8-naming
+[testenv:pep8]
+basepython = python3
+extras =
+ pep8test
commands =
flake8 .
-[testenv:randomorder]
+[testenv:packaging]
deps =
- {[testenv]deps}
- pytest-random
+ check-manifest
commands =
- py.test --capture=no --strict --random {posargs}
+ check-manifest
[flake8]
-exclude = .tox,*.egg,.git,_build
+ignore = W504
+exclude = .tox,*.egg,.git,_build,.hypothesis
select = E,W,F,N,I
application-import-names = cryptography,cryptography_vectors,tests
@@ -97,3 +86,4 @@ 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