[tox]
envlist =
    py37
    py38
    py39
    py310
    py311
    coverage
    black
    ruff
    mypy

[testenv]
commands = python -W error::DeprecationWarning -W error::PendingDeprecationWarning -m unittest {posargs}

[testenv:coverage]
commands =
    python -m coverage erase
    python -m coverage run --source {envsitepackagesdir}/websockets,tests -m unittest {posargs}
    python -m coverage report --show-missing --fail-under=100
deps = coverage

[testenv:maxi_cov]
commands =
    python tests/maxi_cov.py {envsitepackagesdir}
    python -m coverage report --show-missing --fail-under=100
deps = coverage

[testenv:black]
commands = black --check src tests
deps = black

[testenv:ruff]
commands = ruff src tests
deps = ruff

[testenv:mypy]
commands = mypy --strict src
deps = mypy
