diff options
| author | David Spickett <david.spickett@linaro.org> | 2023-12-20 08:44:32 +0000 |
|---|---|---|
| committer | David Spickett <david.spickett@linaro.org> | 2023-12-20 08:46:10 +0000 |
| commit | a756dc4724a279d76898bacd054a04832b02caa8 (patch) | |
| tree | 856f5dd14e1c0bbe97ff7bf52a9d102666db7ccf /lldb/test/API/python_api | |
| parent | f72b65499156171eca25ad0e7becb274347c7c02 (diff) | |
| download | llvm-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.py | 11 |
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 |
