llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT--> @llvm/pr-subscribers-clang-tools-extra Author: Aiden Grossman (boomanaiden154) <details> <summary>Changes</summary> This reverts commit 4cfbc44ebe26692c209655c37aeb0b6cbf1d479b. This was failing due to a missing chmod binary on one of the bots (clangd-ubuntu-tsan). This patch fixes that by explicitly checking for the presence of a chmod binary. This should not be necessary (I have added a TODO for myself to update once I have looked at the bot setup which I am currently waiting on access to) as check-llvm works with requiring chmod unconditionally. --- Full diff: https://github.com/llvm/llvm-project/pull/170186.diff 2 Files Affected: - (modified) clang-tools-extra/clangd/test/lit.cfg.py (+22-1) - (modified) clang-tools-extra/clangd/test/system-include-extractor.test (+1-1) ``````````diff diff --git a/clang-tools-extra/clangd/test/lit.cfg.py b/clang-tools-extra/clangd/test/lit.cfg.py index 05a0f5e7383e9..0199275c70e1e 100644 --- a/clang-tools-extra/clangd/test/lit.cfg.py +++ b/clang-tools-extra/clangd/test/lit.cfg.py @@ -1,3 +1,6 @@ +import os +import shutil + import lit.llvm import lit.util @@ -5,10 +8,21 @@ lit.llvm.llvm_config.clang_setup() lit.llvm.llvm_config.use_default_substitutions() +# TODO: Consolidate the logic for turning on the internal shell by default for all LLVM test suites. +# See https://github.com/llvm/llvm-project/issues/106636 for more details. +# +# We prefer the lit internal shell which provides a better user experience on failures +# and is faster unless the user explicitly disables it with LIT_USE_INTERNAL_SHELL=0 +# env var. +use_lit_shell = True +lit_shell_env = os.environ.get("LIT_USE_INTERNAL_SHELL") +if lit_shell_env: + use_lit_shell = lit.util.pythonize_bool(lit_shell_env) + config.name = "Clangd" config.suffixes = [".test"] config.excludes = ["Inputs"] -config.test_format = lit.formats.ShTest(not lit.llvm.llvm_config.use_lit_shell) +config.test_format = lit.formats.ShTest(not use_lit_shell) config.test_source_root = config.clangd_source_dir + "/test" config.test_exec_root = config.clangd_binary_dir + "/test" @@ -41,6 +55,13 @@ def calculate_arch_features(arch_string): if lit.util.pythonize_bool(config.have_benchmarks): config.available_features.add("have-benchmarks") +# This is needed to avoid running a single test (system-include-extractor.test) +# on a single buildbot (clangd-ubuntu-tsan) and likely should not be needed. We +# are able to unconditionally assume a chmod binary exists for check-llvm. +# TODO(boomanaiden154): Fix this after investigating the bot setup. +if shutil.which("chmod"): + config.available_features.add("chmod") + # It is not realistically possible to account for all options that could # possibly be present in system and user configuration files, so disable # default configs for the test runs. diff --git a/clang-tools-extra/clangd/test/system-include-extractor.test b/clang-tools-extra/clangd/test/system-include-extractor.test index 3314be806a801..36e4c581ecad1 100644 --- a/clang-tools-extra/clangd/test/system-include-extractor.test +++ b/clang-tools-extra/clangd/test/system-include-extractor.test @@ -1,7 +1,7 @@ # RUN: rm -rf %t.dir && mkdir -p %t.dir # The mock driver below is a shell script: -# REQUIRES: shell +# REQUIRES: shell, chmod # Create a bin directory to store the mock-driver and add it to the path # RUN: mkdir -p %t.dir/bin `````````` </details> https://github.com/llvm/llvm-project/pull/170186 _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
