-
Notifications
You must be signed in to change notification settings - Fork 16
/
tox.ini
53 lines (48 loc) · 1.61 KB
/
tox.ini
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
[tox]
isolated_build = true
# The *-web environments test the latest versions of Django and Flask with the full test suite. For
# older version of the web frameworks, just run the tests that are specific to them.
envlist = py3{8,9,10,11,12}-{web,django3,flask2,sqlalchemy1},lint
[web-deps]
deps=
Django >=4.0, <5.0
Flask >=3.0
sqlalchemy >=2.0, <3.0
[testenv]
passenv =
PYTEST_XDIST_AUTO_NUM_WORKERS
setenv =
APPMAP_DISPLAY_PARAMS=true
deps=
poetry
web: {[web-deps]deps}
py38: numpy==1.24.4
py3{9,10,11,12}: numpy >=2
flask2: Flask >= 2.0, <3.0
django3: Django >=3.2, <4.0
sqlalchemy1: sqlalchemy >=1.4.11, <2.0
commands =
poetry install -v
web: poetry run appmap-python {posargs:pytest -n logical}
django3: poetry run appmap-python pytest -n logical _appmap/test/test_django.py
flask2: poetry run appmap-python pytest -n logical _appmap/test/test_flask.py
sqlalchemy1: poetry run appmap-python pytest -n logical _appmap/test/test_sqlalchemy.py
[testenv:lint]
skip_install = True
deps =
poetry
{[web-deps]deps}
numpy >=2
commands =
poetry install
# It doesn't seem great to disable cyclic-import checking, but the imports
# aren't currently causing any problems. They should probably get fixed
# sometime soon.
{posargs:poetry run pylint --disable=cyclic-import -j 0 appmap _appmap}
[testenv:vendoring]
skip_install = True
deps = vendoring
commands =
poetry run vendoring {posargs:sync}
# We don't need the .pyi files vendoring generates
python -c 'from pathlib import Path; all(map(Path.unlink, Path("vendor").rglob("*.pyi")))'