(Pickler)
| 228 | @support.cpython_only |
| 229 | def test_pickler_reference_cycle(self): |
| 230 | def check(Pickler): |
| 231 | for proto in range(pickle.HIGHEST_PROTOCOL + 1): |
| 232 | f = io.BytesIO() |
| 233 | pickler = Pickler(f, proto) |
| 234 | pickler.dump('abc') |
| 235 | self.assertEqual(self.loads(f.getvalue()), 'abc') |
| 236 | pickler = Pickler(io.BytesIO()) |
| 237 | self.assertEqual(pickler.persistent_id('def'), 'def') |
| 238 | r = weakref.ref(pickler) |
| 239 | del pickler |
| 240 | self.assertIsNone(r()) |
| 241 | |
| 242 | class PersPickler(self.pickler): |
| 243 | def persistent_id(subself, obj): |
nothing calls this directly
no test coverage detected