forked from sissaschool/elementpath
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtox.ini
More file actions
164 lines (150 loc) · 3.97 KB
/
tox.ini
File metadata and controls
164 lines (150 loc) · 3.97 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
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
# Tox (http://tox.testrun.org/) is a tool for running tests
# in multiple virtualenvs. This configuration file will run the
# test suite on all supported python versions. To use it, "pip install tox"
# and then run "tox" from this directory.
[tox]
min_version = 4.0
envlist =
py{39,310,311,312,313,314,314-lxml,py3}, docs, flake8,
mypy-py{39,310,311,312,313,314,py3}, pytest, coverage,
xmlschema{401,410}, w3c-xsdtests, w3c-qt3tests
skip_missing_interpreters = true
work_dir = {tox_root}/../.tox/elementpath
[testenv]
deps =
lxml
xmlschema~=4.1.0
docs: sphinx
coverage: coverage
set_env =
py313: TEST_UNICODE_INSTALLATION = 6.2.0
commands = python -m unittest
[testenv:py314]
deps =
xmlschema~=4.1.0
commands =
python -m unittest
[testenv:py314-lxml]
deps =
lxml
xmlschema~=4.1.0
commands =
python -m unittest
ignore_outcome = True
[testenv:docs]
commands =
make -C doc html SPHINXOPTS="-W -n"
make -C doc latexpdf SPHINXOPTS="-W -n"
make -C doc doctest SPHINXOPTS="-W -n"
sphinx-build -W -n -T -b man doc build/sphinx/man
allowlist_externals = make
[flake8]
max-line-length = 100
[testenv:flake8]
deps =
flake8
commands =
flake8 elementpath
flake8 tests
[testenv:mypy-py{39,310,311,312,313,314,py3}]
deps =
mypy==1.16.1
xmlschema~=4.1.0
lxml-stubs
commands =
mypy --strict elementpath
python tests/run_typing_tests.py
[testenv:coverage]
commands =
coverage run -p -m unittest
coverage combine
coverage report -m
[testenv:pytest]
deps =
pytest
pytest-randomly
lxml
xmlschema~=4.1.0
commands =
pytest tests -ra
[testenv:xmlschema{401,410}]
description = Run xmlschema tests and mypy on xmlschema source (>=3.1.0)
platform = (linux|darwin)
set_env =
xmlschema401: VERSION = 4.0.1
xmlschema410: VERSION = 4.1.0
change_dir = {env_tmp_dir}
deps =
mypy==1.16.1
lxml
lxml-stubs
jinja2
xmlschema=={env:VERSION}
commands =
pip download xmlschema=={env:VERSION} --no-deps --no-binary xmlschema
tar xzf xmlschema-{env:VERSION}.tar.gz --strip-components=1
python tests/run_all_tests.py
allowlist_externals =
bash
sed
tar
ignore_outcome = True
[testenv:w3c-xsdtests]
description = Run W3C XSD 1.0/1.1 tests using xmlschema==4.1.0
platform = (linux|darwin)
set_env =
VERSION = 4.1.0
COMMIT = 4293d6fb026af778aa7ad381c2a310354578cbe3
CHECKSUM = 3c7a44dbb59553d09ba96fee898255be78966960c22e9a7886c0b426a03255d7
change_dir = {env_tmp_dir}
deps =
lxml
xmlschema=={env:VERSION}
commands =
pip download xmlschema=={env:VERSION} --no-deps --no-binary xmlschema
tar xzf xmlschema-{env:VERSION}.tar.gz
curl -L -o w3c-xsdtests.tar.gz https://github.com/w3c/xsdtests/tarball/{env:COMMIT}
bash -c "sha256sum w3c-xsdtests.tar.gz | grep {env:CHECKSUM}"
mkdir xsdtests
tar xzf w3c-xsdtests.tar.gz -C xsdtests --strip-components=1
python xmlschema-{env:VERSION}/tests/run_w3c_tests.py --xml
allowlist_externals =
bash
curl
grep
tar
mkdir
sha256sum
ignore_outcome = True
[testenv:w3c-qt3tests]
description = Run W3C XQuery/XPath 2.0/3.0 tests
set_env =
COMMIT = b6584bdb888687348a46d5d596d70e326008e236
CHECKSUM = 7833656eaf81394b47e8dd7a4a6ee537e7f58fc7d7dc3f4795532d09f7432462
change_dir = {env_tmp_dir}
deps =
lxml
xmlschema~=4.1.0
commands =
mkdir -p elementpath-tmp/tests
cp -p {tox_root}/tests/run_w3c_tests.py elementpath-tmp/tests/
curl -L -o w3c-qt3tests.tar.gz https://github.com/w3c/qt3tests/tarball/{env:COMMIT}
bash -c "sha256sum w3c-qt3tests.tar.gz | grep {env:CHECKSUM}"
mkdir qt3tests
tar xzf w3c-qt3tests.tar.gz -C qt3tests --strip-components=1
python elementpath-tmp/tests/run_w3c_tests.py ./qt3tests/catalog.xml
python elementpath-tmp/tests/run_w3c_tests.py ./qt3tests/catalog.xml --xp30
allowlist_externals =
bash
curl
cp
grep
tar
mkdir
sha256sum
ignore_outcome = True
[testenv:build]
deps =
build
commands =
python -m build