[Lldb-commits] [lldb] 30d5590 - [lldb] Fix TestTargetAPI.py on Apple simulators

Raphael Isemann via lldb-commits lldb-commits at lists.llvm.org
Thu Oct 22 07:42:23 PDT 2020


Author: Raphael Isemann
Date: 2020-10-22T16:41:54+02:00
New Revision: 30d5590d171c40e05b65585d1b531d8489e783e2

URL: https://github.com/llvm/llvm-project/commit/30d5590d171c40e05b65585d1b531d8489e783e2
DIFF: https://github.com/llvm/llvm-project/commit/30d5590d171c40e05b65585d1b531d8489e783e2.diff

LOG: [lldb] Fix TestTargetAPI.py on Apple simulators

This test checks that the output of `SBTarget.GetDescription()` contains the
substrings `'a.out', 'Target', 'Module', 'Breakpoint'` in that order. This test
is currently failing on Apple simulators as apparently 'Module' can't be found
in the output after 'Target".

The reason for that is that the actual output of `SBTarget.GetDescription()` looks like this:
```
Target
  Module /build/path/lldb-test-build.noindex/python_api/target/TestTargetAPI.test_get_description_dwarf/a.out
0x7ff2b6d3f990:     ObjectFileMachO64, file = /build/path/lldb-test-build.noindex/python_api/target/TestTargetAPI.test_get_description
[...]
0x7ff307150000:   BreakpointList with 0 Breakpoints:
<LLDB module output repeats for each loaded module>
```

Clearly the string order should be `'Target', 'Module', 'a.out', 'Breakpoint'`.
However, LLDB is also a bunch of system shared libraries (libxpc.dylib,
libobjc.A.dylib, etc.) when *not* running against a simulator, we end up
unintentionally finding the `'Target', 'Module', 'Breakpoint'` substrings in the
trailing descriptions of the system modules. When running against a simulator we
however don't load shared system libraries.

This patch just moves the substrings in the correct order to make this test pass
without having any shared library modules in the description output.

Reviewed By: JDevlieghere

Differential Revision: https://reviews.llvm.org/D89698

Added: 
    

Modified: 
    lldb/test/API/python_api/target/TestTargetAPI.py

Removed: 
    


################################################################################
diff  --git a/lldb/test/API/python_api/target/TestTargetAPI.py b/lldb/test/API/python_api/target/TestTargetAPI.py
index a4d3aea94bec..0f5fe80177e6 100644
--- a/lldb/test/API/python_api/target/TestTargetAPI.py
+++ b/lldb/test/API/python_api/target/TestTargetAPI.py
@@ -331,7 +331,7 @@ def get_description(self):
         if not desc:
             self.fail("SBTarget.GetDescription() failed")
         self.expect(desc, exe=False,
-                    substrs=['a.out', 'Target', 'Module', 'Breakpoint'])
+                    substrs=['Target', 'Module', 'a.out', 'Breakpoint'])
 
     @not_remote_testsuite_ready
     @add_test_categories(['pyapi'])


        


More information about the lldb-commits mailing list