From 1b08791228f5aca4545a3fba6699b29a003028fe Mon Sep 17 00:00:00 2001 From: w0rp Date: Thu, 27 May 2021 22:03:39 +0100 Subject: Make staticcheck configurable with GOPATH detection --- test/linter/test_staticcheck.vader | 24 +++++++++++++++++++----- test/test-files/go/gopath/bin/staticcheck | 0 2 files changed, 19 insertions(+), 5 deletions(-) create mode 100644 test/test-files/go/gopath/bin/staticcheck (limited to 'test') diff --git a/test/linter/test_staticcheck.vader b/test/linter/test_staticcheck.vader index 993d9491..d690ebd0 100644 --- a/test/linter/test_staticcheck.vader +++ b/test/linter/test_staticcheck.vader @@ -1,5 +1,8 @@ Before: Save g:ale_go_go111module + Save $GOPATH + + let $GOPATH = '/non/existent/directory' call ale#assert#SetUpLinterTest('go', 'staticcheck') call ale#test#SetFilename('test.go') @@ -11,25 +14,36 @@ After: Execute(The staticcheck callback should return the right defaults): AssertLinterCwd '%s:h' - AssertLinter 'staticcheck', 'staticcheck %s:t' + AssertLinter 'staticcheck', ale#Escape('staticcheck') . ' %s:t' + +Execute(staticcheck should be found in GOPATH): + " This is a directory with a fake executable + let $GOPATH = ale#test#GetFilename('../test-files/go/gopath') + + AssertLinter + \ ale#test#GetFilename('../test-files/go/gopath/bin/staticcheck'), + \ ale#Escape(ale#test#GetFilename('../test-files/go/gopath/bin/staticcheck')) + \ . ' %s:t' Execute(The staticcheck callback should use configured options): let b:ale_go_staticcheck_options = '-test' - AssertLinter 'staticcheck', 'staticcheck -test %s:t' + AssertLinter 'staticcheck', ale#Escape('staticcheck') . ' -test %s:t' Execute(The staticcheck `lint_package` option should use the correct command): let b:ale_go_staticcheck_lint_package = 1 AssertLinterCwd '%s:h' - AssertLinter 'staticcheck', 'staticcheck .' + AssertLinter 'staticcheck', ale#Escape('staticcheck') . ' .' Execute(The staticcheck callback should use the `GO111MODULE` option if set): let b:ale_go_go111module = 'off' - AssertLinter 'staticcheck', ale#Env('GO111MODULE', 'off') . 'staticcheck %s:t' + AssertLinter 'staticcheck', + \ ale#Env('GO111MODULE', 'off') . ale#Escape('staticcheck') . ' %s:t' " Test with lint_package option set let b:ale_go_staticcheck_lint_package = 1 - AssertLinter 'staticcheck', ale#Env('GO111MODULE', 'off') . 'staticcheck .' + AssertLinter 'staticcheck', + \ ale#Env('GO111MODULE', 'off') . ale#Escape('staticcheck') . ' .' diff --git a/test/test-files/go/gopath/bin/staticcheck b/test/test-files/go/gopath/bin/staticcheck new file mode 100644 index 00000000..e69de29b -- cgit v1.2.3