[Lldb-commits] [lldb] 0cb748b - [lldb][test] Refactor no target XML test
David Spickett via lldb-commits
lldb-commits at lists.llvm.org
Thu Jun 27 03:40:16 PDT 2024
Author: David Spickett
Date: 2024-06-27T10:39:56Z
New Revision: 0cb748b9ba7cea72bee1bcf7c94f26c646053bb1
URL: https://github.com/llvm/llvm-project/commit/0cb748b9ba7cea72bee1bcf7c94f26c646053bb1
DIFF: https://github.com/llvm/llvm-project/commit/0cb748b9ba7cea72bee1bcf7c94f26c646053bb1.diff
LOG: [lldb][test] Refactor no target XML test
To make it more easy to check a bug later.
Added:
Modified:
lldb/test/API/functionalities/gdb_remote_client/TestGDBServerNoTargetXML.py
Removed:
################################################################################
diff --git a/lldb/test/API/functionalities/gdb_remote_client/TestGDBServerNoTargetXML.py b/lldb/test/API/functionalities/gdb_remote_client/TestGDBServerNoTargetXML.py
index 5f6ed7d537af1..8c5bad007f569 100644
--- a/lldb/test/API/functionalities/gdb_remote_client/TestGDBServerNoTargetXML.py
+++ b/lldb/test/API/functionalities/gdb_remote_client/TestGDBServerNoTargetXML.py
@@ -1,3 +1,12 @@
+"""
+Check that lldb falls back to default register layouts when the remote provides
+no target XML.
+
+GPRS are passed to the responder to create register data to send back to lldb.
+Registers in SUPPL are virtual registers based on those general ones. The tests
+pass __file__ to FileCheck so any prefixes in this Python file will be checked.
+"""
+
import lldb
from lldbsuite.test.lldbtest import *
from lldbsuite.test.decorators import *
@@ -6,14 +15,29 @@
import binascii
-
-class TestGDBServerTargetXML(GDBRemoteTestBase):
+class MyResponder(MockGDBServerResponder):
@staticmethod
def filecheck_to_blob(fc):
for l in fc.strip().splitlines():
val = l.split("0x")[1]
yield binascii.b2a_hex(bytes(reversed(binascii.a2b_hex(val)))).decode()
+ def __init__(self, reg_data, halt_reason):
+ super().__init__()
+ self.reg_data = "".join(self.filecheck_to_blob(reg_data))
+ self.halt_reason = halt_reason
+
+ def readRegister(self, regnum):
+ return ""
+
+ def readRegisters(self):
+ return self.reg_data
+
+ def haltReason(self):
+ return self.halt_reason
+
+
+class TestGDBServerTargetXML(GDBRemoteTestBase):
@skipIfRemote
@skipIfLLVMTargetMissing("X86")
def test_x86_64_regs(self):
@@ -100,19 +124,10 @@ def test_x86_64_regs(self):
CHECK-AMD64-DAG: r15l = 0xf1
"""
- class MyResponder(MockGDBServerResponder):
- reg_data = "".join(self.filecheck_to_blob(GPRS))
-
- def readRegister(self, regnum):
- return ""
-
- def readRegisters(self):
- return self.reg_data
-
- def haltReason(self):
- return "T02thread:1ff0d;threads:1ff0d;thread-pcs:000000010001bc00;07:0102030405060708;10:1112131415161718;"
-
- self.server.responder = MyResponder()
+ self.server.responder = MyResponder(
+ GPRS,
+ "T02thread:1ff0d;threads:1ff0d;thread-pcs:000000010001bc00;07:0102030405060708;10:1112131415161718;",
+ )
target = self.createTarget("basic_eh_frame.yaml")
process = self.connect(target)
@@ -216,19 +231,10 @@ def test_aarch64_regs(self):
CHECK-AARCH64-DAG: w31 = 0x23242526
"""
- class MyResponder(MockGDBServerResponder):
- reg_data = "".join(self.filecheck_to_blob(GPRS))
-
- def readRegister(self, regnum):
- return ""
-
- def readRegisters(self):
- return self.reg_data
-
- def haltReason(self):
- return "T02thread:1ff0d;threads:1ff0d;thread-pcs:000000010001bc00;07:0102030405060708;10:1112131415161718;"
-
- self.server.responder = MyResponder()
+ self.server.responder = MyResponder(
+ GPRS,
+ "T02thread:1ff0d;threads:1ff0d;thread-pcs:000000010001bc00;07:0102030405060708;10:1112131415161718;",
+ )
target = self.createTarget("basic_eh_frame-aarch64.yaml")
process = self.connect(target)
@@ -300,19 +306,10 @@ def test_i386_regs(self):
CHECK-I386-DAG: dil = 0x71
"""
- class MyResponder(MockGDBServerResponder):
- reg_data = "".join(self.filecheck_to_blob(GPRS))
-
- def readRegister(self, regnum):
- return ""
-
- def readRegisters(self):
- return self.reg_data
-
- def haltReason(self):
- return "T02thread:1ff0d;threads:1ff0d;thread-pcs:000000010001bc00;07:0102030405060708;10:1112131415161718;"
-
- self.server.responder = MyResponder()
+ self.server.responder = MyResponder(
+ GPRS,
+ "T02thread:1ff0d;threads:1ff0d;thread-pcs:000000010001bc00;07:0102030405060708;10:1112131415161718;",
+ )
target = self.createTarget("basic_eh_frame-i386.yaml")
process = self.connect(target)
More information about the lldb-commits
mailing list