blob: d6e80d8e1d53eefae5b8a7051477f09ce70512f7 [file]
"""
Test lldb-dap unknown request.
"""
from dataclasses import dataclass
from typing import Optional
from lldbsuite.test.tools.lldb_dap import DAPTestCaseBase
from lldbsuite.test.tools.lldb_dap.types import EmptyBodyResponse, LaunchArgs
@dataclass(frozen=True)
class UnknownArgs:
foo: Optional[str] = None
id: Optional[int] = None
command_ = "unknown"
response_class_ = EmptyBodyResponse
class TestDAP_unknown_request(DAPTestCaseBase):
"""
Tests handling of unknown request.
"""
def test(self):
session = self.build_and_create_session()
program = self.getBuildArtifact("a.out")
process_event = session.launch(LaunchArgs(program, stopOnEntry=True))
session.verify_stopped_on_entry(after=process_event)
# Test without arguments.
unknown_args = UnknownArgs()
response = session.send_request(unknown_args).error()
resp_body = self.expect_not_none(response.body)
resp_error = self.expect_not_none(resp_body.error)
self.assertEqual(resp_error.format, "unknown request")
# Test with arguments.
unknown_args = UnknownArgs(foo="bar", id=42)
response = session.send_request(unknown_args).error()
resp_body = self.expect_not_none(response.body)
resp_error = self.expect_not_none(resp_body.error)
self.assertEqual(resp_error.format, "unknown request")
session.continue_to_exit()