#7782: merge with 3.3.
This commit is contained in:
parent
99f57942e0
commit
739e1790f8
|
@ -903,6 +903,21 @@ class TestCase(unittest.TestCase):
|
|||
except TypeError:
|
||||
pass
|
||||
|
||||
def test_extending_list_with_iterator_does_not_segfault(self):
|
||||
# The code to extend a list with an iterator has a fair
|
||||
# amount of nontrivial logic in terms of guessing how
|
||||
# much memory to allocate in advance, "stealing" refs,
|
||||
# and then shrinking at the end. This is a basic smoke
|
||||
# test for that scenario.
|
||||
def gen():
|
||||
for i in range(500):
|
||||
yield i
|
||||
lst = [0] * 500
|
||||
for i in range(240):
|
||||
lst.pop(0)
|
||||
lst.extend(gen())
|
||||
self.assertEqual(len(lst), 760)
|
||||
|
||||
|
||||
def test_main():
|
||||
run_unittest(TestCase)
|
||||
|
|
Loading…
Reference in New Issue