import gc import pprint import vpp_papi from vpp_papi_provider import VppPapiProvider import objgraph from pympler import tracker tr = tracker.SummaryTracker() """ Internal debug module The module provides functions for debugging test framework """ def on_tear_down_class(cls): gc.collect() tr.print_diff() objects = gc.get_objects() counter = 0 with open(cls.tempdir + '/python_objects.txt', 'w') as f: interesting = [ o for o in objects if isinstance(o, (VppPapiProvider, vpp_papi.VPP))] del objects gc.collect() for o in interesting: objgraph.show_backrefs([o], max_depth=5, filename="%s/%s.png" % (cls.tempdir, counter)) counter += 1 refs = gc.get_referrers(o) pp = pprint.PrettyPrinter(indent=2) f.write("%s\n" % pp.pformat(o)) for r in refs: try: f.write("%s\n" % pp.pformat(r)) except: f.write("%s\n" % type(r))