[Lldb-commits] [PATCH] D133395: [lldb] Update regex to be less fragile in TestDataFormatterGenericUnordered

Dave Lee via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Tue Sep 6 19:41:02 PDT 2022


kastiglione created this revision.
kastiglione added reviewers: mib, rupprecht, jingham.
Herald added a project: All.
kastiglione requested review of this revision.
Herald added a project: LLDB.
Herald added a subscriber: lldb-commits.

Follow up to D129386 <https://reviews.llvm.org/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


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D133395

Files:
  lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/unordered/TestDataFormatterGenericUnordered.py


Index: lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/unordered/TestDataFormatterGenericUnordered.py
===================================================================
--- lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/unordered/TestDataFormatterGenericUnordered.py
+++ lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/unordered/TestDataFormatterGenericUnordered.py
@@ -36,6 +36,9 @@
             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 @@
             "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"'])
 


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D133395.458348.patch
Type: text/x-patch
Size: 1786 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20220907/9d2a65b3/attachment.bin>


More information about the lldb-commits mailing list