[Lldb-commits] [lldb] [lldb][test] Turn (most) libcxx data-formatters tests into generic tests (PR #146740)
Michael Buch via lldb-commits
lldb-commits at lists.llvm.org
Wed Jul 2 09:15:01 PDT 2025
https://github.com/Michael137 updated https://github.com/llvm/llvm-project/pull/146740
>From 8e2f7ff404eaf048179ad43b65d53ef1617cefb9 Mon Sep 17 00:00:00 2001
From: Michael Buch <michaelbuch12 at gmail.com>
Date: Wed, 2 Jul 2025 15:01:27 +0100
Subject: [PATCH] [lldb][test] Turn (most) libcxx data-formatters tests into
generic tests
This patch moves all the data-formatter tests that were only run for
libc++ to the generic directory. There's nothing libc++ specific
about these tests. For aynthing tied to libcxx we can have a dedicated
subdirectory. But for now lets move as much into `generic` as possible.
This involved renaming a bunch of files and passing the `USE_LIBCPP` and
`USE_LIBSTDCPP` Makefile variables from within the python test-cases
instead of the Makefiles. This is how the existing `generic` tests
already worked.
The only tests I haven't turned into "generic" ones are the ones for
`std::string`.
Next steps:
1. Move libstdcpp tests into the `generic` directory
2. Move as much of the `std::string` libc++ tests into `generic`
---
.../{libcxx => generic}/atomic/Makefile | 1 -
.../atomic/TestDataFormatterStdAtomic.py} | 18 +++--
.../{libcxx => generic}/atomic/main.cpp | 0
.../{libcxx => generic}/chrono/Makefile | 2 -
.../chrono/TestDataFormatterStdChrono.py} | 16 +++-
.../{libcxx => generic}/chrono/main.cpp | 0
.../{libcxx => generic}/function/Makefile | 1 -
.../function/TestDataFormatterStdFunction.py} | 18 +++--
.../{libcxx => generic}/function/main.cpp | 0
.../initializerlist}/Makefile | 1 -
.../TestDataFormatterStdInitializerList.py} | 16 +++-
.../initializerlist/main.cpp | 0
.../iterator}/Makefile | 2 -
.../iterator/TestDataFormatterIterator.py} | 18 +++--
.../{libcxx => generic}/iterator/main.cpp | 0
.../{libcxx/tuple => generic/map}/Makefile | 1 -
.../map/TestDataFormatterMap.py} | 16 +++-
.../{libcxx => generic}/map/main.cpp | 0
.../{libcxx/vbool => generic/queue}/Makefile | 3 +-
.../queue/TestDataFormatterStdQueue.py} | 16 +++-
.../{libcxx => generic}/queue/main.cpp | 0
.../span => generic/ranges/ref_view}/Makefile | 3 -
.../TestDataFormatterLibcxxRangesRefView.py | 16 +++-
.../TestDataFormatterStdRangesRefView.py | 79 +++++++++++++++++++
.../ranges/ref_view/main.cpp | 0
.../{libcxx => generic}/shared_ptr/Makefile | 2 -
.../TestDataFormatterStdSharedPtr.py} | 17 ++--
.../{libcxx => generic}/shared_ptr/main.cpp | 0
.../ranges/ref_view => generic/span}/Makefile | 3 +-
.../span/TestDataFormatterStdSpan.py} | 32 ++++++--
.../{libcxx => generic}/span/main.cpp | 0
.../{libcxx => generic}/string_view/Makefile | 2 -
.../TestDataFormatterStdStringView.py} | 26 ++++--
.../{libcxx => generic}/string_view/main.cpp | 0
.../valarray => generic/tuple}/Makefile | 2 -
.../tuple/TestDataFormatterTuple.py} | 16 +++-
.../{libcxx => generic}/tuple/main.cpp | 0
.../{libcxx => generic}/unique_ptr/Makefile | 2 -
.../unique_ptr/TestDataFormatterUniquePtr.py} | 17 ++--
.../{libcxx => generic}/unique_ptr/main.cpp | 0
.../generic/unordered_map-iterator/Makefile | 3 +
...stDataFormatterStdUnorderedMapIterator.py} | 16 +++-
.../unordered_map-iterator/main.cpp | 0
.../generic/valarray/Makefile | 3 +
.../valarray/TestDataFormatterStdValarray.py} | 16 +++-
.../{libcxx => generic}/valarray/main.cpp | 0
.../{libcxx => generic}/variant/Makefile | 2 -
.../variant/TestDataFormatterStdVariant.py} | 16 +++-
.../{libcxx => generic}/variant/main.cpp | 0
.../data-formatter-stl/generic/vbool/Makefile | 3 +
.../vbool/TestDataFormatterVBool.py} | 16 +++-
.../{libcxx => generic}/vbool/main.cpp | 0
.../generic/vector/Makefile | 3 +
.../vector/TestDataFormatterVector.py} | 28 +++++--
.../{libcxx => generic}/vector/main.cpp | 0
.../libcxx/initializerlist/Makefile | 6 --
.../libcxx/iterator/Makefile | 6 --
.../data-formatter-stl/libcxx/map/Makefile | 6 --
.../data-formatter-stl/libcxx/vector/Makefile | 6 --
59 files changed, 341 insertions(+), 135 deletions(-)
rename lldb/test/API/functionalities/data-formatter/data-formatter-stl/{libcxx => generic}/atomic/Makefile (82%)
rename lldb/test/API/functionalities/data-formatter/data-formatter-stl/{libcxx/atomic/TestLibCxxAtomic.py => generic/atomic/TestDataFormatterStdAtomic.py} (85%)
rename lldb/test/API/functionalities/data-formatter/data-formatter-stl/{libcxx => generic}/atomic/main.cpp (100%)
rename lldb/test/API/functionalities/data-formatter/data-formatter-stl/{libcxx => generic}/chrono/Makefile (82%)
rename lldb/test/API/functionalities/data-formatter/data-formatter-stl/{libcxx/chrono/TestDataFormatterLibcxxChrono.py => generic/chrono/TestDataFormatterStdChrono.py} (98%)
rename lldb/test/API/functionalities/data-formatter/data-formatter-stl/{libcxx => generic}/chrono/main.cpp (100%)
rename lldb/test/API/functionalities/data-formatter/data-formatter-stl/{libcxx => generic}/function/Makefile (82%)
rename lldb/test/API/functionalities/data-formatter/data-formatter-stl/{libcxx/function/TestLibCxxFunction.py => generic/function/TestDataFormatterStdFunction.py} (87%)
rename lldb/test/API/functionalities/data-formatter/data-formatter-stl/{libcxx => generic}/function/main.cpp (100%)
rename lldb/test/API/functionalities/data-formatter/data-formatter-stl/{libcxx/queue => generic/initializerlist}/Makefile (75%)
rename lldb/test/API/functionalities/data-formatter/data-formatter-stl/{libcxx/initializerlist/TestInitializerList.py => generic/initializerlist/TestDataFormatterStdInitializerList.py} (78%)
rename lldb/test/API/functionalities/data-formatter/data-formatter-stl/{libcxx => generic}/initializerlist/main.cpp (100%)
rename lldb/test/API/functionalities/data-formatter/data-formatter-stl/{libcxx/unordered_map-iterator => generic/iterator}/Makefile (80%)
rename lldb/test/API/functionalities/data-formatter/data-formatter-stl/{libcxx/iterator/TestDataFormatterLibccIterator.py => generic/iterator/TestDataFormatterIterator.py} (90%)
rename lldb/test/API/functionalities/data-formatter/data-formatter-stl/{libcxx => generic}/iterator/main.cpp (100%)
rename lldb/test/API/functionalities/data-formatter/data-formatter-stl/{libcxx/tuple => generic/map}/Makefile (75%)
rename lldb/test/API/functionalities/data-formatter/data-formatter-stl/{libcxx/map/TestDataFormatterLibccMap.py => generic/map/TestDataFormatterMap.py} (97%)
rename lldb/test/API/functionalities/data-formatter/data-formatter-stl/{libcxx => generic}/map/main.cpp (100%)
rename lldb/test/API/functionalities/data-formatter/data-formatter-stl/{libcxx/vbool => generic/queue}/Makefile (75%)
rename lldb/test/API/functionalities/data-formatter/data-formatter-stl/{libcxx/queue/TestDataFormatterLibcxxQueue.py => generic/queue/TestDataFormatterStdQueue.py} (77%)
rename lldb/test/API/functionalities/data-formatter/data-formatter-stl/{libcxx => generic}/queue/main.cpp (100%)
rename lldb/test/API/functionalities/data-formatter/data-formatter-stl/{libcxx/span => generic/ranges/ref_view}/Makefile (81%)
rename lldb/test/API/functionalities/data-formatter/data-formatter-stl/{libcxx => generic}/ranges/ref_view/TestDataFormatterLibcxxRangesRefView.py (87%)
create mode 100644 lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/ranges/ref_view/TestDataFormatterStdRangesRefView.py
rename lldb/test/API/functionalities/data-formatter/data-formatter-stl/{libcxx => generic}/ranges/ref_view/main.cpp (100%)
rename lldb/test/API/functionalities/data-formatter/data-formatter-stl/{libcxx => generic}/shared_ptr/Makefile (92%)
rename lldb/test/API/functionalities/data-formatter/data-formatter-stl/{libcxx/shared_ptr/TestDataFormatterLibcxxSharedPtr.py => generic/shared_ptr/TestDataFormatterStdSharedPtr.py} (91%)
rename lldb/test/API/functionalities/data-formatter/data-formatter-stl/{libcxx => generic}/shared_ptr/main.cpp (100%)
rename lldb/test/API/functionalities/data-formatter/data-formatter-stl/{libcxx/ranges/ref_view => generic/span}/Makefile (83%)
rename lldb/test/API/functionalities/data-formatter/data-formatter-stl/{libcxx/span/TestDataFormatterLibcxxSpan.py => generic/span/TestDataFormatterStdSpan.py} (88%)
rename lldb/test/API/functionalities/data-formatter/data-formatter-stl/{libcxx => generic}/span/main.cpp (100%)
rename lldb/test/API/functionalities/data-formatter/data-formatter-stl/{libcxx => generic}/string_view/Makefile (82%)
rename lldb/test/API/functionalities/data-formatter/data-formatter-stl/{libcxx/string_view/TestDataFormatterLibcxxStringView.py => generic/string_view/TestDataFormatterStdStringView.py} (93%)
rename lldb/test/API/functionalities/data-formatter/data-formatter-stl/{libcxx => generic}/string_view/main.cpp (100%)
rename lldb/test/API/functionalities/data-formatter/data-formatter-stl/{libcxx/valarray => generic/tuple}/Makefile (73%)
rename lldb/test/API/functionalities/data-formatter/data-formatter-stl/{libcxx/tuple/TestDataFormatterLibcxxTuple.py => generic/tuple/TestDataFormatterTuple.py} (77%)
rename lldb/test/API/functionalities/data-formatter/data-formatter-stl/{libcxx => generic}/tuple/main.cpp (100%)
rename lldb/test/API/functionalities/data-formatter/data-formatter-stl/{libcxx => generic}/unique_ptr/Makefile (92%)
rename lldb/test/API/functionalities/data-formatter/data-formatter-stl/{libcxx/unique_ptr/TestDataFormatterLibcxxUniquePtr.py => generic/unique_ptr/TestDataFormatterUniquePtr.py} (93%)
rename lldb/test/API/functionalities/data-formatter/data-formatter-stl/{libcxx => generic}/unique_ptr/main.cpp (100%)
create mode 100644 lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/unordered_map-iterator/Makefile
rename lldb/test/API/functionalities/data-formatter/data-formatter-stl/{libcxx/unordered_map-iterator/TestDataFormatterLibccUnorderedMap.py => generic/unordered_map-iterator/TestDataFormatterStdUnorderedMapIterator.py} (91%)
rename lldb/test/API/functionalities/data-formatter/data-formatter-stl/{libcxx => generic}/unordered_map-iterator/main.cpp (100%)
create mode 100644 lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/valarray/Makefile
rename lldb/test/API/functionalities/data-formatter/data-formatter-stl/{libcxx/valarray/TestDataFormatterLibcxxValarray.py => generic/valarray/TestDataFormatterStdValarray.py} (94%)
rename lldb/test/API/functionalities/data-formatter/data-formatter-stl/{libcxx => generic}/valarray/main.cpp (100%)
rename lldb/test/API/functionalities/data-formatter/data-formatter-stl/{libcxx => generic}/variant/Makefile (82%)
rename lldb/test/API/functionalities/data-formatter/data-formatter-stl/{libcxx/variant/TestDataFormatterLibcxxVariant.py => generic/variant/TestDataFormatterStdVariant.py} (89%)
rename lldb/test/API/functionalities/data-formatter/data-formatter-stl/{libcxx => generic}/variant/main.cpp (100%)
create mode 100644 lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/vbool/Makefile
rename lldb/test/API/functionalities/data-formatter/data-formatter-stl/{libcxx/vbool/TestDataFormatterLibcxxVBool.py => generic/vbool/TestDataFormatterVBool.py} (87%)
rename lldb/test/API/functionalities/data-formatter/data-formatter-stl/{libcxx => generic}/vbool/main.cpp (100%)
create mode 100644 lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/vector/Makefile
rename lldb/test/API/functionalities/data-formatter/data-formatter-stl/{libcxx/vector/TestDataFormatterLibcxxVector.py => generic/vector/TestDataFormatterVector.py} (90%)
rename lldb/test/API/functionalities/data-formatter/data-formatter-stl/{libcxx => generic}/vector/main.cpp (100%)
delete mode 100644 lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/initializerlist/Makefile
delete mode 100644 lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/iterator/Makefile
delete mode 100644 lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/map/Makefile
delete mode 100644 lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/vector/Makefile
diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/atomic/Makefile b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/atomic/Makefile
similarity index 82%
rename from lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/atomic/Makefile
rename to lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/atomic/Makefile
index b016f006747da..e78030cbf7528 100644
--- a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/atomic/Makefile
+++ b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/atomic/Makefile
@@ -1,5 +1,4 @@
CXX_SOURCES := main.cpp
CXXFLAGS_EXTRAS := -std=c++11
-USE_LIBCPP := 1
include Makefile.rules
diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/atomic/TestLibCxxAtomic.py b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/atomic/TestDataFormatterStdAtomic.py
similarity index 85%
rename from lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/atomic/TestLibCxxAtomic.py
rename to lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/atomic/TestDataFormatterStdAtomic.py
index c6592ede03147..87e7541dbfe24 100644
--- a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/atomic/TestLibCxxAtomic.py
+++ b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/atomic/TestDataFormatterStdAtomic.py
@@ -9,7 +9,7 @@
from lldbsuite.test import lldbutil
-class LibCxxAtomicTestCase(TestBase):
+class StdAtomicTestCase(TestBase):
def get_variable(self, name):
var = self.frame().FindVariable(name)
var.SetPreferDynamicValue(lldb.eDynamicCanRunTarget)
@@ -17,10 +17,8 @@ def get_variable(self, name):
return var
@skipIf(compiler=["gcc"])
- @add_test_categories(["libc++"])
- def test(self):
- """Test that std::atomic as defined by libc++ is correctly printed by LLDB"""
- self.build()
+ def do_test(self):
+ """Test that std::atomic is correctly printed by LLDB"""
self.runCmd("file " + self.getBuildArtifact("a.out"), CURRENT_EXECUTABLE_SET)
bkpt = self.target().FindBreakpointByID(
@@ -66,3 +64,13 @@ def test(self):
self.expect(
"frame var p.child.parent", substrs=["p.child.parent = {\n Value = 0x"]
)
+
+ @add_test_categories(["libc++"])
+ def test_libcxx(self):
+ self.build(dictionary={"USE_LIBCPP" : 1})
+ self.do_test()
+
+ @add_test_categories(["libstdcxx"])
+ def test_libstdcxx(self):
+ self.build(dictionary={"USE_LIBSTDCPP" : 1})
+ self.do_test()
diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/atomic/main.cpp b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/atomic/main.cpp
similarity index 100%
rename from lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/atomic/main.cpp
rename to lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/atomic/main.cpp
diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/chrono/Makefile b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/chrono/Makefile
similarity index 82%
rename from lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/chrono/Makefile
rename to lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/chrono/Makefile
index 57540fc1a2816..ac12cb120f853 100644
--- a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/chrono/Makefile
+++ b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/chrono/Makefile
@@ -1,6 +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/chrono/TestDataFormatterLibcxxChrono.py b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/chrono/TestDataFormatterStdChrono.py
similarity index 98%
rename from lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/chrono/TestDataFormatterLibcxxChrono.py
rename to lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/chrono/TestDataFormatterStdChrono.py
index 0737a5bc7e6eb..626633e322b14 100644
--- a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/chrono/TestDataFormatterLibcxxChrono.py
+++ b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/chrono/TestDataFormatterStdChrono.py
@@ -9,13 +9,11 @@
from lldbsuite.test import lldbutil
-class LibcxxChronoDataFormatterTestCase(TestBase):
- @add_test_categories(["libc++"])
+class StdChronoDataFormatterTestCase(TestBase):
@skipIf(compiler="clang", compiler_version=["<", "17.0"])
- def test_with_run_command(self):
+ def do_test(self):
"""Test that that file and class static variables display correctly."""
isNotWindowsHost = lldbplatformutil.getHostPlatform() != "windows"
- self.build()
(self.target, process, thread, bkpt) = lldbutil.run_to_source_breakpoint(
self, "break here", lldb.SBFileSpec("main.cpp", False)
)
@@ -433,3 +431,13 @@ def test_with_run_command(self):
"ymwdl_2024_last_tuesday_january = year=2024 month=January weekday=Tuesday index=last"
],
)
+
+ @add_test_categories(["libc++"])
+ def test_libcxx(self):
+ self.build(dictionary={"USE_LIBCPP" : 1})
+ self.do_test()
+
+ @add_test_categories(["libstdcxx"])
+ def test_libstdcxx(self):
+ self.build(dictionary={"USE_LIBSTDCPP" : 1})
+ self.do_test()
diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/chrono/main.cpp b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/chrono/main.cpp
similarity index 100%
rename from lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/chrono/main.cpp
rename to lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/chrono/main.cpp
diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/function/Makefile b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/function/Makefile
similarity index 82%
rename from lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/function/Makefile
rename to lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/function/Makefile
index b016f006747da..e78030cbf7528 100644
--- a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/function/Makefile
+++ b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/function/Makefile
@@ -1,5 +1,4 @@
CXX_SOURCES := main.cpp
CXXFLAGS_EXTRAS := -std=c++11
-USE_LIBCPP := 1
include Makefile.rules
diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/function/TestLibCxxFunction.py b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/function/TestDataFormatterStdFunction.py
similarity index 87%
rename from lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/function/TestLibCxxFunction.py
rename to lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/function/TestDataFormatterStdFunction.py
index 80461b996328f..8f68afb91af27 100644
--- a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/function/TestLibCxxFunction.py
+++ b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/function/TestDataFormatterStdFunction.py
@@ -9,7 +9,7 @@
from lldbsuite.test import lldbutil
-class LibCxxFunctionTestCase(TestBase):
+class StdFunctionTestCase(TestBase):
# Run frame var for a variable twice. Verify we do not hit the cache
# the first time but do the second time.
def run_frame_var_check_cache_use(
@@ -34,10 +34,8 @@ def run_frame_var_check_cache_use(
substrs=["lldb_private::CompileUnit::FindFunction"],
)
- @add_test_categories(["libc++"])
- def test(self):
- """Test that std::function as defined by libc++ is correctly printed by LLDB"""
- self.build()
+ def do_test(self):
+ """Test that std::function is correctly printed by LLDB"""
self.runCmd("file " + self.getBuildArtifact("a.out"), CURRENT_EXECUTABLE_SET)
bkpt = self.target().FindBreakpointByID(
@@ -82,3 +80,13 @@ def test(self):
self.expect(
"frame variable f5", substrs=["f5 = Function = Bar::add_num(int) const"]
)
+
+ @add_test_categories(["libc++"])
+ def test_libcxx(self):
+ self.build(dictionary={"USE_LIBCPP" : 1})
+ self.do_test()
+
+ @add_test_categories(["libstdcxx"])
+ def test_libstdcxx(self):
+ self.build(dictionary={"USE_LIBSTDCPP" : 1})
+ self.do_test()
diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/function/main.cpp b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/function/main.cpp
similarity index 100%
rename from lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/function/main.cpp
rename to lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/function/main.cpp
diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/queue/Makefile b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/initializerlist/Makefile
similarity index 75%
rename from lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/queue/Makefile
rename to lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/initializerlist/Makefile
index 680e1abfbef58..99998b20bcb05 100644
--- a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/queue/Makefile
+++ b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/initializerlist/Makefile
@@ -1,4 +1,3 @@
CXX_SOURCES := main.cpp
-USE_LIBCPP := 1
include Makefile.rules
diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/initializerlist/TestInitializerList.py b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/initializerlist/TestDataFormatterStdInitializerList.py
similarity index 78%
rename from lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/initializerlist/TestInitializerList.py
rename to lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/initializerlist/TestDataFormatterStdInitializerList.py
index b8a1dd3569d77..b37b043f3a3a4 100644
--- a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/initializerlist/TestInitializerList.py
+++ b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/initializerlist/TestDataFormatterStdInitializerList.py
@@ -10,11 +10,9 @@
from lldbsuite.test import lldbutil
-class InitializerListTestCase(TestBase):
- @add_test_categories(["libc++"])
- def test(self):
+class StdInitializerListTestCase(TestBase):
+ def do_test(self):
"""Test that that file and class static variables display correctly."""
- self.build()
self.runCmd("file " + self.getBuildArtifact("a.out"), CURRENT_EXECUTABLE_SET)
bkpt = self.target().FindBreakpointByID(
@@ -39,3 +37,13 @@ def test(self):
"frame variable ils",
substrs=['[4] = "surprise it is a long string!! yay!!"'],
)
+
+ @add_test_categories(["libc++"])
+ def test_libcxx(self):
+ self.build(dictionary={"USE_LIBCPP" : 1})
+ self.do_test()
+
+ @add_test_categories(["libstdcxx"])
+ def test_libstdcxx(self):
+ self.build(dictionary={"USE_LIBSTDCPP" : 1})
+ self.do_test()
diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/initializerlist/main.cpp b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/initializerlist/main.cpp
similarity index 100%
rename from lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/initializerlist/main.cpp
rename to lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/initializerlist/main.cpp
diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/unordered_map-iterator/Makefile b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/iterator/Makefile
similarity index 80%
rename from lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/unordered_map-iterator/Makefile
rename to lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/iterator/Makefile
index 564cbada74e08..a149c7f81bfab 100644
--- a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/unordered_map-iterator/Makefile
+++ b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/iterator/Makefile
@@ -1,6 +1,4 @@
CXX_SOURCES := main.cpp
-USE_LIBCPP := 1
-
CXXFLAGS_EXTRAS := -O0
include Makefile.rules
diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/iterator/TestDataFormatterLibccIterator.py b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/iterator/TestDataFormatterIterator.py
similarity index 90%
rename from lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/iterator/TestDataFormatterLibccIterator.py
rename to lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/iterator/TestDataFormatterIterator.py
index c43ee46fb658a..eff4aaac7b031 100644
--- a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/iterator/TestDataFormatterLibccIterator.py
+++ b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/iterator/TestDataFormatterIterator.py
@@ -9,7 +9,7 @@
from lldbsuite.test import lldbutil
-class LibcxxIteratorDataFormatterTestCase(TestBase):
+class StdIteratorDataFormatterTestCase(TestBase):
def setUp(self):
# Call super's setUp().
TestBase.setUp(self)
@@ -17,10 +17,8 @@ def setUp(self):
self.line = line_number("main.cpp", "// Set break point at this line.")
self.namespace = "std"
- @add_test_categories(["libc++"])
- def test_with_run_command(self):
- """Test that libc++ iterators format properly."""
- self.build()
+ def do_test(self):
+ """Test that STL iterators format properly."""
self.runCmd("file " + self.getBuildArtifact("a.out"), CURRENT_EXECUTABLE_SET)
lldbutil.run_break_set_by_file_and_line(
@@ -84,3 +82,13 @@ def cleanup():
self.expect("frame variable siumI.first", substrs=["second"], matching=False)
self.expect("frame variable siumI.second", substrs=["second = 137"])
self.expect("frame variable siumI.second", substrs=["first"], matching=False)
+
+ @add_test_categories(["libc++"])
+ def test_libcxx(self):
+ self.build(dictionary={"USE_LIBCPP" : 1})
+ self.do_test()
+
+ @add_test_categories(["libstdcxx"])
+ def test_libstdcxx(self):
+ self.build(dictionary={"USE_LIBSTDCPP" : 1})
+ self.do_test()
diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/iterator/main.cpp b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/iterator/main.cpp
similarity index 100%
rename from lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/iterator/main.cpp
rename to lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/iterator/main.cpp
diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/tuple/Makefile b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/map/Makefile
similarity index 75%
rename from lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/tuple/Makefile
rename to lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/map/Makefile
index 680e1abfbef58..99998b20bcb05 100644
--- a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/tuple/Makefile
+++ b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/map/Makefile
@@ -1,4 +1,3 @@
CXX_SOURCES := main.cpp
-USE_LIBCPP := 1
include Makefile.rules
diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/map/TestDataFormatterLibccMap.py b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/map/TestDataFormatterMap.py
similarity index 97%
rename from lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/map/TestDataFormatterLibccMap.py
rename to lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/map/TestDataFormatterMap.py
index b2b83a3b46114..c6ae24e8992cf 100644
--- a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/map/TestDataFormatterLibccMap.py
+++ b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/map/TestDataFormatterMap.py
@@ -9,7 +9,7 @@
from lldbsuite.test import lldbutil
-class LibcxxMapDataFormatterTestCase(TestBase):
+class StdMapDataFormatterTestCase(TestBase):
def setUp(self):
TestBase.setUp(self)
ns = "ndk" if lldbplatformutil.target_is_android() else ""
@@ -22,10 +22,8 @@ def check_pair(self, first_value, second_value):
]
return ValueCheck(children=pair_children)
- @add_test_categories(["libc++"])
- def test_with_run_command(self):
+ def do_test(self):
"""Test that that file and class static variables display correctly."""
- self.build()
self.runCmd("file " + self.getBuildArtifact("a.out"), CURRENT_EXECUTABLE_SET)
bkpt = self.target().FindBreakpointByID(
@@ -326,3 +324,13 @@ def cleanup():
lldbutil.continue_to_breakpoint(self.process(), bkpt)
self.expect("frame variable ss", substrs=["%s::map" % ns, "size=0", "{}"])
+
+ @add_test_categories(["libc++"])
+ def test_libcxx(self):
+ self.build(dictionary={"USE_LIBCPP" : 1})
+ self.do_test()
+
+ @add_test_categories(["libstdcxx"])
+ def test_libstdcxx(self):
+ self.build(dictionary={"USE_LIBSTDCPP" : 1})
+ self.do_test()
diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/map/main.cpp b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/map/main.cpp
similarity index 100%
rename from lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/map/main.cpp
rename to lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/map/main.cpp
diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/vbool/Makefile b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/queue/Makefile
similarity index 75%
rename from lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/vbool/Makefile
rename to lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/queue/Makefile
index d87cf7d402787..99998b20bcb05 100644
--- a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/vbool/Makefile
+++ b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/queue/Makefile
@@ -1,4 +1,3 @@
CXX_SOURCES := main.cpp
-USE_LIBCPP := 1
-include Makefile.rules
+include Makefile.rules
diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/queue/TestDataFormatterLibcxxQueue.py b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/queue/TestDataFormatterStdQueue.py
similarity index 77%
rename from lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/queue/TestDataFormatterLibcxxQueue.py
rename to lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/queue/TestDataFormatterStdQueue.py
index 53eaf5a23cc07..02898ffa0d881 100644
--- a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/queue/TestDataFormatterLibcxxQueue.py
+++ b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/queue/TestDataFormatterStdQueue.py
@@ -9,7 +9,7 @@
from lldbsuite.test import lldbutil
-class TestDataFormatterLibcxxQueue(TestBase):
+class TestDataFormatterStdQueue(TestBase):
def setUp(self):
TestBase.setUp(self)
self.namespace = "std"
@@ -29,13 +29,21 @@ def check_variable(self, name):
@expectedFailureAll(
bugnumber="llvm.org/pr36109", debug_info="gmodules", triple=".*-android"
)
- @add_test_categories(["libc++"])
- def test(self):
+ def do_test(self):
"""Test that std::queue is displayed correctly"""
- self.build()
lldbutil.run_to_source_breakpoint(
self, "// break here", lldb.SBFileSpec("main.cpp", False)
)
self.check_variable("q1")
self.check_variable("q2")
+
+ @add_test_categories(["libc++"])
+ def test_libcxx(self):
+ self.build(dictionary={"USE_LIBCPP" : 1})
+ self.do_test()
+
+ @add_test_categories(["libstdcxx"])
+ def test_libstdcxx(self):
+ self.build(dictionary={"USE_LIBSTDCPP" : 1})
+ self.do_test()
diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/queue/main.cpp b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/queue/main.cpp
similarity index 100%
rename from lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/queue/main.cpp
rename to lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/queue/main.cpp
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/ranges/ref_view/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/ranges/ref_view/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/ranges/ref_view/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/ranges/ref_view/TestDataFormatterLibcxxRangesRefView.py b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/ranges/ref_view/TestDataFormatterLibcxxRangesRefView.py
similarity index 87%
rename from lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/ranges/ref_view/TestDataFormatterLibcxxRangesRefView.py
rename to lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/ranges/ref_view/TestDataFormatterLibcxxRangesRefView.py
index 9b5194be91e78..5603435168247 100644
--- a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/ranges/ref_view/TestDataFormatterLibcxxRangesRefView.py
+++ b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/ranges/ref_view/TestDataFormatterLibcxxRangesRefView.py
@@ -8,7 +8,7 @@
from lldbsuite.test import lldbutil
-class LibcxxRangesRefViewDataFormatterTestCase(TestBase):
+class StdRangesRefViewDataFormatterTestCase(TestBase):
def check_string_vec_children(self):
return [
ValueCheck(name="[0]", summary='"First"'),
@@ -27,12 +27,10 @@ def check_string_vec_ref_view(self):
def check_foo(self):
return ValueCheck(name="vec", children=self.check_string_vec_children())
- @add_test_categories(["libc++"])
@skipIf(compiler=no_match("clang"))
@skipIf(compiler="clang", compiler_version=["<", "16.0"])
- def test_with_run_command(self):
+ def do_test(self):
"""Test that std::ranges::ref_view is formatted correctly when printed."""
- self.build()
(self.target, process, thread, bkpt) = lldbutil.run_to_source_breakpoint(
self, "Break here", lldb.SBFileSpec("main.cpp", False)
)
@@ -69,3 +67,13 @@ def test_with_run_command(self):
)
],
)
+
+ @add_test_categories(["libc++"])
+ def test_libcxx(self):
+ self.build(dictionary={"USE_LIBCPP" : 1})
+ self.do_test()
+
+ @add_test_categories(["libstdcxx"])
+ def test_libstdcpp(self):
+ self.build(dictionary={"USE_LIBSTDCPP" : 1})
+ self.do_test()
diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/ranges/ref_view/TestDataFormatterStdRangesRefView.py b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/ranges/ref_view/TestDataFormatterStdRangesRefView.py
new file mode 100644
index 0000000000000..5603435168247
--- /dev/null
+++ b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/ranges/ref_view/TestDataFormatterStdRangesRefView.py
@@ -0,0 +1,79 @@
+"""
+Test LLDB's std::ranges::ref_view formatter
+"""
+
+import lldb
+from lldbsuite.test.decorators import *
+from lldbsuite.test.lldbtest import *
+from lldbsuite.test import lldbutil
+
+
+class StdRangesRefViewDataFormatterTestCase(TestBase):
+ def check_string_vec_children(self):
+ return [
+ ValueCheck(name="[0]", summary='"First"'),
+ ValueCheck(name="[1]", summary='"Second"'),
+ ValueCheck(name="[2]", summary='"Third"'),
+ ValueCheck(name="[3]", summary='"Fourth"'),
+ ]
+
+ def check_string_vec_ref_view(self):
+ return ValueCheck(
+ name="*__range_",
+ summary="size=4",
+ children=self.check_string_vec_children(),
+ )
+
+ def check_foo(self):
+ return ValueCheck(name="vec", children=self.check_string_vec_children())
+
+ @skipIf(compiler=no_match("clang"))
+ @skipIf(compiler="clang", compiler_version=["<", "16.0"])
+ def do_test(self):
+ """Test that std::ranges::ref_view is formatted correctly when printed."""
+ (self.target, process, thread, bkpt) = lldbutil.run_to_source_breakpoint(
+ self, "Break here", lldb.SBFileSpec("main.cpp", False)
+ )
+
+ # Check ref_view over a std::string
+ self.expect_var_path(
+ "single", children=[ValueCheck(name="*__range_", summary='"First"')]
+ )
+
+ # Check all_view, which is a ref_view in this case
+ self.expect_var_path("all", children=[self.check_string_vec_ref_view()])
+
+ # Check take_view format. Embeds a ref_view
+ self.expect_var_path(
+ "subset",
+ children=[
+ ValueCheck(children=[self.check_string_vec_ref_view()]),
+ ValueCheck(name="__count_", value="2"),
+ ],
+ )
+
+ lldbutil.continue_to_breakpoint(self.process(), bkpt)
+
+ # Check ref_view over custom type 'struct Foo'
+ self.expect_var_path(
+ "view",
+ children=[
+ ValueCheck(
+ name="*__range_",
+ children=[
+ ValueCheck(name="[0]", type="Foo", children=[self.check_foo()]),
+ ValueCheck(name="[1]", type="Foo", children=[self.check_foo()]),
+ ],
+ )
+ ],
+ )
+
+ @add_test_categories(["libc++"])
+ def test_libcxx(self):
+ self.build(dictionary={"USE_LIBCPP" : 1})
+ self.do_test()
+
+ @add_test_categories(["libstdcxx"])
+ def test_libstdcpp(self):
+ self.build(dictionary={"USE_LIBSTDCPP" : 1})
+ self.do_test()
diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/ranges/ref_view/main.cpp b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/ranges/ref_view/main.cpp
similarity index 100%
rename from lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/ranges/ref_view/main.cpp
rename to lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/ranges/ref_view/main.cpp
diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/shared_ptr/Makefile b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/shared_ptr/Makefile
similarity index 92%
rename from lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/shared_ptr/Makefile
rename to lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/shared_ptr/Makefile
index c1c8b4a2a0a53..ece665a0fd5b7 100644
--- a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/shared_ptr/Makefile
+++ b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/shared_ptr/Makefile
@@ -1,7 +1,5 @@
CXX_SOURCES := main.cpp
-USE_LIBCPP := 1
-
# We need debug info tuning for lldb in order to emit the preferred name for
# std::string. See https://reviews.llvm.org/D145803.
CXXFLAGS_EXTRAS := -std=c++14 -glldb
diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/shared_ptr/TestDataFormatterLibcxxSharedPtr.py b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/shared_ptr/TestDataFormatterStdSharedPtr.py
similarity index 91%
rename from lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/shared_ptr/TestDataFormatterLibcxxSharedPtr.py
rename to lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/shared_ptr/TestDataFormatterStdSharedPtr.py
index 61c050b3bfa01..e2c04ec059f2b 100644
--- a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/shared_ptr/TestDataFormatterLibcxxSharedPtr.py
+++ b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/shared_ptr/TestDataFormatterStdSharedPtr.py
@@ -1,5 +1,5 @@
"""
-Test lldb data formatter for libc++ std::shared_ptr.
+Test lldb data formatter for std::shared_ptr.
"""
@@ -10,11 +10,8 @@
class TestCase(TestBase):
- @add_test_categories(["libc++"])
- def test_shared_ptr_variables(self):
+ def do_test(self):
"""Test `frame variable` output for `std::shared_ptr` types."""
- self.build()
-
lldbutil.run_to_source_breakpoint(
self, "// break here", lldb.SBFileSpec("main.cpp")
)
@@ -96,3 +93,13 @@ def test_shared_ptr_variables(self):
self.expect_var_path("ptr_node->next->value", value="2")
self.expect_var_path("(*ptr_node).value", value="1")
self.expect_var_path("(*(*ptr_node).next).value", value="2")
+
+ @add_test_categories(["libc++"])
+ def test_libcxx(self):
+ self.build(dictionary={"USE_LIBCPP" : 1})
+ self.do_test()
+
+ @add_test_categories(["libstdcxx"])
+ def test_libstdcxx(self):
+ self.build(dictionary={"USE_LIBSTDCPP" : 1})
+ self.do_test()
diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/shared_ptr/main.cpp b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/shared_ptr/main.cpp
similarity index 100%
rename from lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/shared_ptr/main.cpp
rename to lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/shared_ptr/main.cpp
diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/ranges/ref_view/Makefile b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/span/Makefile
similarity index 83%
rename from lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/ranges/ref_view/Makefile
rename to lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/span/Makefile
index 3c4f9b45f41de..344f9e1d7fd7b 100644
--- a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/ranges/ref_view/Makefile
+++ b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/span/Makefile
@@ -1,6 +1,5 @@
-USE_LIBCPP := 1
-
CXX_SOURCES := main.cpp
+
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 88%
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..cfef1cad3d295 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)
)
@@ -160,9 +157,18 @@ def test_with_run_command(self):
@add_test_categories(["libc++"])
@skipIf(compiler="clang", compiler_version=["<", "11.0"])
- def test_ref_and_ptr(self):
+ def test_libcxx(self):
+ self.build(dictionary={"USE_LIBCPP" : 1})
+ self.do_test()
+
+ @add_test_categories(["libstdcxx"])
+ @skipIf(compiler="clang", compiler_version=["<", "11.0"])
+ def test_libstdcxx(self):
+ self.build(dictionary={"USE_LIBSTDCPP" : 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(
self, "Stop here to check by ref", lldb.SBFileSpec("main.cpp", False)
)
@@ -173,3 +179,15 @@ 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"])
+
+ @add_test_categories(["libc++"])
+ @skipIf(compiler="clang", compiler_version=["<", "11.0"])
+ def test_ref_and_ptr_libcxx(self):
+ self.build(dictionary={"USE_LIBCPP" : 1})
+ self.do_test_ref_and_ptr()
+
+ @add_test_categories(["libstdcxx"])
+ @skipIf(compiler="clang", compiler_version=["<", "11.0"])
+ def test_ref_and_ptr_libstdcxx(self):
+ self.build(dictionary={"USE_LIBSTDCPP" : 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
diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/string_view/Makefile b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/string_view/Makefile
similarity index 82%
rename from lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/string_view/Makefile
rename to lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/string_view/Makefile
index c7c91da728d1e..7025148aa9eb5 100644
--- a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/string_view/Makefile
+++ b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/string_view/Makefile
@@ -1,6 +1,4 @@
CXX_SOURCES := main.cpp
-USE_LIBCPP := 1
-
CXXFLAGS_EXTRAS := -std=c++11 -O0
include Makefile.rules
diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/string_view/TestDataFormatterLibcxxStringView.py b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/string_view/TestDataFormatterStdStringView.py
similarity index 93%
rename from lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/string_view/TestDataFormatterLibcxxStringView.py
rename to lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/string_view/TestDataFormatterStdStringView.py
index 3883395f23924..0df3686127b71 100644
--- a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/string_view/TestDataFormatterLibcxxStringView.py
+++ b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/string_view/TestDataFormatterStdStringView.py
@@ -10,7 +10,7 @@
from lldbsuite.test import lldbutil
-class LibcxxStringViewDataFormatterTestCase(TestBase):
+class StdStringViewDataFormatterTestCase(TestBase):
def setUp(self):
# Call super's setUp().
TestBase.setUp(self)
@@ -20,16 +20,10 @@ def setUp(self):
"main.cpp", "// Break here to look at bad string view."
)
- @add_test_categories(["libc++"])
- @expectedFailureAll(
- bugnumber="llvm.org/pr36109", debug_info="gmodules", triple=".*-android"
- )
# Inline namespace is randomly ignored as Clang due to broken lookup inside
# the std namespace.
- @expectedFailureAll(debug_info="gmodules")
- def test_with_run_command(self):
+ def do_test(self):
"""Test that that file and class static variables display correctly."""
- self.build()
self.runCmd("file " + self.getBuildArtifact("a.out"), CURRENT_EXECUTABLE_SET)
lldbutil.run_break_set_by_file_and_line(
@@ -160,3 +154,19 @@ def cleanup():
broken_obj = self.frame().GetValueForVariablePath("in_str_view")
self.assertEqual(broken_obj.GetSummary(), "Summary Unavailable")
+
+ @expectedFailureAll(
+ bugnumber="llvm.org/pr36109", debug_info="gmodules", triple=".*-android"
+ )
+ @add_test_categories(["libc++"])
+ def test_libcxx(self):
+ self.build(dictionary={"USE_LIBCPP" : 1})
+ self.do_test()
+
+ @expectedFailureAll(
+ bugnumber="llvm.org/pr36109", debug_info="gmodules", triple=".*-android"
+ )
+ @add_test_categories(["libstdcxx"])
+ def test_libstdcxx(self):
+ self.build(dictionary={"USE_LIBSTDCPP" : 1})
+ self.do_test()
diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/string_view/main.cpp b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/string_view/main.cpp
similarity index 100%
rename from lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/string_view/main.cpp
rename to lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/string_view/main.cpp
diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/valarray/Makefile b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/tuple/Makefile
similarity index 73%
rename from lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/valarray/Makefile
rename to lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/tuple/Makefile
index c5df567e01a2a..99998b20bcb05 100644
--- a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/valarray/Makefile
+++ b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/tuple/Makefile
@@ -1,5 +1,3 @@
CXX_SOURCES := main.cpp
-USE_LIBCPP := 1
-
include Makefile.rules
diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/tuple/TestDataFormatterLibcxxTuple.py b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/tuple/TestDataFormatterTuple.py
similarity index 77%
rename from lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/tuple/TestDataFormatterLibcxxTuple.py
rename to lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/tuple/TestDataFormatterTuple.py
index 5b6dfaf5e5d9d..34b747cdbe291 100644
--- a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/tuple/TestDataFormatterLibcxxTuple.py
+++ b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/tuple/TestDataFormatterTuple.py
@@ -9,16 +9,14 @@
from lldbsuite.test import lldbutil
-class TestDataFormatterLibcxxTuple(TestBase):
+class TestDataFormatterStdTuple(TestBase):
def setUp(self):
TestBase.setUp(self)
self.line = line_number("main.cpp", "// break here")
self.namespace = "std"
- @add_test_categories(["libc++"])
- def test(self):
+ def do_test(self):
"""Test that std::tuple is displayed correctly"""
- self.build()
lldbutil.run_to_source_breakpoint(
self, "// break here", lldb.SBFileSpec("main.cpp", False)
)
@@ -43,3 +41,13 @@ def test(self):
"}",
],
)
+
+ @add_test_categories(["libc++"])
+ def test_libcxx(self):
+ self.build(dictionary={"USE_LIBCPP" : 1})
+ self.do_test()
+
+ @add_test_categories(["libstdcxx"])
+ def test_libstdcxx(self):
+ self.build(dictionary={"USE_LIBSTDCPP" : 1})
+ self.do_test()
diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/tuple/main.cpp b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/tuple/main.cpp
similarity index 100%
rename from lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/tuple/main.cpp
rename to lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/tuple/main.cpp
diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/unique_ptr/Makefile b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/unique_ptr/Makefile
similarity index 92%
rename from lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/unique_ptr/Makefile
rename to lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/unique_ptr/Makefile
index c1c8b4a2a0a53..ece665a0fd5b7 100644
--- a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/unique_ptr/Makefile
+++ b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/unique_ptr/Makefile
@@ -1,7 +1,5 @@
CXX_SOURCES := main.cpp
-USE_LIBCPP := 1
-
# We need debug info tuning for lldb in order to emit the preferred name for
# std::string. See https://reviews.llvm.org/D145803.
CXXFLAGS_EXTRAS := -std=c++14 -glldb
diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/unique_ptr/TestDataFormatterLibcxxUniquePtr.py b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/unique_ptr/TestDataFormatterUniquePtr.py
similarity index 93%
rename from lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/unique_ptr/TestDataFormatterLibcxxUniquePtr.py
rename to lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/unique_ptr/TestDataFormatterUniquePtr.py
index 25a1cd82a4baa..8fca83ce80893 100644
--- a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/unique_ptr/TestDataFormatterLibcxxUniquePtr.py
+++ b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/unique_ptr/TestDataFormatterUniquePtr.py
@@ -1,5 +1,5 @@
"""
-Test lldb data formatter for libc++ std::unique_ptr.
+Test lldb data formatter for std::unique_ptr.
"""
@@ -32,11 +32,8 @@ def make_expected_basic_string_ptr(self) -> str:
"std::default_delete<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >"
)
- @add_test_categories(["libc++"])
- def test_unique_ptr_variables(self):
+ def do_test(self):
"""Test `frame variable` output for `std::unique_ptr` types."""
- self.build()
-
lldbutil.run_to_source_breakpoint(
self, "// break here", lldb.SBFileSpec("main.cpp")
)
@@ -121,3 +118,13 @@ def test_unique_ptr_variables(self):
self.expect_var_path("ptr_node->next->value", value="2")
self.expect_var_path("(*ptr_node).value", value="1")
self.expect_var_path("(*(*ptr_node).next).value", value="2")
+
+ @add_test_categories(["libc++"])
+ def test_libcxx(self):
+ self.build(dictionary={"USE_LIBCPP" : 1})
+ self.do_test()
+
+ @add_test_categories(["libstdcxx"])
+ def test_libstdcxx(self):
+ self.build(dictionary={"USE_LIBSTDCPP" : 1})
+ self.do_test()
diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/unique_ptr/main.cpp b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/unique_ptr/main.cpp
similarity index 100%
rename from lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/unique_ptr/main.cpp
rename to lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/unique_ptr/main.cpp
diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/unordered_map-iterator/Makefile b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/unordered_map-iterator/Makefile
new file mode 100644
index 0000000000000..99998b20bcb05
--- /dev/null
+++ b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/unordered_map-iterator/Makefile
@@ -0,0 +1,3 @@
+CXX_SOURCES := main.cpp
+
+include Makefile.rules
diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/unordered_map-iterator/TestDataFormatterLibccUnorderedMap.py b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/unordered_map-iterator/TestDataFormatterStdUnorderedMapIterator.py
similarity index 91%
rename from lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/unordered_map-iterator/TestDataFormatterLibccUnorderedMap.py
rename to lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/unordered_map-iterator/TestDataFormatterStdUnorderedMapIterator.py
index bf103aa78baba..e950bd677a3e0 100644
--- a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/unordered_map-iterator/TestDataFormatterLibccUnorderedMap.py
+++ b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/unordered_map-iterator/TestDataFormatterStdUnorderedMapIterator.py
@@ -8,7 +8,7 @@
from lldbsuite.test import lldbutil
-class LibcxxUnorderedMapDataFormatterTestCase(TestBase):
+class StdUnorderedMapIteratorDataFormatterTestCase(TestBase):
def check_ptr_or_ref(self, var_name: str):
var = self.frame().FindVariable(var_name)
self.assertTrue(var)
@@ -32,12 +32,10 @@ def check_ptr_ptr(self, var_name: str):
self.assertEqual(pair.GetChildAtIndex(0).summary, '"Hello"')
self.assertEqual(pair.GetChildAtIndex(1).summary, '"World"')
- @add_test_categories(["libc++"])
- def test_iterator_formatters(self):
+ def do_test(self):
"""Test that std::unordered_map related structures are formatted correctly when printed.
Currently only tests format of std::unordered_map iterators.
"""
- self.build()
(self.target, process, thread, bkpt) = lldbutil.run_to_source_breakpoint(
self, "Break here", lldb.SBFileSpec("main.cpp", False)
)
@@ -113,3 +111,13 @@ def test_iterator_formatters(self):
self.check_ptr_ptr("ptr4")
self.check_ptr_ptr("ptr5")
self.check_ptr_ptr("ptr6")
+
+ @add_test_categories(["libc++"])
+ def test_libcxx(self):
+ self.build(dictionary={"USE_LIBCPP" : 1})
+ self.do_test()
+
+ @add_test_categories(["libstdcxx"])
+ def test_libstdcxx(self):
+ self.build(dictionary={"USE_LIBSTDCPP" : 1})
+ self.do_test()
diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/unordered_map-iterator/main.cpp b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/unordered_map-iterator/main.cpp
similarity index 100%
rename from lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/unordered_map-iterator/main.cpp
rename to lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/unordered_map-iterator/main.cpp
diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/valarray/Makefile b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/valarray/Makefile
new file mode 100644
index 0000000000000..99998b20bcb05
--- /dev/null
+++ b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/valarray/Makefile
@@ -0,0 +1,3 @@
+CXX_SOURCES := main.cpp
+
+include Makefile.rules
diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/valarray/TestDataFormatterLibcxxValarray.py b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/valarray/TestDataFormatterStdValarray.py
similarity index 94%
rename from lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/valarray/TestDataFormatterLibcxxValarray.py
rename to lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/valarray/TestDataFormatterStdValarray.py
index 613546b50a770..42cbaeba45115 100644
--- a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/valarray/TestDataFormatterLibcxxValarray.py
+++ b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/valarray/TestDataFormatterStdValarray.py
@@ -9,11 +9,9 @@
from lldbsuite.test import lldbutil
-class LibcxxChronoDataFormatterTestCase(TestBase):
- @add_test_categories(["libc++"])
- def test_with_run_command(self):
+class StdValarrayDataFormatterTestCase(TestBase):
+ def do_test(self):
"""Test that that file and class static variables display correctly."""
- self.build()
(self.target, process, thread, bkpt) = lldbutil.run_to_source_breakpoint(
self, "break here", lldb.SBFileSpec("main.cpp", False)
)
@@ -179,3 +177,13 @@ def test_with_run_command(self):
error=True,
substrs=['array index 3 is not valid for "(indirect_array<int>) ia"'],
)
+
+ @add_test_categories(["libc++"])
+ def test_libcxx(self):
+ self.build(dictionary={"USE_LIBCPP" : 1})
+ self.do_test()
+
+ @add_test_categories(["libstdcxx"])
+ def test_libstdcxx(self):
+ self.build(dictionary={"USE_LIBSTDCPP" : 1})
+ self.do_test()
diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/valarray/main.cpp b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/valarray/main.cpp
similarity index 100%
rename from lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/valarray/main.cpp
rename to lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/valarray/main.cpp
diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/variant/Makefile b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/variant/Makefile
similarity index 82%
rename from lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/variant/Makefile
rename to lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/variant/Makefile
index 7eeff7407804d..8783ac3ad8a4e 100644
--- a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/variant/Makefile
+++ b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/variant/Makefile
@@ -1,6 +1,4 @@
CXX_SOURCES := main.cpp
-USE_LIBCPP := 1
-
CXXFLAGS_EXTRAS := -std=c++17
include Makefile.rules
diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/variant/TestDataFormatterLibcxxVariant.py b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/variant/TestDataFormatterStdVariant.py
similarity index 89%
rename from lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/variant/TestDataFormatterLibcxxVariant.py
rename to lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/variant/TestDataFormatterStdVariant.py
index 47e07a5ce3f5b..19d18d6b4ed9b 100644
--- a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/variant/TestDataFormatterLibcxxVariant.py
+++ b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/variant/TestDataFormatterStdVariant.py
@@ -9,8 +9,7 @@
from lldbsuite.test import lldbutil
-class LibcxxVariantDataFormatterTestCase(TestBase):
- @add_test_categories(["libc++"])
+class StdVariantDataFormatterTestCase(TestBase):
## Clang 7.0 is the oldest Clang that can reliably parse newer libc++ versions
## with -std=c++17.
@skipIf(
@@ -20,9 +19,8 @@ class LibcxxVariantDataFormatterTestCase(TestBase):
@skipIf(compiler="gcc", compiler_version=["<", "5.1"])
## std::get is unavailable for std::variant before macOS 10.14
@skipIf(macos_version=["<", "10.14"])
- def test_with_run_command(self):
+ def do_test(self):
"""Test that that file and class static variables display correctly."""
- self.build()
(self.target, self.process, _, bkpt) = lldbutil.run_to_source_breakpoint(
self, "// break here", lldb.SBFileSpec("main.cpp", False)
@@ -86,3 +84,13 @@ def test_with_run_command(self):
"frame variable v_300_types_no_value",
substrs=["v_300_types_no_value = No Value"],
)
+
+ @add_test_categories(["libc++"])
+ def test_libcxx(self):
+ self.build(dictionary={"USE_LIBCPP" : 1})
+ self.do_test()
+
+ @add_test_categories(["libstdcxx"])
+ def test_libstdcxx(self):
+ self.build(dictionary={"USE_LIBSTDCPP" : 1})
+ self.do_test()
diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/variant/main.cpp b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/variant/main.cpp
similarity index 100%
rename from lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/variant/main.cpp
rename to lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/variant/main.cpp
diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/vbool/Makefile b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/vbool/Makefile
new file mode 100644
index 0000000000000..8046b0bca5533
--- /dev/null
+++ b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/vbool/Makefile
@@ -0,0 +1,3 @@
+CXX_SOURCES := main.cpp
+include Makefile.rules
+
diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/vbool/TestDataFormatterLibcxxVBool.py b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/vbool/TestDataFormatterVBool.py
similarity index 87%
rename from lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/vbool/TestDataFormatterLibcxxVBool.py
rename to lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/vbool/TestDataFormatterVBool.py
index 24dddee62e1e7..cd5478b178b75 100644
--- a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/vbool/TestDataFormatterLibcxxVBool.py
+++ b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/vbool/TestDataFormatterVBool.py
@@ -9,17 +9,15 @@
from lldbsuite.test import lldbutil
-class LibcxxVBoolDataFormatterTestCase(TestBase):
+class StdVBoolDataFormatterTestCase(TestBase):
def setUp(self):
# Call super's setUp().
TestBase.setUp(self)
# Find the line number to break at.
self.line = line_number("main.cpp", "// Set break point at this line.")
- @add_test_categories(["libc++"])
- def test_with_run_command(self):
+ def do_test(self):
"""Test that that file and class static variables display correctly."""
- self.build()
self.runCmd("file " + self.getBuildArtifact("a.out"), CURRENT_EXECUTABLE_SET)
lldbutil.run_break_set_by_file_and_line(
@@ -74,3 +72,13 @@ def cleanup():
"[48] = true",
],
)
+
+ @add_test_categories(["libc++"])
+ def test_libcxx(self):
+ self.build(dictionary={"USE_LIBCPP" : 1})
+ self.do_test()
+
+ @add_test_categories(["libstdcxx"])
+ def test_libstdcxx(self):
+ self.build(dictionary={"USE_LIBSTDCPP" : 1})
+ self.do_test()
diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/vbool/main.cpp b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/vbool/main.cpp
similarity index 100%
rename from lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/vbool/main.cpp
rename to lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/vbool/main.cpp
diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/vector/Makefile b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/vector/Makefile
new file mode 100644
index 0000000000000..99998b20bcb05
--- /dev/null
+++ b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/vector/Makefile
@@ -0,0 +1,3 @@
+CXX_SOURCES := main.cpp
+
+include Makefile.rules
diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/vector/TestDataFormatterLibcxxVector.py b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/vector/TestDataFormatterVector.py
similarity index 90%
rename from lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/vector/TestDataFormatterLibcxxVector.py
rename to lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/vector/TestDataFormatterVector.py
index 13341a9b274be..698d583f30f3d 100644
--- a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/vector/TestDataFormatterLibcxxVector.py
+++ b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/vector/TestDataFormatterVector.py
@@ -9,7 +9,7 @@
from lldbsuite.test import lldbutil
-class LibcxxVectorDataFormatterTestCase(TestBase):
+class StdVectorDataFormatterTestCase(TestBase):
def check_numbers(self, var_name, show_ptr=False):
patterns = []
substrs = [
@@ -52,10 +52,8 @@ def check_numbers(self, var_name, show_ptr=False):
self.expect("frame variable " + var_name + "[2]", substrs=["123"])
self.expect("frame variable " + var_name + "[3]", substrs=["1234"])
- @add_test_categories(["libc++"])
- def test_with_run_command(self):
+ def do_test(self):
"""Test that that file and class static variables display correctly."""
- self.build()
(self.target, process, thread, bkpt) = lldbutil.run_to_source_breakpoint(
self, "break here", lldb.SBFileSpec("main.cpp", False)
)
@@ -171,9 +169,17 @@ def cleanup():
self.expect("frame variable strings", substrs=["vector has 0 items"])
@add_test_categories(["libc++"])
- def test_ref_and_ptr(self):
+ def test_libcxx(self):
+ self.build(dictionary={"USE_LIBCPP" : 1})
+ self.do_test()
+
+ @add_test_categories(["libstdcxx"])
+ def test_libstdcxx(self):
+ self.build(dictionary={"USE_LIBSTDCPP" : 1})
+ self.do_test()
+
+ def do_test_ref_and_ptr(self):
"""Test that that file and class static variables display correctly."""
- self.build()
(self.target, process, thread, bkpt) = lldbutil.run_to_source_breakpoint(
self, "Stop here to check by ref", lldb.SBFileSpec("main.cpp", False)
)
@@ -186,3 +192,13 @@ def test_ref_and_ptr(self):
self.expect("frame variable ptr", substrs=["ptr =", " size=7"])
self.expect("expression ptr", substrs=["$", "size=7"])
+
+ @add_test_categories(["libc++"])
+ def test_ref_and_ptr_libcxx(self):
+ self.build(dictionary={"USE_LIBCPP" : 1})
+ self.do_test_ref_and_ptr()
+
+ @add_test_categories(["libstdcxx"])
+ def test_ref_and_ptr_libstdcxx(self):
+ self.build(dictionary={"USE_LIBSTDCPP" : 1})
+ self.do_test_ref_and_ptr()
diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/vector/main.cpp b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/vector/main.cpp
similarity index 100%
rename from lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/vector/main.cpp
rename to lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/vector/main.cpp
diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/initializerlist/Makefile b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/initializerlist/Makefile
deleted file mode 100644
index 98af672c70fbe..0000000000000
--- a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/initializerlist/Makefile
+++ /dev/null
@@ -1,6 +0,0 @@
-CXX_SOURCES := main.cpp
-CXXFLAGS_EXTRAS := -std=c++11
-
-USE_LIBCPP := 1
-
-include Makefile.rules
diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/iterator/Makefile b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/iterator/Makefile
deleted file mode 100644
index 564cbada74e08..0000000000000
--- a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/iterator/Makefile
+++ /dev/null
@@ -1,6 +0,0 @@
-CXX_SOURCES := main.cpp
-
-USE_LIBCPP := 1
-
-CXXFLAGS_EXTRAS := -O0
-include Makefile.rules
diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/map/Makefile b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/map/Makefile
deleted file mode 100644
index 564cbada74e08..0000000000000
--- a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/map/Makefile
+++ /dev/null
@@ -1,6 +0,0 @@
-CXX_SOURCES := main.cpp
-
-USE_LIBCPP := 1
-
-CXXFLAGS_EXTRAS := -O0
-include Makefile.rules
diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/vector/Makefile b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/vector/Makefile
deleted file mode 100644
index 564cbada74e08..0000000000000
--- a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/vector/Makefile
+++ /dev/null
@@ -1,6 +0,0 @@
-CXX_SOURCES := main.cpp
-
-USE_LIBCPP := 1
-
-CXXFLAGS_EXTRAS := -O0
-include Makefile.rules
More information about the lldb-commits
mailing list