[Lldb-commits] [PATCH] D71379: lldbutil: Forward ASan launch info to test inferiors
Vedant Kumar via Phabricator via lldb-commits
lldb-commits at lists.llvm.org
Wed Dec 11 16:28:10 PST 2019
vsk created this revision.
vsk added reviewers: davide, jingham.
vsk edited the summary of this revision.
This allows an unsanitized test process which loads a sanitized DSO (the
motivating example is a Swift runtime dylib) to launch on Darwin.
rdar://57290132
https://reviews.llvm.org/D71379
Files:
lldb/packages/Python/lldbsuite/test/lldbutil.py
lldb/test/API/lit.cfg.py
Index: lldb/test/API/lit.cfg.py
===================================================================
--- lldb/test/API/lit.cfg.py
+++ lldb/test/API/lit.cfg.py
@@ -90,6 +90,12 @@
if config.llvm_libs_dir:
dotest_cmd += ['--env', 'LLVM_LIBS_DIR=' + config.llvm_libs_dir]
+# Forward ASan-specific environment variables to tests, as a test may load an
+# ASan-ified dylib.
+for env_var in ('ASAN_OPTIONS', 'DYLD_INSERT_LIBRARIES'):
+ if env_var in config.environment:
+ dotest_cmd += ['--inferior-env', env_var + '=' + config.environment[env_var]]
+
if config.lldb_build_directory:
dotest_cmd += ['--build-dir', config.lldb_build_directory]
Index: lldb/packages/Python/lldbsuite/test/lldbutil.py
===================================================================
--- lldb/packages/Python/lldbsuite/test/lldbutil.py
+++ lldb/packages/Python/lldbsuite/test/lldbutil.py
@@ -19,6 +19,7 @@
# LLDB modules
import lldb
+from . import lldbtest_config
# ===================================================
@@ -758,6 +759,12 @@
# Create the target
target = test.dbg.CreateTarget(exe)
test.assertTrue(target, "Target: %s is not valid."%(exe_name))
+
+ # Set environment variables for the inferior.
+ if lldbtest_config.inferior_env:
+ test.runCmd('settings set target.env-vars {}'.format(
+ lldbtest_config.inferior_env))
+
return target
def run_to_breakpoint_do_run(test, target, bkpt, launch_info = None,
@@ -765,7 +772,7 @@
# Launch the process, and do not stop at the entry point.
if not launch_info:
- launch_info = lldb.SBLaunchInfo(None)
+ launch_info = target.GetLaunchInfo()
launch_info.SetWorkingDirectory(test.get_process_working_directory())
if extra_images and lldb.remote_platform:
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D71379.233469.patch
Type: text/x-patch
Size: 1794 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20191212/3eb8ebf2/attachment.bin>
More information about the lldb-commits
mailing list