Files
core/tox.ini
Ville Skyttä a48d426f18 Travis and tox config improvements (#28667)
* Use travis_wait only with pylint

pylint is the only job that is expected to be silent for extended time.
For others such a silence is a sign of a problem and using travis_wait
just lengthens the wait, and makes things harder to follow and debug,
because it also suppresses output in the web UI.

* Use pytest-xdist in tox

Similarly as in Azure.
2019-11-13 08:50:35 +01:00

47 lines
1.4 KiB
INI

[tox]
envlist = py36, py37, py38, lint, pylint, typing, cov
skip_missing_interpreters = True
[testenv]
basepython = {env:PYTHON3_PATH:python3}
commands =
pytest --timeout=9 --durations=10 -n auto --dist=loadfile -qq -o console_output_style=count -p no:sugar {posargs}
{toxinidir}/script/check_dirty
deps =
-r{toxinidir}/requirements_test_all.txt
-c{toxinidir}/homeassistant/package_constraints.txt
pytest-xdist
[testenv:cov]
commands =
pytest --timeout=9 --durations=10 -n auto --dist=loadfile -qq -o console_output_style=count -p no:sugar --cov --cov-report= {posargs}
{toxinidir}/script/check_dirty
deps =
-r{toxinidir}/requirements_test_all.txt
-c{toxinidir}/homeassistant/package_constraints.txt
pytest-xdist
[testenv:pylint]
ignore_errors = True
deps =
-r{toxinidir}/requirements_all.txt
-r{toxinidir}/requirements_test.txt
-c{toxinidir}/homeassistant/package_constraints.txt
commands =
pylint {env:PYLINT_ARGS:} {posargs} homeassistant
[testenv:lint]
deps =
-r{toxinidir}/requirements_test.txt
commands =
python -m script.gen_requirements_all validate
python -m script.hassfest validate
pre-commit run flake8 {posargs: --all-files}
[testenv:typing]
deps =
-r{toxinidir}/requirements_test.txt
-c{toxinidir}/homeassistant/package_constraints.txt
commands =
pre-commit run --config .pre-commit-config-all.yaml mypy {posargs: --all-files}