Skip to content

Commit

Permalink
Add official support for Django 2.2. Improve coverage
Browse files Browse the repository at this point in the history
  • Loading branch information
joehybird committed Jan 23, 2020
1 parent 65afd88 commit 2ca98f6
Show file tree
Hide file tree
Showing 6 changed files with 37 additions and 57 deletions.
62 changes: 18 additions & 44 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,54 +1,28 @@
dist: trusty
dist: bionic
sudo: false
language: python
env:
matrix:
- TOXENV=flake8
- TOXENV=isort
cache: pip
matrix:
env:
- DJANGO="1.11"
- DJANGO="2.0"
- DJANGO="2.1"
- DJANGO="2.2"
stages:
- lint
- test
jobs:
fast_finish: true
include:
- python: 2.7
env: TOXENV=py27-1.11
- python: 3.4
env: TOXENV=py34-1.11
- python: 3.4
env: TOXENV=py34-2.0
- python: 3.5
env: TOXENV=py35-1.11
- python: 3.5
env: TOXENV=py35-2.0
- python: 3.5
env: TOXENV=py35-2.1
- python: 3.5
env: TOXENV=py35-master
- python: 3.6
env: TOXENV=py36-1.11
- python: 3.6
env: TOXENV=py36-2.0
- python: 3.6
env: TOXENV=py36-2.1
- python: 3.6
env: TOXENV=py36-master
- python: 3.7
env: TOXENV=py37-2.0
dist: xenial
sudo: true
- python: 3.7
env: TOXENV=py37-2.1
dist: xenial
sudo: true
- python: 3.7
env: TOXENV=py37-master
dist: xenial
sudo: true
- { stage: lint, env: TOXENV=flake8, python: 3.6 }
- { stage: lint, env: TOXENV=isort, python: 3.6 }
allow_failures:
- env: TOXENV=py35-master
- env: TOXENV=py36-master
- env: TOXENV=py37-master
- env: TOXENV=py35-master
- env: TOXENV=py36-master
- env: TOXENV=py37-master
- env: TOXENV=py38-master

install:
- pip install tox coveralls
- pip install tox coveralls tox-travis
script:
- tox
after_success:
Expand Down
8 changes: 2 additions & 6 deletions picklefield/fields.py
Original file line number Diff line number Diff line change
Expand Up @@ -170,12 +170,8 @@ def pre_save(self, model_instance, add):
value = super(PickledObjectField, self).pre_save(model_instance, add)
return wrap_conflictual_object(value)

if django.VERSION < (2, 0):
def from_db_value(self, value, expression, connection, context):
return self.to_python(value)
else:
def from_db_value(self, value, expression, connection):
return self.to_python(value)
def from_db_value(self, value, expression, connection, context=None):
return self.to_python(value)

def get_db_prep_value(self, value, connection=None, prepared=False):
"""
Expand Down
1 change: 1 addition & 0 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
'Framework :: Django :: 1.11',
'Framework :: Django :: 2.0',
'Framework :: Django :: 2.1',
'Framework :: Django :: 2.2',
'Intended Audience :: Developers',
'License :: OSI Approved :: MIT License',
'Operating System :: OS Independent',
Expand Down
1 change: 1 addition & 0 deletions tests/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ class TestingModel(models.Model):
default_pickle_field = PickledObjectField(default=(D1, S1, T1, L1))
callable_pickle_field = PickledObjectField(default=date.today)
non_copying_field = PickledObjectField(copy=False, default=TestCopyDataType('boom!'))
nullable_pickle_field = PickledObjectField(null=True)


class MinimalTestingModel(models.Model):
Expand Down
1 change: 1 addition & 0 deletions tests/tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ def test_data_integrity(self):
# the same data, even thought it's stored differently in the DB.
self.assertEqual(value, model_test.pickle_field)
self.assertEqual(value, model_test.compressed_pickle_field)
self.assertEqual(None, model_test.nullable_pickle_field)
# Make sure we can also retrieve the model
model_test.save()
model_test.delete()
Expand Down
21 changes: 14 additions & 7 deletions tox.ini
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,16 @@ args_are_paths = false
envlist =
flake8,
isort,
py27-1.11,
py34-{1.11,2.0},
py35-{1.11,2.0,2.1,master},
py36-{1.11,2.0,2.1,master},
py37-{1.11,2.0,2.1,master}
py{27,34,35,36,37,38}-1.11,
py{35,36,37,38}-{2.0,2.1,2.2,master}

[travis:env]
DJANGO =
1.11: 1.11
2.0: 2.0
2.1: 2.1
2.2: 2.2
master: master

[testenv]
basepython =
Expand All @@ -17,15 +22,17 @@ basepython =
py35: python3.5
py36: python3.6
py37: python3.7
py38: python3.8
usedevelop = true
commands =
{envpython} -R -Wonce {envbindir}/coverage run -m django test -v2 --settings=tests.settings {posargs}
coverage report
{envpython} -R -Wonce {envbindir}/coverage run --branch -m django test -v2 --settings=tests.settings {posargs}
coverage report -m
deps =
coverage
1.11: Django>=1.11,<2.0
2.0: Django>=2.0,<2.1
2.1: Django>=2.1,<2.2
2.2: Django>=2.2,<3.0
master: https://github.com/django/django/archive/master.tar.gz

[testenv:flake8]
Expand Down

0 comments on commit 2ca98f6

Please sign in to comment.