From: Dave Lee Date: Fri, 11 Nov 2022 19:07:37 +0000 (-0800) Subject: [lldb] Update regex to be less fragile in TestDataFormatterGenericUnordered X-Git-Tag: upstream/17.0.6~27911 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=8f121a3f18f7cc9dac08b7fb43ed7deec6adf583;p=platform%2Fupstream%2Fllvm.git [lldb] Update regex to be less fragile in TestDataFormatterGenericUnordered Follow up to D129386 where libc++ naming conventions were made consistent. This changes the pattern to not rely on the internal name (`__cc` or `__cc_`), and instead uses a pattern to check that the child has the form: ``` [0] = { first = ... ``` Thanks to @rupprecht for pointing out this issue: https://reviews.llvm.org/D133259#3773120 Reviewed By: rupprecht Differential Revision: https://reviews.llvm.org/D133395 --- diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/unordered/TestDataFormatterGenericUnordered.py b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/unordered/TestDataFormatterGenericUnordered.py index 7730e78..0f6ea01 100644 --- a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/unordered/TestDataFormatterGenericUnordered.py +++ b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/unordered/TestDataFormatterGenericUnordered.py @@ -36,6 +36,9 @@ class GenericUnorderedDataFormatterTestCase(TestBase): self.runCmd( "settings set target.max-children-count 256", check=False) + self.runCmd( + 'settings set auto-one-line-summaries true', + check=False) # Execute the cleanup function during test case tear down. self.addTearDownHook(cleanup) @@ -47,16 +50,19 @@ class GenericUnorderedDataFormatterTestCase(TestBase): "corrupt_map", ['%s::unordered_map' % ns, 'size=0 {}']) - must_not_contain__cc = r'(?s)^(?!.*\b__cc = )' + # Ensure key/value children, not wrapped in a layer. + # This regex depends on auto-one-line-summaries. + self.runCmd('settings set auto-one-line-summaries false') + children_are_key_value = r'\[0\] = \{\s*first = ' self.look_for_content_and_continue( "map", ['%s::unordered_map' % ns, - must_not_contain__cc, + children_are_key_value, 'size=5 {', 'hello', 'world', 'this', 'is', 'me']) self.look_for_content_and_continue( "mmap", ['%s::unordered_multimap' % ns, - must_not_contain__cc, + children_are_key_value, 'size=6 {', 'first = 3', 'second = "this"', 'first = 2', 'second = "hello"'])