Before: call ale#test#SetDirectory('/testplugin/test') runtime ale_linters/kotlin/languageserver.vim After: call ale#test#RestoreDirectory() call ale#linter#Reset() Execute(Detect root of gradle project with build.gradle correctly): call ale#test#SetFilename('gradle-test-files/build-gradle-project/src/main/kotlin/dummy.kt') AssertEqual \ ale#path#Simplify(g:dir . '/gradle-test-files/build-gradle-project'), \ ale_linters#kotlin#languageserver#GetProjectRoot(bufnr('')) Execute(Detect root of maven project with pom.xml correctly): call ale#test#SetFilename('maven-test-files/maven-kotlin-project/src/main/kotlin/dummy.kt') AssertEqual \ ale#path#Simplify(g:dir . '/maven-test-files/maven-kotlin-project'), \ ale_linters#kotlin#languageserver#GetProjectRoot(bufnr('')) Execute(Detect no root in case of non maven/gradle project): call ale#test#SetFilename('gradle-test-files/non-gradle-project/src/main/kotlin/dummy.kt') AssertEqual \ '', \ ale_linters#kotlin#languageserver#GetProjectRoot(bufnr(''))