Files
clang-p2996/lldb/test/API/functionalities/data-formatter/root-reference-children/TestRootReferenceChildren.py
Dave Lee 6d2b8285b3 [lldb] Support ordered patterns in lldbtest.expect (#131475)
Change `lldbtest.expect` to require the regexes in `patterns` be found in order – when the
`ordered` parameter is true. This matches the behavior of `substrs`.

The `ordered` parameter is true by default, so this change also fixes tests by either
tweaking the patterns to work in order, or by setting `ordered=False`.

I have often wanted to test with `patterns` and also verify the order. This change
allows that.
2025-03-17 14:30:39 -07:00

28 lines
853 B
Python

import lldb
from lldbsuite.test.decorators import *
from lldbsuite.test.lldbtest import *
from lldbsuite.test import lldbutil
class TestCase(TestBase):
def test(self):
self.build()
lldbutil.run_to_source_breakpoint(
self, "break here", lldb.SBFileSpec("main.cpp")
)
self.dbg.HandleCommand(
f"type summary add --expand -s 'some summary' SummaryAndChildren"
)
self.dbg.HandleCommand(f"type summary add -s 'some summary' SummaryOnly")
self.expect(
"v summary_and_children_ref", substrs=["some summary", "child = 30"]
)
self.expect(
"v summary_only_ref", patterns=["some summary", "(?s)(?!.*child = )"]
)
self.expect(
"v children_only_ref", patterns=["(?s)(?!.*some summary)", "child = 30"]
)