1import lldb 2from lldbsuite.test.lldbtest import * 3from lldbsuite.test.decorators import * 4from gdbclientutils import * 5 6 7class TestWriteMemory(GDBRemoteTestBase): 8 9 @skipIfReproducer # SBProcess::WriteMemory is not instrumented. 10 def test(self): 11 12 class MyResponder(MockGDBServerResponder): 13 def setBreakpoint(self, packet): 14 return "OK" 15 16 self.server.responder = MyResponder() 17 target = self.dbg.CreateTargetWithFileAndTargetTriple('', 'x86_64-pc-linux') 18 process = self.connect(target) 19 20 bp = target.BreakpointCreateByAddress(0x1000) 21 self.assertTrue(bp.IsValid()) 22 self.assertEqual(bp.GetNumLocations(), 1) 23 bp.SetEnabled(True) 24 self.assertTrue(bp.IsEnabled()) 25 26 err = lldb.SBError() 27 data = str("\x01\x02\x03\x04") 28 result = process.WriteMemory(0x1000, data, err) 29 self.assertEqual(result, 4) 30