Issue #26494: Fixed crash on iterating exhausting iterators.
Affected classes are generic sequence iterators, iterators of bytearray,
list, tuple, set, frozenset, dict, OrderedDict and corresponding views.
diff --git a/Lib/test/test_dict.py b/Lib/test/test_dict.py
index 1c63fc0..4474c9b 100644
--- a/Lib/test/test_dict.py
+++ b/Lib/test/test_dict.py
@@ -681,6 +681,15 @@
self._tracked(MyDict())
+ def test_free_after_iterating(self):
+ test_support.check_free_after_iterating(self, iter, dict)
+ test_support.check_free_after_iterating(self, lambda d: d.iterkeys(), dict)
+ test_support.check_free_after_iterating(self, lambda d: d.itervalues(), dict)
+ test_support.check_free_after_iterating(self, lambda d: d.iteritems(), dict)
+ test_support.check_free_after_iterating(self, lambda d: iter(d.viewkeys()), dict)
+ test_support.check_free_after_iterating(self, lambda d: iter(d.viewvalues()), dict)
+ test_support.check_free_after_iterating(self, lambda d: iter(d.viewitems()), dict)
+
from test import mapping_tests
class GeneralMappingTests(mapping_tests.BasicTestMappingProtocol):