Try to repair more new buildbot failures in "x86 OpenBSD trunk", due
to that id() can now return a Python long on a 32-bit box that allocates addresses "with the sign bit set". test_set.py test_subclass_with_custom_hash(): it's never been portably legal for a __hash__() method to return id(self), but on 32-bit boxes that never caused a problem before it became possible for id() to return a Python long. Changed __hash__ here to return a Python int regardless of platform. test_descr.py specials(): vereq(hash(c1), id(c1)) has never been a correct test -- just removed it (hash() is always a Python int; id() may be a Python long).
This commit is contained in:
parent
16ed521dd7
commit
6902b44406
|
@ -224,7 +224,7 @@ class TestJointOps(unittest.TestCase):
|
||||||
# Bug #1257731
|
# Bug #1257731
|
||||||
class H(self.thetype):
|
class H(self.thetype):
|
||||||
def __hash__(self):
|
def __hash__(self):
|
||||||
return id(self)
|
return int(id(self) & 0x7fffffff)
|
||||||
s=H()
|
s=H()
|
||||||
f=set()
|
f=set()
|
||||||
f.add(s)
|
f.add(s)
|
||||||
|
|
Loading…
Reference in New Issue