From 58f02a1c76f9bee37ebb22a022d69a370b670262 Mon Sep 17 00:00:00 2001 From: Federico Frenguelli Date: Thu, 19 Nov 2015 17:37:07 +0100 Subject: [PATCH 1/5] updated support for django and python --- .travis.yml | 19 ++----------- tox.ini | 82 +++++++++++------------------------------------------ 2 files changed, 20 insertions(+), 81 deletions(-) diff --git a/.travis.yml b/.travis.yml index 31ffd3fce..d2a58cd1a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,33 +3,20 @@ python: "2.7" sudo: false env: - - TOX_ENV=py26-django14 - - TOX_ENV=py26-django15 - - TOX_ENV=py26-django16 - - TOX_ENV=py27-django14 - - TOX_ENV=py27-django15 - - TOX_ENV=py27-django16 - TOX_ENV=py27-django17 - TOX_ENV=py27-django18 - TOX_ENV=py27-django19 - - TOX_ENV=py33-django15 - - TOX_ENV=py33-django16 + - TOX_ENV=py32-django17 + - TOX_ENV=py32-django18 - TOX_ENV=py33-django17 - TOX_ENV=py33-django18 - - TOX_ENV=py34-django15 - - TOX_ENV=py34-django16 - TOX_ENV=py34-django17 - TOX_ENV=py34-django18 - TOX_ENV=py34-django19 + - TOX_ENV=py35-django18 - TOX_ENV=py35-django19 - TOX_ENV=docs -matrix: - # Python 3.5 not yet available on travis, watch this to see when it is. - fast_finish: true - allow_failures: - - env: TOX_ENV=py35-django19 - install: - pip install tox - pip install coveralls diff --git a/tox.ini b/tox.ini index def45b189..fc6af1271 100644 --- a/tox.ini +++ b/tox.ini @@ -1,10 +1,10 @@ [tox] envlist = - {py26}-django{14,15,16}, - {py27}-django{14,15,16,17,18,19}, - {py33}-django{15,16,17,18}, - {py34}-django{15,16,17,18,19}, - {py35}-django{19}, + {py27}-django{17,18,19}, + {py32}-django{17,18} + {py33}-django{17,18}, + {py34}-django{17,18,19}, + {py35}-django{18,19}, docs, flake8 @@ -14,46 +14,6 @@ commands=coverage run -a runtests.py deps = -r{toxinidir}/requirements/testing.txt -[testenv:py26-django14] -basepython = python2.6 -deps = - Django<1.5 - django-discover-runner - {[testenv]deps} - -[testenv:py26-django15] -basepython = python2.6 -deps = - Django<1.6 - django-discover-runner - {[testenv]deps} - -[testenv:py26-django16] -basepython = python2.6 -deps = - Django<1.7 - {[testenv]deps} - -[testenv:py27-django14] -basepython = python2.7 -deps = - Django<1.5 - django-discover-runner - {[testenv]deps} - -[testenv:py27-django15] -basepython = python2.7 -deps = - Django<1.6 - django-discover-runner - {[testenv]deps} - -[testenv:py27-django16] -basepython = python2.7 -deps = - Django<1.7 - {[testenv]deps} - [testenv:py27-django17] basepython = python2.7 deps = @@ -72,17 +32,16 @@ deps = git+https://github.com/django/django.git@stable/1.9.x#egg=Django {[testenv]deps} -[testenv:py33-django15] -basepython = python3.3 +[testenv:py32-django17] +basepython = python3.2 deps = - Django<1.6 - django-discover-runner + Django<1.8 {[testenv]deps} -[testenv:py33-django16] -basepython = python3.3 +[testenv:py32-django18] +basepython = python3.2 deps = - Django<1.7 + Django<1.9 {[testenv]deps} [testenv:py33-django17] @@ -97,19 +56,6 @@ deps = Django<1.9 {[testenv]deps} -[testenv:py34-django15] -basepython = python3.4 -deps = - Django<1.6 - django-discover-runner - {[testenv]deps} - -[testenv:py34-django16] -basepython = python3.4 -deps = - Django<1.7 - {[testenv]deps} - [testenv:py34-django17] basepython = python3.4 deps = @@ -128,6 +74,12 @@ deps = git+https://github.com/django/django.git@stable/1.9.x#egg=Django {[testenv]deps} +[testenv:py35-django18] +basepython = python3.5 +deps = + Django<1.9 + {[testenv]deps} + [testenv:py35-django19] basepython = python3.5 deps = From 9d5b939c0cec0aead8eb8c5cad6955718ab854d5 Mon Sep 17 00:00:00 2001 From: Federico Frenguelli Date: Fri, 20 Nov 2015 11:56:27 +0100 Subject: [PATCH 2/5] improved test matrix --- .travis.yml | 7 ++++ requirements/testing.txt | 1 - tox.ini | 80 +++------------------------------------- 3 files changed, 13 insertions(+), 75 deletions(-) diff --git a/.travis.yml b/.travis.yml index d2a58cd1a..064545683 100644 --- a/.travis.yml +++ b/.travis.yml @@ -17,6 +17,13 @@ env: - TOX_ENV=py35-django19 - TOX_ENV=docs +matrix: + include: + - python: 3.5 + env: + - TOX_ENV=py35-django18 + - TOX_ENV=py35-django19 + install: - pip install tox - pip install coveralls diff --git a/requirements/testing.txt b/requirements/testing.txt index 544875e36..fff8bc1f1 100644 --- a/requirements/testing.txt +++ b/requirements/testing.txt @@ -1,3 +1,2 @@ -r optional.txt -coverage mock==1.0.1 diff --git a/tox.ini b/tox.ini index fc6af1271..305121091 100644 --- a/tox.ini +++ b/tox.ini @@ -9,82 +9,14 @@ envlist = flake8 [testenv] -downloadcache = {toxworkdir}/cache/ commands=coverage run -a runtests.py deps = - -r{toxinidir}/requirements/testing.txt - -[testenv:py27-django17] -basepython = python2.7 -deps = - Django<1.8 - {[testenv]deps} - -[testenv:py27-django18] -basepython = python2.7 -deps = - Django<1.9 - {[testenv]deps} - -[testenv:py27-django19] -basepython = python2.7 -deps = - git+https://github.com/django/django.git@stable/1.9.x#egg=Django - {[testenv]deps} - -[testenv:py32-django17] -basepython = python3.2 -deps = - Django<1.8 - {[testenv]deps} - -[testenv:py32-django18] -basepython = python3.2 -deps = - Django<1.9 - {[testenv]deps} - -[testenv:py33-django17] -basepython = python3.3 -deps = - Django<1.8 - {[testenv]deps} - -[testenv:py33-django18] -basepython = python3.3 -deps = - Django<1.9 - {[testenv]deps} - -[testenv:py34-django17] -basepython = python3.4 -deps = - Django<1.8 - {[testenv]deps} - -[testenv:py34-django18] -basepython = python3.4 -deps = - Django<1.9 - {[testenv]deps} - -[testenv:py34-django19] -basepython = python3.4 -deps = - git+https://github.com/django/django.git@stable/1.9.x#egg=Django - {[testenv]deps} - -[testenv:py35-django18] -basepython = python3.5 -deps = - Django<1.9 - {[testenv]deps} - -[testenv:py35-django19] -basepython = python3.5 -deps = - git+https://github.com/django/django.git@stable/1.9.x#egg=Django - {[testenv]deps} + django17: Django==1.7.10 + django18: Django==1.8.6 + django19: https://www.djangoproject.com/download/1.9rc1/tarball/ + py32: coverage<4 + py{27,33,34,35}: coverage + -rrequirements/testing.txt [testenv:docs] basepython=python From 3d3a75c6292f823b35fb728e05e40a84eb12a998 Mon Sep 17 00:00:00 2001 From: Federico Frenguelli Date: Fri, 20 Nov 2015 11:56:42 +0100 Subject: [PATCH 3/5] added support for python3.2 --- oauth2_provider/oauth2_validators.py | 6 ++++++ requirements/base.txt | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/oauth2_provider/oauth2_validators.py b/oauth2_provider/oauth2_validators.py index cc669f04f..3b42dad37 100644 --- a/oauth2_provider/oauth2_validators.py +++ b/oauth2_provider/oauth2_validators.py @@ -1,5 +1,6 @@ from __future__ import unicode_literals +import six import base64 import binascii import logging @@ -60,6 +61,11 @@ def _authenticate_basic_auth(self, request): except AttributeError: encoding = 'utf-8' + # Encode auth_string to bytes. This is needed for python3.2 compatibility + # because b64decode function only supports bytes type in input. + if isinstance(auth_string, six.string_types): + auth_string = auth_string.encode(encoding) + try: b64_decoded = base64.b64decode(auth_string) except (TypeError, binascii.Error): diff --git a/requirements/base.txt b/requirements/base.txt index 1dd139d74..2a471eb19 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -1,5 +1,5 @@ Sphinx==1.3.1 South==1.0 oauthlib==1.0.1 -django-braces==1.4.0 +django-braces==1.8.1 six From 38992befe08174bcd013c667ffecebbfca84400a Mon Sep 17 00:00:00 2001 From: Federico Frenguelli Date: Fri, 20 Nov 2015 12:20:09 +0100 Subject: [PATCH 4/5] python3.5 envs allowed to fail --- .travis.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index 064545683..70b52233a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -18,9 +18,10 @@ env: - TOX_ENV=docs matrix: - include: - - python: 3.5 - env: + # Python 3.5 not yet available on travis, watch this to see when it is. + fast_finish: true + allow_failures: + - env: - TOX_ENV=py35-django18 - TOX_ENV=py35-django19 From 772dbed1ccc6a828fc85466a1bf9043f78b18385 Mon Sep 17 00:00:00 2001 From: Federico Frenguelli Date: Fri, 20 Nov 2015 12:30:40 +0100 Subject: [PATCH 5/5] updated travis config for python3.5 ...again --- .travis.yml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index 70b52233a..b344a7538 100644 --- a/.travis.yml +++ b/.travis.yml @@ -18,12 +18,11 @@ env: - TOX_ENV=docs matrix: - # Python 3.5 not yet available on travis, watch this to see when it is. + # Python 3.5 not yet available on travis, watch this to see when it is. fast_finish: true allow_failures: - - env: - - TOX_ENV=py35-django18 - - TOX_ENV=py35-django19 + - env: TOX_ENV=py35-django18 + - env: TOX_ENV=py35-django19 install: - pip install tox