[Lldb-commits] [lldb] r367247 - Test load unloading of modules with libraries-svr4

Antonio Afonso via lldb-commits lldb-commits at lists.llvm.org
Mon Jul 29 11:12:56 PDT 2019


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()
 




More information about the lldb-commits mailing list