From 8d508c597aaf5b483f4430300eda22f4d235f2ba Mon Sep 17 00:00:00 2001 From: Jonas Devlieghere Date: Thu, 23 Jan 2020 14:23:01 -0800 Subject: [PATCH] [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 --- lldb/test/Shell/helper/toolchain.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/lldb/test/Shell/helper/toolchain.py b/lldb/test/Shell/helper/toolchain.py index 97fdb7e..a5ccfd8 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) -- 2.7.4