jankratochvil created this revision.
jankratochvil added reviewers: labath, clayborg.
jankratochvil added a project: LLDB.
Herald added subscribers: abidh, aprantl, ki.stfu.
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.
Repository:
rLLDB LLDB
https://reviews.llvm.org/D63339
Files:
lldb/include/lldb/Core/ModuleList.h
lldb/lit/tools/lldb-mi/breakpoint/break-insert-enable-pending.test
lldb/lit/tools/lldb-mi/breakpoint/break-insert.test
lldb/lit/tools/lldb-mi/data/data-info-line.test
lldb/lit/tools/lldb-mi/exec/exec-continue.test
lldb/lit/tools/lldb-mi/exec/exec-finish.test
lldb/lit/tools/lldb-mi/exec/exec-interrupt.test
lldb/lit/tools/lldb-mi/exec/exec-next-instruction.test
lldb/lit/tools/lldb-mi/exec/exec-next.test
lldb/lit/tools/lldb-mi/exec/exec-step-instruction.test
lldb/lit/tools/lldb-mi/exec/exec-step.test
lldb/packages/Python/lldbsuite/test/api/multithreaded/driver.cpp.template
lldb/packages/Python/lldbsuite/test/lldbtest.py
lldb/packages/Python/lldbsuite/test/tools/lldb-vscode/vscode.py
lldb/source/Core/ModuleList.cpp
lldb/tools/lldb-test/lldb-test.cpp
Index: lldb/tools/lldb-test/lldb-test.cpp
===================================================================
--- lldb/tools/lldb-test/lldb-test.cpp
+++ lldb/tools/lldb-test/lldb-test.cpp
@@ -975,6 +975,7 @@
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());
Index: lldb/source/Core/ModuleList.cpp
===================================================================
--- lldb/source/Core/ModuleList.cpp
+++ lldb/source/Core/ModuleList.cpp
@@ -102,6 +102,11 @@
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,
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
@@ -447,8 +447,10 @@
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 @@
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:
Index: lldb/packages/Python/lldbsuite/test/lldbtest.py
===================================================================
--- lldb/packages/Python/lldbsuite/test/lldbtest.py
+++ lldb/packages/Python/lldbsuite/test/lldbtest.py
@@ -729,12 +729,12 @@
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 "NO_LLDBINIT" not in os.environ or "NO" != os.environ["NO_LLDBINIT"]:
+ self.lldbOption += " --no-lldbinit"
# Assign the test method name to self.testMethodName.
#
Index: lldb/packages/Python/lldbsuite/test/api/multithreaded/driver.cpp.template
===================================================================
--- lldb/packages/Python/lldbsuite/test/api/multithreaded/driver.cpp.template
+++ lldb/packages/Python/lldbsuite/test/api/multithreaded/driver.cpp.template
@@ -31,6 +31,7 @@
SBDebugger::Initialize();
SBDebugger dbg = SBDebugger::Create();
+ dbg.HandleCommand("settings set symbols.enable-external-lookup false");
try {
if (!dbg.IsValid())
Index: lldb/lit/tools/lldb-mi/exec/exec-step.test
===================================================================
--- lldb/lit/tools/lldb-mi/exec/exec-step.test
+++ lldb/lit/tools/lldb-mi/exec/exec-step.test
@@ -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"
Index: lldb/lit/tools/lldb-mi/exec/exec-step-instruction.test
===================================================================
--- lldb/lit/tools/lldb-mi/exec/exec-step-instruction.test
+++ lldb/lit/tools/lldb-mi/exec/exec-step-instruction.test
@@ -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"
Index: lldb/lit/tools/lldb-mi/exec/exec-next.test
===================================================================
--- lldb/lit/tools/lldb-mi/exec/exec-next.test
+++ lldb/lit/tools/lldb-mi/exec/exec-next.test
@@ -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"
Index: lldb/lit/tools/lldb-mi/exec/exec-next-instruction.test
===================================================================
--- lldb/lit/tools/lldb-mi/exec/exec-next-instruction.test
+++ lldb/lit/tools/lldb-mi/exec/exec-next-instruction.test
@@ -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"
Index: lldb/lit/tools/lldb-mi/exec/exec-interrupt.test
===================================================================
--- lldb/lit/tools/lldb-mi/exec/exec-interrupt.test
+++ lldb/lit/tools/lldb-mi/exec/exec-interrupt.test
@@ -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"
Index: lldb/lit/tools/lldb-mi/exec/exec-finish.test
===================================================================
--- lldb/lit/tools/lldb-mi/exec/exec-finish.test
+++ lldb/lit/tools/lldb-mi/exec/exec-finish.test
@@ -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"
Index: lldb/lit/tools/lldb-mi/exec/exec-continue.test
===================================================================
--- lldb/lit/tools/lldb-mi/exec/exec-continue.test
+++ lldb/lit/tools/lldb-mi/exec/exec-continue.test
@@ -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"
Index: lldb/lit/tools/lldb-mi/data/data-info-line.test
===================================================================
--- lldb/lit/tools/lldb-mi/data/data-info-line.test
+++ lldb/lit/tools/lldb-mi/data/data-info-line.test
@@ -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"
Index: lldb/lit/tools/lldb-mi/breakpoint/break-insert.test
===================================================================
--- lldb/lit/tools/lldb-mi/breakpoint/break-insert.test
+++ lldb/lit/tools/lldb-mi/breakpoint/break-insert.test
@@ -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"
Index: lldb/lit/tools/lldb-mi/breakpoint/break-insert-enable-pending.test
===================================================================
--- lldb/lit/tools/lldb-mi/breakpoint/break-insert-enable-pending.test
+++ lldb/lit/tools/lldb-mi/breakpoint/break-insert-enable-pending.test
@@ -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
Index: lldb/include/lldb/Core/ModuleList.h
===================================================================
--- lldb/include/lldb/Core/ModuleList.h
+++ lldb/include/lldb/Core/ModuleList.h
@@ -52,6 +52,7 @@
FileSpec GetClangModulesCachePath() const;
bool SetClangModulesCachePath(llvm::StringRef path);
bool GetEnableExternalLookup() const;
+ bool SetEnableExternalLookup(bool new_value);
};
/// \class ModuleList ModuleList.h "lldb/Core/ModuleList.h"
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits