[Python-checkins] r45246 - python/trunk/Lib/test/test_set.py

tim.peters python-checkins at python.org
Tue Apr 11 02:43:34 CEST 2006


Author: tim.peters
Date: Tue Apr 11 02:43:27 2006
New Revision: 45246

Modified:
   python/trunk/Lib/test/test_set.py
Log:
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).


Modified: python/trunk/Lib/test/test_set.py
==============================================================================
--- python/trunk/Lib/test/test_set.py	(original)
+++ python/trunk/Lib/test/test_set.py	Tue Apr 11 02:43:27 2006
@@ -224,7 +224,7 @@
         # Bug #1257731
         class H(self.thetype):
             def __hash__(self):
-                return id(self)
+                return int(id(self) & 0x7fffffff)
         s=H()
         f=set()
         f.add(s)


More information about the Python-checkins mailing list