[clangd] Fix test failure when it's built with compiler flags unknown by clang

If LLVM is built with a compiler other than clang, the `compile_commands.json`
file may contain compiler flags unknown by clang.  When a clangd test is copied
into the build directory and checked, clangd will pick the unknown flag from
the file and cause a test failure.  Create an empty `compile_commands.json` in
the test directory nested in the build directory to override it.

Reviewed By: thesamesam

Differential Revision: https://reviews.llvm.org/D150582
This commit is contained in:
Xi Ruoyao
2023-05-16 03:56:14 +01:00
committed by Sam James
parent 7f37066915
commit 4ddae8b941
2 changed files with 11 additions and 0 deletions

View File

@@ -28,6 +28,16 @@ configure_lit_site_cfg(
${CMAKE_CURRENT_SOURCE_DIR}/lit.cfg.py
)
# Copy an empty compile_commands.json to override the compile_commands.json
# in the top level build directory. Or if a clangd test involves creating a
# temporary source file in the build directory and run clangd to check it,
# it can pick up unrecognizable command options when LLVM is built with
# another compiler or a different version of Clang.
configure_file(
${CMAKE_CURRENT_SOURCE_DIR}/compile_commands.json
${CMAKE_CURRENT_BINARY_DIR}/compile_commands.json
)
add_lit_testsuite(check-clangd "Running the Clangd regression tests"
# clangd doesn't put unittest configs in test/unit like every other project.
# Because of that, this needs to pass two folders here, while every other

View File

@@ -0,0 +1 @@
[]