https://github.com/Michael137 updated 
https://github.com/llvm/llvm-project/pull/147253

>From e592d39c751480838ed90fcaa2b247e96b5bab59 Mon Sep 17 00:00:00 2001
From: Michael Buch <michaelbuc...@gmail.com>
Date: Sun, 6 Jul 2025 09:58:02 +0100
Subject: [PATCH 1/7] [lldb][test] Combine libstdc++ and libc++ std::variant
 tests into generic test

---
 .../{libcxx => generic}/variant/Makefile      |  4 +-
 .../variant/TestDataFormatterStdVariant.py}   | 44 +++------
 .../{libstdcpp => generic}/variant/main.cpp   | 21 ++--
 .../variant/TestDataFormatterLibcxxVariant.py | 88 -----------------
 .../libcxx/variant/main.cpp                   | 95 -------------------
 .../libstdcpp/variant/Makefile                |  5 -
 6 files changed, 23 insertions(+), 234 deletions(-)
 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/{libstdcpp/variant/TestDataFormatterLibStdcxxVariant.py
 => generic/variant/TestDataFormatterStdVariant.py} (59%)
 rename 
lldb/test/API/functionalities/data-formatter/data-formatter-stl/{libstdcpp => 
generic}/variant/main.cpp (85%)
 delete mode 100644 
lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/variant/TestDataFormatterLibcxxVariant.py
 delete mode 100644 
lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/variant/main.cpp
 delete mode 100644 
lldb/test/API/functionalities/data-formatter/data-formatter-stl/libstdcpp/variant/Makefile

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..d5f5fec8441b5 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/libstdcpp/variant/TestDataFormatterLibStdcxxVariant.py
 
b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/variant/TestDataFormatterStdVariant.py
similarity index 59%
rename from 
lldb/test/API/functionalities/data-formatter/data-formatter-stl/libstdcpp/variant/TestDataFormatterLibStdcxxVariant.py
rename to 
lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/variant/TestDataFormatterStdVariant.py
index dae9b24fbbcfe..24ae9bfcd1a06 100644
--- 
a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libstdcpp/variant/TestDataFormatterLibStdcxxVariant.py
+++ 
b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/variant/TestDataFormatterStdVariant.py
@@ -1,5 +1,5 @@
 """
-Test lldb data formatter for LibStdC++ std::variant.
+Test lldb data formatter subsystem.
 """
 
 import lldb
@@ -8,18 +8,14 @@
 from lldbsuite.test import lldbutil
 
 
-class LibStdcxxVariantDataFormatterTestCase(TestBase):
-    @add_test_categories(["libstdcxx"])
-    def test_with_run_command(self):
-        """Test LibStdC++ std::variant data formatter works correctly."""
-        self.build()
+class StdVariantDataFormatterTestCase(TestBase):
+    def do_test(self):
+        """Test that that file and class static variables display correctly."""
 
         (self.target, self.process, _, bkpt) = 
lldbutil.run_to_source_breakpoint(
             self, "// break here", lldb.SBFileSpec("main.cpp", False)
         )
 
-        lldbutil.continue_to_breakpoint(self.process, bkpt)
-
         for name in ["v1", "v1_typedef"]:
             self.expect(
                 "frame variable " + name,
@@ -69,28 +65,12 @@ def test_with_run_command(self):
             substrs=["v_many_types_valueless =  No Value"],
         )
 
-    @add_test_categories(["libstdcxx"])
-    def test_invalid_variant_index(self):
-        """Test LibStdC++ data formatter for std::variant with invalid 
index."""
-        self.build()
-
-        (self.target, self.process, thread, bkpt) = 
lldbutil.run_to_source_breakpoint(
-            self, "// break here", lldb.SBFileSpec("main.cpp", False)
-        )
-
-        lldbutil.continue_to_breakpoint(self.process, bkpt)
-
-        self.expect(
-            "frame variable v1",
-            substrs=["v1 =  Active Type = int  {", "Value = 12", "}"],
-        )
-
-        var_v1 = thread.frames[0].FindVariable("v1")
-        var_v1_raw_obj = var_v1.GetNonSyntheticValue()
-        index_obj = var_v1_raw_obj.GetChildMemberWithName("_M_index")
-        self.assertTrue(index_obj and index_obj.IsValid())
+    @add_test_categories(["libc++"])
+    def test_libcxx(self):
+        self.build(dictionary={"USE_LIBCPP": 1})
+        self.do_test()
 
-        INVALID_INDEX = "100"
-        index_obj.SetValueFromCString(INVALID_INDEX)
-
-        self.expect("frame variable v1", substrs=["v1 =  <Invalid>"])
+    @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/libstdcpp/variant/main.cpp
 
b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/variant/main.cpp
similarity index 85%
rename from 
lldb/test/API/functionalities/data-formatter/data-formatter-stl/libstdcpp/variant/main.cpp
rename to 
lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/variant/main.cpp
index 235928264add1..3eac4d21dc850 100644
--- 
a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libstdcpp/variant/main.cpp
+++ 
b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/variant/main.cpp
@@ -10,12 +10,9 @@ struct S {
 };
 
 int main() {
-  bool has_variant = true;
-
-  printf("%d\n", has_variant); // break here
-
   std::variant<int, double, char> v1;
   std::variant<int, double, char> &v1_ref = v1;
+
   using V1_typedef = std::variant<int, double, char>;
   V1_typedef v1_typedef;
   V1_typedef &v1_typedef_ref = v1_typedef;
@@ -24,7 +21,7 @@ int main() {
   std::variant<int, double, char> v3;
   std::variant<std::variant<int, double, char>> v_v1;
   std::variant<int, char, S> v_valueless = 5;
-  // The next variant has many types, meaning the type index does not fit in
+  // The next variant has 300 types, meaning the type index does not fit in
   // a byte and must be `unsigned short` instead of `unsigned char` when
   // using the unstable libc++ ABI. With stable libc++ ABI, the type index
   // is always just `unsigned int`.
@@ -45,14 +42,16 @@ int main() {
       int, int, int, int, int, int, int, int, int, int, int, int, int, int, 
int,
       int, int, int, int, int, int, int, int, int, int, int, int, int, int, 
int,
       int, int, int, int, int, int, int, int, int, int, int, int, int, int, 
int,
-      int, int, int, int, int, int, int, int, int, int, int, int, S>
-      v_many_types_valueless;
+      int, int, int, int, int, int, int, int, int, int, int, int, int, int, 
int,
+      int, int, int, int, int, int, int, int, int, int, int, int, int, int, 
int,
+      int, int, int, int, int, int, int, int, int, int, int, int, int, int, 
int,
+      int, int, int, int, int, int, int, int, int, int, int, int, int, int, 
int, S>
+      v_300_types_valueless;
 
   v_valueless = 5;
-  v_many_types_valueless.emplace<0>(10);
+  v_300_types_valueless.emplace<0>(10);
 
   v1 = 12; // v contains int
-  v1_typedef = v1;
   v_v1 = v1;
   int i = std::get<int>(v1);
   printf("%d\n", i); // break here
@@ -83,11 +82,11 @@ int main() {
   try {
     // Exception in move-assignment is guaranteed to put std::variant into a
     // valueless state.
-    v_many_types_valueless = S();
+    v_300_types_valueless = S();
   } catch (...) {
   }
 
-  printf("%d\n", v_many_types_valueless.valueless_by_exception());
+  printf("%d\n", v_300_types_valueless.valueless_by_exception());
 
   return 0; // break here
 }
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/libcxx/variant/TestDataFormatterLibcxxVariant.py
deleted file mode 100644
index 47e07a5ce3f5b..0000000000000
--- 
a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/variant/TestDataFormatterLibcxxVariant.py
+++ /dev/null
@@ -1,88 +0,0 @@
-"""
-Test lldb data formatter subsystem.
-"""
-
-
-import lldb
-from lldbsuite.test.decorators import *
-from lldbsuite.test.lldbtest import *
-from lldbsuite.test import lldbutil
-
-
-class LibcxxVariantDataFormatterTestCase(TestBase):
-    @add_test_categories(["libc++"])
-    ## Clang 7.0 is the oldest Clang that can reliably parse newer libc++ 
versions
-    ## with -std=c++17.
-    @skipIf(
-        oslist=no_match(["macosx"]), compiler="clang", compiler_version=["<", 
"7.0"]
-    )
-    ## We are skipping gcc version less that 5.1 since this test requires 
-std=c++17
-    @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):
-        """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)
-        )
-
-        self.runCmd("frame variable has_variant")
-
-        output = self.res.GetOutput()
-
-        ## The variable has_variant tells us if the test program
-        ## detected we have a sufficient libc++ version to support variant
-        ## false means we do not and therefore should skip the test
-        if output.find("(bool) has_variant = false") != -1:
-            self.skipTest("std::variant not supported")
-
-        lldbutil.continue_to_breakpoint(self.process, bkpt)
-
-        self.expect(
-            "frame variable v1",
-            substrs=["v1 =  Active Type = int  {", "Value = 12", "}"],
-        )
-
-        self.expect(
-            "frame variable v1_ref",
-            patterns=["v1_ref = 0x.* Active Type = int : {", "Value = 12", 
"}"],
-        )
-
-        self.expect(
-            "frame variable v_v1",
-            substrs=[
-                "v_v1 =  Active Type = std::variant<int, double, char>  {",
-                "Value =  Active Type = int  {",
-                "Value = 12",
-                "}",
-                "}",
-            ],
-        )
-
-        lldbutil.continue_to_breakpoint(self.process, bkpt)
-
-        self.expect(
-            "frame variable v1",
-            substrs=["v1 =  Active Type = double  {", "Value = 2", "}"],
-        )
-
-        lldbutil.continue_to_breakpoint(self.process, bkpt)
-
-        self.expect(
-            "frame variable v2",
-            substrs=["v2 =  Active Type = double  {", "Value = 2", "}"],
-        )
-
-        self.expect(
-            "frame variable v3",
-            substrs=["v3 =  Active Type = char  {", "Value = 'A'", "}"],
-        )
-
-        self.expect("frame variable v_no_value", substrs=["v_no_value =  No 
Value"])
-
-        self.expect(
-            "frame variable v_300_types_no_value",
-            substrs=["v_300_types_no_value =  No Value"],
-        )
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/libcxx/variant/main.cpp
deleted file mode 100644
index 560ec692f30ed..0000000000000
--- 
a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/variant/main.cpp
+++ /dev/null
@@ -1,95 +0,0 @@
-#include <cstdio>
-#include <string>
-#include <vector>
-
-// If we have libc++ 4.0 or greater we should have <variant>
-// According to libc++ C++1z status page 
https://libcxx.llvm.org/cxx1z_status.html
-#if _LIBCPP_VERSION >= 4000
-#include <variant>
-#define HAVE_VARIANT 1
-#else
-#define HAVE_VARIANT 0
-#endif
-
-struct S {
-  operator int() { throw 42; }
-} ;
-
-
-int main()
-{
-    bool has_variant = HAVE_VARIANT ;
-
-    printf( "%d\n", has_variant ) ; // break here
-
-#if HAVE_VARIANT == 1
-    std::variant<int, double, char> v1;
-    std::variant<int, double, char> &v1_ref = v1;
-    std::variant<int, double, char> v2;
-    std::variant<int, double, char> v3;
-    std::variant<std::variant<int,double,char>> v_v1 ;
-    std::variant<int, double, char> v_no_value;
-    // The next variant has 300 types, meaning the type index does not fit in
-    // a byte and must be `unsigned short` instead of `unsigned char` when
-    // using the unstable libc++ ABI. With stable libc++ ABI, the type index
-    // is always just `unsigned int`.
-    std::variant<
-        int, int, int, int, int, int, int, int, int, int, int, int, int, int,
-        int, int, int, int, int, int, int, int, int, int, int, int, int, int,
-        int, int, int, int, int, int, int, int, int, int, int, int, int, int,
-        int, int, int, int, int, int, int, int, int, int, int, int, int, int,
-        int, int, int, int, int, int, int, int, int, int, int, int, int, int,
-        int, int, int, int, int, int, int, int, int, int, int, int, int, int,
-        int, int, int, int, int, int, int, int, int, int, int, int, int, int,
-        int, int, int, int, int, int, int, int, int, int, int, int, int, int,
-        int, int, int, int, int, int, int, int, int, int, int, int, int, int,
-        int, int, int, int, int, int, int, int, int, int, int, int, int, int,
-        int, int, int, int, int, int, int, int, int, int, int, int, int, int,
-        int, int, int, int, int, int, int, int, int, int, int, int, int, int,
-        int, int, int, int, int, int, int, int, int, int, int, int, int, int,
-        int, int, int, int, int, int, int, int, int, int, int, int, int, int,
-        int, int, int, int, int, int, int, int, int, int, int, int, int, int,
-        int, int, int, int, int, int, int, int, int, int, int, int, int, int,
-        int, int, int, int, int, int, int, int, int, int, int, int, int, int,
-        int, int, int, int, int, int, int, int, int, int, int, int, int, int,
-        int, int, int, int, int, int, int, int, int, int, int, int, int, int,
-        int, int, int, int, int, int, int, int, int, int, int, int, int, int,
-        int, int, int, int, int, int, int, int, int, int, int, int, int, int,
-        int, int, int, int, int, int>
-        v_300_types_no_value;
-
-    v1 = 12; // v contains int
-    v_v1 = v1 ;
-    int i = std::get<int>(v1);
-    printf( "%d\n", i ); // break here
-
-    v2 = 2.0 ;
-    double d = std::get<double>(v2) ;
-    printf( "%f\n", d );
-
-    v3 = 'A' ;
-    char c = std::get<char>(v3) ;
-    printf( "%d\n", c );
-
-    // Checking v1 above and here to make sure we done maintain the incorrect
-    // state when we change its value.
-    v1 = 2.0;
-    d = std::get<double>(v1) ;
-    printf( "%f\n", d ); // break here
-
-     try {
-       v_no_value.emplace<0>(S());
-     } catch( ... ) {}
-
-     printf( "%zu\n", v_no_value.index() ) ;
-
-     try {
-       v_300_types_no_value.emplace<0>(S());
-     } catch (...) {
-     }
-
-     printf("%zu\n", v_300_types_no_value.index());
-#endif
-
-    return 0; // break here
-}
diff --git 
a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libstdcpp/variant/Makefile
 
b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libstdcpp/variant/Makefile
deleted file mode 100644
index 104f82809c7a3..0000000000000
--- 
a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libstdcpp/variant/Makefile
+++ /dev/null
@@ -1,5 +0,0 @@
-CXX_SOURCES := main.cpp
-
-USE_LIBSTDCPP := 1
-CXXFLAGS_EXTRAS := -std=c++17
-include Makefile.rules

>From 520c1f6359895c8af1ef9b4a27d4bae91d13625b Mon Sep 17 00:00:00 2001
From: Michael Buch <michaelbuc...@gmail.com>
Date: Mon, 7 Jul 2025 11:35:07 +0100
Subject: [PATCH 2/7] fixup! add missing assignment

---
 .../data-formatter/data-formatter-stl/generic/variant/main.cpp   | 1 +
 1 file changed, 1 insertion(+)

diff --git 
a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/variant/main.cpp
 
b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/variant/main.cpp
index 3eac4d21dc850..ada66bae8dc29 100644
--- 
a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/variant/main.cpp
+++ 
b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/variant/main.cpp
@@ -52,6 +52,7 @@ int main() {
   v_300_types_valueless.emplace<0>(10);
 
   v1 = 12; // v contains int
+  v1_typedef = v1;
   v_v1 = v1;
   int i = std::get<int>(v1);
   printf("%d\n", i); // break here

>From 1f01a8d43113832e6614eb033c13ebebfed66bd6 Mon Sep 17 00:00:00 2001
From: Michael Buch <michaelbuc...@gmail.com>
Date: Mon, 7 Jul 2025 17:36:31 +0100
Subject: [PATCH 3/7] fixup! move test for invalid invariant index into
 separate test

---
 .../libstdcpp/invalid-variant/Makefile        |  5 ++++
 .../TestDataFormatterInvalidStdVariant.py     | 29 +++++++++++++++++++
 .../libstdcpp/invalid-variant/main.cpp        | 11 +++++++
 3 files changed, 45 insertions(+)
 create mode 100644 
lldb/test/API/functionalities/data-formatter/data-formatter-stl/libstdcpp/invalid-variant/Makefile
 create mode 100644 
lldb/test/API/functionalities/data-formatter/data-formatter-stl/libstdcpp/invalid-variant/TestDataFormatterInvalidStdVariant.py
 create mode 100644 
lldb/test/API/functionalities/data-formatter/data-formatter-stl/libstdcpp/invalid-variant/main.cpp

diff --git 
a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libstdcpp/invalid-variant/Makefile
 
b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libstdcpp/invalid-variant/Makefile
new file mode 100644
index 0000000000000..8c50abfbb5349
--- /dev/null
+++ 
b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libstdcpp/invalid-variant/Makefile
@@ -0,0 +1,5 @@
+CXX_SOURCES := main.cpp
+CXXFLAGS_EXTRAS := -std=c++17
+USE_LIBSTDCPP := 1
+
+include Makefile.rules
diff --git 
a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libstdcpp/invalid-variant/TestDataFormatterInvalidStdVariant.py
 
b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libstdcpp/invalid-variant/TestDataFormatterInvalidStdVariant.py
new file mode 100644
index 0000000000000..3c50f7c609e75
--- /dev/null
+++ 
b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libstdcpp/invalid-variant/TestDataFormatterInvalidStdVariant.py
@@ -0,0 +1,29 @@
+import lldb
+from lldbsuite.test.decorators import *
+from lldbsuite.test.lldbtest import *
+from lldbsuite.test import lldbutil
+
+
+class InvalidStdVariantDataFormatterTestCase(TestBase):
+    @add_test_categories(["libstdcxx"])
+    def do_test(self):
+        """Test STL data formatters for std::variant with invalid index."""
+
+        (_, _, thread, _) = lldbutil.run_to_source_breakpoint(
+            self, "// break here", lldb.SBFileSpec("main.cpp", False)
+        )
+
+        self.expect(
+            "frame variable v1",
+            substrs=["v1 =  Active Type = char  {", "Value = 'x'", "}"],
+        )
+
+        var_v1 = thread.frames[0].FindVariable("v1")
+        var_v1_raw_obj = var_v1.GetNonSyntheticValue()
+        index_obj = var_v1_raw_obj.GetChildMemberWithName("_M_index")
+        self.assertTrue(index_obj and index_obj.IsValid())
+
+        INVALID_INDEX = "100"
+        index_obj.SetValueFromCString(INVALID_INDEX)
+
+        self.expect("frame variable v1", substrs=["v1 =  <Invalid>"])
diff --git 
a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libstdcpp/invalid-variant/main.cpp
 
b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libstdcpp/invalid-variant/main.cpp
new file mode 100644
index 0000000000000..0d64cbf17bd2b
--- /dev/null
+++ 
b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libstdcpp/invalid-variant/main.cpp
@@ -0,0 +1,11 @@
+#include <cstdio>
+#include <variant>
+
+int main() {
+  std::variant<int, double, char> v1;
+  v1 = 'x';
+
+  std::puts("// break here");
+
+  return 0;
+}

>From d56385c76354c41752e3e5e9ea24c76d22326460 Mon Sep 17 00:00:00 2001
From: Michael Buch <michaelbuc...@gmail.com>
Date: Mon, 7 Jul 2025 17:41:20 +0100
Subject: [PATCH 4/7] fixup! fix merge conflict

---
 .../generic/variant/TestDataFormatterStdVariant.py            | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git 
a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/variant/TestDataFormatterStdVariant.py
 
b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/variant/TestDataFormatterStdVariant.py
index 24ae9bfcd1a06..836c7ed2de942 100644
--- 
a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/variant/TestDataFormatterStdVariant.py
+++ 
b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/variant/TestDataFormatterStdVariant.py
@@ -61,8 +61,8 @@ def do_test(self):
         self.expect("frame variable v_valueless", substrs=["v_valueless =  No 
Value"])
 
         self.expect(
-            "frame variable v_many_types_valueless",
-            substrs=["v_many_types_valueless =  No Value"],
+            "frame variable v_300_types_valueless",
+            substrs=["v_300_types_valueless =  No Value"],
         )
 
     @add_test_categories(["libc++"])

>From da04b964938240c0bb98bf891aadd2a432becf94 Mon Sep 17 00:00:00 2001
From: Michael Buch <michaelbuc...@gmail.com>
Date: Mon, 7 Jul 2025 18:00:53 +0100
Subject: [PATCH 5/7] fixup! clang-format

---
 .../data-formatter/data-formatter-stl/generic/variant/main.cpp | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git 
a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/variant/main.cpp
 
b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/variant/main.cpp
index ada66bae8dc29..620b97b7306f9 100644
--- 
a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/variant/main.cpp
+++ 
b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/variant/main.cpp
@@ -45,7 +45,8 @@ int main() {
       int, int, int, int, int, int, int, int, int, int, int, int, int, int, 
int,
       int, int, int, int, int, int, int, int, int, int, int, int, int, int, 
int,
       int, int, int, int, int, int, int, int, int, int, int, int, int, int, 
int,
-      int, int, int, int, int, int, int, int, int, int, int, int, int, int, 
int, S>
+      int, int, int, int, int, int, int, int, int, int, int, int, int, int, 
int,
+      S>
       v_300_types_valueless;
 
   v_valueless = 5;

>From d24eaa7e2385835ae87934db1ce559e5d6e60fad Mon Sep 17 00:00:00 2001
From: Michael Buch <michaelbuc...@gmail.com>
Date: Tue, 8 Jul 2025 09:25:45 +0100
Subject: [PATCH 6/7] fixup! fix TestDataFormatterInvalidStdVariant.py

---
 .../invalid-variant/TestDataFormatterInvalidStdVariant.py      | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git 
a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libstdcpp/invalid-variant/TestDataFormatterInvalidStdVariant.py
 
b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libstdcpp/invalid-variant/TestDataFormatterInvalidStdVariant.py
index 3c50f7c609e75..14bb3463fe435 100644
--- 
a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libstdcpp/invalid-variant/TestDataFormatterInvalidStdVariant.py
+++ 
b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libstdcpp/invalid-variant/TestDataFormatterInvalidStdVariant.py
@@ -6,8 +6,9 @@
 
 class InvalidStdVariantDataFormatterTestCase(TestBase):
     @add_test_categories(["libstdcxx"])
-    def do_test(self):
+    def test(self):
         """Test STL data formatters for std::variant with invalid index."""
+        self.build()
 
         (_, _, thread, _) = lldbutil.run_to_source_breakpoint(
             self, "// break here", lldb.SBFileSpec("main.cpp", False)

>From 008ef87ebdea9738e964bec4715514f081b3b16e Mon Sep 17 00:00:00 2001
From: Michael Buch <michaelbuc...@gmail.com>
Date: Tue, 8 Jul 2025 12:53:09 +0100
Subject: [PATCH 7/7] fixup! add teardown hook to clear formats

---
 .../generic/variant/TestDataFormatterStdVariant.py       | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git 
a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/variant/TestDataFormatterStdVariant.py
 
b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/variant/TestDataFormatterStdVariant.py
index 836c7ed2de942..9365cfc96783e 100644
--- 
a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/variant/TestDataFormatterStdVariant.py
+++ 
b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/variant/TestDataFormatterStdVariant.py
@@ -12,6 +12,15 @@ class StdVariantDataFormatterTestCase(TestBase):
     def do_test(self):
         """Test that that file and class static variables display correctly."""
 
+        def cleanup():
+            self.runCmd("type format clear", check=False)
+            self.runCmd("type summary clear", check=False)
+            self.runCmd("type filter clear", check=False)
+            self.runCmd("type synth clear", check=False)
+
+        # Execute the cleanup function during test case tear down.
+        self.addTearDownHook(cleanup)
+
         (self.target, self.process, _, bkpt) = 
lldbutil.run_to_source_breakpoint(
             self, "// break here", lldb.SBFileSpec("main.cpp", False)
         )

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

Reply via email to