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.
28 lines
853 B
Python
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"]
|
|
)
|