Index: lldb/packages/Python/lldbsuite/test/functionalities/mtc/simple/TestMTCSimple.py =================================================================== --- lldb/packages/Python/lldbsuite/test/functionalities/mtc/simple/TestMTCSimple.py +++ lldb/packages/Python/lldbsuite/test/functionalities/mtc/simple/TestMTCSimple.py @@ -46,7 +46,7 @@ self.expect( "thread info -s", - substrs=["instrumentation_class", "api_name", "class_name", "selector", "description"]) + substrs=["api_name", "class_name", "description", "instrumentation_class", "selector"]) self.assertEqual(thread.GetStopReason(), lldb.eStopReasonInstrumentation) output_lines = self.res.GetOutput().split('\n') json_line = '\n'.join(output_lines[2:]) Index: lldb/packages/Python/lldbsuite/test/lldbtest.py =================================================================== --- lldb/packages/Python/lldbsuite/test/lldbtest.py +++ lldb/packages/Python/lldbsuite/test/lldbtest.py @@ -2261,6 +2261,7 @@ substrs=None, trace=False, error=False, + ordered=True, matching=True, exe=True, inHistory=False): @@ -2341,8 +2342,12 @@ # Look for sub strings, if specified. keepgoing = matched if matching else not matched if substrs and keepgoing: + start = 0 for substr in substrs: - matched = output.find(substr) != -1 + index = output[start:].find(substr) + print("Looking for %s in %s" % (substr, output[start:])) + start = start + index if ordered and matching else 0 + matched = index != -1 with recording(self, trace) as sbuf: print("%s sub string: %s" % (heading, substr), file=sbuf) print("Matched" if matched else "Not matched", file=sbuf)