199451b44SJordan Rupprechtimport lldb 299451b44SJordan Rupprechtfrom lldbsuite.test.lldbtest import * 399451b44SJordan Rupprechtfrom lldbsuite.test.decorators import * 433c0f93fSPavel Labathfrom lldbsuite.test.gdbclientutils import * 533c0f93fSPavel Labathfrom lldbsuite.test.lldbgdbclient import GDBRemoteTestBase 699451b44SJordan Rupprecht 7*2238dcc3SJonas Devlieghere 899451b44SJordan Rupprechtclass TestWriteMemory(GDBRemoteTestBase): 999451b44SJordan Rupprecht def test(self): 1099451b44SJordan Rupprecht class MyResponder(MockGDBServerResponder): 1199451b44SJordan Rupprecht def setBreakpoint(self, packet): 1299451b44SJordan Rupprecht return "OK" 1399451b44SJordan Rupprecht 1499451b44SJordan Rupprecht self.server.responder = MyResponder() 15*2238dcc3SJonas Devlieghere target = self.dbg.CreateTargetWithFileAndTargetTriple("", "x86_64-pc-linux") 1699451b44SJordan Rupprecht process = self.connect(target) 1799451b44SJordan Rupprecht 1899451b44SJordan Rupprecht bp = target.BreakpointCreateByAddress(0x1000) 1999451b44SJordan Rupprecht self.assertTrue(bp.IsValid()) 2099451b44SJordan Rupprecht self.assertEqual(bp.GetNumLocations(), 1) 2199451b44SJordan Rupprecht bp.SetEnabled(True) 2299451b44SJordan Rupprecht self.assertTrue(bp.IsEnabled()) 2399451b44SJordan Rupprecht 2499451b44SJordan Rupprecht err = lldb.SBError() 2599451b44SJordan Rupprecht data = str("\x01\x02\x03\x04") 2699451b44SJordan Rupprecht result = process.WriteMemory(0x1000, data, err) 2799451b44SJordan Rupprecht self.assertEqual(result, 4) 28