MCPcopy Index your code
hub / github.com/python/cpython / test_all_freed

Method test_all_freed

Lib/test/test_weakref.py:2222–2245  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

2220 self.assertEqual(res, expected)
2221
2222 def test_all_freed(self):
2223 # we want a weakrefable subclass of weakref.finalize
2224 class MyFinalizer(weakref.finalize):
2225 pass
2226
2227 a = self.A()
2228 res = []
2229 def callback():
2230 res.append(123)
2231 f = MyFinalizer(a, callback)
2232
2233 wr_callback = weakref.ref(callback)
2234 wr_f = weakref.ref(f)
2235 del callback, f
2236
2237 self.assertIsNotNone(wr_callback())
2238 self.assertIsNotNone(wr_f())
2239
2240 del a
2241 self._collect_if_necessary()
2242
2243 self.assertIsNone(wr_callback())
2244 self.assertIsNone(wr_f())
2245 self.assertEqual(res, [123])
2246
2247 @classmethod
2248 def run_in_child(cls):

Callers

nothing calls this directly

Calls 6

_collect_if_necessaryMethod · 0.95
MyFinalizerClass · 0.85
AMethod · 0.80
assertIsNotNoneMethod · 0.80
assertIsNoneMethod · 0.80
assertEqualMethod · 0.45

Tested by

no test coverage detected