#392 - Detect and use compile_commands.json for cppcheck

This commit is contained in:
w0rp
2017-05-02 21:18:17 +01:00
parent 36314aeaf2
commit eb8bd26776
6 changed files with 72 additions and 2 deletions

View File

@@ -0,0 +1,40 @@
Before:
silent! cd /testplugin/test/command_callback
let b:dir = getcwd()
After:
silent execute 'cd ' . fnameescape(b:dir)
unlet! b:dir
call ale#linter#Reset()
Execute(The default C cppcheck command should be correct):
runtime ale_linters/c/cppcheck.vim
AssertEqual
\ 'cppcheck -q --language=c --enable=style %t',
\ ale_linters#c#cppcheck#GetCommand(bufnr(''))
Execute(cppcheck for C should detect compile_commands.json files):
runtime ale_linters/c/cppcheck.vim
cd cppcheck_paths/one
AssertEqual
\ 'cd ' . fnameescape(b:dir . '/cppcheck_paths/one') . ' && '
\ . 'cppcheck -q --language=c --project=compile_commands.json --enable=style %t',
\ ale_linters#c#cppcheck#GetCommand(bufnr(''))
Execute(The default C++ cppcheck command should be correct):
runtime ale_linters/cpp/cppcheck.vim
AssertEqual
\ 'cppcheck -q --language=c++ --enable=style %t',
\ ale_linters#cpp#cppcheck#GetCommand(bufnr(''))
Execute(cppcheck for C++ should detect compile_commands.json files):
runtime ale_linters/cpp/cppcheck.vim
cd cppcheck_paths/one
AssertEqual
\ 'cd ' . fnameescape(b:dir . '/cppcheck_paths/one') . ' && '
\ . 'cppcheck -q --language=c++ --project=compile_commands.json --enable=style %t',
\ ale_linters#cpp#cppcheck#GetCommand(bufnr(''))