cpython/Lib/test/test_structseq.py
Michael W. Hudson 02b28ec316 Test for
[ 526039 ] devious code can crash structseqs

Bugfix candidate.
2002-03-06 17:18:15 +00:00

28 lines
587 B
Python

from test_support import vereq
import time
t = time.gmtime()
astuple = tuple(t)
vereq(len(t), len(astuple))
vereq(t, astuple)
# Check that slicing works the same way; at one point, slicing t[i:j] with
# 0 < i < j could produce NULLs in the result.
for i in range(-len(t), len(t)):
for j in range(-len(t), len(t)):
vereq(t[i:j], astuple[i:j])
# Devious code could crash structseqs' contructors
class C:
def __getitem__(self, i):
raise IndexError
def __len__(self):
return 9
try:
repr(time.struct_time(C()))
except:
pass
# XXX more needed