[Python-checkins] CVS: python/dist/src/Lib/test test_b1.py,1.34,1.35
Tim Peters
tim_one@users.sourceforge.net
Mon, 18 Jun 2001 12:21:13 -0700
Update of /cvsroot/python/python/dist/src/Lib/test
In directory usw-pr-cvs1:/tmp/cvs-serv27024/python/dist/src/Lib/test
Modified Files:
test_b1.py
Log Message:
SF bug 434186: 0x80000000/2 != 0x80000000>>1
i_divmod: New and simpler algorithm. Old one returned gibberish on most
boxes when the numerator was -sys.maxint-1. Oddly enough, it worked in the
release (not debug) build on Windows, because the compiler optimized away
some tricky sign manipulations that were incorrect in this case.
Makes you wonder <wink> ...
Bugfix candidate.
Index: test_b1.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/test_b1.py,v
retrieving revision 1.34
retrieving revision 1.35
diff -C2 -r1.34 -r1.35
*** test_b1.py 2001/01/22 19:30:07 1.34
--- test_b1.py 2001/06/18 19:21:11 1.35
***************
*** 368,371 ****
--- 368,378 ----
raise TestFailed, "int(%s)" % `s[1:]` + " should raise ValueError"
+ # SF bug 434186: 0x80000000/2 != 0x80000000>>1.
+ # Worked by accident in Windows release build, but failed in debug build.
+ # Failed in all Linux builds.
+ x = -1-sys.maxint
+ if x >> 1 != x/2:
+ raise TestFailed("x >> 1 != x/2 when x == -1-sys.maxint")
+
print 'isinstance'
class C: