Before: Save g:ale_make_checkmake_config let g:ale_make_checkmake_config = '' call ale#assert#SetUpLinterTest('make', 'checkmake') " NOTE: the format string must be manually matched that set in the plugin let b:format = '"{{.LineNumber}}:{{.Rule}}:{{.Violation}}{{\"\r\n\"}}"' After: Restore unlet! b:command_tail unlet! b:ale_make_checkmake_config call ale#assert#TearDownLinterTest() Execute(checkmake should run with default format option): let b:command_tail = ' --format=' . b:format . ' %s' AssertLinter 'checkmake', 'checkmake' . b:command_tail Execute(checkmake command should take the config option if it is non-empty): let g:ale_make_checkmake_config = '/path to/checkmake.ini' let b:command_tail = ' --format=' . b:format \ . ' --config="' . g:ale_make_checkmake_config . '"' \ . ' %s' AssertLinter 'checkmake', 'checkmake' . b:command_tail Execute(the local buffer config option takes precedence over global option): let g:ale_make_checkmake_config = '/path/to/checkmake.ini' let b:ale_make_checkmake_config = '/another/checkmake.ini' let b:command_tail = ' --format=' . b:format \ . ' --config="' . b:ale_make_checkmake_config . '"' \ . ' %s' AssertLinter 'checkmake', 'checkmake' . b:command_tail