forked from tlsfuzzer/python-ecdsa
-
Notifications
You must be signed in to change notification settings - Fork 1
/
tox.ini
124 lines (101 loc) · 2.93 KB
/
tox.ini
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
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
[tox]
envlist = py26, py27, py35, py36, py37, py38, py39, py310, py311, py312, py, pypy, pypy3, gmpy2py27, gmpy2py39, gmpy2py310, gmpypy27, gmpypy39, gmpypy310, codechecks
[testenv]
deps =
py{26}: unittest2
py{26}: hypothesis<3
py{26,27,35,36,37,38,39,310,311,312,py,py3}: pytest
py{27,35,36,37,38,39,310,311,312,py,py3}: hypothesis
gmpy2py{27,39,310,311,312}: gmpy2
gmpypy{27,39,310,311,312}: gmpy
gmpy{2py27,2py39,2py310,2py311,2py312,py27,py39,py310,py311,py312}: pytest
gmpy{2py27,2py39,2py310,2py311,2py312,py27,py39,py310,py311,py312}: hypothesis
# six==1.9.0 comes from setup.py install_requires
py27_old_six: six==1.9.0
py27_old_six: pytest
py27_old_six: hypothesis
# those are the oldest versions of gmpy and gmpy2 on PyPI (i.e. oldest we can
# actually test), older versions may work, but are not easy to test
py27_old_gmpy: gmpy==1.15
py27_old_gmpy: pytest
py27_old_gmpy: hypothesis
py27_old_gmpy2: gmpy2==2.0.1
py27_old_gmpy2: pytest
py27_old_gmpy2: hypothesis
py: pytest
py: hypothesis
coverage
commands = coverage run --branch -m pytest {posargs:src/ecdsa}
[testenv:py27_old_gmpy]
basepython = python2.7
[testenv:py27_old_gmpy2]
basepython = python2.7
[testenv:py27_old_six]
basepython = python2.7
[testenv:gmpypy27]
basepython=python2.7
[testenv:gmpypy39]
basepython=python3.9
[testenv:gmpypy310]
basepython=python3.10
[testenv:gmpypy311]
basepython=python3.11
[testenv:gmpypy312]
basepython=python3.12
[testenv:gmpy2py27]
basepython=python2.7
[testenv:gmpy2py39]
basepython=python3.9
[testenv:gmpy2py310]
basepython=python3.10
[testenv:gmpy2py311]
basepython=python3.11
[testenv:gmpy2py312]
basepython=python3.12
[testenv:instrumental]
basepython = python2.7
deps =
gmpy2
instrumental
hypothesis
pytest>=4.6.0
coverage
six
commands =
instrumental -t ecdsa -i '.*test_.*|.*_version|.*_compat|.*_sha3' {envbindir}/pytest {posargs:src/ecdsa}
instrumental -f .instrumental.cov -sr
[testenv:coverage]
sitepackages=True
whitelist_externals=coverage
commands =
coverage run --branch -m pytest --hypothesis-show-statistics {posargs:src/ecdsa}
coverage html
coverage report -m
[testenv:speed]
commands = {envpython} speed.py
[testenv:speedgmpy]
deps = gmpy
commands = {envpython} speed.py
[testenv:speedgmpy2]
deps = gmpy2
commands = {envpython} speed.py
[testenv:codechecks]
basepython = python3
deps =
black==22.3.0
flake8==6.1.0
commands =
flake8 setup.py speed.py src
black --check --line-length 79 .
[testenv:codeformat]
basepython = python3
deps =
black==22.3.0
commands =
black --line-length 79 .
[flake8]
exclude = src/ecdsa/test*.py
# We're just getting started. For now, ignore the following problems:
# E203: whitespace before ':' (this needs to be ignored for black compatibility)
# E741: ambiguous variable name
extend-ignore = E203,E741