diff options
-rw-r--r-- | lldb/test/lldbutil.py | 18 | ||||
-rw-r--r-- | lldb/test/python_api/target/TestTargetAPI.py | 15 |
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']) |