
This PR changes how we treat the launch sequence in lldb-dap. - Send the initialized event after we finish handling the initialize request, rather than after we finish attaching or launching. - Delay handling the launch and attach request until we have handled the configurationDone request. The latter is now largely a NO-OP and only exists to signal lldb-dap that it can handle the launch and attach requests. - Delay handling the initial threads requests until we have handled the launch or attach request. - Make all attaching and launching synchronous, including when we have attach or launch commands. This removes the need to synchronize between the request and event thread. Background: https://discourse.llvm.org/t/reliability-of-the-lldb-dap-tests/86125
25 lines
798 B
Python
25 lines
798 B
Python
"""
|
|
Test exception behavior in DAP with signal.
|
|
"""
|
|
|
|
from lldbsuite.test.decorators import *
|
|
from lldbsuite.test.lldbtest import *
|
|
import lldbdap_testcase
|
|
|
|
|
|
class TestDAP_exception(lldbdap_testcase.DAPTestCaseBase):
|
|
@skipIfWindows
|
|
def test_stopped_description(self):
|
|
"""
|
|
Test that exception description is shown correctly in stopped
|
|
event.
|
|
"""
|
|
program = self.getBuildArtifact("a.out")
|
|
self.build_and_launch(program)
|
|
|
|
self.assertTrue(self.verify_stop_exception_info("signal SIGABRT"))
|
|
exceptionInfo = self.get_exceptionInfo()
|
|
self.assertEqual(exceptionInfo["breakMode"], "always")
|
|
self.assertEqual(exceptionInfo["description"], "signal SIGABRT")
|
|
self.assertEqual(exceptionInfo["exceptionId"], "signal")
|