diff options
Diffstat (limited to 'packages/Python/lldbsuite/test/tools')
| -rw-r--r-- | packages/Python/lldbsuite/test/tools/lldb-mi/control/TestMiExec.py | 12 | 
1 files changed, 10 insertions, 2 deletions
| diff --git a/packages/Python/lldbsuite/test/tools/lldb-mi/control/TestMiExec.py b/packages/Python/lldbsuite/test/tools/lldb-mi/control/TestMiExec.py index b4e90c71721c2..4e03d557b7a9a 100644 --- a/packages/Python/lldbsuite/test/tools/lldb-mi/control/TestMiExec.py +++ b/packages/Python/lldbsuite/test/tools/lldb-mi/control/TestMiExec.py @@ -319,8 +319,16 @@ class MiExecTestCase(lldbmi_testcase.MiTestCaseBase):          # -exec-step can keep us in the g_MyFunction for gcc          self.runCmd("-exec-finish --frame 0")          self.expect("\^running") -        self.expect( -            "\*stopped,reason=\"end-stepping-range\".+?main\.cpp\",line=\"30\"") +        it = self.expect(["\*stopped,reason=\"end-stepping-range\".+?main\.cpp\",line=\"30\"", +                         "\*stopped,reason=\"end-stepping-range\".+?main\.cpp\",line=\"29\""]) + +        if it == 1: +            # Call to s_MyFunction may not follow immediately after g_MyFunction. +            # There might be some instructions in between to restore caller-saved registers. +            # We need to get past these instructions with a next to reach call to s_MyFunction. +            self.runCmd("-exec-next --thread 1") +            self.expect("\^running") +            self.expect("\*stopped,reason=\"end-stepping-range\".+?main\.cpp\",line=\"30\"")          # Test that -exec-step steps into s_MyFunction          # (and that --frame is optional) | 
