forked from OSchip/llvm-project
Test load unloading of modules with libraries-svr4
Summary: This doubles the 3 tests running right now on linux by also executing each test with libraries-svr4 enabled. Not sure if there's a better way to do this as I had to copy/paste all the decorators as well... Reviewers: labath, clayborg, xiaobai Reviewed By: labath Subscribers: srhines, lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D65129 llvm-svn: 367247
This commit is contained in:
parent
5bf16ec02b
commit
fce596160a
|
@ -93,6 +93,13 @@ class LoadUnloadTestCase(TestBase):
|
|||
"Unable copy 'libloadunload_d.so' to '%s'.\n>>> %s" %
|
||||
(wd, err.GetCString()))
|
||||
|
||||
def setSvr4Support(self, enabled):
|
||||
self.runCmd(
|
||||
"settings set plugin.process.gdb-remote.use-libraries-svr4 {enabled}".format(
|
||||
enabled="true" if enabled else "false"
|
||||
)
|
||||
)
|
||||
|
||||
# libloadunload_d.so does not appear in the image list because executable
|
||||
# dependencies are resolved relative to the debuggers PWD. Bug?
|
||||
@expectedFailureAll(oslist=["linux"])
|
||||
|
@ -224,6 +231,20 @@ class LoadUnloadTestCase(TestBase):
|
|||
@skipIfFreeBSD # llvm.org/pr14424 - missing FreeBSD Makefiles/testcase support
|
||||
@skipIfWindows # Windows doesn't have dlopen and friends, dynamic libraries work differently
|
||||
def test_lldb_process_load_and_unload_commands(self):
|
||||
self.setSvr4Support(False)
|
||||
self.run_lldb_process_load_and_unload_commands()
|
||||
|
||||
@expectedFailureAll(
|
||||
bugnumber="llvm.org/pr25805",
|
||||
hostoslist=["windows"],
|
||||
triple='.*-android')
|
||||
@skipIfFreeBSD # llvm.org/pr14424 - missing FreeBSD Makefiles/testcase support
|
||||
@skipIfWindows # Windows doesn't have dlopen and friends, dynamic libraries work differently
|
||||
def test_lldb_process_load_and_unload_commands_with_svr4(self):
|
||||
self.setSvr4Support(True)
|
||||
self.run_lldb_process_load_and_unload_commands()
|
||||
|
||||
def run_lldb_process_load_and_unload_commands(self):
|
||||
"""Test that lldb process load/unload command work correctly."""
|
||||
self.copy_shlibs_to_remote()
|
||||
|
||||
|
@ -295,6 +316,15 @@ class LoadUnloadTestCase(TestBase):
|
|||
|
||||
@skipIfFreeBSD # llvm.org/pr14424 - missing FreeBSD Makefiles/testcase support
|
||||
def test_load_unload(self):
|
||||
self.setSvr4Support(False)
|
||||
self.run_load_unload()
|
||||
|
||||
@skipIfFreeBSD # llvm.org/pr14424 - missing FreeBSD Makefiles/testcase support
|
||||
def test_load_unload_with_svr4(self):
|
||||
self.setSvr4Support(True)
|
||||
self.run_load_unload()
|
||||
|
||||
def run_load_unload(self):
|
||||
"""Test breakpoint by name works correctly with dlopen'ing."""
|
||||
self.copy_shlibs_to_remote()
|
||||
|
||||
|
@ -335,6 +365,16 @@ class LoadUnloadTestCase(TestBase):
|
|||
@skipIfFreeBSD # llvm.org/pr14424 - missing FreeBSD Makefiles/testcase support
|
||||
@skipIfWindows # Windows doesn't have dlopen and friends, dynamic libraries work differently
|
||||
def test_step_over_load(self):
|
||||
self.setSvr4Support(False)
|
||||
self.run_step_over_load()
|
||||
|
||||
@skipIfFreeBSD # llvm.org/pr14424 - missing FreeBSD Makefiles/testcase support
|
||||
@skipIfWindows # Windows doesn't have dlopen and friends, dynamic libraries work differently
|
||||
def test_step_over_load_with_svr4(self):
|
||||
self.setSvr4Support(True)
|
||||
self.run_step_over_load()
|
||||
|
||||
def run_step_over_load(self):
|
||||
"""Test stepping over code that loads a shared library works correctly."""
|
||||
self.copy_shlibs_to_remote()
|
||||
|
||||
|
|
Loading…
Reference in New Issue