summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_heapq.py
diff options
context:
space:
mode:
authorRaymond Hettinger <python@rcn.com>2013-09-15 03:51:57 (GMT)
committerRaymond Hettinger <python@rcn.com>2013-09-15 03:51:57 (GMT)
commit46f5ca31d0856f5d258d86085047eda296ee9972 (patch)
tree43404ae894e1ac40995ef165f165df1fb3950442 /Lib/test/test_heapq.py
parent0a32d92bffc9c845253718c43e7ae91cf62bacda (diff)
downloadcpython-46f5ca31d0856f5d258d86085047eda296ee9972.zip
cpython-46f5ca31d0856f5d258d86085047eda296ee9972.tar.gz
cpython-46f5ca31d0856f5d258d86085047eda296ee9972.tar.bz2
Issue #19018: The heapq.merge() function no longer suppresses IndexError
Diffstat (limited to 'Lib/test/test_heapq.py')
-rw-r--r--Lib/test/test_heapq.py9
1 files changed, 9 insertions, 0 deletions
diff --git a/Lib/test/test_heapq.py b/Lib/test/test_heapq.py
index b48ca68..b5a2fd8 100644
--- a/Lib/test/test_heapq.py
+++ b/Lib/test/test_heapq.py
@@ -158,6 +158,15 @@ class TestHeap:
self.assertEqual(sorted(chain(*inputs)), list(self.module.merge(*inputs)))
self.assertEqual(list(self.module.merge()), [])
+ def test_merge_does_not_suppress_index_error(self):
+ # Issue 19018: Heapq.merge suppresses IndexError from user generator
+ def iterable():
+ s = list(range(10))
+ for i in range(20):
+ yield s[i] # IndexError when i > 10
+ with self.assertRaises(IndexError):
+ list(self.module.merge(iterable(), iterable()))
+
def test_merge_stability(self):
class Int(int):
pass