summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Behnel <stefan_ml@behnel.de>2022-03-14 15:26:21 +0100
committerStefan Behnel <stefan_ml@behnel.de>2022-03-14 15:26:21 +0100
commit2e38e2386b376bc2690df1da149e483cb824fea8 (patch)
treebee38d12e9c761982a12d8b711d3c1ff477ffdcc
parent685f7a7e4b4578f4c74f88185b99f5ede97bd42c (diff)
downloadcython-2e38e2386b376bc2690df1da149e483cb824fea8.tar.gz
Fix test again: 'str' doesn't pickle well across the Py2/3 boundary.
-rw-r--r--tests/run/reduce_pickle.pyx27
1 files changed, 14 insertions, 13 deletions
diff --git a/tests/run/reduce_pickle.pyx b/tests/run/reduce_pickle.pyx
index efc0b434b..4e8e8b273 100644
--- a/tests/run/reduce_pickle.pyx
+++ b/tests/run/reduce_pickle.pyx
@@ -116,14 +116,6 @@ cdef class DefaultReduceSubclass(DefaultReduce):
def __repr__(self):
return "DefaultReduceSubclass(i=%s, s=%r, x=%s)" % (self.i, self.s, self.x)
- def __eq__(self, other):
- return (
- isinstance(other, DefaultReduceSubclass) and
- (<DefaultReduceSubclass>other).i == self.i and
- (<DefaultReduceSubclass>other).s == self.s and
- (<DefaultReduceSubclass>other).x == self.x
- )
-
cdef class result(DefaultReduceSubclass):
"""
@@ -209,6 +201,16 @@ cdef class NoPyMembers(object):
def __repr__(self):
return "%s(ii=%s, x=%s)" % (type(self).__name__, self.ii, self.x)
+ def __eq__(self, other):
+ return (
+ isinstance(other, NoPyMembers) and
+ (<NoPyMembers> other).ii[0] == self.ii[0] and
+ (<NoPyMembers> other).ii[1] == self.ii[1] and
+ (<NoPyMembers> other).ii[2] == self.ii[2] and
+ (<NoPyMembers> other).x == self.x
+ )
+
+
class NoPyMembersPySubclass(NoPyMembers):
"""
>>> import pickle
@@ -316,10 +318,9 @@ if sys.version_info[:2] >= (3, 5):
# Pickled with Cython 0.29.28 (using MD5 for the checksum).
OLD_MD5_PICKLE = b'''\
-\x80\x04\x95t\x00\x00\x00\x00\x00\x00\x00\x8c\rreduce_pickle\
-\x94\x8c$__pyx_unpickle_DefaultReduceSubclass\x94\x93\x94h\x00\x8c\x15\
-DefaultReduceSubclass\x94\x93\x94J\x8eYi\x08N\x87\x94R\x94K\x0b\x8c\x03\
-abc\x94G?\xf8\x00\x00\x00\x00\x00\x00\x87\x94b.\
+creduce_pickle\n__pyx_unpickle_NoPyMembers\nq\x00\
+(creduce_pickle\nNoPyMembers\nq\x01J\xf2K_\n(]q\x02\
+(K\x0bKyM3\x05eG?\xf8\x00\x00\x00\x00\x00\x00tq\x03tq\x04Rq\x05.\
'''
try:
@@ -331,6 +332,6 @@ else:
"""
>>> import pickle
>>> b = pickle.loads(OLD_MD5_PICKLE)
- >>> b == DefaultReduceSubclass(i=11, s='abc', x=1.5) or b
+ >>> b == NoPyMembers(i=11, x=1.5) or b
True
"""