summaryrefslogtreecommitdiff
path: root/Lib/test
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/test')
-rw-r--r--Lib/test/pickletester.py10
-rw-r--r--Lib/test/test_cpickle.py5
2 files changed, 15 insertions, 0 deletions
diff --git a/Lib/test/pickletester.py b/Lib/test/pickletester.py
index bc0be1f845..ce49fdda78 100644
--- a/Lib/test/pickletester.py
+++ b/Lib/test/pickletester.py
@@ -463,6 +463,16 @@ class AbstractPickleTests(unittest.TestCase):
self.assertEqual(len(x), 1)
self.assert_(x is x[0])
+ def test_recursive_tuple(self):
+ t = ([],)
+ t[0].append(t)
+ for proto in protocols:
+ s = self.dumps(t, proto)
+ x = self.loads(s)
+ self.assertEqual(len(x), 1)
+ self.assertEqual(len(x[0]), 1)
+ self.assert_(x is x[0][0])
+
def test_recursive_dict(self):
d = {}
d[1] = d
diff --git a/Lib/test/test_cpickle.py b/Lib/test/test_cpickle.py
index 054187313f..c240669873 100644
--- a/Lib/test/test_cpickle.py
+++ b/Lib/test/test_cpickle.py
@@ -65,6 +65,11 @@ class cPickleFastPicklerTests(AbstractPickleTests):
AbstractPickleTests.test_recursive_list,
self)
+ def test_recursive_tuple(self):
+ self.assertRaises(ValueError,
+ AbstractPickleTests.test_recursive_tuple,
+ self)
+
def test_recursive_inst(self):
self.assertRaises(ValueError,
AbstractPickleTests.test_recursive_inst,