def test_ref_list(self): # Deprecated logged = [] def log_warn(msg, klass, stacklevel=None): logged.append((msg, klass, stacklevel)) old_func = warn.trap_warnings(log_warn) try: mop = self.moc.add(1234567, 'type', 256, children=[1, 2, 3]) self.assertEqual(3, len(mop)) self.assertEqual(3, mop.num_refs) self.assertEqual([('Attribute .num_refs deprecated.' ' Use len() instead.', DeprecationWarning, 3), ], logged) del logged[:] self.assertEqual([1, 2, 3], mop.ref_list) self.assertEqual([('Attribute .ref_list deprecated.' ' Use .children instead.', DeprecationWarning, 3), ], logged) mop.ref_list = [87654321, 23456] self.assertEqual([('Attribute .ref_list deprecated.' ' Use .children instead.', DeprecationWarning, 3), ]*2, logged) self.assertEqual([87654321, 23456], mop.children) self.assertEqual(2, len(mop)) finally: warn.trap_warnings(old_func)
def test_referrers(self): mop = self.moc.add(1234567, 'type', 256, children=[0, 255]) # Referrers is deprecated logged = [] def log_warn(msg, klass, stacklevel=None): logged.append((msg, klass, stacklevel)) old_func = warn.trap_warnings(log_warn) try: mop0 = self.moc[0] self.assertEqual((), mop0.referrers) self.assertEqual([('Attribute .referrers deprecated.' ' Use .parents instead.', DeprecationWarning, 3) ], logged) mop0.referrers = [1234567] self.assertEqual([('Attribute .referrers deprecated.' ' Use .parents instead.', DeprecationWarning, 3) ]*2, logged) self.assertEqual([1234567], mop0.parents) del logged[:] self.assertEqual(1, mop0.num_referrers) self.assertEqual([('Attribute .num_referrers deprecated.' ' Use .num_parents instead.', DeprecationWarning, 3) ], logged) finally: warn.trap_warnings(old_func)
def test_compute_referrers(self): # Deprecated logged = [] def log_warn(msg, klass, stacklevel=None): logged.append((msg, klass, stacklevel)) old_func = warn.trap_warnings(log_warn) try: manager = loader.load(_example_dump, show_prog=False) manager.compute_referrers() self.assertEqual([ ('.compute_referrers is deprecated.' ' Use .compute_parents instead.', DeprecationWarning, 3), ], logged) objs = manager.objs finally: warn.trap_warnings(old_func) self.assertEqual((), objs[1].parents) self.assertEqual([1, 3], objs[3].parents) self.assertEqual([3, 7, 9], sorted(objs[4].parents)) self.assertEqual([3, 7, 9], sorted(objs[5].parents)) self.assertEqual([9], objs[6].parents) self.assertEqual([9], objs[7].parents) self.assertEqual([3, 7], objs[8].parents) self.assertEqual((), objs[9].parents)
def test_compute_referrers(self): # Deprecated logged = [] def log_warn(msg, klass, stacklevel=None): logged.append((msg, klass, stacklevel)) old_func = warn.trap_warnings(log_warn) try: manager = loader.load(_example_dump, show_prog=False) manager.compute_referrers() self.assertEqual([('.compute_referrers is deprecated.' ' Use .compute_parents instead.', DeprecationWarning, 3), ], logged) objs = manager.objs finally: warn.trap_warnings(old_func) self.assertEqual((), objs[1].parents) self.assertEqual([1, 3], objs[3].parents) self.assertEqual([3, 7, 8], sorted(objs[4].parents)) self.assertEqual([3, 7, 8], sorted(objs[5].parents)) self.assertEqual([8], objs[6].parents) self.assertEqual([8], objs[7].parents) self.assertEqual((), objs[8].parents)