SF patch 537536 by Phillip J. Eby, fix for SF bug 535444, super()
broken w/ classmethods.
Bugfix candidate.
diff --git a/Lib/test/test_descr.py b/Lib/test/test_descr.py
index 862fc77..dd85168 100644
--- a/Lib/test/test_descr.py
+++ b/Lib/test/test_descr.py
@@ -1214,6 +1214,14 @@
vereq(ff.__get__(0, int)(42), (int, 42))
vereq(ff.__get__(0)(42), (int, 42))
+ # Test super() with classmethods (SF bug 535444)
+ veris(C.goo.im_self, C)
+ veris(D.goo.im_self, D)
+ veris(super(D,D).goo.im_self, D)
+ veris(super(D,d).goo.im_self, D)
+ vereq(super(D,D).goo(), (D,))
+ vereq(super(D,d).goo(), (D,))
+
def classmethods_in_c():
if verbose: print "Testing C-based class methods..."
import xxsubtype as spam