Rev 136: Compatibility function. in http://bazaar.launchpad.net/~meliae-dev/meliae/trunk
John Arbash Meinel
john at arbash-meinel.com
Fri Jan 8 23:00:52 GMT 2010
At http://bazaar.launchpad.net/~meliae-dev/meliae/trunk
------------------------------------------------------------
revno: 136
revision-id: john at arbash-meinel.com-20100108230040-lcbz7lsww743mm0g
parent: john at arbash-meinel.com-20100108225133-yb2mzjetrfrwsrtv
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: trunk
timestamp: Fri 2010-01-08 17:00:40 -0600
message:
Compatibility function.
Restore .compute_referrers, but make it a deprecated function.
-------------- next part --------------
=== modified file 'meliae/loader.py'
--- a/meliae/loader.py 2010-01-08 22:20:26 +0000
+++ b/meliae/loader.py 2010-01-08 23:00:40 +0000
@@ -33,6 +33,7 @@
files,
_intset,
_loader,
+ warn,
)
@@ -204,6 +205,12 @@
def __getitem__(self, address):
return self.objs[address]
+ def compute_referrers(self):
+ """Deprecated, use compute_parents instead."""
+ warn.deprecated('.compute_referrers is deprecated.'
+ ' Use .compute_parents instead.')
+ return self.compute_parents()
+
def compute_parents(self):
"""For each object, figure out who is referencing it."""
parents = {}
=== modified file 'meliae/tests/test_loader.py'
--- a/meliae/tests/test_loader.py 2010-01-08 22:20:26 +0000
+++ b/meliae/tests/test_loader.py 2010-01-08 23:00:40 +0000
@@ -24,6 +24,7 @@
loader,
scanner,
tests,
+ warn,
)
@@ -211,6 +212,31 @@
self.assertEqual([2], objs[7].parents)
self.assertEqual((), objs[8].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, 8], objs[2].parents)
+ self.assertEqual([1, 3], objs[3].parents)
+ self.assertEqual([2, 3, 7], objs[4].parents)
+ self.assertEqual([2, 3, 7], objs[5].parents)
+ self.assertEqual([2], objs[6].parents)
+ self.assertEqual([2], objs[7].parents)
+ self.assertEqual((), objs[8].parents)
+
def test_compute_total_size(self):
manager = loader.load(_example_dump, show_prog=False)
manager.compute_total_size()
More information about the bazaar-commits
mailing list