summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJan Kratochvil <jan.kratochvil@redhat.com>2019-06-17 14:46:17 +0000
committerJan Kratochvil <jan.kratochvil@redhat.com>2019-06-17 14:46:17 +0000
commit8c82c41262fad55de7ed921b9e0df0da6c0e896b (patch)
tree0cf18d293fff5476ad7cb87743367e85a3ea8263
parent15b7f5b72d2ae3dae37a42caa8d3259cfafc70c6 (diff)
downloadbcm5719-llvm-8c82c41262fad55de7ed921b9e0df0da6c0e896b.tar.gz
bcm5719-llvm-8c82c41262fad55de7ed921b9e0df0da6c0e896b.zip
[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 llvm-svn: 363567
-rw-r--r--lldb/include/lldb/Core/ModuleList.h1
-rw-r--r--lldb/lit/tools/lldb-mi/breakpoint/break-insert-enable-pending.test3
-rw-r--r--lldb/lit/tools/lldb-mi/breakpoint/break-insert.test3
-rw-r--r--lldb/lit/tools/lldb-mi/data/data-info-line.test3
-rw-r--r--lldb/lit/tools/lldb-mi/exec/exec-continue.test3
-rw-r--r--lldb/lit/tools/lldb-mi/exec/exec-finish.test3
-rw-r--r--lldb/lit/tools/lldb-mi/exec/exec-interrupt.test3
-rw-r--r--lldb/lit/tools/lldb-mi/exec/exec-next-instruction.test3
-rw-r--r--lldb/lit/tools/lldb-mi/exec/exec-next.test3
-rw-r--r--lldb/lit/tools/lldb-mi/exec/exec-step-instruction.test3
-rw-r--r--lldb/lit/tools/lldb-mi/exec/exec-step.test3
-rw-r--r--lldb/packages/Python/lldbsuite/test/api/multithreaded/driver.cpp.template1
-rw-r--r--lldb/packages/Python/lldbsuite/test/lldbtest.py8
-rw-r--r--lldb/packages/Python/lldbsuite/test/tools/lldb-vscode/vscode.py8
-rw-r--r--lldb/source/Core/ModuleList.cpp5
-rw-r--r--lldb/tools/lldb-test/lldb-test.cpp1
16 files changed, 48 insertions, 6 deletions
diff --git a/lldb/include/lldb/Core/ModuleList.h b/lldb/include/lldb/Core/ModuleList.h
index 57ed3c8cf1f..1e26c35e4c1 100644
--- a/lldb/include/lldb/Core/ModuleList.h
+++ b/lldb/include/lldb/Core/ModuleList.h
@@ -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"
diff --git a/lldb/lit/tools/lldb-mi/breakpoint/break-insert-enable-pending.test b/lldb/lit/tools/lldb-mi/breakpoint/break-insert-enable-pending.test
index 1c9e5467089..55daf919a68 100644
--- a/lldb/lit/tools/lldb-mi/breakpoint/break-insert-enable-pending.test
+++ b/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
diff --git a/lldb/lit/tools/lldb-mi/breakpoint/break-insert.test b/lldb/lit/tools/lldb-mi/breakpoint/break-insert.test
index bf975671389..d8039156b72 100644
--- a/lldb/lit/tools/lldb-mi/breakpoint/break-insert.test
+++ b/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"
diff --git a/lldb/lit/tools/lldb-mi/data/data-info-line.test b/lldb/lit/tools/lldb-mi/data/data-info-line.test
index 9f9a052bd69..11ea3659625 100644
--- a/lldb/lit/tools/lldb-mi/data/data-info-line.test
+++ b/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"
diff --git a/lldb/lit/tools/lldb-mi/exec/exec-continue.test b/lldb/lit/tools/lldb-mi/exec/exec-continue.test
index 3ec6d690772..c27bc44484d 100644
--- a/lldb/lit/tools/lldb-mi/exec/exec-continue.test
+++ b/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"
diff --git a/lldb/lit/tools/lldb-mi/exec/exec-finish.test b/lldb/lit/tools/lldb-mi/exec/exec-finish.test
index b2a50c5267f..19947f93897 100644
--- a/lldb/lit/tools/lldb-mi/exec/exec-finish.test
+++ b/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"
diff --git a/lldb/lit/tools/lldb-mi/exec/exec-interrupt.test b/lldb/lit/tools/lldb-mi/exec/exec-interrupt.test
index 7f8c5515018..20791257b41 100644
--- a/lldb/lit/tools/lldb-mi/exec/exec-interrupt.test
+++ b/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"
diff --git a/lldb/lit/tools/lldb-mi/exec/exec-next-instruction.test b/lldb/lit/tools/lldb-mi/exec/exec-next-instruction.test
index f8d8ba47b90..ca3c9e9b005 100644
--- a/lldb/lit/tools/lldb-mi/exec/exec-next-instruction.test
+++ b/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"
diff --git a/lldb/lit/tools/lldb-mi/exec/exec-next.test b/lldb/lit/tools/lldb-mi/exec/exec-next.test
index d2a4b76815e..0dd22746390 100644
--- a/lldb/lit/tools/lldb-mi/exec/exec-next.test
+++ b/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"
diff --git a/lldb/lit/tools/lldb-mi/exec/exec-step-instruction.test b/lldb/lit/tools/lldb-mi/exec/exec-step-instruction.test
index 94c6b39f354..3301b3e10ac 100644
--- a/lldb/lit/tools/lldb-mi/exec/exec-step-instruction.test
+++ b/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"
diff --git a/lldb/lit/tools/lldb-mi/exec/exec-step.test b/lldb/lit/tools/lldb-mi/exec/exec-step.test
index b946a7b1790..a14dd42f2b4 100644
--- a/lldb/lit/tools/lldb-mi/exec/exec-step.test
+++ b/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"
diff --git a/lldb/packages/Python/lldbsuite/test/api/multithreaded/driver.cpp.template b/lldb/packages/Python/lldbsuite/test/api/multithreaded/driver.cpp.template
index f4bd021632c..ebe7b8c8e17 100644
--- a/lldb/packages/Python/lldbsuite/test/api/multithreaded/driver.cpp.template
+++ b/lldb/packages/Python/lldbsuite/test/api/multithreaded/driver.cpp.template
@@ -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())
diff --git a/lldb/packages/Python/lldbsuite/test/lldbtest.py b/lldb/packages/Python/lldbsuite/test/lldbtest.py
index 90588a6e6b7..3064a6c2d85 100644
--- a/lldb/packages/Python/lldbsuite/test/lldbtest.py
+++ b/lldb/packages/Python/lldbsuite/test/lldbtest.py
@@ -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.
#
diff --git a/lldb/packages/Python/lldbsuite/test/tools/lldb-vscode/vscode.py b/lldb/packages/Python/lldbsuite/test/tools/lldb-vscode/vscode.py
index 4e09e6a43a4..74ee4a6c44c 100644
--- a/lldb/packages/Python/lldbsuite/test/tools/lldb-vscode/vscode.py
+++ b/lldb/packages/Python/lldbsuite/test/tools/lldb-vscode/vscode.py
@@ -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:
diff --git a/lldb/source/Core/ModuleList.cpp b/lldb/source/Core/ModuleList.cpp
index fd943d7fc1d..9d795f9e558 100644
--- a/lldb/source/Core/ModuleList.cpp
+++ b/lldb/source/Core/ModuleList.cpp
@@ -102,6 +102,11 @@ bool ModuleListProperties::GetEnableExternalLookup() const {
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,
diff --git a/lldb/tools/lldb-test/lldb-test.cpp b/lldb/tools/lldb-test/lldb-test.cpp
index e5e23fb7695..471a9988287 100644
--- a/lldb/tools/lldb-test/lldb-test.cpp
+++ b/lldb/tools/lldb-test/lldb-test.cpp
@@ -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());
OpenPOWER on IntegriCloud