[tox] minversion = 2.0 envlist = pep8,docs,py{27,34}-django111,py{35,36}-django{111,20} skipsdist = True [testenv] deps = -r{toxinidir}/requirements-test.txt django111: django>=1.11,<2.0 django111: djangorestframework>=3.6,<3.9 django111: django-filter>=1.0,<1.2 django20: django>=2.0,<2.1 django20: djangorestframework>=3.7,<3.9 django20: django-filter>=1.1,<1.2 setenv = DJANGO_SETTINGS_MODULE = patchwork.settings.dev PYTHONDONTWRITEBYTECODE = 1 DJANGO_LIVE_TEST_SERVER_ADDRESS = localhost:9000-9200 py27: PYTHONWARNINGS = once py{34,36}:PYTHONWARNINGS = once,ignore::ImportWarning:backports py35:PYTHONWARNINGS = once,ignore::ResourceWarning:unittest.suite,ignore::ImportWarning:backports 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>=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 -d docs/_build/doctrees 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