Before: call ale#assert#SetUpLinterTest('terraform', 'terraform_ls') After: unlet! b:ale_terraform_terraform_executable unlet! b:ale_terraform_ls_executable unlet! b:ale_terraform_ls_options call ale#assert#TearDownLinterTest() Execute(Should send correct LSP language): AssertLSPLanguage 'terraform' Execute(Should load default executable): AssertLinter 'terraform-ls', \ ale#Escape('terraform-ls') . ' serve' Execute(Should configure custom executable): let b:ale_terraform_ls_executable = 'foo' AssertLinter 'foo', \ ale#Escape('foo') . ' serve' Execute(Should ignore non-absolute custom terraform executable): let b:ale_terraform_terraform_executable = 'terraform' AssertLinter 'terraform-ls', \ ale#Escape('terraform-ls') . ' serve' Execute(Should set absolute custom terraform executable): let b:ale_terraform_terraform_executable = '/bin/terraform' AssertLinter 'terraform-ls', \ ale#Escape('terraform-ls') . ' serve -tf-exec /bin/terraform' Execute(Should set custom options): let b:ale_terraform_ls_options = '--bar' AssertLinter 'terraform-ls', \ ale#Escape('terraform-ls') . ' serve --bar' Execute(Should return nearest directory with .terraform if found in parent directory): call ale#test#SetFilename('../test-files/terraform/main.tf') AssertLSPProject ale#test#GetFilename('../test-files/terraform')