Fixing - Issue7026 - RuntimeError: dictionary changed size during iteration. Patch by flox
diff --git a/Lib/test/test_iter.py b/Lib/test/test_iter.py
index f5d6e68..5e96c6d 100644
--- a/Lib/test/test_iter.py
+++ b/Lib/test/test_iter.py
@@ -1,7 +1,8 @@
# Test iterators.
import unittest
-from test.test_support import run_unittest, TESTFN, unlink, have_unicode
+from test.test_support import run_unittest, TESTFN, unlink, have_unicode, \
+ check_warnings
# Test result of triple loop (too big to inline)
TRIPLETS = [(0, 0, 0), (0, 0, 1), (0, 0, 2),
@@ -395,7 +396,12 @@
pass
# Test map()'s use of iterators.
- def test_builtin_map(self):
+ def test_deprecated_builtin_map(self):
+ # Silence Py3k warning
+ with check_warnings():
+ self._test_builtin_map()
+
+ def _test_builtin_map(self):
self.assertEqual(map(None, SequenceClass(5)), range(5))
self.assertEqual(map(lambda x: x+1, SequenceClass(5)), range(1, 6))
@@ -506,7 +512,12 @@
self.assertEqual(zip(x, y), expected)
# Test reduces()'s use of iterators.
- def test_builtin_reduce(self):
+ def test_deprecated_builtin_reduce(self):
+ # Silence Py3k warning
+ with check_warnings():
+ self._test_builtin_reduce()
+
+ def _test_builtin_reduce(self):
from operator import add
self.assertEqual(reduce(add, SequenceClass(5)), 10)
self.assertEqual(reduce(add, SequenceClass(5), 42), 52)