From 1c72e29a5b5911eab705d8a36cb50aec603493c1 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Sat, 17 Oct 2015 01:29:47 -0400 Subject: [PATCH] Add tox testing for different python and django versions. Add automatic coverage reporting. --- requirements/base.txt | 34 +++++++++++++++++++++++ requirements/common.txt | 36 +------------------------ requirements/testing-no-django.txt | 6 +++++ tox.ini | 43 +++++++++++++++++++++++++----- 4 files changed, 78 insertions(+), 41 deletions(-) create mode 100644 requirements/base.txt create mode 100644 requirements/testing-no-django.txt diff --git a/requirements/base.txt b/requirements/base.txt new file mode 100644 index 0000000000..7702bc07ec --- /dev/null +++ b/requirements/base.txt @@ -0,0 +1,34 @@ +Pillow==2.9.0 +PyYAML==3.11 + +celery==3.1.18 +cssmin==0.2.0 + +django-activity-stream==0.6.0 +django-autoadmin==1.1.0 +django-celery==3.1.16 +django-colorful==1.1.0 +django-compressor==1.5 +django-cors-headers==1.1.0 +django-filetransfers==0.1.0 +django-pure-pagination==0.2.1 +django-model-utils==2.2 +django-mptt==0.7.4 +django-qsstats-magic==0.7.2 +django-rest-swagger==0.3.4 +django-suit==0.2.13 +django-widget-tweaks==1.3 +djangorestframework==3.1.3 +djangorestframework-recursive==0.1.1 + +fusepy==2.0.2 + +pdfminer==20140328 +pycountry==1.10 +pytesseract==0.1.6 +python-dateutil==2.4.2 +python-gnupg==0.3.7 +python-magic==0.4.6 +pytz==2015.4 + +sh==1.11 diff --git a/requirements/common.txt b/requirements/common.txt index ebf479c115..baa84be998 100644 --- a/requirements/common.txt +++ b/requirements/common.txt @@ -1,36 +1,2 @@ +-r base.txt Django==1.7.10 - -Pillow==2.9.0 -PyYAML==3.11 - -celery==3.1.18 -cssmin==0.2.0 - -django-activity-stream==0.6.0 -django-autoadmin==1.1.0 -django-celery==3.1.16 -django-colorful==1.1.0 -django-compressor==1.5 -django-cors-headers==1.1.0 -django-filetransfers==0.1.0 -django-pure-pagination==0.2.1 -django-model-utils==2.2 -django-mptt==0.7.4 -django-qsstats-magic==0.7.2 -django-rest-swagger==0.3.4 -django-suit==0.2.13 -django-widget-tweaks==1.3 -djangorestframework==3.1.3 -djangorestframework-recursive==0.1.1 - -fusepy==2.0.2 - -pdfminer==20140328 -pycountry==1.10 -pytesseract==0.1.6 -python-dateutil==2.4.2 -python-gnupg==0.3.7 -python-magic==0.4.6 -pytz==2015.4 - -sh==1.11 diff --git a/requirements/testing-no-django.txt b/requirements/testing-no-django.txt new file mode 100644 index 0000000000..f493c72077 --- /dev/null +++ b/requirements/testing-no-django.txt @@ -0,0 +1,6 @@ +# requirements/testing.txt +-r base.txt +codecov==1.4.1 +coverage==3.7.1 +coveralls==0.5 +django-test-without-migrations==0.2 diff --git a/tox.ini b/tox.ini index 6917a1f12c..1aead0307c 100644 --- a/tox.ini +++ b/tox.ini @@ -1,12 +1,43 @@ [tox] envlist = - py27 + coverage-clean + py{27,32,33,34}-django{1.7,1.8} + coverage-report [testenv] -basepython = python2.7 -commands= - python manage.py runtests --nomigrations +basepython = + py27: python2.7 + py32: python3.2 + py33: python3.3 + py34: python3.4 + +commands= + coverage run {envdir}/bin/django-admin.py runtests --settings=mayan.settings.testing --nomigrations + +deps = + -rrequirements/testing-no-django.txt + django1.7: django>=1.7,<1.8 + django1.8: django>=1.8,<1.9 -deps = -rrequirements/testing.txt setenv= - DJANGO_SETTINGS_MODULE=mayan.settings.testing + COVERAGE_FILE=.coverage.tox.{envname} + PYTHONDONTWRITEBYTECODE=1 + +skipsdist=True +usedevelop=True + +[testenv:coverage-clean] +basepython = python2.7 +setenv = + COVERAGE_FILE=.coverage.tox +commands = + -python {envbindir}/coverage combine + -python {envbindir}/coverage erase + +[testenv:coverage-report] +basepython = python2.7 +setenv = + COVERAGE_FILE=.coverage.tox +commands = + -python {envbindir}/coverage combine + -python {envbindir}/coverage html