From df48a1cedf2935318563e77dd783959d02d3ef13 Mon Sep 17 00:00:00 2001 From: crccheck Date: Tue, 2 Sep 2014 21:01:16 -0500 Subject: [PATCH 1/4] update django testing requirements to Django 1.7 --- tox.ini | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/tox.ini b/tox.ini index 4d6bb29..7eeb77d 100644 --- a/tox.ini +++ b/tox.ini @@ -32,58 +32,58 @@ deps = basepython=python2.6 deps = {[testenv]deps} - django>=1.4,>1.5 + Django>=1.4,<1.5 [testenv:py26django15] basepython=python2.6 deps = {[testenv]deps} - django>=1.5,>1.6 + Django>=1.5,<1.6 [testenv:py27django14] basepython=python2.7 deps = {[testenv]deps} - django>=1.4,>1.5 + Django>=1.4,<1.5 [testenv:py27django15] basepython=python2.7 deps = {[testenv]deps} - django>=1.5,>1.6 + Django>=1.5,<1.6 [testenv:py27django16] basepython=python2.7 deps = {[testenv]deps} - django>=1.6,>1.5 + Django>=1.6,<1.5 [testenv:py33django16] basepython=python3.3 deps = {[testenv]deps} - django>=1.6,>1.5 + Django>=1.6,<1.5 [testenv:py27django17] basepython=python2.7 deps = {[testenv]deps} - https://www.djangoproject.com/download/1.7c1/tarball/ + Django>=1.7,<1.8 [testenv:py33django17] basepython=python3.3 deps = {[testenv]deps} - https://www.djangoproject.com/download/1.7c1/tarball/ + Django>=1.7,<1.8 [testenv:py34django16] basepython=python3.4 deps = {[testenv]deps} - django>=1.6,>1.5 + Django>=1.6,<1.5 [testenv:py34django17] basepython=python3.4 deps = {[testenv]deps} - https://www.djangoproject.com/download/1.7c1/tarball/ + Django>=1.7,<1.8 From f1369aa3e2e334b45abc8fe49ae36278741e65e2 Mon Sep 17 00:00:00 2001 From: crccheck Date: Tue, 2 Sep 2014 21:04:42 -0500 Subject: [PATCH 2/4] fix failing django 1.4 test setup --- django_object_actions/factories.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/django_object_actions/factories.py b/django_object_actions/factories.py index 0dda1d7..088cad8 100644 --- a/django_object_actions/factories.py +++ b/django_object_actions/factories.py @@ -1,4 +1,9 @@ -from django.contrib.auth import get_user_model +try: + from django.contrib.auth import get_user_model +except ImportError: + # Django 1.4 + from django.contrib.auth.models import User + get_user_model = lambda: User import factory From b4b11914cf5ea8d5e136d5ed7f0e85f152184e50 Mon Sep 17 00:00:00 2001 From: crccheck Date: Tue, 2 Sep 2014 21:16:26 -0500 Subject: [PATCH 3/4] add coverage to the project --- .coveragerc | 10 ++++++++++ .gitignore | 1 + Makefile | 22 +++++++++++----------- django_object_actions/factories.py | 2 +- requirements.txt | 1 + 5 files changed, 24 insertions(+), 12 deletions(-) create mode 100644 .coveragerc diff --git a/.coveragerc b/.coveragerc new file mode 100644 index 0000000..337f6cb --- /dev/null +++ b/.coveragerc @@ -0,0 +1,10 @@ +[run] +source = django_object_actions +omit = + */tests/* + +[report] +exclude_lines = + pragma: no cover + __repr__ + __unicode__ diff --git a/.gitignore b/.gitignore index a258e3c..5383b9e 100644 --- a/.gitignore +++ b/.gitignore @@ -4,6 +4,7 @@ media *.pot *.pyc .DS_Store +.coverage .sass-cache diff --git a/Makefile b/Makefile index 45e5cae..350f5e1 100644 --- a/Makefile +++ b/Makefile @@ -3,13 +3,15 @@ MANAGE=$(PROJECT)/manage.py help: @echo "make commands:" - @echo " make help - this help" - @echo " make clean - remove files generated by distutils" - @echo " make test - run test suite" - @echo " make resetdb - delete and recreate the sqlite database" + @echo " make help - this help" + @echo " make clean - remove files generated by distutils" + @echo " make test - run test suite" + @echo " make coverage - run coverage" + @echo " make resetdb - delete and recreate the sqlite database" clean: + rm -rf .coverage rm -rf .tox rm -rf MANIFEST rm -rf build @@ -18,15 +20,13 @@ clean: test: -# -# -s don't capture stdout -# - python -W ignore::RuntimeWarning $(MANAGE) test django_object_actions -s + python -W ignore::RuntimeWarning $(MANAGE) test django_object_actions +coverage: + coverage erase + coverage run $(MANAGE) test django_object_actions + coverage report --show-missing resetdb: python $(MANAGE) reset_db --router=default --noinput python $(MANAGE) syncdb --noinput - - -.PHONY: help clean test resetdb diff --git a/django_object_actions/factories.py b/django_object_actions/factories.py index 088cad8..086ccc4 100644 --- a/django_object_actions/factories.py +++ b/django_object_actions/factories.py @@ -1,6 +1,6 @@ try: from django.contrib.auth import get_user_model -except ImportError: +except ImportError: # pragma: no cover # Django 1.4 from django.contrib.auth.models import User get_user_model = lambda: User diff --git a/requirements.txt b/requirements.txt index 8c2d556..f29af29 100644 --- a/requirements.txt +++ b/requirements.txt @@ -8,3 +8,4 @@ django-extensions>=0.9 django-nose tox==1.7.1 factory-boy==2.4.1 +coverage==3.7.1 From 18691294df33def882e542c36a825ee0f5052a9f Mon Sep 17 00:00:00 2001 From: crccheck Date: Tue, 2 Sep 2014 21:39:07 -0500 Subject: [PATCH 4/4] remove nose as a requirement so project is simpler --- django_object_actions/tests/__init__.py | 4 ++++ example_project/settings.py | 4 ---- requirements.txt | 1 - tox.ini | 1 - 4 files changed, 4 insertions(+), 6 deletions(-) diff --git a/django_object_actions/tests/__init__.py b/django_object_actions/tests/__init__.py index 70d25c7..af46acb 100644 --- a/django_object_actions/tests/__init__.py +++ b/django_object_actions/tests/__init__.py @@ -1,3 +1,7 @@ # HACK to get factoryboy logging to shut up import logging logging.getLogger("factory").setLevel(logging.WARN) + +# DJANGO 1.4 DJANGO 1.5 +from .test_utils import * +from .tests import * diff --git a/example_project/settings.py b/example_project/settings.py index 37f6e1a..52f9223 100644 --- a/example_project/settings.py +++ b/example_project/settings.py @@ -66,12 +66,8 @@ def project_dir(*paths): # dev helpers 'django_extensions', - # testing - 'django_nose', ) -TEST_RUNNER = 'django_nose.NoseTestSuiteRunner' - # STFU, Django 1.7 # To be deleted once Django 1.8 testing begins diff --git a/requirements.txt b/requirements.txt index f29af29..4f5b506 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5,7 +5,6 @@ psycopg2>=2.4.5 Werkzeug>=0.8.3 django-extensions>=0.9 -django-nose tox==1.7.1 factory-boy==2.4.1 coverage==3.7.1 diff --git a/tox.ini b/tox.ini index 7eeb77d..7195306 100644 --- a/tox.ini +++ b/tox.ini @@ -25,7 +25,6 @@ commands = {envpython} example_project/manage.py test django_object_actions deps = dj_database_url django-extensions>=0.9 - django-nose factory-boy==2.4.1 [testenv:py26django14]