def readRegisters(self):
return '0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
+ @skipIfReproducer # Packet log is not populated during replay.
def test_connect(self):
"""Test connecting to a remote gdb server"""
target = self.createTarget("a.yaml")
None, 0, True, error)
self.assertEquals("'A' packet returned an error: 71", error.GetCString())
+ @skipIfReproducer # Packet log is not populated during replay.
def test_read_registers_using_g_packets(self):
"""Test reading registers using 'g' packets (default behavior)"""
self.dbg.HandleCommand(
"settings set plugin.process.gdb-remote.use-g-packet-for-reading true")
- self.addTearDownHook(lambda:
+ self.addTearDownHook(lambda:
self.runCmd("settings set plugin.process.gdb-remote.use-g-packet-for-reading false"))
self.server.responder = self.gPacketResponder()
target = self.createTarget("a.yaml")
self.assertEquals(
0, len([p for p in self.server.responder.packetLog if p.startswith("p")]))
+ @skipIfReproducer # Packet log is not populated during replay.
def test_read_registers_using_p_packets(self):
"""Test reading registers using 'p' packets"""
self.dbg.HandleCommand(
self.assertGreater(
len([p for p in self.server.responder.packetLog if p.startswith("p")]), 0)
+ @skipIfReproducer # Packet log is not populated during replay.
def test_write_registers_using_P_packets(self):
"""Test writing registers using 'P' packets (default behavior)"""
self.server.responder = self.gPacketResponder()
self.assertGreater(
len([p for p in self.server.responder.packetLog if p.startswith("P")]), 0)
+ @skipIfReproducer # Packet log is not populated during replay.
def test_write_registers_using_G_packets(self):
"""Test writing registers using 'G' packets"""
self.assertTrue(address.IsValid())
self.assertEqual(".data", address.GetSection().GetName())
+ @skipIfReproducer # Packet log is not populated during replay.
def test_ram_load(self):
"""Test loading an object file to a target's ram"""
target = self.createTarget("a.yaml")
])
@skipIfXmlSupportMissing
+ @skipIfReproducer # Packet log is not populated during replay.
def test_flash_load(self):
"""Test loading an object file to a target's flash memory"""
## the J-Link accepts a register write packet with just the GPRs
## defined.
def writeRegisters(self, registers_hex):
- # Check that lldb returns the full 704 hex-byte register context,
+ # Check that lldb returns the full 704 hex-byte register context,
# or the 136 hex-byte general purpose register reg ctx.
if len(registers_hex) != 704 and len(register_hex) != 136:
return "E06"
def qfThreadInfo(self):
return "mdead"
-
+
def qC(self):
return ""
err = msp_valobj.GetError()
self.assertTrue(err.Fail(), "lldb should not be able to fetch the msp register")
- val = b'\x11\x22\x33\x44'
- error = lldb.SBError()
- data = lldb.SBData()
- data.SetData(error, val, lldb.eByteOrderBig, 4)
- self.assertEqual(r1_valobj.SetData(data, error), True)
- self.assertTrue(error.Success())
-
- r1_valobj = process.GetThreadAtIndex(0).GetFrameAtIndex(0).FindRegister("r1")
- self.assertEqual(r1_valobj.GetValueAsUnsigned(), 0x11223344)
+ # Reproducers don't support SetData (yet) because it takes a void*.
+ if not configuration.is_reproducer():
+ val = b'\x11\x22\x33\x44'
+ error = lldb.SBError()
+ data = lldb.SBData()
+ data.SetData(error, val, lldb.eByteOrderBig, 4)
+ self.assertEqual(r1_valobj.SetData(data, error), True)
+ self.assertTrue(error.Success())
+
+ r1_valobj = process.GetThreadAtIndex(0).GetFrameAtIndex(0).FindRegister("r1")
+ self.assertEqual(r1_valobj.GetValueAsUnsigned(), 0x11223344)