summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_operations.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/test/test_operations.py')
-rw-r--r--Lib/test/test_operations.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/Lib/test/test_operations.py b/Lib/test/test_operations.py
index 4c76a8f..3a9a379 100644
--- a/Lib/test/test_operations.py
+++ b/Lib/test/test_operations.py
@@ -26,3 +26,18 @@ x2 = BadDictKey()
d[x1] = 1
d[x2] = 2
print "No exception passed through."
+
+# Dict resizing bug, found by Jack Jansen in 2.2 CVS development.
+# This version got an assert failure in debug build, infinite loop in
+# release build. Unfortunately, provoking this kind of stuff requires
+# a mix of inserts and deletes hitting exactly the right hash codes in
+# exactly the right order, and I can't think of a randomized approach
+# that would be *likely* to hit a failing case in reasonable time.
+
+d = {}
+for i in range(5):
+ d[i] = i
+for i in range(5):
+ del d[i]
+for i in range(5, 9): # i==8 was the problem
+ d[i] = i