summaryrefslogtreecommitdiff
path: root/tox.ini
blob: 374ac2cf418be28645319a8ec0be7551200a9078 (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
[tox]
envlist = py{py,py3,36,37,38,39,310,311}{,-cryptographyMain,-cryptographyMinimum}{,-useWheel}{,-randomorder},py37-twistedTrunk,check-manifest,flake8,py36-mypy,docs,coverage-report

[testenv]
allowlist_externals =
    openssl
passenv =
    ARCHFLAGS
    CFLAGS
    LC_ALL
    LDFLAGS
    PATH
    LD_LIBRARY_PATH
    TERM
extras =
    test
deps =
    coverage>=4.2
    cryptographyMain: git+https://github.com/pyca/cryptography.git
    cryptographyMinimum: cryptography==38.0.0
    randomorder: pytest-randomly
setenv =
    # Do not allow the executing environment to pollute the test environment
    # with extra packages.
    PYTHONPATH=
    PIP_NO_BINARY=cryptography
    useWheel: PIP_NO_BINARY=
commands =
    openssl version
    coverage run --parallel -m OpenSSL.debug
    coverage run --parallel -m pytest -v {posargs}

[testenv:py37-twistedTrunk]
deps =
    Twisted[all_non_platform] @ git+https://github.com/twisted/twisted
setenv =
commands =
    python -c "import OpenSSL.SSL; print(OpenSSL.SSL.SSLeay_version(OpenSSL.SSL.SSLEAY_VERSION))"
    python -c "import cryptography; print(cryptography.__version__)"
    python -m twisted.trial --reporter=text twisted

[testenv:flake8]
basepython = python3
deps =
    black
    flake8
    flake8-import-order
skip_install = true
commands =
    black --check .
    flake8 .

[testenv:py36-mypy]
deps =
    mypy==0.950
skip_install = true
commands =
    mypy src

[testenv:check-manifest]
deps =
    check-manifest
skip_install = true
commands =
    check-manifest

[testenv:docs]
extras =
    docs
commands =
     sphinx-build -W -b html doc doc/_build/html {posargs}

[testenv:coverage-report]
deps = coverage>=4.2
skip_install = true
commands =
    coverage combine
    coverage report

[flake8]
application-import-names = OpenSSL
ignore = E203,W503,W504