aboutsummaryrefslogtreecommitdiffstats
path: root/tox.ini
blob: 272f5b594089cec8516c0f3944354cf2fd6e2ca4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
[tox]
envlist = py26,py27,pypy,py33,py34,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
    ./vectors
passenv = ARCHFLAGS LDFLAGS CFLAGS INCLUDE LIB LD_LIBRARY_PATH
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
    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.3
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
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