[PATCH] D150582: [clangd] Fix test failure when it's built with compiler flags unknown by clang
Xi Ruoyao via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Mon May 15 08:57:38 PDT 2023
xry111 created this revision.
xry111 added reviewers: thesamesam, MaskRay, uabelho.
Herald added subscribers: kadircet, arphaman.
Herald added a project: All.
xry111 requested review of this revision.
Herald added subscribers: cfe-commits, ilya-biryukov.
Herald added a project: clang-tools-extra.
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.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D150582
Files:
clang-tools-extra/clangd/test/CMakeLists.txt
clang-tools-extra/clangd/test/compile_commands.json
Index: clang-tools-extra/clangd/test/compile_commands.json
===================================================================
--- /dev/null
+++ clang-tools-extra/clangd/test/compile_commands.json
@@ -0,0 +1 @@
+[]
Index: clang-tools-extra/clangd/test/CMakeLists.txt
===================================================================
--- clang-tools-extra/clangd/test/CMakeLists.txt
+++ clang-tools-extra/clangd/test/CMakeLists.txt
@@ -28,6 +28,16 @@
${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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D150582.522217.patch
Type: text/x-patch
Size: 1213 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20230515/ca4527f0/attachment.bin>
More information about the cfe-commits
mailing list