Kaydet (Commit) fb3a921c authored tarafından Guido van Rossum's avatar Guido van Rossum

Backport 1.51 and 1.54 from trunk.

1.51:
Bug #556025: list(xrange(1e9)) --> seg fault

Close the bug report again -- this time for Cygwin due to a newlib bug.
See the following for the details:

	http://sources.redhat.com/ml/newlib/2002/msg00369.html

Note that this commit is only a documentation (i.e., comment) change.

1.54:
The list(xrange(sys.maxint / 4)) test blew up on 64-bit platforms.
Because ob_size is a 32-bit int but sys.maxint is LONG_MAX which is a
64-bit value, there's no way to make this test succeed on a 64-bit
platform.  So just skip it when sys.maxint isn't 0x7fffffff.
üst d41f84fc
......@@ -499,16 +499,27 @@ if list((0, 1, 2, 3)) != [0, 1, 2, 3]: raise TestFailed, 'list((0, 1, 2, 3))'
if list('') != []: raise TestFailed, 'list('')'
if list('spam') != ['s', 'p', 'a', 'm']: raise TestFailed, "list('spam')"
try:
# Verify clearing of bug #556025
# this assumes that the max data size (sys.maxint) == max address size
# this also assumes that the address size is at least 4 bytes
# with 8 byte addresses, the bug is not well tested
list(xrange(sys.maxint / 4))
except MemoryError:
pass
else:
raise TestFailed, 'list(xrange(sys.maxint / 4))'
if sys.maxint == 0x7fffffff:
# This test can currently only work on 32-bit machines.
# XXX If/when PySequence_Length() returns a ssize_t, it should be
# XXX re-enabled.
try:
# Verify clearing of bug #556025.
# This assumes that the max data size (sys.maxint) == max
# address size this also assumes that the address size is at
# least 4 bytes with 8 byte addresses, the bug is not well
# tested
#
# Note: This test is expected to SEGV under Cygwin 1.3.12 or
# earlier due to a newlib bug. See the following mailing list
# thread for the details:
# http://sources.redhat.com/ml/newlib/2002/msg00369.html
list(xrange(sys.maxint / 4))
except MemoryError:
pass
else:
raise TestFailed, 'list(xrange(sys.maxint / 4))'
print 'long'
if long(314) != 314L: raise TestFailed, 'long(314)'
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment