[Lldb-commits] [lldb] [lldb][test] Move std::span from libcxx to generic directory (PR #147680)

via lldb-commits lldb-commits at lists.llvm.org
Wed Jul 9 02:58:53 PDT 2025


llvmbot wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-lldb

Author: Michael Buch (Michael137)

<details>
<summary>Changes</summary>

This just moves the test from `libcxx` to `generic`. There are currently no `std::span` formatters for libstdc++ so I didn't add a test-case for it.

Split out from https://github.com/llvm/llvm-project/pull/146740

---
Full diff: https://github.com/llvm/llvm-project/pull/147680.diff


3 Files Affected:

- (renamed) lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/span/Makefile (-3) 
- (renamed) lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/span/TestDataFormatterStdSpan.py (+14-7) 
- (renamed) lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/span/main.cpp () 


``````````diff
diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/span/Makefile b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/span/Makefile
similarity index 81%
rename from lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/span/Makefile
rename to lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/span/Makefile
index 20c9cf06b1a63..4f79c0a900c3a 100644
--- a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/span/Makefile
+++ b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/span/Makefile
@@ -1,7 +1,4 @@
 CXX_SOURCES := main.cpp
-
-USE_LIBCPP := 1
-
 CXXFLAGS_EXTRAS := -std=c++20
 
 include Makefile.rules
diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/span/TestDataFormatterLibcxxSpan.py b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/span/TestDataFormatterStdSpan.py
similarity index 94%
rename from lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/span/TestDataFormatterLibcxxSpan.py
rename to lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/span/TestDataFormatterStdSpan.py
index 42efe415b6acf..215d8444ae2c7 100644
--- a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/span/TestDataFormatterLibcxxSpan.py
+++ b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/span/TestDataFormatterStdSpan.py
@@ -8,7 +8,7 @@
 from lldbsuite.test import lldbutil
 
 
-class LibcxxSpanDataFormatterTestCase(TestBase):
+class StdSpanDataFormatterTestCase(TestBase):
     def findVariable(self, name):
         var = self.frame().FindVariable(name)
         self.assertTrue(var.IsValid())
@@ -44,11 +44,8 @@ def check_numbers(self, var_name):
         self.expect_var_path(f"{var_name}[3]", type="int", value="1234")
         self.expect_var_path(f"{var_name}[4]", type="int", value="12345")
 
-    @add_test_categories(["libc++"])
-    @skipIf(compiler="clang", compiler_version=["<", "11.0"])
-    def test_with_run_command(self):
+    def do_test(self):
         """Test that std::span variables are formatted correctly when printed."""
-        self.build()
         (self.target, process, thread, bkpt) = lldbutil.run_to_source_breakpoint(
             self, "break here", lldb.SBFileSpec("main.cpp", False)
         )
@@ -158,9 +155,13 @@ def test_with_run_command(self):
         )
         self.check_size("nested", 2)
 
-    @add_test_categories(["libc++"])
     @skipIf(compiler="clang", compiler_version=["<", "11.0"])
-    def test_ref_and_ptr(self):
+    @add_test_categories(["libc++"])
+    def test_libcxx(self):
+        self.build(dictionary={"USE_LIBCPP": 1})
+        self.do_test()
+
+    def do_test_ref_and_ptr(self):
         """Test that std::span is correctly formatted when passed by ref and ptr"""
         self.build()
         (self.target, process, thread, bkpt) = lldbutil.run_to_source_breakpoint(
@@ -173,3 +174,9 @@ def test_ref_and_ptr(self):
         # The pointer should just show the right number of elements:
 
         self.expect("frame variable ptr", patterns=["ptr = 0x[0-9a-f]+ size=5"])
+
+    @skipIf(compiler="clang", compiler_version=["<", "11.0"])
+    @add_test_categories(["libc++"])
+    def test_ref_and_ptr_libcxx(self):
+        self.build(dictionary={"USE_LIBCPP": 1})
+        self.do_test_ref_and_ptr()
diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/span/main.cpp b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/span/main.cpp
similarity index 100%
rename from lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/span/main.cpp
rename to lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/span/main.cpp

``````````

</details>


https://github.com/llvm/llvm-project/pull/147680


More information about the lldb-commits mailing list