[tox]
envlist = py{37,38,39,310}, pypy3, ep{250}, docs,
flake8, mypy-py{37,38,39,310}, coverage, pytest
skip_missing_interpreters = true
toxworkdir = {homedir}/.tox/xmlschema
[testenv]
deps =
elementpath>=2.5.0, <3.0.0
lxml
jinja2
py{39,310}: memory_profiler
docs: Sphinx
docs: sphinx_rtd_theme
flake8: flake8
coverage: coverage
commands =
python -m unittest tests/test_etree_import.py -k before
python -m unittest tests/test_etree_import.py -k after
python -m unittest tests/test_etree_import.py -k inconsistent
python -m unittest
whitelist_externals = make
[testenv:pypy3]
commands = python -m unittest
[testenv:ep250]
deps =
elementpath==2.5.0
lxml
[testenv:docs]
commands =
make -C doc html
make -C doc latexpdf
make -C doc doctest
[flake8]
max-line-length = 100
[testenv:flake8]
commands =
flake8 xmlschema
[testenv:mypy-py37]
deps =
mypy==0.950
elementpath==2.5.0
lxml-stubs
jinja2
commands =
mypy --config-file {toxinidir}/mypy.ini xmlschema
[testenv:mypy-py{38,39,310}]
deps =
mypy==0.950
elementpath==2.5.0
lxml-stubs
jinja2
commands =
mypy --config-file {toxinidir}/mypy.ini xmlschema
python tests/test_typing.py
[testenv:coverage]
commands =
coverage erase
coverage run -a -m unittest tests/test_etree_import.py -k before
coverage run -a -m unittest tests/test_etree_import.py -k after
coverage run -a -m unittest tests/test_etree_import.py -k inconsistent
coverage run -a -m unittest
coverage report -m
[testenv:pytest]
deps =
pytest
pytest-randomly
elementpath>=2.5.0, <3.0.0
lxml
jinja2
mypy==0.950
lxml-stubs
commands =
pytest tests -ra
[testenv:build]
deps =
setuptools
wheel
commands =
python setup.py clean --all
python setup.py sdist --dist-dir {toxinidir}/dist
python setup.py bdist_wheel --dist-dir {toxinidir}/dist