From 48888a1a67db0404e5a31c9ca0349984e496f26f Mon Sep 17 00:00:00 2001 From: Andrew Artajos Date: Thu, 8 Oct 2015 17:05:01 +1100 Subject: Fixed #25501 -- Made the file-based cache backend use the highest pickling protocol. --- tests/cache/tests.py | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'tests/cache') diff --git a/tests/cache/tests.py b/tests/cache/tests.py index dca08ee081..e77cec9151 100644 --- a/tests/cache/tests.py +++ b/tests/cache/tests.py @@ -65,6 +65,11 @@ class Unpickable(object): raise pickle.PickleError() +class UnpicklableType(object): + # Unpicklable using the default pickling protocol on Python 2. + __slots__ = 'a', + + @override_settings(CACHES={ 'default': { 'BACKEND': 'django.core.cache.backends.dummy.DummyCache', @@ -1221,6 +1226,10 @@ class FileBasedCacheTests(BaseCacheTests, TestCase): cache.set('foo', 'bar') os.path.exists(self.dirname) + def test_cache_write_unpickable_type(self): + # This fails if not using the highest pickling protocol on Python 2. + cache.set('unpickable', UnpicklableType()) + @override_settings(CACHES={ 'default': { -- cgit v1.3