diff options
author | w0rp <devw0rp@gmail.com> | 2017-07-17 00:07:18 +0100 |
---|---|---|
committer | w0rp <devw0rp@gmail.com> | 2017-07-17 00:07:18 +0100 |
commit | 3352a6c9df427204bcbffba78fdf65906d3966d0 (patch) | |
tree | 9007e716dc83612373d4c0d9252e79a6e6b2b442 /test/command_callback | |
parent | fe70742bb930a196b08180da9b251e141d95707c (diff) | |
download | ale-3352a6c9df427204bcbffba78fdf65906d3966d0.zip |
#711 - Make the clangtidy executable configurable
Diffstat (limited to 'test/command_callback')
-rw-r--r-- | test/command_callback/test_clang_tidy_command_callback.vader | 60 |
1 files changed, 53 insertions, 7 deletions
diff --git a/test/command_callback/test_clang_tidy_command_callback.vader b/test/command_callback/test_clang_tidy_command_callback.vader index 46d8a3a6..dc66859a 100644 --- a/test/command_callback/test_clang_tidy_command_callback.vader +++ b/test/command_callback/test_clang_tidy_command_callback.vader @@ -1,31 +1,77 @@ Before: Save g:ale_cpp_clangtidy_checks Save g:ale_cpp_clangtidy_options + Save g:ale_c_build_dir + + unlet! g:ale_c_build_dir + unlet! b:ale_c_build_dir + unlet! g:ale_cpp_clangtidy_checks + unlet! b:ale_cpp_clangtidy_checks + unlet! g:ale_cpp_clangtidy_options + unlet! b:ale_cpp_clangtidy_options + runtime ale_linters/cpp/clangtidy.vim After: + unlet! b:ale_c_build_dir + unlet! b:ale_cpp_clangtidy_checks + unlet! b:ale_cpp_clangtidy_options + unlet! b:ale_cpp_clangtidy_executable + Restore call ale#linter#Reset() Execute(The clangtidy command default should be correct): AssertEqual - \ 'clang-tidy -checks=''*'' %s', + \ ale#Escape('clang-tidy') + \ . ' -checks=''*'' %s', \ ale_linters#cpp#clangtidy#GetCommand(bufnr('')) Execute(You should be able to remove the -checks option for clang-tidy): - let g:ale_cpp_clangtidy_checks = [] + let b:ale_cpp_clangtidy_checks = [] + AssertEqual - \ 'clang-tidy %s', + \ ale#Escape('clang-tidy') + \ . ' %s', \ ale_linters#cpp#clangtidy#GetCommand(bufnr('')) Execute(You should be able to set other checks for clang-tidy): - let g:ale_cpp_clangtidy_checks = ['-*', 'clang-analyzer-*'] + let b:ale_cpp_clangtidy_checks = ['-*', 'clang-analyzer-*'] + AssertEqual - \ 'clang-tidy -checks=''-*,clang-analyzer-*'' %s', + \ ale#Escape('clang-tidy') + \ . ' -checks=''-*,clang-analyzer-*'' %s', \ ale_linters#cpp#clangtidy#GetCommand(bufnr('')) Execute(You should be able to manually set compiler flags for clang-tidy): - let g:ale_cpp_clangtidy_options = '-Wall' + let b:ale_cpp_clangtidy_options = '-Wall' + + AssertEqual + \ ale#Escape('clang-tidy') + \ . ' -checks=''*'' %s -- -Wall', + \ ale_linters#cpp#clangtidy#GetCommand(bufnr('')) + \ +Execute(The build directory should be configurable): + let b:ale_c_build_dir = '/foo/bar' + + AssertEqual + \ ale#Escape('clang-tidy') + \ . ' -checks=''*'' %s -p ' . ale#Escape('/foo/bar'), + \ ale_linters#cpp#clangtidy#GetCommand(bufnr('')) + +Execute(The build directory setting should override the options): + let b:ale_c_build_dir = '/foo/bar' + let b:ale_cpp_clangtidy_options = '-Wall' + + AssertEqual + \ ale#Escape('clang-tidy') + \ . ' -checks=''*'' %s -p ' . ale#Escape('/foo/bar'), + \ ale_linters#cpp#clangtidy#GetCommand(bufnr('')) + +Execute(The executable should be configurable): + let b:ale_cpp_clangtidy_executable = 'foobar' + AssertEqual - \ 'clang-tidy -checks=''*'' %s -- -Wall', + \ ale#Escape('foobar') + \ . ' -checks=''*'' %s', \ ale_linters#cpp#clangtidy#GetCommand(bufnr('')) |