[Lldb-commits] [lldb] [lldb-dap][NFC] Modernize events handling in tests (PR #181542)
Sergei Druzhkov via lldb-commits
lldb-commits at lists.llvm.org
Sun Feb 15 02:59:41 PST 2026
https://github.com/DrSergei created https://github.com/llvm/llvm-project/pull/181542
Migrated `initialized` and `memory` events to new style handling.
>From ccde76a857dff0d27278825e4197f0d1db5240bc Mon Sep 17 00:00:00 2001
From: Sergei Druzhkov <serzhdruzhok at gmail.com>
Date: Sat, 14 Feb 2026 16:07:51 +0300
Subject: [PATCH] [lldb-dap][NFC] Modernize events handling in tests
---
.../test/tools/lldb-dap/dap_server.py | 19 +++++++++------
.../test/tools/lldb-dap/lldbdap_testcase.py | 24 +++++--------------
2 files changed, 18 insertions(+), 25 deletions(-)
diff --git a/lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py b/lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
index fdccc9eae9fe4..e6e1f993fbfaa 100644
--- a/lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
+++ b/lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
@@ -287,10 +287,7 @@ def __init__(
self.terminated: bool = False
self.events: List[Event] = []
self.progress_events: List[Event] = []
- self.invalidated_event: Optional[Event] = None
- self.memory_event: Optional[Event] = None
self.reverse_requests: List[Request] = []
- self.module_events: List[Dict] = []
self.sequence: int = 1
self.output: Dict[str, str] = {}
self.reverse_process: Optional[subprocess.Popen] = None
@@ -555,10 +552,6 @@ def _handle_event(self, packet: Event) -> None:
elif event == "capabilities" and body:
# Update the capabilities with new ones from the event.
self.capabilities.update(body["capabilities"])
- elif event == "invalidated":
- self.invalidated_event = packet
- elif event == "memory":
- self.memory_event = packet
def _handle_reverse_request(self, request: Request) -> None:
if request in self.reverse_requests:
@@ -746,6 +739,18 @@ def wait_for_terminated(self):
raise ValueError("didn't get terminated event")
return event_dict
+ def wait_for_invalidated(self):
+ event_dict = self.wait_for_event(["invalidated"])
+ if event_dict is None:
+ raise ValueError("didn't get invalidated event")
+ return event_dict
+
+ def wait_for_memory(self):
+ event_dict = self.wait_for_event(["memory"])
+ if event_dict is None:
+ raise ValueError("didn't get memory event")
+ return event_dict
+
def get_capability(self, key: str):
"""Get a value for the given key if it there is a key/value pair in
the capabilities reported by the adapter.
diff --git a/lldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py b/lldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py
index f14742365e70e..44ae0cfa917a9 100644
--- a/lldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py
+++ b/lldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py
@@ -265,21 +265,6 @@ def verify_commands(self, flavor: str, output: str, commands: List[str]):
f"Command '{flavor}' - '{cmd}' not found in output: {output}",
)
- def verify_invalidated_event(self, expected_areas):
- event = self.dap_server.invalidated_event
- self.dap_server.invalidated_event = None
- self.assertIsNotNone(event)
- areas = event["body"].get("areas", [])
- self.assertEqual(set(expected_areas), set(areas))
-
- def verify_memory_event(self, memoryReference):
- if memoryReference is None:
- self.assertIsNone(self.dap_server.memory_event)
- event = self.dap_server.memory_event
- self.dap_server.memory_event = None
- self.assertIsNotNone(event)
- self.assertEqual(memoryReference, event["body"].get("memoryReference"))
-
def get_dict_value(self, d: Mapping[str, Any], key_path: List[str]) -> Any:
"""Verify each key in the key_path array is in contained in each
dictionary within "d". Assert if any key isn't in the
@@ -380,8 +365,10 @@ def set_variable(self, varRef, name, value, id=None):
"""Set a variable."""
response = self.dap_server.request_setVariable(varRef, name, str(value), id=id)
if response["success"]:
- self.verify_invalidated_event(["variables"])
- self.verify_memory_event(response["body"].get("memoryReference"))
+ invalidated_event = self.dap_server.wait_for_invalidated()
+ self.assertEqual(invalidated_event["body"].get("areas"), ["variables"])
+ memory_event = self.dap_server.wait_for_memory()
+ self.assertEqual(memory_event["body"].get("memoryReference"), response["body"].get("memoryReference"))
return response
def set_local(self, name, value, id=None):
@@ -658,5 +645,6 @@ def writeMemory(self, memoryReference, data=None, offset=0, allowPartial=False):
memoryReference, encodedData, offset=offset, allowPartial=allowPartial
)
if response["success"]:
- self.verify_invalidated_event(["all"])
+ invalidated_event = self.dap_server.wait_for_invalidated()
+ self.assertEqual(invalidated_event["body"].get("areas"), ["all"])
return response
More information about the lldb-commits
mailing list