summaryrefslogtreecommitdiffstats
path: root/tests/debuginfo/auxiliary/dependency-with-embedded-visualizers.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/debuginfo/auxiliary/dependency-with-embedded-visualizers.py')
-rw-r--r--tests/debuginfo/auxiliary/dependency-with-embedded-visualizers.py23
1 files changed, 23 insertions, 0 deletions
diff --git a/tests/debuginfo/auxiliary/dependency-with-embedded-visualizers.py b/tests/debuginfo/auxiliary/dependency-with-embedded-visualizers.py
new file mode 100644
index 000000000..2635ed487
--- /dev/null
+++ b/tests/debuginfo/auxiliary/dependency-with-embedded-visualizers.py
@@ -0,0 +1,23 @@
+import gdb
+
+class PersonPrinter:
+ "Print a Person"
+
+ def __init__(self, val):
+ self.val = val
+ self.name = val["name"]
+ self.age = int(val["age"])
+
+ def to_string(self):
+ return "{} is {} years old.".format(self.name, self.age)
+
+def lookup(val):
+ lookup_tag = val.type.tag
+ if lookup_tag is None:
+ return None
+ if "dependency_with_embedded_visualizers::Person" == lookup_tag:
+ return PersonPrinter(val)
+
+ return None
+
+gdb.current_objfile().pretty_printers.append(lookup)