summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite
diff options
context:
space:
mode:
authorPavel Labath <pavel@labath.sk>2019-09-05 07:35:45 +0000
committerPavel Labath <pavel@labath.sk>2019-09-05 07:35:45 +0000
commit45e3ce8d7653f80e8c5ff7e306112c35544e3d4b (patch)
treea4037d215ad21cbd1443ea8072d252cf5a53bfcd /lldb/packages/Python/lldbsuite
parent7790858b00de4c2e48ae6b171e642396f880b8c8 (diff)
downloadbcm5719-llvm-45e3ce8d7653f80e8c5ff7e306112c35544e3d4b.tar.gz
bcm5719-llvm-45e3ce8d7653f80e8c5ff7e306112c35544e3d4b.zip
[dotest] Centralize initialization commands even more
Summary: In r367234 we introduced a central place to hold the set up commands for the various ways we have of launching lldb. However, a number of commands still remained outside of that. This patch moves the remaining set up commands into this function, which allows us to remove manual clang module path setting code in TestBatchMode. One unfortunate victim of this approach is TestSTTYBeforeAndAfter which, due to how it launches lldb (pexpect->expect->lldb), fails get the quoting right. It would be possible to fix the quoting there, it would be a bit icky, and none of the commands in this list are really relevant for what this test is doing, so I just remove the commands outright. Reviewers: JDevlieghere, jankratochvil Subscribers: lldb-commits Differential Revision: https://reviews.llvm.org/D67173 llvm-svn: 371019
Diffstat (limited to 'lldb/packages/Python/lldbsuite')
-rw-r--r--lldb/packages/Python/lldbsuite/test/driver/batch_mode/TestBatchMode.py6
-rw-r--r--lldb/packages/Python/lldbsuite/test/lldbtest.py39
-rw-r--r--lldb/packages/Python/lldbsuite/test/terminal/TestSTTYBeforeAndAfter.py2
-rw-r--r--lldb/packages/Python/lldbsuite/test/tools/lldb-vscode/lldbvscode_testcase.py2
4 files changed, 21 insertions, 28 deletions
diff --git a/lldb/packages/Python/lldbsuite/test/driver/batch_mode/TestBatchMode.py b/lldb/packages/Python/lldbsuite/test/driver/batch_mode/TestBatchMode.py
index b474207e0b2..01e11fc096c 100644
--- a/lldb/packages/Python/lldbsuite/test/driver/batch_mode/TestBatchMode.py
+++ b/lldb/packages/Python/lldbsuite/test/driver/batch_mode/TestBatchMode.py
@@ -24,11 +24,9 @@ class DriverBatchModeTest(PExpectTest):
self.build()
exe = self.getBuildArtifact("a.out")
- module_cache = self.getBuildArtifact("module.cache")
# Pass CRASH so the process will crash and stop in batch mode.
extra_args = ['-b',
- '-o', "settings set symbols.clang-modules-cache-path '%s'"%module_cache,
'-o', 'break set -n main',
'-o', 'run',
'-o', 'continue',
@@ -57,11 +55,9 @@ class DriverBatchModeTest(PExpectTest):
self.build()
exe = self.getBuildArtifact("a.out")
- module_cache = self.getBuildArtifact("module.cache")
# Now do it again, and make sure if we don't crash, we quit:
extra_args = ['-b',
- '-o', "settings set symbols.clang-modules-cache-path '%s'"%module_cache,
'-o', 'break set -n main',
'-o', 'run',
'-o', 'continue',
@@ -96,7 +92,6 @@ class DriverBatchModeTest(PExpectTest):
self.setTearDownCleanup()
exe = self.getBuildArtifact("a.out")
- module_cache = self.getBuildArtifact("module.cache")
# Start up the process by hand, attach to it, and wait for its completion.
# Attach is funny, since it looks like it stops with a signal on most Unixen so
@@ -117,7 +112,6 @@ class DriverBatchModeTest(PExpectTest):
extra_args = [
'-b',
- '-o', "settings set symbols.clang-modules-cache-path '%s'"%module_cache,
'-o', 'process attach -p %d'%victim_pid,
'-o', "breakpoint set --file '%s' -p 'Stop here to unset keep_waiting' -N keep_waiting"%self.source,
'-o', 'continue',
diff --git a/lldb/packages/Python/lldbsuite/test/lldbtest.py b/lldb/packages/Python/lldbsuite/test/lldbtest.py
index 48dc81780e9..4b10331d42c 100644
--- a/lldb/packages/Python/lldbsuite/test/lldbtest.py
+++ b/lldb/packages/Python/lldbsuite/test/lldbtest.py
@@ -684,16 +684,31 @@ class Base(unittest2.TestCase):
"""Return absolute path to a file in the test's source directory."""
return os.path.join(self.getSourceDir(), name)
- @staticmethod
- def setUpCommands():
- return [
+ @classmethod
+ def setUpCommands(cls):
+ commands = [
# Disable Spotlight lookup. The testsuite creates
# different binaries with the same UUID, because they only
# differ in the debug info, which is not being hashed.
"settings set symbols.enable-external-lookup false",
# Testsuite runs in parallel and the host can have also other load.
- "settings set plugin.process.gdb-remote.packet-timeout 60"]
+ "settings set plugin.process.gdb-remote.packet-timeout 60",
+
+ 'settings set symbols.clang-modules-cache-path "{}"'.format(
+ configuration.module_cache_dir),
+ "settings set use-color false",
+ ]
+ # Make sure that a sanitizer LLDB's environment doesn't get passed on.
+ if cls.platformContext and cls.platformContext.shlib_environment_var in os.environ:
+ commands.append('settings set target.env-vars {}='.format(
+ cls.platformContext.shlib_environment_var))
+
+ # Set environment variables for the inferior.
+ if lldbtest_config.inferior_env:
+ commands.append('settings set target.env-vars {}'.format(
+ lldbtest_config.inferior_env))
+ return commands
def setUp(self):
"""Fixture for unittest test case setup.
@@ -1851,25 +1866,9 @@ class TestBase(Base):
# decorators.
Base.setUp(self)
- # Set the clang modules cache path used by LLDB.
- self.runCmd(
- 'settings set symbols.clang-modules-cache-path "{}"'.format(
- configuration.module_cache_dir))
-
for s in self.setUpCommands():
self.runCmd(s)
- # Disable color.
- self.runCmd("settings set use-color false")
-
- # Make sure that a sanitizer LLDB's environment doesn't get passed on.
- if 'DYLD_LIBRARY_PATH' in os.environ:
- self.runCmd('settings set target.env-vars DYLD_LIBRARY_PATH=')
-
- # Set environment variables for the inferior.
- if lldbtest_config.inferior_env:
- self.runCmd('settings set target.env-vars {}'.format(lldbtest_config.inferior_env))
-
if "LLDB_MAX_LAUNCH_COUNT" in os.environ:
self.maxLaunchCount = int(os.environ["LLDB_MAX_LAUNCH_COUNT"])
diff --git a/lldb/packages/Python/lldbsuite/test/terminal/TestSTTYBeforeAndAfter.py b/lldb/packages/Python/lldbsuite/test/terminal/TestSTTYBeforeAndAfter.py
index cb5a5cb9347..e994508911b 100644
--- a/lldb/packages/Python/lldbsuite/test/terminal/TestSTTYBeforeAndAfter.py
+++ b/lldb/packages/Python/lldbsuite/test/terminal/TestSTTYBeforeAndAfter.py
@@ -73,7 +73,7 @@ class TestSTTYBeforeAndAfter(TestBase):
child.logfile_read = None
# Invoke the lldb command.
- child.sendline('%s %s' % (lldbtest_config.lldbExec, self.lldbOption))
+ child.sendline(lldbtest_config.lldbExec)
child.expect_exact(lldb_prompt)
# Immediately quit.
diff --git a/lldb/packages/Python/lldbsuite/test/tools/lldb-vscode/lldbvscode_testcase.py b/lldb/packages/Python/lldbsuite/test/tools/lldb-vscode/lldbvscode_testcase.py
index cff85346de5..04ca8d9b755 100644
--- a/lldb/packages/Python/lldbsuite/test/tools/lldb-vscode/lldbvscode_testcase.py
+++ b/lldb/packages/Python/lldbsuite/test/tools/lldb-vscode/lldbvscode_testcase.py
@@ -12,7 +12,7 @@ class VSCodeTestCaseBase(TestBase):
self.assertTrue(os.path.exists(self.lldbVSCodeExec),
'lldb-vscode must exist')
self.vscode = vscode.DebugAdaptor(
- executable=self.lldbVSCodeExec, init_commands=Base.setUpCommands())
+ executable=self.lldbVSCodeExec, init_commands=self.setUpCommands())
def build_and_create_debug_adaptor(self):
self.build()
OpenPOWER on IntegriCloud