https://github.com/da-viper updated 
https://github.com/llvm/llvm-project/pull/157474

>From d31564848a9d64c088f5cb549fd75a949a589eef Mon Sep 17 00:00:00 2001
From: Ebuka Ezike <yerimy...@gmail.com>
Date: Mon, 8 Sep 2025 15:23:25 +0100
Subject: [PATCH] [lldb][test] StepUntil skip test for unsupported linkers.

`INSERT BEFORE` keyword is not supported in current versions gold and mold 
linkers. Since we cannot confirm accurately what linker and version is 
available on the system and when it will be supported.
---
 .../thread/step_until/TestStepUntil.py        | 10 ++--
 .../thread/step_until/TestStepUntilAPI.py     | 50 ++++++++++++-------
 2 files changed, 40 insertions(+), 20 deletions(-)

diff --git a/lldb/test/API/functionalities/thread/step_until/TestStepUntil.py 
b/lldb/test/API/functionalities/thread/step_until/TestStepUntil.py
index 965da02ed0f98..afdc92dd40001 100644
--- a/lldb/test/API/functionalities/thread/step_until/TestStepUntil.py
+++ b/lldb/test/API/functionalities/thread/step_until/TestStepUntil.py
@@ -1,10 +1,9 @@
 """Test stepping over vrs. hitting breakpoints & subsequent stepping in 
various forms."""
 
-
-import lldb
 from lldbsuite.test.decorators import *
 from lldbsuite.test.lldbtest import *
 from lldbsuite.test import lldbutil
+from lldbsuite.test_event.build_exception import BuildError
 
 
 class StepUntilTestCase(TestBase):
@@ -112,10 +111,15 @@ def test_bad_line(self):
     @no_debug_info_test
     @skipIf(oslist=lldbplatformutil.getDarwinOSTriples() + ["windows"])
     @skipIf(archs=no_match(["x86_64", "aarch64"]))
+    @skipIf(compiler=no_match(["clang"]))
     def test_bad_line_discontinuous(self):
         """Test that we get an error if attempting to step outside the current
         function -- and the function is discontinuous"""
-        self.build(dictionary=self._build_dict_for_discontinuity())
+        try:
+            self.build(dictionary=self._build_dict_for_discontinuity())
+        except BuildError as ex:
+            self.skipTest(f"failed to build with linker script.")
+
         _, _, thread, _ = lldbutil.run_to_source_breakpoint(
             self, "At the start", lldb.SBFileSpec(self.main_source)
         )
diff --git 
a/lldb/test/API/functionalities/thread/step_until/TestStepUntilAPI.py 
b/lldb/test/API/functionalities/thread/step_until/TestStepUntilAPI.py
index 59e028acf014c..08d78fb996c75 100644
--- a/lldb/test/API/functionalities/thread/step_until/TestStepUntilAPI.py
+++ b/lldb/test/API/functionalities/thread/step_until/TestStepUntilAPI.py
@@ -1,7 +1,7 @@
-import lldb
 from lldbsuite.test.decorators import *
 from lldbsuite.test.lldbtest import *
 from lldbsuite.test import lldbutil
+from lldbsuite.test_event.build_exception import BuildError
 
 
 class TestStepUntilAPI(TestBase):
@@ -74,15 +74,20 @@ def test_hitting(self):
 
     @skipIf(oslist=lldbplatformutil.getDarwinOSTriples() + ["windows"])
     @skipIf(archs=no_match(["x86_64", "aarch64"]))
+    @skipIf(compiler=no_match(["clang"]))
     def test_hitting_discontinuous(self):
         """Test SBThread.StepOverUntil - targeting a line and hitting it -- 
with
         discontinuous functions"""
-        self._do_until(
-            self._build_dict_for_discontinuity(),
-            None,
-            self.less_than_two,
-            self.less_than_two,
-        )
+        try:
+            self._do_until(
+                self._build_dict_for_discontinuity(),
+                None,
+                self.less_than_two,
+                self.less_than_two,
+            )
+        except BuildError as ex:
+            self.skipTest(f"failed to build with linker script.")
+
         self._assertDiscontinuity()
 
     def test_missing(self):
@@ -93,15 +98,20 @@ def test_missing(self):
 
     @skipIf(oslist=lldbplatformutil.getDarwinOSTriples() + ["windows"])
     @skipIf(archs=no_match(["x86_64", "aarch64"]))
+    @skipIf(compiler=no_match(["clang"]))
     def test_missing_discontinuous(self):
         """Test SBThread.StepOverUntil - targeting a line and missing it by
         stepping out to call site -- with discontinuous functions"""
-        self._do_until(
-            self._build_dict_for_discontinuity(),
-            ["foo", "bar", "baz"],
-            self.less_than_two,
-            self.back_out_in_main,
-        )
+        try:
+            self._do_until(
+                self._build_dict_for_discontinuity(),
+                ["foo", "bar", "baz"],
+                self.less_than_two,
+                self.back_out_in_main,
+            )
+        except BuildError as ex:
+            self.skipTest(f"failed to build with linker script.")
+
         self._assertDiscontinuity()
 
     def test_bad_line(self):
@@ -120,13 +130,19 @@ def test_bad_line(self):
 
     @skipIf(oslist=lldbplatformutil.getDarwinOSTriples() + ["windows"])
     @skipIf(archs=no_match(["x86_64", "aarch64"]))
+    @skipIf(compiler=no_match(["clang"]))
     def test_bad_line_discontinuous(self):
         """Test that we get an error if attempting to step outside the current
         function -- and the function is discontinuous"""
-        self.build(dictionary=self._build_dict_for_discontinuity())
-        _, _, thread, _ = lldbutil.run_to_source_breakpoint(
-            self, "At the start", self.main_spec
-        )
+
+        try:
+            self.build(dictionary=self._build_dict_for_discontinuity())
+            _, _, thread, _ = lldbutil.run_to_source_breakpoint(
+                self, "At the start", self.main_spec
+            )
+        except BuildError as ex:
+            self.skipTest(f"failed to build with linker script.")
+
         self.assertIn(
             "step until target not in current function",
             thread.StepOverUntil(

_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to