aboutsummaryrefslogtreecommitdiff
path: root/lldb/test/API/python_api
diff options
context:
space:
mode:
authorDavid Spickett <david.spickett@linaro.org>2023-12-20 08:44:32 +0000
committerDavid Spickett <david.spickett@linaro.org>2023-12-20 08:46:10 +0000
commita756dc4724a279d76898bacd054a04832b02caa8 (patch)
tree856f5dd14e1c0bbe97ff7bf52a9d102666db7ccf /lldb/test/API/python_api
parentf72b65499156171eca25ad0e7becb274347c7c02 (diff)
downloadllvm-a756dc4724a279d76898bacd054a04832b02caa8.zip
llvm-a756dc4724a279d76898bacd054a04832b02caa8.tar.gz
llvm-a756dc4724a279d76898bacd054a04832b02caa8.tar.bz2
[lldb][test] Try a workaround for module cache test on Arm/AArch64 Linux
If this works it'll give me a clue for the underlying issue.
Diffstat (limited to 'lldb/test/API/python_api')
-rw-r--r--lldb/test/API/python_api/global_module_cache/TestGlobalModuleCache.py11
1 files changed, 7 insertions, 4 deletions
diff --git a/lldb/test/API/python_api/global_module_cache/TestGlobalModuleCache.py b/lldb/test/API/python_api/global_module_cache/TestGlobalModuleCache.py
index dc736d0..cc9da15 100644
--- a/lldb/test/API/python_api/global_module_cache/TestGlobalModuleCache.py
+++ b/lldb/test/API/python_api/global_module_cache/TestGlobalModuleCache.py
@@ -34,10 +34,6 @@ class GlobalModuleCacheTestCase(TestBase):
# The rerun tests indicate rerunning on Windows doesn't really work, so
# this one won't either.
@skipIfWindows
- # On Arm and AArch64 Linux, this test attempts to pop a thread plan when
- # we only have the base plan remaining. Skip it until we can figure out
- # the bug this is exposing.
- @skipIf(oslist=["linux"], archs=["arm", "aarch64"])
def test_OneTargetOneDebugger(self):
self.do_test(True, True)
@@ -104,6 +100,13 @@ class GlobalModuleCacheTestCase(TestBase):
self.old_debugger = self.dbg
self.dbg = new_debugger
def cleanupDebugger(self):
+ # On Arm and AArch64 Linux, it is suspected that destroying
+ # the debugger first causes lldb to try to pop from an empty
+ # thread plan stack. Try to prove this by killing the process
+ # first.
+ for i in range(self.dbg.GetNumTargets()):
+ self.dbg.GetTargetAtIndex(i).GetProcess().Kill()
+
lldb.SBDebugger.Destroy(self.dbg)
self.dbg = self.old_debugger
self.old_debugger = None