diff --git a/lldb/test/API/functionalities/gdb_remote_client/TestGDBRemoteClient.py b/lldb/test/API/functionalities/gdb_remote_client/TestGDBRemoteClient.py index 0fe3d6290f42f5..053183b5b5b743 100644 --- a/lldb/test/API/functionalities/gdb_remote_client/TestGDBRemoteClient.py +++ b/lldb/test/API/functionalities/gdb_remote_client/TestGDBRemoteClient.py @@ -11,6 +11,7 @@ class gPacketResponder(MockGDBServerResponder): 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") @@ -68,11 +69,12 @@ def A(self, packet): 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") @@ -85,6 +87,7 @@ def test_read_registers_using_g_packets(self): 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( @@ -97,6 +100,7 @@ def test_read_registers_using_p_packets(self): 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() @@ -109,6 +113,7 @@ def test_write_registers_using_P_packets(self): 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""" diff --git a/lldb/test/API/functionalities/gdb_remote_client/TestGDBRemoteLoad.py b/lldb/test/API/functionalities/gdb_remote_client/TestGDBRemoteLoad.py index 59a11d45737cbb..f8cff3900f4bad 100644 --- a/lldb/test/API/functionalities/gdb_remote_client/TestGDBRemoteLoad.py +++ b/lldb/test/API/functionalities/gdb_remote_client/TestGDBRemoteLoad.py @@ -17,6 +17,7 @@ def test_module_load_address(self): 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") @@ -28,6 +29,7 @@ def test_ram_load(self): ]) @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""" diff --git a/lldb/test/API/functionalities/gdb_remote_client/TestJLink6Armv7RegisterDefinition.py b/lldb/test/API/functionalities/gdb_remote_client/TestJLink6Armv7RegisterDefinition.py index f0113fd9908b65..754ed44ce8d81c 100644 --- a/lldb/test/API/functionalities/gdb_remote_client/TestJLink6Armv7RegisterDefinition.py +++ b/lldb/test/API/functionalities/gdb_remote_client/TestJLink6Armv7RegisterDefinition.py @@ -126,7 +126,7 @@ def readRegisters(self): ## 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" @@ -141,7 +141,7 @@ def haltReason(self): def qfThreadInfo(self): return "mdead" - + def qC(self): return "" @@ -184,13 +184,15 @@ def QListThreadsInStopReply(self): 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)