summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTim Peters <tim.peters@gmail.com>2003-02-21 20:14:35 (GMT)
committerTim Peters <tim.peters@gmail.com>2003-02-21 20:14:35 (GMT)
commit7107a7fbcc424fbe4ceb3de523db4d51f34d3f37 (patch)
treedccd411bd6f67263d4819c4a6d228bd9f5b30745
parentf5dd753f4dd6bbb4fa04b633403a8d6160c04e3c (diff)
downloadcpython-7107a7fbcc424fbe4ceb3de523db4d51f34d3f37.zip
cpython-7107a7fbcc424fbe4ceb3de523db4d51f34d3f37.tar.gz
cpython-7107a7fbcc424fbe4ceb3de523db4d51f34d3f37.tar.bz2
SF bug 690622: test_cpickle overflows stack on MacOS9.
test_nonrecursive_deep(): Reduced nesting depth to 60. Not a bugfix candidate. 2.3 increased the number of stack frames needed to pickle a list (in order to get implement the "list batching" unpickling memory optimization new in 2.3).
-rw-r--r--Lib/test/test_cpickle.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/Lib/test/test_cpickle.py b/Lib/test/test_cpickle.py
index f1700d6..238fff2 100644
--- a/Lib/test/test_cpickle.py
+++ b/Lib/test/test_cpickle.py
@@ -81,8 +81,12 @@ class cPickleFastPicklerTests(AbstractPickleTests):
self)
def test_nonrecursive_deep(self):
+ # If it's not cyclic, it should pickle OK even if the nesting
+ # depth exceeds PY_CPICKLE_FAST_LIMIT. That happens to be
+ # 50 today. Jack Jansen reported stack overflow on Mac OS 9
+ # at 64.
a = []
- for i in range(100):
+ for i in range(60):
a = [a]
b = self.loads(self.dumps(a))
self.assertEqual(a, b)