xref: /llvm-project/lldb/test/API/functionalities/gdb_remote_client/TestGDBRemoteDiskFileCompletion.py (revision 3cd8d7b1727f06a701f41764c1109e5d321284b3)
1from gdbclientutils import *
2
3class TestGDBRemoteDiskFileCompletion(GDBRemoteTestBase):
4
5    def test_autocomplete_request(self):
6        """Test remote disk completion on remote-gdb-server plugin"""
7
8        class Responder(MockGDBServerResponder):
9            def qPathComplete(self):
10                return "M{},{}".format(
11                    "test".encode().hex(),
12                    "123".encode().hex()
13                )
14
15        self.server.responder = Responder()
16
17        try:
18            self.runCmd("platform select remote-gdb-server")
19            self.runCmd("platform connect connect://localhost:%d" %
20                        self.server.port)
21            self.assertTrue(self.dbg.GetSelectedPlatform().IsConnected())
22
23            self.complete_from_to('platform get-size ', ['test', '123'])
24            self.complete_from_to('platform get-file ', ['test', '123'])
25            self.complete_from_to('platform put-file foo ', ['test', '123'])
26            self.complete_from_to('platform file open ', ['test', '123'])
27            self.complete_from_to('platform settings -w ', ['test', '123'])
28        finally:
29            self.dbg.GetSelectedPlatform().DisconnectRemote()
30