diff options
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/tools')
-rw-r--r-- | lldb/packages/Python/lldbsuite/test/tools/lldb-mi/control/TestMiExec.py | 14 | ||||
-rw-r--r-- | lldb/packages/Python/lldbsuite/test/tools/lldb-mi/data/TestMiData.py | 8 |
2 files changed, 19 insertions, 3 deletions
diff --git a/lldb/packages/Python/lldbsuite/test/tools/lldb-mi/control/TestMiExec.py b/lldb/packages/Python/lldbsuite/test/tools/lldb-mi/control/TestMiExec.py index 2c0de4238c3..b4e90c71721 100644 --- a/lldb/packages/Python/lldbsuite/test/tools/lldb-mi/control/TestMiExec.py +++ b/lldb/packages/Python/lldbsuite/test/tools/lldb-mi/control/TestMiExec.py @@ -260,7 +260,7 @@ class MiExecTestCase(lldbmi_testcase.MiTestCaseBase): self.expect("\^running") # Depending on compiler, it can stop at different line self.expect( - "\*stopped,reason=\"end-stepping-range\".+?main\.cpp\",line=\"(29|30|31)\"") + "\*stopped,reason=\"end-stepping-range\".+?main\.cpp\",line=\"(28|29|30|31)\"") # Test that an invalid --thread is handled self.runCmd("-exec-next-instruction --thread 0") @@ -382,7 +382,17 @@ class MiExecTestCase(lldbmi_testcase.MiTestCaseBase): # Test that -exec-step-instruction steps into g_MyFunction # instruction (and that --thread is optional) - self.runCmd("-exec-step-instruction --frame 0") + + # In case of MIPS, there might be more than one instruction + # before actual call instruction (like load, move and call instructions). + # The -exec-step-instruction would step one assembly instruction. + # Thus we may not enter into g_MyFunction function. The -exec-step would definitely + # step into the function. + + if self.isMIPS(): + self.runCmd("-exec-step --frame 0") + else: + self.runCmd("-exec-step-instruction --frame 0") self.expect("\^running") self.expect( "\*stopped,reason=\"end-stepping-range\".+?func=\"g_MyFunction.*?\"") diff --git a/lldb/packages/Python/lldbsuite/test/tools/lldb-mi/data/TestMiData.py b/lldb/packages/Python/lldbsuite/test/tools/lldb-mi/data/TestMiData.py index 7281ae305db..0b521812384 100644 --- a/lldb/packages/Python/lldbsuite/test/tools/lldb-mi/data/TestMiData.py +++ b/lldb/packages/Python/lldbsuite/test/tools/lldb-mi/data/TestMiData.py @@ -77,7 +77,13 @@ class MiDataTestCase(lldbmi_testcase.MiTestCaseBase): # Linux: {address="0x0000000000400642",func-name="hello_world()",offset="18",size="5",inst="callq 0x4004d0; symbol stub for: printf"} # To match the escaped characters in the ouptut, we must use four backslashes per matches backslash # See https://docs.python.org/2/howto/regex.html#the-backslash-plague - self.expect(["{address=\"0x[0-9a-f]+\",func-name=\"hello_world\(\)\",offset=\"[0-9]+\",size=\"[0-9]+\",inst=\".+?; \\\\\"Hello, World!\\\\\\\\n\\\\\"\"}", + + # The MIPS disassembler never prints stub name + if self.isMIPS(): + self.expect(["{address=\"0x[0-9a-f]+\",func-name=\"hello_world\(\)\",offset=\"[0-9]+\",size=\"[0-9]+\",inst=\".+?; \\\\\"Hello, World!\\\\\\\\n\\\\\"\"}", + "{address=\"0x[0-9a-f]+\",func-name=\"hello_world\(\)\",offset=\"[0-9]+\",size=\"[0-9]+\",inst=\".+?\"}"]) + else: + self.expect(["{address=\"0x[0-9a-f]+\",func-name=\"hello_world\(\)\",offset=\"[0-9]+\",size=\"[0-9]+\",inst=\".+?; \\\\\"Hello, World!\\\\\\\\n\\\\\"\"}", "{address=\"0x[0-9a-f]+\",func-name=\"hello_world\(\)\",offset=\"[0-9]+\",size=\"[0-9]+\",inst=\".+?; symbol stub for: printf\"}"]) @skipIfWindows # llvm.org/pr24452: Get lldb-mi tests working on Windows |