[PATCH v5 8/8] tox: Add tox.ini file

Stephen Finucane stephenfinucane at hotmail.com
Wed Apr 8 07:20:55 AEST 2015


Currently this contains calls to execute the following on the code
base:

* Unit tests (for all currently supported versions of Django). This
  requires the addition of a "test" 'local_settings' file
* PEP8 (or, rather, flake8)
* PyLint
* Coverage (based on unit tests)

These are designed in such a way that it should be possible to easily
add additional environment for testing (like Python3 or Django 1.8).

Signed-off-by: Stephen Finucane <stephenfinucane at hotmail.com>
---
 tox.ini | 46 ++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 46 insertions(+)
 create mode 100644 tox.ini

diff --git a/tox.ini b/tox.ini
new file mode 100644
index 0000000..8d99e6a
--- /dev/null
+++ b/tox.ini
@@ -0,0 +1,46 @@
+[tox]
+envlist = {py27}-django{15,16,17}, pep8
+skipsdist = True
+
+[testenv:pep8]
+deps = flake8
+commands = flake8 {posargs}
+
+[flake8]
+ignore = E121,E122,E123,E124,E125,E126,E127,E128,E129,E131,E251,H405
+exclude = ./apps/patchwork/tests
+
+[testenv:lint]
+basepython = python2.7
+deps =
+    pylint
+    -r{toxinidir}/docs/requirements-django-1.7-mysql.txt
+commands = pylint apps --rcfile=pylint.rc
+
+[testenv:coverage]
+basepython = python2.7
+deps =
+    coverage
+    -r{toxinidir}/docs/requirements-django-1.6-mysql.txt
+setenv =
+    DJANGO_SETTINGS_MODULE = patchwork.settings.dev
+commands =
+    coverage erase
+    {toxinidir}/apps/manage.py syncdb
+    coverage run --omit=*tox* --branch {toxinidir}/apps/manage.py test patchwork
+    coverage report -m
+
+[testenv]
+basepython =
+    py27: python2.7
+commands =
+    {toxinidir}/apps/manage.py syncdb
+    {toxinidir}/apps/manage.py test patchwork
+deps =
+    python-dateutil==1.5
+    MySQL-python==1.2.5
+    django15: django<1.6,>=1.5
+    django16: django<1.7,>=1.6
+    django17: django<1.8,>=1.7
+setenv =
+    DJANGO_SETTINGS_MODULE = patchwork.settings.dev
-- 
2.1.0



More information about the Patchwork mailing list