Skip to content

Commit 21e5130

Browse files
Support Python 2.7.
1 parent 5401703 commit 21e5130

File tree

4 files changed

+200
-111
lines changed

4 files changed

+200
-111
lines changed

Lib/test/picklecommon.py

Lines changed: 23 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
# They are moved to separate file, so they can be loaded
33
# in other Python version for test_xpickle.
44

5+
import sys
6+
57
class C:
68
def __eq__(self, other):
79
return self.__dict__ == other.__dict__
@@ -55,8 +57,15 @@ def __getinitargs__(self):
5557
class metaclass(type):
5658
pass
5759

60+
if sys.version_info >= (3,):
61+
# Syntax not compatible with Python 2
62+
exec('''
5863
class use_metaclass(object, metaclass=metaclass):
5964
pass
65+
''')
66+
else:
67+
class use_metaclass(object):
68+
__metaclass__ = metaclass
6069

6170

6271
# Test classes for reduce_ex
@@ -174,6 +183,13 @@ def __getstate__(self):
174183
class MyInt(int):
175184
sample = 1
176185

186+
if sys.version_info >= (3,):
187+
class MyLong(int):
188+
sample = 1
189+
else:
190+
class MyLong(long):
191+
sample = long(1)
192+
177193
class MyFloat(float):
178194
sample = 1.0
179195

@@ -183,8 +199,12 @@ class MyComplex(complex):
183199
class MyStr(str):
184200
sample = "hello"
185201

186-
class MyUnicode(str):
187-
sample = "hello \u1234"
202+
if sys.version_info >= (3,):
203+
class MyUnicode(str):
204+
sample = "hello \u1234"
205+
else:
206+
class MyUnicode(unicode):
207+
sample = unicode(r"hello \u1234", "raw-unicode-escape")
188208

189209
class MyTuple(tuple):
190210
sample = (1, 2, 3)
@@ -201,7 +221,7 @@ class MySet(set):
201221
class MyFrozenSet(frozenset):
202222
sample = frozenset({"a", "b"})
203223

204-
myclasses = [MyInt, MyFloat,
224+
myclasses = [MyInt, MyLong, MyFloat,
205225
MyComplex,
206226
MyStr, MyUnicode,
207227
MyTuple, MyList, MyDict, MySet, MyFrozenSet]

0 commit comments

Comments
 (0)