From: Guido van Rossum Date: Tue, 18 Sep 2001 20:04:26 +0000 (+0000) Subject: Test for the safety check in wrap_cmpfunc(). X-Git-Tag: v2.2.1c1~1749 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=843daa8cad823ffafb217bc7c4b5e3c5ef9ff6c3;p=python Test for the safety check in wrap_cmpfunc(). --- diff --git a/Lib/test/test_descr.py b/Lib/test/test_descr.py index dbfce0c28d..fc00318673 100644 --- a/Lib/test/test_descr.py +++ b/Lib/test/test_descr.py @@ -1304,6 +1304,21 @@ def specials(): for i in range(10): verify(i in p10) verify(10 not in p10) + # Safety test for __cmp__ + def unsafecmp(a, b): + try: + a.__class__.__cmp__(a, b) + except TypeError: + pass + else: + raise TestFailed, "shouldn't allow %s.__cmp__(%r, %r)" % ( + a.__class__, a, b) + unsafecmp(u"123", "123") + unsafecmp("123", u"123") + unsafecmp(1, 1.0) + unsafecmp(1.0, 1) + unsafecmp(1, 1L) + unsafecmp(1L, 1) def weakrefs(): if verbose: print "Testing weak references..."