forked from crossbario/autobahn-python
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtox.ini
More file actions
133 lines (107 loc) · 2.93 KB
/
tox.ini
File metadata and controls
133 lines (107 loc) · 2.93 KB
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
125
126
127
128
129
130
131
132
133
[tox]
envlist =
flake8
coverage
# CPython
py27-{tw154,tw189,twtrunk,asyncio}
py35-{tw154,tw189,twtrunk,asyncio}
py37-{tw154,tw189,twtrunk,asyncio}
# PyPy
pypy3-{tw154,tw189,twtrunk,asyncio}
[flake8]
exclude = autobahn/wamp/gen
max-line-length = 119
[testenv]
deps =
mock
unittest2
coverage
pytest
# pytest<3.3.0
; txaio
git+https://github.com/crossbario/txaio
; twisted dependencies
tw154: twisted==15.4.0
tw189: twisted==18.9.0
twtrunk: https://github.com/twisted/twisted/archive/trunk.zip
{tw154,tw189,twtrunk}: pytest-twisted
; asyncio dependencies
py27-asyncio: trollius>=2.0
py35-asyncio: pytest_asyncio
py37-asyncio: pytest_asyncio
pypy3-asyncio: pytest_asyncio
# http://tox.readthedocs.io/en/latest/config.html#confval-extras=MULTI-LINE-LIST
extras =
encryption
serialization
scram
nvx
commands =
# print versions we actually use
sh -c "which python"
python -V
pip install .[twisted,asyncio,compress,serialization,encryption,scram]
asyncio: {envbindir}/py.test -v {envsitepackagesdir}/autobahn
tw154,tw189: {envbindir}/trial {envsitepackagesdir}/autobahn
twtrunk: python -m twisted.trial {envsitepackagesdir}/autobahn
whitelist_externals =
sh
coverage
codecov
cp
mkdir
rm
ls
mv
setenv =
SODIUM_INSTALL = bundled
# env var for serializers
PYUBJSON_NO_EXTENSION = 1
#AUTOBAHN_USE_NVX = 1
#AUTOBAHN_USE_UJSON = 1
#AUTOBAHN_USE_CBOR2 = 1
asyncio: USE_ASYNCIO = 1
tw154,tw189,twtrunk: USE_TWISTED = 1
[testenv:flake8]
skip_install = True
deps =
flake8
pep8-naming
commands =
sh -c "which python"
python -V
flake8 --version
; These ignores will be removed when they are fixed and we are flake8-clean
flake8 --ignore=E402,E501,E722,E741,N801,N802,N803,N805,N806,N815 \
--exclude "autobahn/wamp/message_fbs.py,autobahn/wamp/gen/*" \
autobahn
[testenv:coverage]
skip_install = False
deps =
coverage
codecov
mock
unittest2
pytest
pytest_asyncio
pytest-twisted
twisted
git+https://github.com/crossbario/txaio
extras =
encryption
serialization
scram
nvx
passenv =
CODECOV_TOKEN
commands =
pip install .[all]
# test autobahn on asyncio (run under coverage)
sh -c 'USE_ASYNCIO=1 coverage run --parallel-mode --include "*/autobahn/asyncio/*" --omit "*/twisted/*" --omit "*/test/*.py" {envbindir}/py.test -v {envsitepackagesdir}/autobahn'
# test autobahn on twisted (run under coverage)
sh -c 'USE_TWISTED=1 coverage run --parallel-mode --include "*/autobahn/*" --omit "*/asyncio/*" --omit "*/test/*.py" -m twisted.trial {envsitepackagesdir}/autobahn'
twtrunk,asyncio: sh -c "mkdir -p {homedir}/coverage && cp {toxinidir}/.coverage.* {homedir}/coverage/ && ls -la {homedir}/coverage"
coverage combine
coverage report
coverage html
codecov