Kaydet (Commit) 6902b444 authored tarafından Tim Peters's avatar Tim Peters

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).
üst 16ed521d
...@@ -224,7 +224,7 @@ class TestJointOps(unittest.TestCase): ...@@ -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)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment