yinghuitan updated this revision to Diff 466909.
yinghuitan added a comment.

Add comment per feedback


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D135620/new/

https://reviews.llvm.org/D135620

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/lldb-vscode.cpp

Index: lldb/tools/lldb-vscode/lldb-vscode.cpp
===================================================================
--- lldb/tools/lldb-vscode/lldb-vscode.cpp
+++ lldb/tools/lldb-vscode/lldb-vscode.cpp
@@ -1444,8 +1444,15 @@
   auto log_cb = [](const char *buf, void *baton) -> void {
     g_vsc.SendOutput(OutputType::Console, llvm::StringRef{buf});
   };
+
+  auto arguments = request.getObject("arguments");
+  // sourceInitFile option is not from formal DAP specification. It is only
+  // used by unit tests to prevent sourcing .lldbinit files from environment
+  // which may affect the outcome of tests.
+  bool source_init_file = GetBoolean(arguments, "sourceInitFile", true);
+
   g_vsc.debugger =
-      lldb::SBDebugger::Create(true /*source_init_files*/, log_cb, nullptr);
+      lldb::SBDebugger::Create(source_init_file, log_cb, nullptr);
   g_vsc.progress_event_thread = std::thread(ProgressEventThreadFunction);
 
   // Start our event thread so we can receive events from the debugger, target,
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
@@ -613,7 +613,7 @@
         }
         return self.send_recv(command_dict)
 
-    def request_initialize(self):
+    def request_initialize(self, sourceInitFile):
         command_dict = {
             'command': 'initialize',
             'type': 'request',
@@ -626,7 +626,8 @@
                 'pathFormat': 'path',
                 'supportsRunInTerminalRequest': True,
                 'supportsVariablePaging': True,
-                'supportsVariableType': True
+                'supportsVariableType': True,
+                'sourceInitFile': sourceInitFile
             }
         }
         response = self.send_recv(command_dict)
@@ -1004,7 +1005,7 @@
 
 
 def run_vscode(dbg, args, options):
-    dbg.request_initialize()
+    dbg.request_initialize(options.sourceInitFile)
     if attach_options_specified(options):
         response = dbg.request_attach(program=options.program,
                                       pid=options.pid,
@@ -1112,6 +1113,13 @@
         default=False,
         help='Pause waiting for a debugger to attach to the debug adaptor')
 
+    parser.add_option(
+        '--sourceInitFile',
+        action='store_true',
+        dest='sourceInitFile',
+        default=False,
+        help='Whether lldb-vscode should source .lldbinit file or not')
+
     parser.add_option(
         '--port',
         type='int',
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
@@ -253,7 +253,7 @@
                initCommands=None, preRunCommands=None, stopCommands=None,
                exitCommands=None, attachCommands=None, coreFile=None,
                disconnectAutomatically=True, terminateCommands=None,
-               postRunCommands=None, sourceMap=None):
+               postRunCommands=None, sourceMap=None, sourceInitFile=False):
         '''Build the default Makefile target, create the VSCode debug adaptor,
            and attach to the process.
         '''
@@ -267,7 +267,7 @@
         # Execute the cleanup function during test case tear down.
         self.addTearDownHook(cleanup)
         # Initialize and launch the program
-        self.vscode.request_initialize()
+        self.vscode.request_initialize(sourceInitFile)
         response = self.vscode.request_attach(
             program=program, pid=pid, waitFor=waitFor, trace=trace,
             initCommands=initCommands, preRunCommands=preRunCommands,
@@ -284,7 +284,7 @@
                disableSTDIO=False, shellExpandArguments=False,
                trace=False, initCommands=None, preRunCommands=None,
                stopCommands=None, exitCommands=None, terminateCommands=None,
-               sourcePath=None, debuggerRoot=None, launchCommands=None,
+               sourcePath=None, debuggerRoot=None, sourceInitFile=False, launchCommands=None,
                sourceMap=None, disconnectAutomatically=True, runInTerminal=False,
                expectFailure=False, postRunCommands=None):
         '''Sending launch request to vscode
@@ -301,7 +301,7 @@
         self.addTearDownHook(cleanup)
 
         # Initialize and launch the program
-        self.vscode.request_initialize()
+        self.vscode.request_initialize(sourceInitFile)
         response = self.vscode.request_launch(
             program,
             args=args,
@@ -344,7 +344,7 @@
                          trace=False, initCommands=None, preRunCommands=None,
                          stopCommands=None, exitCommands=None,
                          terminateCommands=None, sourcePath=None,
-                         debuggerRoot=None, runInTerminal=False,
+                         debuggerRoot=None, sourceInitFile=False, runInTerminal=False,
                          disconnectAutomatically=True, postRunCommands=None,
                          lldbVSCodeEnv=None):
         '''Build the default Makefile target, create the VSCode debug adaptor,
@@ -356,6 +356,7 @@
         return self.launch(program, args, cwd, env, stopOnEntry, disableASLR,
                     disableSTDIO, shellExpandArguments, trace,
                     initCommands, preRunCommands, stopCommands, exitCommands,
-                    terminateCommands, sourcePath, debuggerRoot, runInTerminal=runInTerminal,
+                    terminateCommands, sourcePath, debuggerRoot, sourceInitFile,
+                    runInTerminal=runInTerminal,
                     disconnectAutomatically=disconnectAutomatically,
                     postRunCommands=postRunCommands)
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to