diff options
Diffstat (limited to 'Lib/test')
-rw-r--r-- | Lib/test/pickletester.py | 10 | ||||
-rw-r--r-- | Lib/test/test_cpickle.py | 5 |
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, |