================
@@ -0,0 +1,82 @@
+import io
+import json
+from typing import List
+
+from lldbsuite.test.tools.lldb_dap.dap_types import RawMessage
+from lldbsuite.test.tools.lldb_dap.lldb_dap_testcase import DAPTestCaseBase
+from lldbsuite.test.tools.lldb_dap.utils import DAPConnection, MessageHandler, 
Transport
+
+
+class EchoClient:
+    def __init__(self):
+        self.seen_messages: List[RawMessage] = []
+
+    def on_message(self, msg: RawMessage):
+        self.seen_messages.append(msg)
+
+
+class TestDAPUtils_DAPConnection(DAPTestCaseBase):
+    def test_round_trip(self):
+        received_messages = self.get_sample_dap_log()
+        transport = self.create_transport(received_messages)
+        connection = DAPConnection("conn0", transport)
+
+        client = EchoClient()
+        handler = MessageHandler(
+            on_event=client.on_message,
+            on_response=client.on_message,
+            on_reverse_request=client.on_message,
+        )
+        connection.start(handler)
+        expected_messages = client.seen_messages
+        self.assertEqual(len(received_messages), len(expected_messages))
+        for actual, expected in zip(received_messages, expected_messages):
+            self.assertEqual(actual, expected)
----------------
DrSergei wrote:

>From my understanding `received_messages` should be `expected_messages ` and 
>vice versa, WDYT?

https://github.com/llvm/llvm-project/pull/207037
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to