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