From: Jonas Devlieghere Date: Thu, 23 Jan 2020 22:23:01 +0000 (-0800) Subject: [lldb/Test] Disallow using substituted binaries in shell test. X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=8d508c597aaf5b483f4430300eda22f4d235f2ba;p=android-x86%2Fexternal-llvm-project.git [lldb/Test] Disallow using substituted binaries in shell test. Explicitly disallow using lldb instead of %lldb in the shell tests. This is a clever trick that is used by Swift to achieve the same results. Differential revision: https://reviews.llvm.org/D73289 --- diff --git a/lldb/test/Shell/helper/toolchain.py b/lldb/test/Shell/helper/toolchain.py index 97fdb7e0f18..a5ccfd8b889 100644 --- a/lldb/test/Shell/helper/toolchain.py +++ b/lldb/test/Shell/helper/toolchain.py @@ -14,6 +14,15 @@ def _get_lldb_init_path(config): return os.path.join(config.test_exec_root, 'Shell', 'lit-lldb-init') +def _disallow(config, execName): + warning = ''' + echo '*** Do not use \'{0}\' in tests; use \'%''{0}\'. ***' && + exit 1 && echo + ''' + config.substitutions.append((' {0} '.format(execName), + warning.format(execName))) + + def use_lldb_substitutions(config): # Set up substitutions for primary tools. These tools must come from config.lldb_tools_dir # which is basically the build output directory. We do not want to find these in path or @@ -58,6 +67,10 @@ def use_lldb_substitutions(config): extra_args=build_script_args) ] + _disallow(config, 'lldb') + _disallow(config, 'debugserver') + _disallow(config, 'platformserver') + llvm_config.add_tool_substitutions(primary_tools, [config.lldb_tools_dir]) @@ -141,6 +154,7 @@ def use_support_substitutions(config): additional_tool_dirs += [config.lldb_tools_dir, config.llvm_tools_dir] llvm_config.add_tool_substitutions(support_tools, additional_tool_dirs) + _disallow(config, 'clang') def use_lldb_repro_substitutions(config, mode): lldb_init = _get_lldb_init_path(config)