diff options
author | w0rp <devw0rp@gmail.com> | 2018-07-15 18:24:53 +0100 |
---|---|---|
committer | w0rp <devw0rp@gmail.com> | 2018-07-15 18:28:28 +0100 |
commit | a42999a639b2916b769a85f37d037be314d9d61b (patch) | |
tree | 5ebfb4d357dc673efa93fd32a66b489c4510de40 /test/command_callback/test_clang_tidy_command_callback.vader | |
parent | 5155a35a80fe3b20659eb0f28cc6cc720532dd3f (diff) | |
download | ale-a42999a639b2916b769a85f37d037be314d9d61b.zip |
Massively reduce the amount of code needed for linter tests
Diffstat (limited to 'test/command_callback/test_clang_tidy_command_callback.vader')
-rw-r--r-- | test/command_callback/test_clang_tidy_command_callback.vader | 74 |
1 files changed, 20 insertions, 54 deletions
diff --git a/test/command_callback/test_clang_tidy_command_callback.vader b/test/command_callback/test_clang_tidy_command_callback.vader index f82efffe..f28609ee 100644 --- a/test/command_callback/test_clang_tidy_command_callback.vader +++ b/test/command_callback/test_clang_tidy_command_callback.vader @@ -1,74 +1,46 @@ 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 - + call ale#assert#SetUpLinterTest('cpp', 'clangtidy') call ale#test#SetFilename('test.cpp') 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() + call ale#assert#TearDownLinterTest() Execute(The clangtidy command default should be correct): - AssertEqual - \ ale#Escape('clang-tidy') - \ . ' -checks=' . ale#Escape('*') . ' %s', - \ ale_linters#cpp#clangtidy#GetCommand(bufnr('')) + AssertLinter 'clang-tidy', + \ ale#Escape('clang-tidy') . ' -checks=' . ale#Escape('*') . ' %s' Execute(You should be able to remove the -checks option for clang-tidy): let b:ale_cpp_clangtidy_checks = [] - AssertEqual - \ ale#Escape('clang-tidy') - \ . ' %s', - \ ale_linters#cpp#clangtidy#GetCommand(bufnr('')) + AssertLinter 'clang-tidy', ale#Escape('clang-tidy') . ' %s' Execute(You should be able to set other checks for clang-tidy): let b:ale_cpp_clangtidy_checks = ['-*', 'clang-analyzer-*'] - AssertEqual + AssertLinter 'clang-tidy', \ ale#Escape('clang-tidy') - \ . ' -checks=' . ale#Escape('-*,clang-analyzer-*') . ' %s', - \ ale_linters#cpp#clangtidy#GetCommand(bufnr('')) + \ . ' -checks=' . ale#Escape('-*,clang-analyzer-*') . ' %s' Execute(You should be able to manually set compiler flags for clang-tidy): let b:ale_cpp_clangtidy_options = '-Wall' - AssertEqual - \ ale#Escape('clang-tidy') - \ . ' -checks=' . ale#Escape('*') . ' %s -- -Wall', - \ ale_linters#cpp#clangtidy#GetCommand(bufnr('')) + AssertLinter 'clang-tidy', + \ ale#Escape('clang-tidy') . ' -checks=' . ale#Escape('*') . ' %s -- -Wall' \ Execute(The build directory should be configurable): let b:ale_c_build_dir = '/foo/bar' - AssertEqual + AssertLinter 'clang-tidy', \ ale#Escape('clang-tidy') - \ . ' -checks=' . ale#Escape('*') . ' %s -p ' . ale#Escape('/foo/bar'), - \ ale_linters#cpp#clangtidy#GetCommand(bufnr('')) + \ . ' -checks=' . ale#Escape('*') . ' %s -p ' . ale#Escape('/foo/bar') 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 + AssertLinter 'clang-tidy', \ ale#Escape('clang-tidy') - \ . ' -checks=' . ale#Escape('*') . ' %s -p ' . ale#Escape('/foo/bar'), - \ ale_linters#cpp#clangtidy#GetCommand(bufnr('')) + \ . ' -checks=' . ale#Escape('*') . ' %s -p ' . ale#Escape('/foo/bar') Execute(The build directory should be ignored for header files): call ale#test#SetFilename('test.h') @@ -76,22 +48,16 @@ Execute(The build directory should be ignored for header files): let b:ale_c_build_dir = '/foo/bar' let b:ale_cpp_clangtidy_options = '-Wall' - AssertEqual - \ ale#Escape('clang-tidy') - \ . ' -checks=' . ale#Escape('*') . ' %s -- -Wall', - \ ale_linters#cpp#clangtidy#GetCommand(bufnr('')) - \ + AssertLinter 'clang-tidy', + \ ale#Escape('clang-tidy') . ' -checks=' . ale#Escape('*') . ' %s -- -Wall' + call ale#test#SetFilename('test.hpp') - AssertEqual - \ ale#Escape('clang-tidy') - \ . ' -checks=' . ale#Escape('*') . ' %s -- -Wall', - \ ale_linters#cpp#clangtidy#GetCommand(bufnr('')) + AssertLinter 'clang-tidy', + \ ale#Escape('clang-tidy') . ' -checks=' . ale#Escape('*') . ' %s -- -Wall' Execute(The executable should be configurable): let b:ale_cpp_clangtidy_executable = 'foobar' - AssertEqual - \ ale#Escape('foobar') - \ . ' -checks=' . ale#Escape('*') . ' %s', - \ ale_linters#cpp#clangtidy#GetCommand(bufnr('')) + AssertLinter 'foobar', + \ ale#Escape('foobar') . ' -checks=' . ale#Escape('*') . ' %s' |