Skip to content

Commit

Permalink
Drop support for Python 3.3.
Browse files Browse the repository at this point in the history
  • Loading branch information
Michael Howitz committed Jan 8, 2018
1 parent b1bb9b9 commit 8712015
Show file tree
Hide file tree
Showing 7 changed files with 13 additions and 16 deletions.
1 change: 0 additions & 1 deletion .travis.yml
Expand Up @@ -2,7 +2,6 @@ language: python
sudo: false
python:
- 2.7
- 3.3
- 3.4
- 3.5
- 3.6
Expand Down
4 changes: 3 additions & 1 deletion CHANGES.rst
@@ -1,11 +1,13 @@
``zodbpickle`` Changelog
========================

0.7.1 (unreleased)
1.0.0 (unreleased)
------------------

- Add a warning to the readme not to use untrusted pickles.

- Drop support for Python 3.3.


0.7.0 (2017-09-22)
------------------
Expand Down
2 changes: 0 additions & 2 deletions appveyor.yml
Expand Up @@ -7,8 +7,6 @@ environment:
matrix:
- python: 27
- python: 27-x64
- python: 33
- python: 33-x64
- python: 34
- python: 34-x64
- python: 35
Expand Down
3 changes: 1 addition & 2 deletions setup.py
Expand Up @@ -42,7 +42,7 @@

setup(
name='zodbpickle',
version='0.7.1.dev0',
version='1.0.0.dev0',
description='Fork of Python 3 pickle module.',
author='Python and Zope Foundation',
author_email='zodb-dev@zope.org',
Expand All @@ -57,7 +57,6 @@
'Programming Language :: Python :: 2',
'Programming Language :: Python :: 2.7',
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.3',
'Programming Language :: Python :: 3.4',
'Programming Language :: Python :: 3.5',
'Programming Language :: Python :: 3.6',
Expand Down
9 changes: 4 additions & 5 deletions src/zodbpickle/tests/pickletester_3.py
Expand Up @@ -29,7 +29,6 @@ def wrapper(*args, **kwargs):
sys.settrace(original_trace)
return wrapper

_PY33 = sys.version_info[:2] >= (3, 3)
_PY34 = sys.version_info[:2] >= (3, 4)
_PY343 = sys.version_info[:3] >= (3, 4, 3)

Expand Down Expand Up @@ -779,14 +778,14 @@ def test_structseq(self):
u = self.loads(s)
self.assertEqual(t, u)

@unittest.skipUnless(_PY33, "only for Python >= 3.3")
@unittest.skipUnless(_PY34, "only for Python >= 3.4")
def test_ellipsis(self):
for proto in protocols:
s = self.dumps(..., proto)
u = self.loads(s)
self.assertEqual(..., u)

@unittest.skipUnless(_PY33, "only for Python >= 3.3")
@unittest.skipUnless(_PY34, "only for Python >= 3.4")
def test_notimplemented(self):
for proto in protocols:
s = self.dumps(NotImplemented, proto)
Expand Down Expand Up @@ -1112,7 +1111,7 @@ def test_bad_getattr(self):
self.assertRaises(RuntimeError, self.dumps, x, proto)

# protocol 2 don't raise a RuntimeError, except under PyPy, or Python >= 3.4
if _is_pypy or (_is_pure and not _PY33) or _PY34:
if _is_pypy or _PY34:
self.assertRaises(RuntimeError, self.dumps, x, 2)
else:
self.dumps(x, 2)
Expand Down Expand Up @@ -1222,7 +1221,7 @@ def test_empty_bytestring(self):
empty = self.loads(b'\x80\x03U\x00q\x00.', encoding='koi8-r')
self.assertEqual(empty, '')

@unittest.skipUnless(_PY33, "only for Python >= 3.3")
@unittest.skipUnless(_PY34, "only for Python >= 3.4")
def test_int_pickling_efficiency(self):
# Test compacity of int representation (see issue #12744)
for proto in protocols:
Expand Down
8 changes: 4 additions & 4 deletions src/zodbpickle/tests/test_pickle_3.py
Expand Up @@ -97,7 +97,7 @@ class PyPicklerUnpicklerObjectTests(AbstractPicklerUnpicklerObjectTests):
unpickler_class = pickle._Unpickler


if sys.version_info >= (3, 3):
if sys.version_info >= (3, 4):
class PyDispatchTableTests(AbstractDispatchTableTests):
pickler_class = pickle._Pickler
def get_dispatch_table(self):
Expand Down Expand Up @@ -139,7 +139,7 @@ class CPicklerUnpicklerObjectTests(AbstractPicklerUnpicklerObjectTests):
pickler_class = _pickle.Pickler
unpickler_class = _pickle.Unpickler

if sys.version_info >= (3, 3):
if sys.version_info >= (3, 4):
class CDispatchTableTests(AbstractDispatchTableTests):
pickler_class = pickle.Pickler
def get_dispatch_table(self):
Expand All @@ -154,7 +154,7 @@ def get_dispatch_table(self):
def choose_tests():
tests = [PickleTests, PyPicklerTests, PyPersPicklerTests,
PyPicklerBytestrTests, PyPicklerBytesFallbackTests]
if sys.version_info >= (3, 3):
if sys.version_info >= (3, 4):
tests.extend([PyDispatchTableTests, PyChainDispatchTableTests])
if has_c_implementation:
tests.extend([CPicklerTests, CPersPicklerTests,
Expand All @@ -163,7 +163,7 @@ def choose_tests():
PyPicklerUnpicklerObjectTests,
CPicklerUnpicklerObjectTests,
InMemoryPickleTests])
if sys.version_info >= (3, 3):
if sys.version_info >= (3, 4):
tests.extend([CDispatchTableTests, CChainDispatchTableTests])
return tests

Expand Down
2 changes: 1 addition & 1 deletion tox.ini
@@ -1,7 +1,7 @@
[tox]
# Jython 2.7rc2 does work, but unfortunately has an issue running
# with Tox 1.9.2 (http://bugs.jython.org/issue2325)
envlist = py27,py33,py34,py35,py36,pypy,pypy3
envlist = py27,py34,py35,py36,pypy,pypy3

[testenv]
deps =
Expand Down

0 comments on commit 8712015

Please sign in to comment.