(self)
| 502 | support.gc_collect() |
| 503 | |
| 504 | def test_highly_nested_subclass(self): |
| 505 | # Issues 25395 and 35983: test that the trashcan mechanism works |
| 506 | # correctly for OrderedDict: deleting a highly nested OrderDict |
| 507 | # should not crash Python. |
| 508 | OrderedDict = self.OrderedDict |
| 509 | deleted = [] |
| 510 | class MyOD(OrderedDict): |
| 511 | def __del__(self): |
| 512 | deleted.append(self.i) |
| 513 | obj = None |
| 514 | for i in range(100): |
| 515 | obj = MyOD([(None, obj)]) |
| 516 | obj.i = i |
| 517 | del obj |
| 518 | support.gc_collect() |
| 519 | self.assertEqual(deleted, list(reversed(range(100)))) |
| 520 | |
| 521 | def test_delitem_hash_collision(self): |
| 522 | OrderedDict = self.OrderedDict |
nothing calls this directly
no test coverage detected