From 843daa8cad823ffafb217bc7c4b5e3c5ef9ff6c3 Mon Sep 17 00:00:00 2001 From: Guido van Rossum Date: Tue, 18 Sep 2001 20:04:26 +0000 Subject: [PATCH] Test for the safety check in wrap_cmpfunc(). --- Lib/test/test_descr.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/Lib/test/test_descr.py b/Lib/test/test_descr.py index dbfce0c28da..fc003186737 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..."