diff options
author | Nitesh Jain <nitesh.jain@imgtec.com> | 2017-02-08 07:42:56 +0000 |
---|---|---|
committer | Nitesh Jain <nitesh.jain@imgtec.com> | 2017-02-08 07:42:56 +0000 |
commit | 8493e6a88983ba6ef29cf249a7ac0e497aef6c4c (patch) | |
tree | 659e2d85f61f2a09334573c15f2791a1ec4a0614 /lldb/packages/Python/lldbsuite/test/tools | |
parent | a2e54b632e27bf20cfb9c220d7c379320d49e67d (diff) | |
download | bcm5719-llvm-8493e6a88983ba6ef29cf249a7ac0e497aef6c4c.tar.gz bcm5719-llvm-8493e6a88983ba6ef29cf249a7ac0e497aef6c4c.zip |
[LLDB][MIPS] Fix TestMiExec and TestMiData failures
Subscribers: jaydeep, bhushan, lldb-commits, slthakur
llvm-svn: 294418
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 |