Rename lldb-vscode to lldb-dap. This change is largely mechanical. The following substitutions cover the majority of the changes in this commit: s/VSCODE/DAP/ s/VSCode/DAP/ s/vscode/dap/ s/g_vsc/g_dap/ Discourse RFC: https://discourse.llvm.org/t/rfc-rename-lldb-vscode-to-lldb-dap/74075/
43 lines
1.7 KiB
Python
43 lines
1.7 KiB
Python
"""
|
|
Test lldb-dap setBreakpoints request
|
|
"""
|
|
|
|
|
|
import dap_server
|
|
from lldbsuite.test.decorators import *
|
|
from lldbsuite.test.lldbtest import *
|
|
from lldbsuite.test import lldbutil
|
|
import lldbdap_testcase
|
|
|
|
|
|
class TestDAP_setExceptionBreakpoints(lldbdap_testcase.DAPTestCaseBase):
|
|
@skipIfWindows
|
|
@skipIfRemote
|
|
def test_functionality(self):
|
|
"""Tests setting and clearing exception breakpoints.
|
|
This packet is a bit tricky on the debug adaptor side since there
|
|
is no "clear exception breakpoints" packet. Exception breakpoints
|
|
are set by sending a "setExceptionBreakpoints" packet with zero or
|
|
more exception filters. If exception breakpoints have been set
|
|
before, any existing breakpoints must remain set, and any new
|
|
breakpoints must be created, and any breakpoints that were in
|
|
previous requests and are not in the current request must be
|
|
removed. This exception tests this setting and clearing and makes
|
|
sure things happen correctly. It doesn't test hitting breakpoints
|
|
and the functionality of each breakpoint, like 'conditions' and
|
|
x'hitCondition' settings.
|
|
"""
|
|
# Visual Studio Code Debug Adaptors have no way to specify the file
|
|
# without launching or attaching to a process, so we must start a
|
|
# process in order to be able to set breakpoints.
|
|
program = self.getBuildArtifact("a.out")
|
|
self.build_and_launch(program)
|
|
|
|
filters = ["cpp_throw", "cpp_catch"]
|
|
response = self.dap_server.request_setExceptionBreakpoints(filters)
|
|
if response:
|
|
self.assertTrue(response["success"])
|
|
|
|
self.continue_to_exception_breakpoint("C++ Throw")
|
|
self.continue_to_exception_breakpoint("C++ Catch")
|