blob: deeab23d3ec56a55f327aada3a3620a99393659e [file]
"""
Test lldb-dap launch request.
"""
from lldbsuite.test.decorators import expectedFailureWindows
from lldbsuite.test import lldbplatformutil
import lldbdap_testcase
import os
class TestDAP_launch_debuggerRoot(lldbdap_testcase.DAPTestCaseBase):
"""
Tests the "debuggerRoot" will change the working directory of
the lldb-dap debug adapter.
"""
def test(self):
program = self.getBuildArtifact("a.out")
program_parent_dir = os.path.realpath(os.path.dirname(os.path.dirname(program)))
var = "%cd%" if lldbplatformutil.getHostPlatform() == "windows" else "$PWD"
commands = [f"platform shell echo cwd = {var}"]
self.build_and_launch(
program, debuggerRoot=program_parent_dir, initCommands=commands
)
self.continue_to_exit()
output = self.get_console()
self.assertTrue(output and len(output) > 0, "expect console output")
lines = output.splitlines()
prefix = "cwd = "
found = False
for line in lines:
if line.startswith(prefix):
found = True
self.assertEqual(
program_parent_dir,
line.strip()[len(prefix) :],
"lldb-dap working dir '%s' == '%s'"
% (program_parent_dir, line[len(prefix) :]),
)
self.assertTrue(found, "verified lldb-dap working directory")