-
-
Notifications
You must be signed in to change notification settings - Fork 57
/
tox.ini
79 lines (70 loc) · 1.55 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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
[tox]
envlist =
py{38,39,310,311,312}-dj42
py{310,311,312}-dj{50,main}
lint
sphinx
readme
[gh-actions]
python =
3.8: py38, lint, sphinx, readme
3.9: py39
3.10: py310
3.11: py311
3.12: py312
[gh-actions:env]
DJANGO =
4.2: dj42
5.0: dj50
main: djmain
[testenv]
deps =
coverage
dj42: Django>=4.2,<5.0
dj50: Django>=5.0,<5.1
djmain: https://github.com/django/django/archive/main.tar.gz
pytest
pytest-cov
commands =
pip install -e .
pip install -e demo
# doctests and unit tests
pytest --cov=django_downloadview --cov=demoproject {posargs}
# demo project integration tests
coverage run --append {envbindir}/demo test {posargs: demoproject}
coverage xml
pip freeze
ignore_outcome =
djmain: True
[testenv:lint]
deps =
flake8
black
isort
commands =
flake8 demo django_downloadview tests
black --check demo django_downloadview tests
isort --check-only --recursive demo django_downloadview tests
[testenv:sphinx]
deps =
Sphinx
commands =
pip install -e .
make --directory=docs SPHINXOPTS='-W' clean {posargs:html doctest linkcheck}
whitelist_externals =
make
[testenv:readme]
description = Ensure README renders on PyPI
deps = twine
commands =
{envpython} setup.py -q sdist bdist_wheel
twine check dist/*
[flake8]
max-line-length = 88
ignore = E203, W503
[coverage:run]
source = django_downloadview,demo
[pytest]
DJANGO_SETTINGS_MODULE = demoproject.settings
addopts = --doctest-modules --ignore=docs/
python_files = tests/*.py