This revision was automatically updated to reflect the committed changes. Closed by commit rG7202d1c2f6c8: Fix lldb-vscode logging and enable logging for all lldb-vscode tests. (authored by clayborg).
Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D74566/new/ https://reviews.llvm.org/D74566 Files: lldb/packages/Python/lldbsuite/test/tools/lldb-vscode/lldbvscode_testcase.py lldb/packages/Python/lldbsuite/test/tools/lldb-vscode/vscode.py lldb/tools/lldb-vscode/VSCode.cpp Index: lldb/tools/lldb-vscode/VSCode.cpp =================================================================== --- lldb/tools/lldb-vscode/VSCode.cpp +++ lldb/tools/lldb-vscode/VSCode.cpp @@ -129,6 +129,12 @@ if (!input.read_full(log.get(), length, json_str)) return json_str; + if (log) { + *log << "--> " << std::endl + << "Content-Length: " << length << "\r\n\r\n" + << json_str << std::endl; + } + return json_str; } Index: lldb/packages/Python/lldbsuite/test/tools/lldb-vscode/vscode.py =================================================================== --- lldb/packages/Python/lldbsuite/test/tools/lldb-vscode/vscode.py +++ lldb/packages/Python/lldbsuite/test/tools/lldb-vscode/vscode.py @@ -847,13 +847,17 @@ class DebugAdaptor(DebugCommunication): - def __init__(self, executable=None, port=None, init_commands=[]): + def __init__(self, executable=None, port=None, init_commands=[], log_file=None): self.process = None if executable is not None: + adaptor_env = os.environ.copy() + if log_file: + adaptor_env['LLDBVSCODE_LOG'] = log_file self.process = subprocess.Popen([executable], stdin=subprocess.PIPE, stdout=subprocess.PIPE, - stderr=subprocess.PIPE) + stderr=subprocess.PIPE, + env=adaptor_env) DebugCommunication.__init__(self, self.process.stdout, self.process.stdin, init_commands) elif port is not None: Index: lldb/packages/Python/lldbsuite/test/tools/lldb-vscode/lldbvscode_testcase.py =================================================================== --- lldb/packages/Python/lldbsuite/test/tools/lldb-vscode/lldbvscode_testcase.py +++ lldb/packages/Python/lldbsuite/test/tools/lldb-vscode/lldbvscode_testcase.py @@ -12,8 +12,10 @@ '''Create the Visual Studio Code debug adaptor''' self.assertTrue(os.path.exists(self.lldbVSCodeExec), 'lldb-vscode must exist') + log_file_path = self.getBuildArtifact('vscode.txt') self.vscode = vscode.DebugAdaptor( - executable=self.lldbVSCodeExec, init_commands=self.setUpCommands()) + executable=self.lldbVSCodeExec, init_commands=self.setUpCommands(), + log_file=log_file_path) def build_and_create_debug_adaptor(self): self.build() @@ -133,7 +135,7 @@ key, key_path, d)) return value - def get_stackFrames_and_totalFramesCount(self, threadId=None, startFrame=None, + def get_stackFrames_and_totalFramesCount(self, threadId=None, startFrame=None, levels=None, dump=False): response = self.vscode.request_stackTrace(threadId=threadId, startFrame=startFrame,
Index: lldb/tools/lldb-vscode/VSCode.cpp =================================================================== --- lldb/tools/lldb-vscode/VSCode.cpp +++ lldb/tools/lldb-vscode/VSCode.cpp @@ -129,6 +129,12 @@ if (!input.read_full(log.get(), length, json_str)) return json_str; + if (log) { + *log << "--> " << std::endl + << "Content-Length: " << length << "\r\n\r\n" + << json_str << std::endl; + } + return json_str; } Index: lldb/packages/Python/lldbsuite/test/tools/lldb-vscode/vscode.py =================================================================== --- lldb/packages/Python/lldbsuite/test/tools/lldb-vscode/vscode.py +++ lldb/packages/Python/lldbsuite/test/tools/lldb-vscode/vscode.py @@ -847,13 +847,17 @@ class DebugAdaptor(DebugCommunication): - def __init__(self, executable=None, port=None, init_commands=[]): + def __init__(self, executable=None, port=None, init_commands=[], log_file=None): self.process = None if executable is not None: + adaptor_env = os.environ.copy() + if log_file: + adaptor_env['LLDBVSCODE_LOG'] = log_file self.process = subprocess.Popen([executable], stdin=subprocess.PIPE, stdout=subprocess.PIPE, - stderr=subprocess.PIPE) + stderr=subprocess.PIPE, + env=adaptor_env) DebugCommunication.__init__(self, self.process.stdout, self.process.stdin, init_commands) elif port is not None: Index: lldb/packages/Python/lldbsuite/test/tools/lldb-vscode/lldbvscode_testcase.py =================================================================== --- lldb/packages/Python/lldbsuite/test/tools/lldb-vscode/lldbvscode_testcase.py +++ lldb/packages/Python/lldbsuite/test/tools/lldb-vscode/lldbvscode_testcase.py @@ -12,8 +12,10 @@ '''Create the Visual Studio Code debug adaptor''' self.assertTrue(os.path.exists(self.lldbVSCodeExec), 'lldb-vscode must exist') + log_file_path = self.getBuildArtifact('vscode.txt') self.vscode = vscode.DebugAdaptor( - executable=self.lldbVSCodeExec, init_commands=self.setUpCommands()) + executable=self.lldbVSCodeExec, init_commands=self.setUpCommands(), + log_file=log_file_path) def build_and_create_debug_adaptor(self): self.build() @@ -133,7 +135,7 @@ key, key_path, d)) return value - def get_stackFrames_and_totalFramesCount(self, threadId=None, startFrame=None, + def get_stackFrames_and_totalFramesCount(self, threadId=None, startFrame=None, levels=None, dump=False): response = self.vscode.request_stackTrace(threadId=threadId, startFrame=startFrame,
_______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits