diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/multimap/TestDataFormatterGenericMultiMap.py b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/multimap/TestDataFormatterGenericMultiMap.py index 84be87ae478e2..62cd06b421fe4 100644 --- a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/multimap/TestDataFormatterGenericMultiMap.py +++ b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/multimap/TestDataFormatterGenericMultiMap.py @@ -71,11 +71,8 @@ def cleanup(): multimap = self.namespace + "::multimap" - self.expect('frame variable ii', - substrs=[multimap, 'size=0', - '{}']) - - self.expect('frame variable si', + # We expect that in some malformed cases the map shows size 0 + self.expect('frame variable corrupt_map', substrs=[multimap, 'size=0', '{}']) diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/multimap/main.cpp b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/multimap/main.cpp index a30daa7a5bfe1..5daa6610a7afc 100644 --- a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/multimap/main.cpp +++ b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/multimap/main.cpp @@ -18,9 +18,12 @@ int thefoo_rw(int arg = 1) return g_the_foo; } -int main() // Set break point at this line. +int main() { - intint_map ii; + char buffer[sizeof(intint_map)] = {0}; + intint_map &corrupt_map = *(intint_map *)buffer; + + intint_map ii; // Set break point at this line. ii.emplace(0,0); // Set break point at this line. ii.emplace(1,1);