Added tests for clangd compile commands dectection
This commit is contained in:
parent
35f51221f1
commit
a62f26434a
5 changed files with 16 additions and 2 deletions
|
@ -3,6 +3,7 @@
|
||||||
|
|
||||||
call ale#Set('c_clangd_executable', 'clangd')
|
call ale#Set('c_clangd_executable', 'clangd')
|
||||||
call ale#Set('c_clangd_options', '')
|
call ale#Set('c_clangd_options', '')
|
||||||
|
call ale#Set('c_build_dir', '')
|
||||||
|
|
||||||
function! ale_linters#c#clangd#GetCommand(buffer) abort
|
function! ale_linters#c#clangd#GetCommand(buffer) abort
|
||||||
let l:build_dir = ale#c#GetBuildDirectory(a:buffer)
|
let l:build_dir = ale#c#GetBuildDirectory(a:buffer)
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
|
|
||||||
call ale#Set('cpp_clangd_executable', 'clangd')
|
call ale#Set('cpp_clangd_executable', 'clangd')
|
||||||
call ale#Set('cpp_clangd_options', '')
|
call ale#Set('cpp_clangd_options', '')
|
||||||
|
call ale#Set('c_build_dir', '')
|
||||||
|
|
||||||
function! ale_linters#cpp#clangd#GetCommand(buffer) abort
|
function! ale_linters#cpp#clangd#GetCommand(buffer) abort
|
||||||
let l:build_dir = ale#c#GetBuildDirectory(a:buffer)
|
let l:build_dir = ale#c#GetBuildDirectory(a:buffer)
|
||||||
|
|
|
@ -18,9 +18,9 @@ Execute(The project root should be detected correctly):
|
||||||
|
|
||||||
AssertLSPProject ''
|
AssertLSPProject ''
|
||||||
|
|
||||||
call ale#test#SetFilename('clangd_paths/dummy.c')
|
call ale#test#SetFilename('clangd_paths/with_compile_commands/dummy.c')
|
||||||
|
|
||||||
AssertLSPProject ale#path#Simplify(g:dir . '/clangd_paths')
|
AssertLSPProject ale#path#Simplify(g:dir . '/clangd_paths/with_compile_commands')
|
||||||
|
|
||||||
Execute(The executable should be configurable):
|
Execute(The executable should be configurable):
|
||||||
let g:ale_c_clangd_executable = 'foobar'
|
let g:ale_c_clangd_executable = 'foobar'
|
||||||
|
@ -32,3 +32,15 @@ Execute(The options should be configurable):
|
||||||
|
|
||||||
AssertLinter 'clangd', ale#Escape('clangd') . ' ' . b:ale_c_clangd_options
|
AssertLinter 'clangd', ale#Escape('clangd') . ' ' . b:ale_c_clangd_options
|
||||||
|
|
||||||
|
Execute(The compile command database should be detected correctly):
|
||||||
|
call ale#test#SetFilename('clangd_paths/with_build_dir/dummy_src/dummy.c')
|
||||||
|
|
||||||
|
let b:ale_c_clangd_options = ''
|
||||||
|
let b:ale_c_build_dir = ''
|
||||||
|
let b:ale_c_build_dir_names = ['unusual_build_dir_name']
|
||||||
|
let b:ale_c_parse_compile_commands = 1
|
||||||
|
|
||||||
|
AssertLinter 'clangd', ale#Escape('clangd')
|
||||||
|
\ . ' -compile-commands-dir='
|
||||||
|
\ . ale#Escape(g:dir . '/clangd_paths/with_build_dir/unusual_build_dir_name')
|
||||||
|
|
||||||
|
|
Reference in a new issue