[Python-checkins] python/dist/src/Lib/test test_descr.py,1.130,1.131

gvanrossum@sourceforge.net gvanrossum@sourceforge.net
2002年4月16日 09:44:54 -0700


Update of /cvsroot/python/python/dist/src/Lib/test
In directory usw-pr-cvs1:/tmp/cvs-serv27997/Lib/test
Modified Files:
	test_descr.py 
Log Message:
SF bug 544647.
PyNumber_InPlaceMultiply insisted on calling sq_inplace_repeat if it
existed, even if nb_inplace_multiply also existed and the arguments
weren't right for sq_inplace_repeat. Change this to only use
sq_inplace_repeat if nb_inplace_multiply isn't defined.
Bugfix candidate.
Index: test_descr.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/test_descr.py,v
retrieving revision 1.130
retrieving revision 1.131
diff -C2 -d -r1.130 -r1.131
*** test_descr.py	16 Apr 2002 01:59:17 -0000	1.130
--- test_descr.py	16 Apr 2002 16:44:51 -0000	1.131
***************
*** 2930,2933 ****
--- 2930,2959 ----
 vereq(d.foo, 1)
 
+ def imulbug():
+ # SF bug 544647
+ if verbose: print "Testing for __imul__ problems..."
+ class C(object):
+ def __imul__(self, other):
+ return (self, other)
+ x = C()
+ y = x
+ y *= 1.0
+ vereq(y, (x, 1.0))
+ y = x
+ y *= 2
+ vereq(y, (x, 2))
+ y = x
+ y *= 3L
+ vereq(y, (x, 3L))
+ y = x
+ y *= 1L<<100
+ vereq(y, (x, 1L<<100))
+ y = x
+ y *= None
+ vereq(y, (x, None))
+ y = x
+ y *= "foo"
+ vereq(y, (x, "foo"))
+ 
 def test_main():
 class_docstrings()
***************
*** 2993,2996 ****
--- 3019,3023 ----
 pickleslots()
 funnynew()
+ imulbug()
 if verbose: print "All OK"
 

AltStyle によって変換されたページ (->オリジナル) /