[Lldb-commits] [lldb] r363567 - [lldb] [test] Extend D55859 symbols.enable-external-lookup=false for more testcases

Jan Kratochvil via lldb-commits lldb-commits at lists.llvm.org
Mon Jun 17 07:46:17 PDT 2019


Author: jankratochvil
Date: Mon Jun 17 07:46:17 2019
New Revision: 363567

URL: http://llvm.org/viewvc/llvm-project?rev=363567&view=rev
Log:
[lldb] [test] Extend D55859 symbols.enable-external-lookup=false for more testcases

D55859 <https://reviews.llvm.org/D55859> has no effect for some of the
testcases so this patch extends it even for (all?) other testcases known to me.
LLDB was failing when LLDB prints errors reading system debug infos
(`*-debuginfo.rpm`, DWZ-optimized) which should never happen as LLDB testcases
should not be affected by system debug infos.

`lldb/packages/Python/lldbsuite/test/api/multithreaded/driver.cpp.template` is
using only SB API which does not expose `ModuleList` so I had to call
`HandleCommand()` there.

`lldb-test.cpp` could also use `HandleCommand` and then there would be no need
for `ModuleListProperties::SetEnableExternalLookup()` but I think it is cleaner
with API and not on based on text commands.

Differential Revision: https://reviews.llvm.org/D63339

Modified:
    lldb/trunk/include/lldb/Core/ModuleList.h
    lldb/trunk/lit/tools/lldb-mi/breakpoint/break-insert-enable-pending.test
    lldb/trunk/lit/tools/lldb-mi/breakpoint/break-insert.test
    lldb/trunk/lit/tools/lldb-mi/data/data-info-line.test
    lldb/trunk/lit/tools/lldb-mi/exec/exec-continue.test
    lldb/trunk/lit/tools/lldb-mi/exec/exec-finish.test
    lldb/trunk/lit/tools/lldb-mi/exec/exec-interrupt.test
    lldb/trunk/lit/tools/lldb-mi/exec/exec-next-instruction.test
    lldb/trunk/lit/tools/lldb-mi/exec/exec-next.test
    lldb/trunk/lit/tools/lldb-mi/exec/exec-step-instruction.test
    lldb/trunk/lit/tools/lldb-mi/exec/exec-step.test
    lldb/trunk/packages/Python/lldbsuite/test/api/multithreaded/driver.cpp.template
    lldb/trunk/packages/Python/lldbsuite/test/lldbtest.py
    lldb/trunk/packages/Python/lldbsuite/test/tools/lldb-vscode/vscode.py
    lldb/trunk/source/Core/ModuleList.cpp
    lldb/trunk/tools/lldb-test/lldb-test.cpp

Modified: lldb/trunk/include/lldb/Core/ModuleList.h
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/Core/ModuleList.h?rev=363567&r1=363566&r2=363567&view=diff
==============================================================================
--- lldb/trunk/include/lldb/Core/ModuleList.h (original)
+++ lldb/trunk/include/lldb/Core/ModuleList.h Mon Jun 17 07:46:17 2019
@@ -52,6 +52,7 @@ public:
   FileSpec GetClangModulesCachePath() const;
   bool SetClangModulesCachePath(llvm::StringRef path);
   bool GetEnableExternalLookup() const;
+  bool SetEnableExternalLookup(bool new_value);
 }; 
 
 /// \class ModuleList ModuleList.h "lldb/Core/ModuleList.h"

Modified: lldb/trunk/lit/tools/lldb-mi/breakpoint/break-insert-enable-pending.test
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/lit/tools/lldb-mi/breakpoint/break-insert-enable-pending.test?rev=363567&r1=363566&r2=363567&view=diff
==============================================================================
--- lldb/trunk/lit/tools/lldb-mi/breakpoint/break-insert-enable-pending.test (original)
+++ lldb/trunk/lit/tools/lldb-mi/breakpoint/break-insert-enable-pending.test Mon Jun 17 07:46:17 2019
@@ -7,6 +7,9 @@
 
 # Test for enabling pending breakpoints globally
 
+settings set symbols.enable-external-lookup false
+# CHECK: ^done
+
 -break-insert printf
 # CHECK: ^error,msg="Command 'break-insert'. Breakpoint location 'printf' not found
 

Modified: lldb/trunk/lit/tools/lldb-mi/breakpoint/break-insert.test
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/lit/tools/lldb-mi/breakpoint/break-insert.test?rev=363567&r1=363566&r2=363567&view=diff
==============================================================================
--- lldb/trunk/lit/tools/lldb-mi/breakpoint/break-insert.test (original)
+++ lldb/trunk/lit/tools/lldb-mi/breakpoint/break-insert.test Mon Jun 17 07:46:17 2019
@@ -6,6 +6,9 @@
 
 # Test that a breakpoint can be inserted before creating a target.
 
+settings set symbols.enable-external-lookup false
+# CHECK: ^done
+
 -break-insert breakpoint
 # CHECK: ^done,bkpt={number="1"
 

Modified: lldb/trunk/lit/tools/lldb-mi/data/data-info-line.test
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/lit/tools/lldb-mi/data/data-info-line.test?rev=363567&r1=363566&r2=363567&view=diff
==============================================================================
--- lldb/trunk/lit/tools/lldb-mi/data/data-info-line.test (original)
+++ lldb/trunk/lit/tools/lldb-mi/data/data-info-line.test Mon Jun 17 07:46:17 2019
@@ -8,6 +8,9 @@
 # Check that we have a valid target created via '%lldbmi %t'.
 # CHECK: ^done
 
+settings set symbols.enable-external-lookup false
+# CHECK: ^done
+
 -break-insert main
 # CHECK: ^done,bkpt={number="1"
 

Modified: lldb/trunk/lit/tools/lldb-mi/exec/exec-continue.test
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/lit/tools/lldb-mi/exec/exec-continue.test?rev=363567&r1=363566&r2=363567&view=diff
==============================================================================
--- lldb/trunk/lit/tools/lldb-mi/exec/exec-continue.test (original)
+++ lldb/trunk/lit/tools/lldb-mi/exec/exec-continue.test Mon Jun 17 07:46:17 2019
@@ -8,6 +8,9 @@
 # Check that we have a valid target created via '%lldbmi %t'.
 # CHECK: ^done
 
+settings set symbols.enable-external-lookup false
+# CHECK: ^done
+
 -break-insert main
 # CHECK: ^done,bkpt={number="1"
 

Modified: lldb/trunk/lit/tools/lldb-mi/exec/exec-finish.test
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/lit/tools/lldb-mi/exec/exec-finish.test?rev=363567&r1=363566&r2=363567&view=diff
==============================================================================
--- lldb/trunk/lit/tools/lldb-mi/exec/exec-finish.test (original)
+++ lldb/trunk/lit/tools/lldb-mi/exec/exec-finish.test Mon Jun 17 07:46:17 2019
@@ -6,6 +6,9 @@
 # Check that we have a valid target created via '%lldbmi %t'.
 # CHECK: ^done
 
+settings set symbols.enable-external-lookup false
+# CHECK: ^done
+
 -break-insert main
 # CHECK: ^done,bkpt={number="1"
 

Modified: lldb/trunk/lit/tools/lldb-mi/exec/exec-interrupt.test
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/lit/tools/lldb-mi/exec/exec-interrupt.test?rev=363567&r1=363566&r2=363567&view=diff
==============================================================================
--- lldb/trunk/lit/tools/lldb-mi/exec/exec-interrupt.test (original)
+++ lldb/trunk/lit/tools/lldb-mi/exec/exec-interrupt.test Mon Jun 17 07:46:17 2019
@@ -8,6 +8,9 @@
 # Check that we have a valid target created via '%lldbmi %t'.
 # CHECK: ^done
 
+settings set symbols.enable-external-lookup false
+# CHECK: ^done
+
 -break-insert main
 # CHECK: ^done,bkpt={number="1"
 

Modified: lldb/trunk/lit/tools/lldb-mi/exec/exec-next-instruction.test
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/lit/tools/lldb-mi/exec/exec-next-instruction.test?rev=363567&r1=363566&r2=363567&view=diff
==============================================================================
--- lldb/trunk/lit/tools/lldb-mi/exec/exec-next-instruction.test (original)
+++ lldb/trunk/lit/tools/lldb-mi/exec/exec-next-instruction.test Mon Jun 17 07:46:17 2019
@@ -8,6 +8,9 @@
 # Check that we have a valid target created via '%lldbmi %t'.
 # CHECK: ^done
 
+settings set symbols.enable-external-lookup false
+# CHECK: ^done
+
 -break-insert main
 # CHECK: ^done,bkpt={number="1"
 

Modified: lldb/trunk/lit/tools/lldb-mi/exec/exec-next.test
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/lit/tools/lldb-mi/exec/exec-next.test?rev=363567&r1=363566&r2=363567&view=diff
==============================================================================
--- lldb/trunk/lit/tools/lldb-mi/exec/exec-next.test (original)
+++ lldb/trunk/lit/tools/lldb-mi/exec/exec-next.test Mon Jun 17 07:46:17 2019
@@ -9,6 +9,9 @@
 # Check that we have a valid target created via '%lldbmi %t'.
 # CHECK: ^done
 
+settings set symbols.enable-external-lookup false
+# CHECK: ^done
+
 -break-insert main
 # CHECK: ^done,bkpt={number="1"
 

Modified: lldb/trunk/lit/tools/lldb-mi/exec/exec-step-instruction.test
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/lit/tools/lldb-mi/exec/exec-step-instruction.test?rev=363567&r1=363566&r2=363567&view=diff
==============================================================================
--- lldb/trunk/lit/tools/lldb-mi/exec/exec-step-instruction.test (original)
+++ lldb/trunk/lit/tools/lldb-mi/exec/exec-step-instruction.test Mon Jun 17 07:46:17 2019
@@ -8,6 +8,9 @@
 # Check that we have a valid target created via '%lldbmi %t'.
 # CHECK: ^done
 
+settings set symbols.enable-external-lookup false
+# CHECK: ^done
+
 -break-insert main
 # CHECK: ^done,bkpt={number="1"
 

Modified: lldb/trunk/lit/tools/lldb-mi/exec/exec-step.test
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/lit/tools/lldb-mi/exec/exec-step.test?rev=363567&r1=363566&r2=363567&view=diff
==============================================================================
--- lldb/trunk/lit/tools/lldb-mi/exec/exec-step.test (original)
+++ lldb/trunk/lit/tools/lldb-mi/exec/exec-step.test Mon Jun 17 07:46:17 2019
@@ -8,6 +8,9 @@
 # Check that we have a valid target created via '%lldbmi %t'.
 # CHECK: ^done
 
+settings set symbols.enable-external-lookup false
+# CHECK: ^done
+
 -break-insert main
 # CHECK: ^done,bkpt={number="1"
 

Modified: lldb/trunk/packages/Python/lldbsuite/test/api/multithreaded/driver.cpp.template
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/api/multithreaded/driver.cpp.template?rev=363567&r1=363566&r2=363567&view=diff
==============================================================================
--- lldb/trunk/packages/Python/lldbsuite/test/api/multithreaded/driver.cpp.template (original)
+++ lldb/trunk/packages/Python/lldbsuite/test/api/multithreaded/driver.cpp.template Mon Jun 17 07:46:17 2019
@@ -31,6 +31,7 @@ int main(int argc, char** argv) {
 
   SBDebugger::Initialize();
   SBDebugger dbg = SBDebugger::Create();
+  dbg.HandleCommand("settings set symbols.enable-external-lookup false");
 
   try {
     if (!dbg.IsValid())

Modified: lldb/trunk/packages/Python/lldbsuite/test/lldbtest.py
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/lldbtest.py?rev=363567&r1=363566&r2=363567&view=diff
==============================================================================
--- lldb/trunk/packages/Python/lldbsuite/test/lldbtest.py (original)
+++ lldb/trunk/packages/Python/lldbsuite/test/lldbtest.py Mon Jun 17 07:46:17 2019
@@ -729,12 +729,12 @@ class Base(unittest2.TestCase):
         else:
             self.lldbVSCodeExec = None
 
+        self.lldbOption = "-o 'settings set symbols.enable-external-lookup false'"
+
         # If we spawn an lldb process for test (via pexpect), do not load the
         # init file unless told otherwise.
-        if "NO_LLDBINIT" in os.environ and "NO" == os.environ["NO_LLDBINIT"]:
-            self.lldbOption = ""
-        else:
-            self.lldbOption = "--no-lldbinit"
+        if os.environ.get("NO_LLDBINIT") != "NO":
+            self.lldbOption += " --no-lldbinit"
 
         # Assign the test method name to self.testMethodName.
         #

Modified: lldb/trunk/packages/Python/lldbsuite/test/tools/lldb-vscode/vscode.py
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/tools/lldb-vscode/vscode.py?rev=363567&r1=363566&r2=363567&view=diff
==============================================================================
--- lldb/trunk/packages/Python/lldbsuite/test/tools/lldb-vscode/vscode.py (original)
+++ lldb/trunk/packages/Python/lldbsuite/test/tools/lldb-vscode/vscode.py Mon Jun 17 07:46:17 2019
@@ -447,8 +447,10 @@ class DebugCommunication(object):
             args_dict['waitFor'] = waitFor
         if trace:
             args_dict['trace'] = trace
+        args_dict['initCommands'] = [
+            'settings set symbols.enable-external-lookup false']
         if initCommands:
-            args_dict['initCommands'] = initCommands
+            args_dict['initCommands'].extend(initCommands)
         if preRunCommands:
             args_dict['preRunCommands'] = preRunCommands
         if stopCommands:
@@ -582,8 +584,10 @@ class DebugCommunication(object):
             args_dict['shellExpandArguments'] = shellExpandArguments
         if trace:
             args_dict['trace'] = trace
+        args_dict['initCommands'] = [
+            'settings set symbols.enable-external-lookup false']
         if initCommands:
-            args_dict['initCommands'] = initCommands
+            args_dict['initCommands'].extend(initCommands)
         if preRunCommands:
             args_dict['preRunCommands'] = preRunCommands
         if stopCommands:

Modified: lldb/trunk/source/Core/ModuleList.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Core/ModuleList.cpp?rev=363567&r1=363566&r2=363567&view=diff
==============================================================================
--- lldb/trunk/source/Core/ModuleList.cpp (original)
+++ lldb/trunk/source/Core/ModuleList.cpp Mon Jun 17 07:46:17 2019
@@ -102,6 +102,11 @@ bool ModuleListProperties::GetEnableExte
       nullptr, idx, g_properties[idx].default_uint_value != 0);
 }
 
+bool ModuleListProperties::SetEnableExternalLookup(bool new_value) {
+  return m_collection_sp->SetPropertyAtIndexAsBoolean(
+      nullptr, ePropertyEnableExternalLookup, new_value);
+}
+
 FileSpec ModuleListProperties::GetClangModulesCachePath() const {
   return m_collection_sp
       ->GetPropertyAtIndexAsOptionValueFileSpec(nullptr, false,

Modified: lldb/trunk/tools/lldb-test/lldb-test.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/tools/lldb-test/lldb-test.cpp?rev=363567&r1=363566&r2=363567&view=diff
==============================================================================
--- lldb/trunk/tools/lldb-test/lldb-test.cpp (original)
+++ lldb/trunk/tools/lldb-test/lldb-test.cpp Mon Jun 17 07:46:17 2019
@@ -975,6 +975,7 @@ int main(int argc, const char *argv[]) {
   CleanUp TerminateDebugger([&] { DebuggerLifetime.Terminate(); });
 
   auto Dbg = lldb_private::Debugger::CreateInstance();
+  ModuleList::GetGlobalModuleListProperties().SetEnableExternalLookup(false);
 
   if (!opts::Log.empty())
     Dbg->EnableLog("lldb", {"all"}, opts::Log, 0, errs());




More information about the lldb-commits mailing list