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 lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits