Files
clang-p2996/lldb/test/API/functionalities/gdb_remote_client/TestGDBRemoteDiskFileCompletion.py
Gongyu Deng 3cd8d7b172 [lldb] Remote disk file/directory completion for platform commands
1. Extended the gdb-remote communication related classes with disk file/directory
   completion functions;
2. Added two common completion functions RemoteDiskFiles and
   RemoteDiskDirectories based on the functions above;
3. Added completion for these commands:
   A. platform get-file <remote-file> <local-file>;
   B. platform put-file <local-file> <remote-file>;
   C. platform get-size <remote-file>;
   D. platform settings -w <remote-dir>;
   E. platform open file <remote-file>.
4. Added related tests for client and server;
5. Updated docs/lldb-platform-packets.txt.

Reviewed By: labath

Differential Revision: https://reviews.llvm.org/D85284
2020-08-24 17:55:54 +02:00

30 lines
1.2 KiB
Python

from gdbclientutils import *
class TestGDBRemoteDiskFileCompletion(GDBRemoteTestBase):
def test_autocomplete_request(self):
"""Test remote disk completion on remote-gdb-server plugin"""
class Responder(MockGDBServerResponder):
def qPathComplete(self):
return "M{},{}".format(
"test".encode().hex(),
"123".encode().hex()
)
self.server.responder = Responder()
try:
self.runCmd("platform select remote-gdb-server")
self.runCmd("platform connect connect://localhost:%d" %
self.server.port)
self.assertTrue(self.dbg.GetSelectedPlatform().IsConnected())
self.complete_from_to('platform get-size ', ['test', '123'])
self.complete_from_to('platform get-file ', ['test', '123'])
self.complete_from_to('platform put-file foo ', ['test', '123'])
self.complete_from_to('platform file open ', ['test', '123'])
self.complete_from_to('platform settings -w ', ['test', '123'])
finally:
self.dbg.GetSelectedPlatform().DisconnectRemote()