[Lldb-commits] [lldb] 7c8ae65 - [lldb/test] Make it possible to run the mock gdb server on a single thread

Pavel Labath via lldb-commits lldb-commits at lists.llvm.org
Mon Nov 22 06:27:19 PST 2021


Author: Pavel Labath
Date: 2021-11-22T15:14:50+01:00
New Revision: 7c8ae65f2c3d5c1a6aba2f7ee7588f9f76f94f84

URL: https://github.com/llvm/llvm-project/commit/7c8ae65f2c3d5c1a6aba2f7ee7588f9f76f94f84
DIFF: https://github.com/llvm/llvm-project/commit/7c8ae65f2c3d5c1a6aba2f7ee7588f9f76f94f84.diff

LOG: [lldb/test] Make it possible to run the mock gdb server on a single thread

This is a preparatory commit to enable mocking of qemu startup. That
will involve running the mock server in a separate process, so there's
no need for multithreading.

Initialization is moved from the start function into the constructor
(which can then take an actual socket instead of a class), and the run
method is made public.

Depends on D114156.

Differential Revision: https://reviews.llvm.org/D114157

Added: 
    

Modified: 
    lldb/packages/Python/lldbsuite/test/gdbclientutils.py
    lldb/packages/Python/lldbsuite/test/lldbgdbclient.py

Removed: 
    


################################################################################
diff  --git a/lldb/packages/Python/lldbsuite/test/gdbclientutils.py b/lldb/packages/Python/lldbsuite/test/gdbclientutils.py
index 7fdf18e38b385..6b4650eda0735 100644
--- a/lldb/packages/Python/lldbsuite/test/gdbclientutils.py
+++ b/lldb/packages/Python/lldbsuite/test/gdbclientutils.py
@@ -461,18 +461,16 @@ class MockGDBServer:
     _receivedDataOffset = None
     _shouldSendAck = True
 
-    def __init__(self, socket_class):
-        self._socket_class = socket_class
+    def __init__(self, socket):
+        self._socket = socket
         self.responder = MockGDBServerResponder()
 
     def start(self):
-        self._socket = self._socket_class()
         # Start a thread that waits for a client connection.
-        self._thread = threading.Thread(target=self._run)
+        self._thread = threading.Thread(target=self.run)
         self._thread.start()
 
     def stop(self):
-        self._socket.close_server()
         self._thread.join()
         self._thread = None
 
@@ -482,7 +480,7 @@ def get_connect_address(self):
     def get_connect_url(self):
         return self._socket.get_connect_url()
 
-    def _run(self):
+    def run(self):
         # For testing purposes, we only need to worry about one client
         # connecting just one time.
         try:

diff  --git a/lldb/packages/Python/lldbsuite/test/lldbgdbclient.py b/lldb/packages/Python/lldbsuite/test/lldbgdbclient.py
index 28ccb1db95583..dd5b044dfc4d9 100644
--- a/lldb/packages/Python/lldbsuite/test/lldbgdbclient.py
+++ b/lldb/packages/Python/lldbsuite/test/lldbgdbclient.py
@@ -19,7 +19,7 @@ class GDBRemoteTestBase(TestBase):
 
     def setUp(self):
         TestBase.setUp(self)
-        self.server = MockGDBServer(socket_class=self.server_socket_class)
+        self.server = MockGDBServer(self.server_socket_class())
         self.server.start()
 
     def tearDown(self):


        


More information about the lldb-commits mailing list