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