55 lines
1.4 KiB
INI
55 lines
1.4 KiB
INI
[tox]
|
|
envlist = py{38,39,310,311,312},lint,mypy,mypy-samples-{image,json}
|
|
skipsdist = True
|
|
|
|
[testenv]
|
|
usedevelop = True
|
|
deps =
|
|
-r{toxinidir}/requirements/test.txt
|
|
-r{toxinidir}/requirements/publish.txt
|
|
setenv =
|
|
PIP_CONSTRAINT={toxinidir}/requirements/constraints.txt
|
|
PYTESTARGS = -v -s --tb=long --cov=cloudevents --cov-report term-missing --cov-fail-under=95
|
|
commands = pytest {env:PYTESTARGS} {posargs}
|
|
|
|
[testenv:reformat]
|
|
basepython = python3.11
|
|
deps =
|
|
black
|
|
isort
|
|
commands =
|
|
black .
|
|
isort cloudevents samples
|
|
|
|
[testenv:lint]
|
|
basepython = python3.11
|
|
deps =
|
|
black
|
|
isort
|
|
flake8
|
|
commands =
|
|
black --check .
|
|
isort -c cloudevents samples
|
|
flake8 cloudevents samples --ignore W503,E731 --extend-ignore E203 --max-line-length 88
|
|
|
|
[testenv:mypy]
|
|
basepython = python3.11
|
|
setenv =
|
|
PIP_CONSTRAINT={toxinidir}/requirements/mypy-constraints.txt
|
|
deps =
|
|
-r{toxinidir}/requirements/mypy.txt
|
|
# mypy needs test dependencies to check test modules
|
|
-r{toxinidir}/requirements/test.txt
|
|
commands = mypy cloudevents
|
|
|
|
[testenv:mypy-samples-{image,json}]
|
|
basepython = python3.11
|
|
setenv =
|
|
PIP_CONSTRAINT={toxinidir}/requirements/mypy-constraints.txt
|
|
mypy-samples-image: SAMPLE_DIR={toxinidir}/samples/http-image-cloudevents
|
|
mypy-samples-json: SAMPLE_DIR={toxinidir}/samples/http-json-cloudevents
|
|
deps =
|
|
-r{toxinidir}/requirements/mypy.txt
|
|
-r{env:SAMPLE_DIR}/requirements.txt
|
|
commands = mypy {env:SAMPLE_DIR}
|