forked from OSchip/llvm-project
[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
This commit is contained in:
parent
247a1a55eb
commit
7c8ae65f2c
|
@ -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 @@ class MockGDBServer:
|
|||
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:
|
||||
|
|
|
@ -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):
|
||||
|
|
Loading…
Reference in New Issue