summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lldb/test/lldbutil.py18
-rw-r--r--lldb/test/python_api/target/TestTargetAPI.py15
2 files changed, 26 insertions, 7 deletions
diff --git a/lldb/test/lldbutil.py b/lldb/test/lldbutil.py
index 66ec90b7e55..9cc4370e604 100644
--- a/lldb/test/lldbutil.py
+++ b/lldb/test/lldbutil.py
@@ -168,6 +168,24 @@ def get_stopped_thread(process, reason):
return None
return threads[0]
+# ==============================================================
+# Get the description of an lldb object or None if not available
+# ==============================================================
+def get_description(lldb_obj, option=None):
+ """Calls lldb_obj.GetDescription() and returns a string, or None."""
+ method = getattr(lldb_obj, 'GetDescription')
+ if not method:
+ return None
+ stream = lldb.SBStream()
+ if option is None:
+ success = method(stream)
+ else:
+ success = method(stream, option)
+ if not success:
+ return None
+ return stream.GetData()
+
+
# =================================================
# Convert some enum value to its string counterpart
# =================================================
diff --git a/lldb/test/python_api/target/TestTargetAPI.py b/lldb/test/python_api/target/TestTargetAPI.py
index c1257185c74..fd278e242e2 100644
--- a/lldb/test/python_api/target/TestTargetAPI.py
+++ b/lldb/test/python_api/target/TestTargetAPI.py
@@ -66,18 +66,19 @@ class TargetAPITestCase(TestBase):
target = self.dbg.CreateTarget(exe)
self.assertTrue(target.IsValid(), VALID_TARGET)
- stream = lldb.SBStream()
- if not target.GetDescription(stream, lldb.eDescriptionLevelBrief):
+ from lldbutil import get_description
+ desc = get_description(target, option=lldb.eDescriptionLevelBrief)
+ if not desc:
self.fail("SBTarget.GetDescription() failed")
- self.expect(stream.GetData(), exe=False,
+ self.expect(desc, exe=False,
substrs = ['a.out'])
- self.expect(stream.GetData(), exe=False, matching=False,
+ self.expect(desc, exe=False, matching=False,
substrs = ['Target', 'Module', 'Breakpoint'])
- stream.Clear()
- if not target.GetDescription(stream, lldb.eDescriptionLevelFull):
+ desc = get_description(target, option=lldb.eDescriptionLevelFull)
+ if not desc:
self.fail("SBTarget.GetDescription() failed")
- self.expect(stream.GetData(), exe=False,
+ self.expect(desc, exe=False,
substrs = ['a.out', 'Target', 'Module', 'Breakpoint'])
OpenPOWER on IntegriCloud