New linter: Flawfinder (#1361)
* Flawfinder support added for C and C++ A minor modification to gcc handler was made to support flawfinder's single-line output format that does not have a space following the colon denoting the warning level. gcc handler still passes its Vader tests after this modification. * Documentation fixes * Revert documentation regression * Added Flawfinder to table of contents * Removed trailing whitespace * Follow ALE conventions better Added additional documentation and Vader tests
This commit is contained in:
parent
478a2883a6
commit
82f8a04e18
9 changed files with 223 additions and 5 deletions
|
@ -0,0 +1,51 @@
|
|||
Before:
|
||||
Save g:ale_c_flawfinder_executable
|
||||
Save g:ale_c_flawfinder_options
|
||||
Save g:ale_c_flawfinder_minlevel
|
||||
|
||||
unlet! g:ale_c_flawfinder_executable
|
||||
unlet! b:ale_c_flawfinder_executable
|
||||
unlet! g:ale_c_flawfinder_options
|
||||
unlet! b:ale_c_flawfinder_options
|
||||
unlet! g:ale_c_flawfinder_minlevel
|
||||
unlet! b:ale_c_flawfinder_minlevel
|
||||
|
||||
runtime ale_linters/c/flawfinder.vim
|
||||
|
||||
After:
|
||||
unlet! b:ale_c_flawfinder_executable
|
||||
unlet! b:ale_c_flawfinder_options
|
||||
unlet! b:ale_c_flawfinder_minlevel
|
||||
|
||||
Restore
|
||||
call ale#linter#Reset()
|
||||
|
||||
Execute(The flawfinder command should be correct):
|
||||
AssertEqual
|
||||
\ ale#Escape('flawfinder')
|
||||
\ . ' -CDQS --minlevel=1 %t',
|
||||
\ ale_linters#c#flawfinder#GetCommand(bufnr(''))
|
||||
|
||||
Execute(The minlevel of flawfinder should be configurable):
|
||||
let b:ale_c_flawfinder_minlevel = 8
|
||||
|
||||
AssertEqual
|
||||
\ ale#Escape('flawfinder')
|
||||
\ . ' -CDQS --minlevel=8 %t',
|
||||
\ ale_linters#c#flawfinder#GetCommand(bufnr(''))
|
||||
|
||||
Execute(Additional flawfinder options should be configurable):
|
||||
let b:ale_c_flawfinder_options = ' --foobar'
|
||||
|
||||
AssertEqual
|
||||
\ ale#Escape('flawfinder')
|
||||
\ . ' -CDQS --foobar --minlevel=1 %t',
|
||||
\ ale_linters#c#flawfinder#GetCommand(bufnr(''))
|
||||
|
||||
Execute(The flawfinder exectable should be configurable):
|
||||
let b:ale_c_flawfinder_executable = 'foo/bar'
|
||||
|
||||
AssertEqual
|
||||
\ ale#Escape('foo/bar')
|
||||
\ . ' -CDQS --minlevel=1 %t',
|
||||
\ ale_linters#c#flawfinder#GetCommand(bufnr(''))
|
|
@ -0,0 +1,51 @@
|
|||
Before:
|
||||
Save g:ale_cpp_flawfinder_executable
|
||||
Save g:ale_cpp_flawfinder_options
|
||||
Save g:ale_cpp_flawfinder_minlevel
|
||||
|
||||
unlet! g:ale_cpp_flawfinder_executable
|
||||
unlet! b:ale_cpp_flawfinder_executable
|
||||
unlet! g:ale_cpp_flawfinder_options
|
||||
unlet! b:ale_cpp_flawfinder_options
|
||||
unlet! g:ale_cpp_flawfinder_minlevel
|
||||
unlet! b:ale_cpp_flawfinder_minlevel
|
||||
|
||||
runtime ale_linters/cpp/flawfinder.vim
|
||||
|
||||
After:
|
||||
unlet! b:ale_cpp_flawfinder_executable
|
||||
unlet! b:ale_cpp_flawfinder_options
|
||||
unlet! b:ale_cpp_flawfinder_minlevel
|
||||
|
||||
Restore
|
||||
call ale#linter#Reset()
|
||||
|
||||
Execute(The flawfinder command should be correct):
|
||||
AssertEqual
|
||||
\ ale#Escape('flawfinder')
|
||||
\ . ' -CDQS --minlevel=1 %t',
|
||||
\ ale_linters#cpp#flawfinder#GetCommand(bufnr(''))
|
||||
|
||||
Execute(The minlevel of flawfinder should be configurable):
|
||||
let b:ale_cpp_flawfinder_minlevel = 8
|
||||
|
||||
AssertEqual
|
||||
\ ale#Escape('flawfinder')
|
||||
\ . ' -CDQS --minlevel=8 %t',
|
||||
\ ale_linters#cpp#flawfinder#GetCommand(bufnr(''))
|
||||
|
||||
Execute(Additional flawfinder options should be configurable):
|
||||
let b:ale_cpp_flawfinder_options = ' --foobar'
|
||||
|
||||
AssertEqual
|
||||
\ ale#Escape('flawfinder')
|
||||
\ . ' -CDQS --foobar --minlevel=1 %t',
|
||||
\ ale_linters#cpp#flawfinder#GetCommand(bufnr(''))
|
||||
|
||||
Execute(The flawfinder exectable should be configurable):
|
||||
let b:ale_cpp_flawfinder_executable = 'foo/bar'
|
||||
|
||||
AssertEqual
|
||||
\ ale#Escape('foo/bar')
|
||||
\ . ' -CDQS --minlevel=1 %t',
|
||||
\ ale_linters#cpp#flawfinder#GetCommand(bufnr(''))
|
Loading…
Add table
Add a link
Reference in a new issue