summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test')
-rw-r--r--lldb/packages/Python/lldbsuite/test/commands/expression/weak_symbols/TestWeakSymbols.py13
-rw-r--r--lldb/packages/Python/lldbsuite/test/lldbutil.py25
2 files changed, 26 insertions, 12 deletions
diff --git a/lldb/packages/Python/lldbsuite/test/commands/expression/weak_symbols/TestWeakSymbols.py b/lldb/packages/Python/lldbsuite/test/commands/expression/weak_symbols/TestWeakSymbols.py
index 2999cba7d99..2b097e81ddf 100644
--- a/lldb/packages/Python/lldbsuite/test/commands/expression/weak_symbols/TestWeakSymbols.py
+++ b/lldb/packages/Python/lldbsuite/test/commands/expression/weak_symbols/TestWeakSymbols.py
@@ -49,17 +49,20 @@ class TestWeakSymbolsInExpressions(TestBase):
def do_test(self):
hidden_dir = os.path.join(self.getBuildDir(), "hidden")
-
+ hidden_dylib = os.path.join(hidden_dir, "libdylib.dylib")
+
launch_info = lldb.SBLaunchInfo(None)
launch_info.SetWorkingDirectory(self.getBuildDir())
# We have to point to the hidden directory to pick up the
# version of the dylib without the weak symbols:
env_expr = self.platformContext.shlib_environment_var + "=" + hidden_dir
launch_info.SetEnvironmentEntries([env_expr], True)
-
- (self.target, process, thread, bkpt) = lldbutil.run_to_source_breakpoint(self,
- "Set a breakpoint here", self.main_source_file,
- launch_info = launch_info)
+
+ (self.target, _, thread, _) = lldbutil.run_to_source_breakpoint(
+ self, "Set a breakpoint here",
+ self.main_source_file,
+ launch_info = launch_info,
+ extra_images = [hidden_dylib])
# First we have to import the Dylib module so we get the type info
# for the weak symbol. We need to add the source dir to the module
# search paths, and then run @import to introduce it into the expression
diff --git a/lldb/packages/Python/lldbsuite/test/lldbutil.py b/lldb/packages/Python/lldbsuite/test/lldbutil.py
index 5100dd596d0..05d0c9f9d3e 100644
--- a/lldb/packages/Python/lldbsuite/test/lldbutil.py
+++ b/lldb/packages/Python/lldbsuite/test/lldbutil.py
@@ -760,13 +760,18 @@ def run_to_breakpoint_make_target(test, exe_name = "a.out", in_cwd = True):
test.assertTrue(target, "Target: %s is not valid."%(exe_name))
return target
-def run_to_breakpoint_do_run(test, target, bkpt, launch_info = None, only_one_thread = True):
+def run_to_breakpoint_do_run(test, target, bkpt, launch_info = None,
+ only_one_thread = True, extra_images = None):
# Launch the process, and do not stop at the entry point.
if not launch_info:
launch_info = lldb.SBLaunchInfo(None)
launch_info.SetWorkingDirectory(test.get_process_working_directory())
+ if extra_images and lldb.remote_platform:
+ environ = test.registerSharedLibrariesWithTarget(target, extra_images)
+ launch_info.SetEnvironmentEntries(environ, True)
+
error = lldb.SBError()
process = target.Launch(launch_info, error)
@@ -791,7 +796,8 @@ def run_to_name_breakpoint (test, bkpt_name, launch_info = None,
exe_name = "a.out",
bkpt_module = None,
in_cwd = True,
- only_one_thread = True):
+ only_one_thread = True,
+ extra_images = None):
"""Start up a target, using exe_name as the executable, and run it to
a breakpoint set by name on bkpt_name restricted to bkpt_module.
@@ -827,13 +833,15 @@ def run_to_name_breakpoint (test, bkpt_name, launch_info = None,
test.assertTrue(breakpoint.GetNumLocations() > 0,
"No locations found for name breakpoint: '%s'."%(bkpt_name))
- return run_to_breakpoint_do_run(test, target, breakpoint, launch_info, only_one_thread)
+ return run_to_breakpoint_do_run(test, target, breakpoint, launch_info,
+ only_one_thread, extra_images)
def run_to_source_breakpoint(test, bkpt_pattern, source_spec,
launch_info = None, exe_name = "a.out",
bkpt_module = None,
in_cwd = True,
- only_one_thread = True):
+ only_one_thread = True,
+ extra_images = None):
"""Start up a target, using exe_name as the executable, and run it to
a breakpoint set by source regex bkpt_pattern.
@@ -847,13 +855,15 @@ def run_to_source_breakpoint(test, bkpt_pattern, source_spec,
test.assertTrue(breakpoint.GetNumLocations() > 0,
'No locations found for source breakpoint: "%s", file: "%s", dir: "%s"'
%(bkpt_pattern, source_spec.GetFilename(), source_spec.GetDirectory()))
- return run_to_breakpoint_do_run(test, target, breakpoint, launch_info, only_one_thread)
+ return run_to_breakpoint_do_run(test, target, breakpoint, launch_info,
+ only_one_thread, extra_images)
def run_to_line_breakpoint(test, source_spec, line_number, column = 0,
launch_info = None, exe_name = "a.out",
bkpt_module = None,
in_cwd = True,
- only_one_thread = True):
+ only_one_thread = True,
+ extra_images = None):
"""Start up a target, using exe_name as the executable, and run it to
a breakpoint set by (source_spec, line_number(, column)).
@@ -868,7 +878,8 @@ def run_to_line_breakpoint(test, source_spec, line_number, column = 0,
'No locations found for line breakpoint: "%s:%d(:%d)", dir: "%s"'
%(source_spec.GetFilename(), line_number, column,
source_spec.GetDirectory()))
- return run_to_breakpoint_do_run(test, target, breakpoint, launch_info, only_one_thread)
+ return run_to_breakpoint_do_run(test, target, breakpoint, launch_info,
+ only_one_thread, extra_images)
def continue_to_breakpoint(process, bkpt):
OpenPOWER on IntegriCloud