Files
ale/test/handler/test_golangci_lint_handler.vader
K4YT3X 995d78435a
Some checks failed
CI / build_image (push) Has been cancelled
CI / test_ale (--linters-only) (push) Has been cancelled
CI / test_ale (--neovim-07-only) (push) Has been cancelled
CI / test_ale (--neovim-08-only) (push) Has been cancelled
CI / test_ale (--vim-80-only) (push) Has been cancelled
CI / test_ale (--vim-90-only) (push) Has been cancelled
fix(golangci-lint): incorrect filename concat preventing errors from being displayed (#4926)
Signed-off-by: k4yt3x <i@k4yt3x.com>
2025-03-16 09:56:27 +09:00

147 lines
4.0 KiB
Plaintext

Before:
runtime ale_linters/go/golangci_lint.vim
After:
call ale#linter#Reset()
Execute (The golangci-lint handler should handle only typecheck lines as errors):
call ale#test#SetFilename('app/main.go')
AssertEqual
\ [
\ {
\ 'lnum': 1,
\ 'col': 0,
\ 'text': 'typecheck - found packages main (main.go) and validator (validation.go) in ',
\ 'type': 'E',
\ 'filename': ale#path#Simplify(expand('%:p:h') . '/main.go'),
\ },
\ {
\ 'lnum': 1,
\ 'col': 1,
\ 'text': 'typecheck - package validator_test; expected package main_test',
\ 'type': 'E',
\ 'filename': ale#path#Simplify(expand('%:p:h') . '/validation_encoder_test.go'),
\ },
\ {
\ 'lnum': 1,
\ 'col': 1,
\ 'text': 'typecheck - package validator_test; expected package main_test',
\ 'type': 'E',
\ 'filename': ale#path#Simplify(expand('%:p:h') . '/validation_error_test.go'),
\ },
\ {
\ 'lnum': 505,
\ 'col': 75,
\ 'text': 'gomnd - Magic number: 404, in <argument> detected',
\ 'type': 'W',
\ 'filename': ale#path#Simplify(expand('%:p:h') . '/main.go'),
\ }
\ ],
\ ale_linters#go#golangci_lint#Handler(bufnr(''), [
\ '{',
\ ' "Issues": [',
\ ' {',
\ ' "FromLinter": "typecheck",',
\ ' "Text": "found packages main (main.go) and validator (validation.go) in ",',
\ ' "Severity": "",',
\ ' "SourceLines": [',
\ ' "package main"',
\ ' ],',
\ ' "Pos": {',
\ ' "Filename": "main.go",',
\ ' "Offset": 0,',
\ ' "Line": 1,',
\ ' "Column": 0',
\ ' },',
\ ' "ExpectNoLint": false,',
\ ' "ExpectedNoLintLinter": ""',
\ ' },',
\ ' {',
\ ' "FromLinter": "typecheck",',
\ ' "Text": "package validator_test; expected package main_test",',
\ ' "Severity": "",',
\ ' "SourceLines": [',
\ ' "package validator_test"',
\ ' ],',
\ ' "Pos": {',
\ ' "Filename": "validation_encoder_test.go",',
\ ' "Offset": 0,',
\ ' "Line": 1,',
\ ' "Column": 1',
\ ' },',
\ ' "ExpectNoLint": false,',
\ ' "ExpectedNoLintLinter": ""',
\ ' },',
\ ' {',
\ ' "FromLinter": "typecheck",',
\ ' "Text": "package validator_test; expected package main_test",',
\ ' "Severity": "",',
\ ' "SourceLines": [',
\ ' "package validator_test"',
\ ' ],',
\ ' "Pos": {',
\ ' "Filename": "validation_error_test.go",',
\ ' "Offset": 0,',
\ ' "Line": 1,',
\ ' "Column": 1',
\ ' },',
\ ' "ExpectNoLint": false,',
\ ' "ExpectedNoLintLinter": ""',
\ ' },',
\ ' {',
\ ' "FromLinter": "gomnd",',
\ ' "Text": "Magic number: 404, in <argument> detected",',
\ ' "Severity": "",',
\ ' "SourceLines": [',
\ ' "package validator_test"',
\ ' ],',
\ ' "Pos": {',
\ ' "Filename": "main.go",',
\ ' "Offset": 0,',
\ ' "Line": 505,',
\ ' "Column": 75',
\ ' },',
\ ' "ExpectNoLint": false,',
\ ' "ExpectedNoLintLinter": ""',
\ ' }',
\ ' ]',
\ '}',
\ ])
Execute (The golangci-lint handler should set proper filename):
call ale#test#SetFilename('app/cmd/server/main.go')
AssertEqual
\ [
\ {
\ 'lnum': 198,
\ 'col': 19,
\ 'text': 'funlen - Function getConfig has too many statements (51 > 50)',
\ 'type': 'W',
\ 'filename': ale#path#Simplify(expand('%:p:h') . '/main.go'),
\ },
\ ],
\ ale_linters#go#golangci_lint#Handler(bufnr(''), [
\ '{',
\ ' "Issues": [',
\ ' {',
\ ' "FromLinter": "funlen",',
\ ' "Text": "Function getConfig has too many statements (51 > 50)",',
\ ' "Severity": "",',
\ ' "SourceLines": [',
\ ' "package main"',
\ ' ],',
\ ' "Pos": {',
\ ' "Filename": "cmd/server/main.go",',
\ ' "Offset": 5374,',
\ ' "Line": 198,',
\ ' "Column": 19',
\ ' },',
\ ' "ExpectNoLint": false,',
\ ' "ExpectedNoLintLinter": ""',
\ ' }',
\ ' ]',
\ '}',
\ ])