Author: slthakur Date: Wed Jan 13 05:22:56 2016 New Revision: 257587 URL: http://llvm.org/viewvc/llvm-project?rev=257587&view=rev Log: [LLDB][MIPS] Fix TestDisassembleRawData.py
Patch by Nitesh Jain. Summary: This patch adds check for the correctness of disassembling instruction for MIPS target. Reviewers: emaste, clayborg, ovyalov Subscribers: lldb-commits, mohit.bhakkad, sagar, bhushan, jaydeep Differential: http://reviews.llvm.org/D15915 Modified: lldb/trunk/packages/Python/lldbsuite/test/python_api/disassemble-raw-data/TestDisassembleRawData.py Modified: lldb/trunk/packages/Python/lldbsuite/test/python_api/disassemble-raw-data/TestDisassembleRawData.py URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/python_api/disassemble-raw-data/TestDisassembleRawData.py?rev=257587&r1=257586&r2=257587&view=diff ============================================================================== --- lldb/trunk/packages/Python/lldbsuite/test/python_api/disassemble-raw-data/TestDisassembleRawData.py (original) +++ lldb/trunk/packages/Python/lldbsuite/test/python_api/disassemble-raw-data/TestDisassembleRawData.py Wed Jan 13 05:22:56 2016 @@ -21,11 +21,18 @@ class DisassembleRawDataTestCase(TestBas def test_disassemble_raw_data(self): """Test disassembling raw bytes with the API.""" # Create a target from the debugger. - target = self.dbg.CreateTargetWithFileAndTargetTriple ("", "x86_64") + arch = self.getArchitecture() + if re.match("mips*el",arch): + target = self.dbg.CreateTargetWithFileAndTargetTriple ("", "mipsel") + raw_bytes = bytearray([0x21,0xf0, 0xa0, 0x03]) + elif re.match("mips",arch): + target = self.dbg.CreateTargetWithFileAndTargetTriple ("", "mips") + raw_bytes = bytearray([0x03,0xa0, 0xf0, 0x21]) + else: + target = self.dbg.CreateTargetWithFileAndTargetTriple ("", "x86_64") + raw_bytes = bytearray([0x48, 0x89, 0xe5]) + self.assertTrue(target, VALID_TARGET) - - raw_bytes = bytearray([0x48, 0x89, 0xe5]) - insts = target.GetInstructions(lldb.SBAddress(0, target), raw_bytes) inst = insts.GetInstructionAtIndex(0) @@ -34,6 +41,9 @@ class DisassembleRawDataTestCase(TestBas print() print("Raw bytes: ", [hex(x) for x in raw_bytes]) print("Disassembled%s" % str(inst)) - - self.assertTrue (inst.GetMnemonic(target) == "movq") - self.assertTrue (inst.GetOperands(target) == '%' + "rsp, " + '%' + "rbp") + if re.match("mips",arch): + self.assertTrue (inst.GetMnemonic(target) == "move") + self.assertTrue (inst.GetOperands(target) == '$' + "fp, " + '$' + "sp") + else: + self.assertTrue (inst.GetMnemonic(target) == "movq") + self.assertTrue (inst.GetOperands(target) == '%' + "rsp, " + '%' + "rbp") _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits