| # Python test set -- part 3, built-in operations. |
| |
| |
| print '3. Operations' |
| print 'XXX Mostly not yet implemented' |
| |
| |
| print '3.1 Dictionary lookups succeed even if __cmp__() raises an exception' |
| |
| # SourceForge bug #112558: |
| # http://sourceforge.net/bugs/?func=detailbug&bug_id=112558&group_id=5470 |
| |
| class BadDictKey: |
| def __hash__(self): |
| return hash(self.__class__) |
| |
| def __cmp__(self, other): |
| if isinstance(other, self.__class__): |
| print "raising error" |
| raise RuntimeError, "gotcha" |
| return other |
| |
| d = {} |
| x1 = BadDictKey() |
| x2 = BadDictKey() |
| d[x1] = 1 |
| d[x2] = 2 |
| print "No exception passed through." |