summaryrefslogtreecommitdiff
path: root/tox.ini
blob: 9aac824715238ecac1ec095f00960b7fe8ccd6aa (plain)
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
[tox]
minversion = 2.0
envlist = pep8,docs,py{27,34,35}-django{18,19,110,111},py36-django111
skipsdist = True

[testenv]
deps =
    -r{toxinidir}/requirements-test.txt
    django18: django>=1.8,<1.9
    django19: django>=1.9,<1.10
    django110: django>=1.10,<1.11
    django111: django>=1.11,<2.0
    django{18,19}: djangorestframework>=3.4,<3.7
    django110: djangorestframework>=3.4,<3.9
    django111: djangorestframework>=3.6,<3.9
    django18: django-filter>=1.0,<1.1
    django{19,110,111}: django-filter>=1.0,<1.2
setenv =
    DJANGO_SETTINGS_MODULE = patchwork.settings.dev
    PYTHONDONTWRITEBYTECODE = 1
    DJANGO_LIVE_TEST_SERVER_ADDRESS = localhost:9000-9200
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 -Wonce {toxinidir}/manage.py test --noinput '{posargs:patchwork}'

[testenv:bashate]
deps = bashate>=0.5,<0.6
whitelist_externals = bash
commands =
    bash -c "find {toxinidir} \
    -not \( -type d -name .?\* -prune \) \
    -not \( -type d -name db -prune \) \
    -name \*.sh -print | xargs bashate"

[testenv:pep8]
basepython = python2.7
deps = flake8
commands = flake8 {posargs} patchwork patchwork/bin/pwclient

[flake8]
ignore = E129, F405
exclude = ./patchwork/migrations

[testenv:docs]
deps =
    -r{toxinidir}/docs/requirements.txt
commands =
    sphinx-build -E -W -b html docs docs/_build/html

[testenv:lint]
basepython = python2.7
deps =
    pylint
    -r{toxinidir}/requirements-prod.txt
commands = pylint patchwork --rcfile=pylint.rc

[testenv:venv]
commands = {posargs}

[testenv:coverage]
basepython = python2.7
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 =
    2.7: py27, pep8