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
|
[tox]
minversion = 3.2
envlist = pep8,docs,py{36,37,38}-django{22}
skipsdist = true
ignore_basepython_conflict = true
[testenv]
basepython = python3
deps =
-r{toxinidir}/requirements-test.txt
django22: django>=2.2,<2.3
django22: djangorestframework>=3.10,<3.12
django22: django-filter>=2.1,<3.0
setenv =
DJANGO_SETTINGS_MODULE = patchwork.settings.dev
PYTHONDONTWRITEBYTECODE = 1
py36: PYTHONWARNINGS = once,ignore::ResourceWarning:unittest.suite,ignore::ImportWarning:backports
py{37,38}: PYTHONWARNINGS = once
passenv =
http_proxy HTTP_PROXY https_proxy HTTPS_PROXY no_proxy NO_PROXY
PW_TEST_DB_TYPE PW_TEST_DB_USER PW_TEST_DB_PASS PW_TEST_DB_HOST
PW_TEST_DB_PORT
commands =
python {toxinidir}/manage.py test --noinput '{posargs:patchwork}'
[testenv:bashate]
deps = bashate
whitelist_externals = bash
commands =
bash -c "find {toxinidir} \
-not \( -type d -name .?\* -prune \) \
-not \( -type d -name db -prune \) \
-name \*.sh -print | xargs bashate -i E006"
[testenv:pep8]
deps = flake8
commands = flake8 {posargs:patchwork manage.py}
[flake8]
# Some rules are ignored as their use makes the code more difficult to read:
#
# E129 visually indented line with same indent as next logical line
# F405 'name' may be undefined, or defined from star imports: 'module'
# W504 line break after binary operator
ignore = E129, F405, W504
[testenv:docs]
deps =
-r{toxinidir}/docs/requirements.txt
commands =
sphinx-build -E -W -b dirhtml -d docs/_build/doctrees docs docs/_build/html {posargs}
[testenv:lint]
deps =
pylint
-r{toxinidir}/requirements-prod.txt
commands = pylint patchwork --rcfile=pylint.rc
[testenv:venv]
commands = {posargs}
[testenv:coverage]
deps =
coverage
-r{toxinidir}/requirements-dev.txt
setenv =
DJANGO_SETTINGS_MODULE = patchwork.settings.dev
commands =
coverage erase
coverage run --omit=*tox*,patchwork/tests/*.py,manage.py,patchwork/migrations/*.py \
--branch {toxinidir}/manage.py test --noinput patchwork
coverage report -m
[travis]
python =
3.6: py36, pep8, coverage
|