[Lldb-commits] [lldb] b0444b0 - [lldb][test] Turn std::atomic libcxx test generic (#146843)
via lldb-commits
lldb-commits at lists.llvm.org
Thu Jul 3 07:20:57 PDT 2025
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.
}
-
More information about the lldb-commits
mailing list