diff options
author | Pratikshya Prasai <pratikshyaprasai2112@gmail.com> | 2022-08-18 11:09:38 -0400 |
---|---|---|
committer | Dave Wallace <dwallacelf@gmail.com> | 2022-11-09 21:22:33 -0500 |
commit | 657bdf781ae876c945ca034e52cf25cccb09f71e (patch) | |
tree | 9ae70d0cb644ea9f609509ba4e83c84f687a264e /test/asf/debug_internal.py | |
parent | 4dbd641136db81ba969a5a1c0374ec9c24525526 (diff) |
tests: initial asf framework refactoring for 'make test'
Type: refactor
Change-Id: I41455b759a5d302ad5c4247c13634c471e7d49a8
Signed-off-by: Pratikshya Prasai <pratikshyaprasai2112@gmail.com>
Signed-off-by: Saima Yunus <yunus.saima.234@gmail.com>
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Diffstat (limited to 'test/asf/debug_internal.py')
-rw-r--r-- | test/asf/debug_internal.py | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/test/asf/debug_internal.py b/test/asf/debug_internal.py new file mode 100644 index 00000000000..fe10db7ee7f --- /dev/null +++ b/test/asf/debug_internal.py @@ -0,0 +1,40 @@ +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)) |