summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test/functionalities
diff options
context:
space:
mode:
authorMed Ismail Bennani <medismail.bennani@gmail.com>2019-04-01 19:08:47 +0000
committerMed Ismail Bennani <medismail.bennani@gmail.com>2019-04-01 19:08:47 +0000
commit62bcf736834247905166c4755aa7e71768ac3a1c (patch)
tree19006cadc28facfff4cbcdc53cc6ba72e7899980 /lldb/packages/Python/lldbsuite/test/functionalities
parent4307172b8413fd40a63cd9adf54973e641a891ba (diff)
downloadbcm5719-llvm-62bcf736834247905166c4755aa7e71768ac3a1c.tar.gz
bcm5719-llvm-62bcf736834247905166c4755aa7e71768ac3a1c.zip
[Process] Fix WriteMemory return value
Summary: In case of a breakpoint site overlapping with the destination address, the WriteMemory method reported an incorrect memory size. Instead of returning the right amount of bytes written, it falls through the scope and returned 0. Signed-off-by: Med Ismail Bennani <medismail.bennani@gmail.com> Reviewers: jasonmolenda, friss, jingham Subscribers: JDevlieghere, davide, lldb-commits, #lldb Tags: #lldb Differential Revision: https://reviews.llvm.org/D60022 llvm-svn: 357420
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/functionalities')
-rw-r--r--lldb/packages/Python/lldbsuite/test/functionalities/gdb_remote_client/TestWriteMemory.py29
1 files changed, 29 insertions, 0 deletions
diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/gdb_remote_client/TestWriteMemory.py b/lldb/packages/Python/lldbsuite/test/functionalities/gdb_remote_client/TestWriteMemory.py
new file mode 100644
index 00000000000..812dbf7aa8e
--- /dev/null
+++ b/lldb/packages/Python/lldbsuite/test/functionalities/gdb_remote_client/TestWriteMemory.py
@@ -0,0 +1,29 @@
+from __future__ import print_function
+import lldb
+from lldbsuite.test.lldbtest import *
+from lldbsuite.test.decorators import *
+from gdbclientutils import *
+
+
+class TestWriteMemory(GDBRemoteTestBase):
+
+ def test(self):
+
+ class MyResponder(MockGDBServerResponder):
+ def setBreakpoint(self, packet):
+ return "OK"
+
+ self.server.responder = MyResponder()
+ target = self.dbg.CreateTarget('')
+ process = self.connect(target)
+
+ bp = target.BreakpointCreateByAddress(0x1000)
+ self.assertTrue(bp.IsValid())
+ self.assertEqual(bp.GetNumLocations(), 1)
+ bp.SetEnabled(True)
+ self.assertTrue(bp.IsEnabled())
+
+ err = lldb.SBError()
+ data = str("\x01\x02\x03\x04")
+ result = process.WriteMemory(0x1000, data, err)
+ self.assertEqual(result, 4)
OpenPOWER on IntegriCloud