Browse Source

bpo-36155: Check for identity on test_gc.test_get_objects (GH-12116)

pull/12120/head
Pablo Galindo 8 years ago
committed by GitHub
parent
commit
d60a79a101
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 48
      Lib/test/test_gc.py

48
Lib/test/test_gc.py

@ -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()

Loading…
Cancel
Save