|
|
|
@ -770,21 +770,45 @@ class GCTests(unittest.TestCase): |
|
|
|
gc.collect() |
|
|
|
l = [] |
|
|
|
l.append(l) |
|
|
|
self.assertIn(l, gc.get_objects(generation=0)) |
|
|
|
self.assertNotIn(l, gc.get_objects(generation=1)) |
|
|
|
self.assertNotIn(l, gc.get_objects(generation=2)) |
|
|
|
self.assertTrue( |
|
|
|
any(l is element for element in gc.get_objects(generation=0)) |
|
|
|
) |
|
|
|
self.assertFalse( |
|
|
|
any(l is element for element in gc.get_objects(generation=1)) |
|
|
|
) |
|
|
|
self.assertFalse( |
|
|
|
any(l is element for element in gc.get_objects(generation=2)) |
|
|
|
) |
|
|
|
gc.collect(generation=0) |
|
|
|
self.assertNotIn(l, gc.get_objects(generation=0)) |
|
|
|
self.assertIn(l, gc.get_objects(generation=1)) |
|
|
|
self.assertNotIn(l, gc.get_objects(generation=2)) |
|
|
|
self.assertFalse( |
|
|
|
any(l is element for element in gc.get_objects(generation=0)) |
|
|
|
) |
|
|
|
self.assertTrue( |
|
|
|
any(l is element for element in gc.get_objects(generation=1)) |
|
|
|
) |
|
|
|
self.assertFalse( |
|
|
|
any(l is element for element in gc.get_objects(generation=2)) |
|
|
|
) |
|
|
|
gc.collect(generation=1) |
|
|
|
self.assertNotIn(l, gc.get_objects(generation=0)) |
|
|
|
self.assertNotIn(l, gc.get_objects(generation=1)) |
|
|
|
self.assertIn(l, gc.get_objects(generation=2)) |
|
|
|
self.assertFalse( |
|
|
|
any(l is element for element in gc.get_objects(generation=0)) |
|
|
|
) |
|
|
|
self.assertFalse( |
|
|
|
any(l is element for element in gc.get_objects(generation=1)) |
|
|
|
) |
|
|
|
self.assertTrue( |
|
|
|
any(l is element for element in gc.get_objects(generation=2)) |
|
|
|
) |
|
|
|
gc.collect(generation=2) |
|
|
|
self.assertNotIn(l, gc.get_objects(generation=0)) |
|
|
|
self.assertNotIn(l, gc.get_objects(generation=1)) |
|
|
|
self.assertIn(l, gc.get_objects(generation=2)) |
|
|
|
self.assertFalse( |
|
|
|
any(l is element for element in gc.get_objects(generation=0)) |
|
|
|
) |
|
|
|
self.assertFalse( |
|
|
|
any(l is element for element in gc.get_objects(generation=1)) |
|
|
|
) |
|
|
|
self.assertTrue( |
|
|
|
any(l is element for element in gc.get_objects(generation=2)) |
|
|
|
) |
|
|
|
del l |
|
|
|
gc.collect() |
|
|
|
|
|
|
|
|