[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: