From 09eae37b2388a1e599e04954032e433aabc026fb Mon Sep 17 00:00:00 2001 From: Daniel Hahler Date: Wed, 30 Sep 2015 00:30:43 +0200 Subject: [PATCH 1/6] Fix test_cache_url_value for newer django-cache-url MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This fixes the following failure: ERROR: test_cache_url_value (tests.test_values.ValueTests) ---------------------------------------------------------------------- Traceback (most recent call last): File "…/django-configurations/configurations/values.py", line 158, in to_python return self._caster(value) File "…/django-configurations/.tox/py34-dj18/lib/python3.4/site-packages/django_cache_url.py", line 98, in parse config['LOCATION'] = "%s:%s:%s" % (url.hostname, url.port, db) File "…/pyenv/3.4.3/lib/python3.4/urllib/parse.py", line 156, in port port = int(port, 10) ValueError: invalid literal for int() with base 10: 'port' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "…/django-configurations/tests/test_values.py", line 415, in test_cache_url_value value = CacheURLValue(cache_url) File "…/django-configurations/configurations/values.py", line 420, in __init__ self.default = self.to_python(self.default) File "…/django-configurations/configurations/values.py", line 423, in to_python value = super(DictBackendMixin, self).to_python(value) File "…/django-configurations/configurations/values.py", line 160, in to_python raise ValueError(self.message.format(value)) ValueError: Cannot interpret cache URL value 'redis://user@host:port/1' ---------------------------------------------------------------------- Ran 63 tests in 1.132s FAILED (errors=1) --- tests/test_values.py | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/tests/test_values.py b/tests/test_values.py index 482799a..04987cc 100644 --- a/tests/test_values.py +++ b/tests/test_values.py @@ -407,20 +407,26 @@ class ValueTests(TestCase): def test_cache_url_value(self): cache_setting = { 'default': { - 'BACKEND': 'redis_cache.cache.RedisCache', - 'KEY_PREFIX': '', - 'LOCATION': 'host:port:1' + 'BACKEND': 'django_redis.cache.RedisCache', + 'LOCATION': 'host:6379:1' } } - cache_url = 'redis://user@host:port/1' + cache_url = 'redis://user@host:6379/1' value = CacheURLValue(cache_url) self.assertEqual(value.default, cache_setting) value = CacheURLValue() self.assertEqual(value.default, {}) - with env(CACHE_URL='redis://user@host:port/1'): + with env(CACHE_URL='redis://user@host:6379/1'): self.assertEqual(value.setup('CACHE_URL'), cache_setting) with env(CACHE_URL='wrong://user@host:port/1'): - self.assertRaises(KeyError, value.setup, 'TEST') + with self.assertRaises(Exception) as cm: + value.setup('TEST') + self.assertEqual(cm.exception.args[0], 'Unknown backend: "wrong"') + with env(CACHE_URL='redis://user@host:port/1'): + with self.assertRaises(ValueError) as cm: + value.setup('TEST') + self.assertEqual(cm.exception.args[0], + "Cannot interpret cache URL value 'redis://user@host:port/1'") def test_search_url_value(self): value = SearchURLValue() From 11990d1db68d5e0dd0e11a70340795aca74aba4b Mon Sep 17 00:00:00 2001 From: Daniel Hahler Date: Wed, 30 Sep 2015 01:07:20 +0200 Subject: [PATCH 2/6] tox: do not use coverage with Python 3.2 Fixes https://github.com/jezdez/django-configurations/issues/129. --- tox.ini | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/tox.ini b/tox.ini index f4d0f6c..480cb91 100644 --- a/tox.ini +++ b/tox.ini @@ -34,6 +34,16 @@ commands = coverage run {envbindir}/django-cadmin test -v2 {posargs:tests} coverage report +# Coverage supports only Python 3.3+ for Python 3. +[testenv:py32-dj15] +commands = {envbindir}/django-cadmin test -v2 {posargs:tests} +[testenv:py32-dj16] +commands = {envbindir}/django-cadmin test -v2 {posargs:tests} +[testenv:py32-dj17] +commands = {envbindir}/django-cadmin test -v2 {posargs:tests} +[testenv:py32-dj18] +commands = {envbindir}/django-cadmin test -v2 {posargs:tests} + [testenv:flake8-py27] commands = flake8 configurations deps = flake8 From 3a1a88bd159e26ca854a2e23751fa5997146df82 Mon Sep 17 00:00:00 2001 From: Daniel Hahler Date: Wed, 30 Sep 2015 01:10:02 +0200 Subject: [PATCH 3/6] Travis: use Python 3.5 for Python 3 flake8 test --- .travis.yml | 68 +++++++++++++++++++++--------------------- tests/requirements.txt | 2 +- tox.ini | 8 +++-- 3 files changed, 40 insertions(+), 38 deletions(-) diff --git a/.travis.yml b/.travis.yml index 659512e..e4c8904 100644 --- a/.travis.yml +++ b/.travis.yml @@ -8,40 +8,40 @@ env: - PIP_WHEEL_DIR=$HOME/.cache/pip/wheels - PIP_FIND_LINKS=file://$HOME/.cache/pip/wheels matrix: - - TOXENV=flake8-py27 - - TOXENV=flake8-py33 - - TOXENV=py26-dj14 - - TOXENV=py26-dj15 - - TOXENV=py26-dj16 - - TOXENV=pypy-dj14 - - TOXENV=pypy-dj15 - - TOXENV=pypy-dj16 - - TOXENV=py27-dj14 - - TOXENV=py27-dj15 - - TOXENV=py27-dj16 - - TOXENV=py27-dj17 - - TOXENV=py27-dj18 - - TOXENV=py27-dj19 - - TOXENV=py32-dj15 - - TOXENV=py32-dj16 - - TOXENV=py32-dj17 - - TOXENV=py32-dj18 - - TOXENV=py32-dj19 - - TOXENV=py33-dj15 - - TOXENV=py33-dj16 - - TOXENV=py33-dj17 - - TOXENV=py33-dj18 - - TOXENV=py33-dj19 - - TOXENV=py34-dj15 - - TOXENV=py34-dj16 - - TOXENV=py34-dj17 - - TOXENV=py34-dj18 - - TOXENV=py34-dj19 - - TOXENV=pypy-dj15 - - TOXENV=pypy-dj16 - - TOXENV=pypy-dj17 - - TOXENV=pypy-dj18 - - TOXENV=pypy-dj19 + - TOXENV=flake8-py27 + - TOXENV=flake8-py35 + - TOXENV=py26-dj14 + - TOXENV=py26-dj15 + - TOXENV=py26-dj16 + - TOXENV=pypy-dj14 + - TOXENV=pypy-dj15 + - TOXENV=pypy-dj16 + - TOXENV=py27-dj14 + - TOXENV=py27-dj15 + - TOXENV=py27-dj16 + - TOXENV=py27-dj17 + - TOXENV=py27-dj18 + - TOXENV=py27-dj19 + - TOXENV=py32-dj15 + - TOXENV=py32-dj16 + - TOXENV=py32-dj17 + - TOXENV=py32-dj18 + - TOXENV=py32-dj19 + - TOXENV=py33-dj15 + - TOXENV=py33-dj16 + - TOXENV=py33-dj17 + - TOXENV=py33-dj18 + - TOXENV=py33-dj19 + - TOXENV=py34-dj15 + - TOXENV=py34-dj16 + - TOXENV=py34-dj17 + - TOXENV=py34-dj18 + - TOXENV=py34-dj19 + - TOXENV=pypy-dj15 + - TOXENV=pypy-dj16 + - TOXENV=pypy-dj17 + - TOXENV=pypy-dj18 + - TOXENV=pypy-dj19 install: - pip wheel -r tests/requirements.txt - pip install tox diff --git a/tests/requirements.txt b/tests/requirements.txt index e231ad5..5eb9697 100644 --- a/tests/requirements.txt +++ b/tests/requirements.txt @@ -4,5 +4,5 @@ mock dj-database-url dj-email-url dj-search-url -django-cache-url>=0.6.0 +django-cache-url>=1.0.0 six diff --git a/tox.ini b/tox.ini index 480cb91..24723c1 100644 --- a/tox.ini +++ b/tox.ini @@ -4,10 +4,11 @@ usedevelop = True minversion = 1.8 envlist = flake8-py27, - flake8-py33, + flake8-py35, py{26,py}-dj{14,15,16}, py27-dj{14,15,16,17,18,19}, - py{32,33,34,py}-dj{15,16,17,18,19} + py{32,33,34,py}-dj{15,16,17,18} + py{34,35,py]-dj{19,master}} [testenv] basepython = @@ -16,6 +17,7 @@ basepython = py32: python3.2 py33: python3.3 py34: python3.4 + py35: python3.5 pypy: pypy usedevelop = true setenv = @@ -48,7 +50,7 @@ commands = {envbindir}/django-cadmin test -v2 {posargs:tests} commands = flake8 configurations deps = flake8 -[testenv:flake8-py33] +[testenv:flake8-py35] commands = flake8 configurations deps = flake8 From b5e1eb6adef0901228ed61a24c82553d3caf7bfd Mon Sep 17 00:00:00 2001 From: Daniel Hahler Date: Tue, 29 Sep 2015 22:48:10 +0200 Subject: [PATCH 4/6] Travis/tox: use dj19 tarball, add master; remove unsupported - Add `allow_failures` section for Django master on Travis. - Django 1.9 is only supported on Python 2.7 and 3.4+. - Only test main Python 2 and 3 with Django master. --- .travis.yml | 13 +++++++++++-- tox.ini | 7 ++++--- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/.travis.yml b/.travis.yml index e4c8904..7c0c0fe 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,4 +1,5 @@ language: python +python: 3.5 sudo: false cache: directories: @@ -22,26 +23,34 @@ env: - TOXENV=py27-dj17 - TOXENV=py27-dj18 - TOXENV=py27-dj19 + - TOXENV=py27-djmaster - TOXENV=py32-dj15 - TOXENV=py32-dj16 - TOXENV=py32-dj17 - TOXENV=py32-dj18 - - TOXENV=py32-dj19 - TOXENV=py33-dj15 - TOXENV=py33-dj16 - TOXENV=py33-dj17 - TOXENV=py33-dj18 - - TOXENV=py33-dj19 - TOXENV=py34-dj15 - TOXENV=py34-dj16 - TOXENV=py34-dj17 - TOXENV=py34-dj18 - TOXENV=py34-dj19 + - TOXENV=py35-dj18 + - TOXENV=py35-dj19 + - TOXENV=py35-djmaster - TOXENV=pypy-dj15 - TOXENV=pypy-dj16 - TOXENV=pypy-dj17 - TOXENV=pypy-dj18 - TOXENV=pypy-dj19 +matrix: + allow_failures: + - env: TOXENV=py27-djmaster + - env: TOXENV=py34-djmaster + - env: TOXENV=py35-djmaster + - env: TOXENV=pypy-djmaster install: - pip wheel -r tests/requirements.txt - pip install tox diff --git a/tox.ini b/tox.ini index 24723c1..e2c2e3f 100644 --- a/tox.ini +++ b/tox.ini @@ -6,9 +6,9 @@ envlist = flake8-py27, flake8-py35, py{26,py}-dj{14,15,16}, - py27-dj{14,15,16,17,18,19}, + py27-dj{14,15,16,17,18,19,master}, py{32,33,34,py}-dj{15,16,17,18} - py{34,35,py]-dj{19,master}} + py{34,35,py}-dj{19,master} [testenv] basepython = @@ -30,7 +30,8 @@ deps = dj16: https://github.com/django/django/archive/stable/1.6.x.tar.gz#egg=django dj17: https://github.com/django/django/archive/stable/1.7.x.tar.gz#egg=django dj18: https://github.com/django/django/archive/stable/1.8.x.tar.gz#egg=django - dj19: https://github.com/django/django/archive/master.tar.gz#egg=django + dj19: https://github.com/django/django/archive/stable/1.9.x.tar.gz#egg=django + djmaster: https://github.com/django/django/archive/master.tar.gz#egg=django commands = coverage run {envbindir}/django-cadmin test -v2 {posargs:tests} From 06fa8d3eab2307b3d5b40f5f689b811930460440 Mon Sep 17 00:00:00 2001 From: Daniel Hahler Date: Thu, 17 Dec 2015 22:36:47 +0100 Subject: [PATCH 5/6] Travis: minor: fix indent --- .travis.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index 7c0c0fe..9bb6fe4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,8 +6,8 @@ cache: - "~/.cache/pip" env: global: - - PIP_WHEEL_DIR=$HOME/.cache/pip/wheels - - PIP_FIND_LINKS=file://$HOME/.cache/pip/wheels + - PIP_WHEEL_DIR=$HOME/.cache/pip/wheels + - PIP_FIND_LINKS=file://$HOME/.cache/pip/wheels matrix: - TOXENV=flake8-py27 - TOXENV=flake8-py35 @@ -52,8 +52,8 @@ matrix: - env: TOXENV=py35-djmaster - env: TOXENV=pypy-djmaster install: -- pip wheel -r tests/requirements.txt -- pip install tox + - pip wheel -r tests/requirements.txt + - pip install tox script: tox branches: except: templates/1.5.x templates/1.6.x From cb3a02ee5152215b2cde6a7c000f0ecbaa6134f0 Mon Sep 17 00:00:00 2001 From: Daniel Hahler Date: Tue, 29 Sep 2015 22:56:56 +0200 Subject: [PATCH 6/6] Travis: use master branch in build status image The URL is the one suggested by Travis CI itself. --- README.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.rst b/README.rst index 7a50c94..77d7230 100644 --- a/README.rst +++ b/README.rst @@ -1,7 +1,7 @@ django-configurations ===================== -.. image:: https://secure.travis-ci.org/jazzband/django-configurations.png +.. image:: https://travis-ci.org/jazzband/django-configurations.svg?branch=master :alt: Build Status :target: https://travis-ci.org/jazzband/django-configurations