mirror of
https://git.proxmox.com/git/llvm-toolchain
synced 2025-08-08 11:28:34 +00:00
add tests for clangd
This commit is contained in:
parent
de29f38ec9
commit
943e638261
1
debian/changelog
vendored
1
debian/changelog
vendored
@ -1,6 +1,7 @@
|
|||||||
llvm-toolchain-10 (1:10.0.0~+rc3-2) unstable; urgency=medium
|
llvm-toolchain-10 (1:10.0.0~+rc3-2) unstable; urgency=medium
|
||||||
|
|
||||||
* Disable the emmintrin.h build test in qualify-clang.sh on arm64
|
* Disable the emmintrin.h build test in qualify-clang.sh on arm64
|
||||||
|
* Add some tests for clangd usage
|
||||||
|
|
||||||
-- Sylvestre Ledru <sylvestre@debian.org> Sun, 08 Mar 2020 09:46:59 +0100
|
-- Sylvestre Ledru <sylvestre@debian.org> Sun, 08 Mar 2020 09:46:59 +0100
|
||||||
|
|
||||||
|
66
debian/qualify-clang.sh
vendored
66
debian/qualify-clang.sh
vendored
@ -80,6 +80,72 @@ if ! grep -q "nested namespaces can " foo.log; then
|
|||||||
cat foo.log
|
cat foo.log
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
echo "Testing clangd-$VERSION ..."
|
||||||
|
|
||||||
|
echo '{
|
||||||
|
"jsonrpc": "2.0",
|
||||||
|
"id": 0,
|
||||||
|
"method": "initialize",
|
||||||
|
"params": {
|
||||||
|
"processId": 123,
|
||||||
|
"rootPath": "clangd-10",
|
||||||
|
"capabilities": {
|
||||||
|
"textDocument": {
|
||||||
|
"completion": {
|
||||||
|
"completionItem": {
|
||||||
|
"snippetSupport": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"trace": "off"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
---
|
||||||
|
{"jsonrpc":"2.0","method":"textDocument/didOpen","params":{"textDocument":{"uri":"test:///main.cpp","languageId":"cpp","version":1,"text":"int func_with_args(int a, int b);\nint main() {\nfunc_with\n}"}}}
|
||||||
|
---
|
||||||
|
{"jsonrpc":"2.0","id":1,"method":"textDocument/completion","params":{"textDocument":{"uri":"test:///main.cpp"},"position":{"line":2,"character":7}}}
|
||||||
|
---
|
||||||
|
{"jsonrpc":"2.0","id":4,"method":"shutdown"}
|
||||||
|
---
|
||||||
|
{"jsonrpc":"2.0","method":"exit"}
|
||||||
|
' > a.json
|
||||||
|
|
||||||
|
clangd-$VERSION -lit-test -pch-storage=memory < a.json &> foo.log
|
||||||
|
if ! grep -q '"insertText": "func_with_args(${1:int a}, ${2:int b})",' foo.log; then
|
||||||
|
echo "clangd didn't export what we were expecting"
|
||||||
|
cat foo.log
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
rm -rf cmaketest && mkdir cmaketest
|
||||||
|
cat > cmaketest/CMakeLists.txt <<EOF
|
||||||
|
cmake_minimum_required(VERSION 2.8.12)
|
||||||
|
project(SanityCheck)
|
||||||
|
add_library(MyLibrary foo.cpp)
|
||||||
|
EOF
|
||||||
|
mkdir cmaketest/standard
|
||||||
|
cp foo.cpp cmaketest/
|
||||||
|
cp a.json cmaketest/standard
|
||||||
|
cd cmaketest/standard
|
||||||
|
|
||||||
|
# run with cmake
|
||||||
|
|
||||||
|
CXX=clang-$VERSION cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=ON .. > /dev/null
|
||||||
|
# TODO this test is useless as it doesn't leverage foo.cpp or the compiledb
|
||||||
|
clangd-$VERSION -lit-test -pch-storage=memory < a.json &> foo.log
|
||||||
|
if ! grep -q '"insertText": "func_with_args(${1:int a}, ${2:int b})",' foo.log; then
|
||||||
|
echo "clangd didn't export what we were expecting"
|
||||||
|
cat foo.log
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
cd -
|
||||||
|
rm -rf cmaketest
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
echo "Testing clang-$VERSION ..."
|
echo "Testing clang-$VERSION ..."
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user