`DAPTestCaseBase.get_stdout()` was originally not supported on Windows due to the lack of ConPTY support. https://github.com/llvm/llvm-project/pull/168729 fixed that by implenenting the ConPTY support. It was partly reverted in https://github.com/llvm/llvm-project/pull/177610 due to hard to reproduce test failures. The tests are now fixed (see the 2 patches below) and removing the check for `GetFlags().Test(lldb::eLaunchFlagLaunchInTTY);` is the last step to re-enabling ConPTY support. This patch requires: - https://github.com/llvm/llvm-project/pull/181811 - https://github.com/llvm/llvm-project/pull/181809 Fixes https://github.com/llvm/llvm-project/issues/137599. rdar://168932366
43 lines
1.4 KiB
Python
43 lines
1.4 KiB
Python
"""
|
|
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")
|