Before: call ale#assert#SetUpLinterTest('rust', 'rustc') After: call ale#assert#TearDownLinterTest() Execute(The default command should be correct): AssertLinter 'rustc', 'rustc --error-format=json -Z no-codegen -' Execute(The options should be configurable): let b:ale_rust_rustc_options = '--foo' AssertLinter 'rustc', 'rustc --error-format=json --foo -' Execute(Some default paths should be included when the project is a Cargo project): call ale#test#SetFilename('cargo_paths/test.rs') AssertLinter 'rustc', 'rustc --error-format=json -Z no-codegen' \ . ' -L ' . ale#Escape(ale#path#GetAbsPath(g:dir, 'cargo_paths/target/debug/deps')) \ . ' -L ' . ale#Escape(ale#path#GetAbsPath(g:dir, 'cargo_paths/target/release/deps')) \ . ' -'