Author: Michael Buch
Date: 2025-07-03T15:20:53+01:00
New Revision: b0444b0473c098946024d2ffbfb717214f835f7d

URL: 
https://github.com/llvm/llvm-project/commit/b0444b0473c098946024d2ffbfb717214f835f7d
DIFF: 
https://github.com/llvm/llvm-project/commit/b0444b0473c098946024d2ffbfb717214f835f7d.diff

LOG: [lldb][test] Turn std::atomic libcxx test generic (#146843)

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

Added: 
    
lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/atomic/Makefile
    
lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/atomic/TestDataFormatterStdAtomic.py
    
lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/atomic/main.cpp

Modified: 
    

Removed: 
    
lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/atomic/Makefile
    
lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/atomic/TestLibCxxAtomic.py
    
lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/atomic/main.cpp


################################################################################
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 51%
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..99998b20bcb05 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,3 @@
 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 89%
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..8186e1d66985b 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,18 +9,15 @@
 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)
         var.SetPreferSyntheticValue(True)
         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(
@@ -31,8 +28,6 @@ def test(self):
 
         self.runCmd("run", RUN_SUCCEEDED)
 
-        lldbutil.skip_if_library_missing(self, self.target(), 
re.compile(r"libc\+\+"))
-
         # The stop reason of the thread should be breakpoint.
         self.expect(
             "thread list",
@@ -66,3 +61,9 @@ def test(self):
         self.expect(
             "frame var p.child.parent", substrs=["p.child.parent = {\n  Value 
= 0x"]
         )
+
+    @skipIf(compiler=["gcc"])
+    @add_test_categories(["libc++"])
+    def test_libcxx(self):
+        self.build(dictionary={"USE_LIBCPP": 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 51%
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
index 760d2384a772b..ee77a880a0c5d 100644
--- 
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
@@ -6,28 +6,26 @@ struct Child {
   // This should point to the parent which in turn owns this
   // child instance. This cycle should not cause LLDB to infinite loop
   // during printing.
-  std::atomic<Parent*> parent{nullptr};
+  std::atomic<Parent *> parent{nullptr};
 };
 struct Parent {
   Child child;
 };
 
 struct S {
-    int x = 1;
-    int y = 2;
+  int x = 1;
+  int y = 2;
 };
 
-int main ()
-{
-    std::atomic<S> s;
-    s.store(S());
-    std::atomic<int> i;
-    i.store(5);
+int main() {
+  std::atomic<S> s;
+  s.store(S());
+  std::atomic<int> i;
+  i.store(5);
 
-    Parent p;
-    // Let the child node know what its parent is.
-    p.child.parent = &p;
+  Parent p;
+  // Let the child node know what its parent is.
+  p.child.parent = &p;
 
-    return 0; // Set break point at this line.
+  return 0; // Set break point at this line.
 }
-


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

Reply via email to