aboutsummaryrefslogtreecommitdiff
path: root/lldb/test
diff options
context:
space:
mode:
authorMark de Wever <koraq@xs4all.nl>2024-03-17 14:56:35 +0100
committerGitHub <noreply@github.com>2024-03-17 14:56:35 +0100
commit56d45b09dcd6c880215481bcc3c6d6281a04d264 (patch)
tree3bcec4022fd96a292f9cbb4fae3d6ed6e90ac7f1 /lldb/test
parent62361fe5dd035ab43a52e6aaa62960d320224fee (diff)
downloadllvm-56d45b09dcd6c880215481bcc3c6d6281a04d264.zip
llvm-56d45b09dcd6c880215481bcc3c6d6281a04d264.tar.gz
llvm-56d45b09dcd6c880215481bcc3c6d6281a04d264.tar.bz2
[lldb][libc++] Adds slice_array data formatters. (#85544)
Co-authored-by: Michael Buch <michaelbuch12@gmail.com>
Diffstat (limited to 'lldb/test')
-rw-r--r--lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/valarray/TestDataFormatterLibcxxValarray.py31
-rw-r--r--lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/valarray/main.cpp3
2 files changed, 34 insertions, 0 deletions
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/libcxx/valarray/TestDataFormatterLibcxxValarray.py
index 7b54b34..b59b770 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/libcxx/valarray/TestDataFormatterLibcxxValarray.py
@@ -18,6 +18,10 @@ class LibcxxChronoDataFormatterTestCase(TestBase):
self, "break here", lldb.SBFileSpec("main.cpp", False)
)
+ #
+ # std::valarray
+ #
+
self.expect(
"frame variable va_int",
substrs=[
@@ -76,3 +80,30 @@ class LibcxxChronoDataFormatterTestCase(TestBase):
error=True,
substrs=['array index 4 is not valid for "(valarray<double>) va_double"'],
)
+
+ #
+ # std::slice_array
+ #
+
+ self.expect(
+ "frame variable sa",
+ substrs=[
+ "sa = stride=2 size=4",
+ "[0] = 1",
+ "[1] = 3",
+ "[2] = 5",
+ "[3] = 7",
+ "}",
+ ],
+ )
+
+ # check access-by-index
+ self.expect("frame variable sa[0]", substrs=["1"])
+ self.expect("frame variable sa[1]", substrs=["3"])
+ self.expect("frame variable sa[2]", substrs=["5"])
+ self.expect("frame variable sa[3]", substrs=["7"])
+ self.expect(
+ "frame variable sa[4]",
+ error=True,
+ substrs=['array index 4 is not valid for "(slice_array<int>) sa"'],
+ )
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/libcxx/valarray/main.cpp
index f32921e..1481d8b 100644
--- a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/valarray/main.cpp
+++ b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/valarray/main.cpp
@@ -13,5 +13,8 @@ int main() {
std::valarray<double> va_double({1.0, 0.5, 0.25, 0.125});
+ std::valarray<int> va({0, 1, 2, 3, 4, 5, 6, 7, 8, 9});
+ std::slice_array<int> sa = va[std::slice(1, 4, 2)];
+
std::cout << "break here\n";
}