Author: aadsm Date: Mon Jul 29 11:12:55 2019 New Revision: 367247 URL: http://llvm.org/viewvc/llvm-project?rev=367247&view=rev Log: 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 Modified: lldb/trunk/packages/Python/lldbsuite/test/functionalities/load_unload/TestLoadUnload.py Modified: lldb/trunk/packages/Python/lldbsuite/test/functionalities/load_unload/TestLoadUnload.py URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/functionalities/load_unload/TestLoadUnload.py?rev=367247&r1=367246&r2=367247&view=diff ============================================================================== --- lldb/trunk/packages/Python/lldbsuite/test/functionalities/load_unload/TestLoadUnload.py (original) +++ lldb/trunk/packages/Python/lldbsuite/test/functionalities/load_unload/TestLoadUnload.py Mon Jul 29 11:12:55 2019 @@ -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() _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits