Files
clang-p2996/lldb/test/API/functionalities/gdb_remote_client/TestPty.py
Michał Górny 8fa2394bad [lldb] Add a gdb_remote_client test for connecting to pty
Add a minimal mock server utilizing a pty, and add a client test
connecting to that server.

Differential Revision: https://reviews.llvm.org/D110878
2021-10-01 14:31:40 +02:00

36 lines
1.4 KiB
Python

import lldb
from lldbsuite.test.lldbtest import *
from lldbsuite.test.decorators import *
from gdbclientutils import *
@skipIfWindows
class TestPty(GDBRemoteTestBase):
mydir = TestBase.compute_mydir(__file__)
server_socket_class = PtyServerSocket
def test_process_connect_sync(self):
"""Test the process connect command in synchronous mode"""
try:
self.dbg.SetAsync(False)
self.expect("platform select remote-gdb-server",
substrs=['Platform: remote-gdb-server', 'Connected: no'])
self.expect("process connect " + self.server.get_connect_url(),
substrs=['Process', 'stopped'])
finally:
self.dbg.GetSelectedPlatform().DisconnectRemote()
def test_process_connect_async(self):
"""Test the process connect command in asynchronous mode"""
try:
self.dbg.SetAsync(True)
self.expect("platform select remote-gdb-server",
substrs=['Platform: remote-gdb-server', 'Connected: no'])
self.expect("process connect " + self.server.get_connect_url(),
matching=False,
substrs=['Process', 'stopped'])
lldbutil.expect_state_changes(self, self.dbg.GetListener(),
self.process(), [lldb.eStateStopped])
finally:
self.dbg.GetSelectedPlatform().DisconnectRemote()