about summary refs log tree commit diff
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 00000000000..2635ed487c8
--- /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)