Update line marker pattern for new gfortran
Add tests for GCC 4.1.2, 4.9.2 and 6.3.1
This commit is contained in:
parent
afd0730248
commit
68b6be57f1
@ -12,7 +12,7 @@ function! ale_linters#fortran#gcc#Handle(buffer, lines) abort
|
||||
"
|
||||
" :21.34:
|
||||
" Error: Expected comma in I/O list at (1)
|
||||
let l:line_marker_pattern = '^:\(\d\+\)\.\(\d\+\):$'
|
||||
let l:line_marker_pattern = ':\(\d\+\)[.:]\=\(\d\+\)\=:\=$'
|
||||
let l:message_pattern = '^\(Error\|Warning\): \(.\+\)$'
|
||||
let l:looking_for_message = 0
|
||||
let l:last_loclist_obj = {}
|
||||
|
118
test/test_fortran_handler.vader
Normal file
118
test/test_fortran_handler.vader
Normal file
@ -0,0 +1,118 @@
|
||||
Execute(The fortran handler should parse lines from GCC 4.1.2 correctly):
|
||||
runtime ale_linters/fortran/gcc.vim
|
||||
|
||||
AssertEqual
|
||||
\ [
|
||||
\ {
|
||||
\ 'bufnr': 357,
|
||||
\ 'lnum': 4,
|
||||
\ 'vcol': 0,
|
||||
\ 'col': 0,
|
||||
\ 'text': "Symbol ‘b’ at (1) has no IMPLICIT type",
|
||||
\ 'type': 'E',
|
||||
\ 'nr': -1,
|
||||
\ },
|
||||
\ {
|
||||
\ 'bufnr': 357,
|
||||
\ 'lnum': 3,
|
||||
\ 'vcol': 0,
|
||||
\ 'col': 0,
|
||||
\ 'text': "Symbol ‘a’ at (1) has no IMPLICIT type",
|
||||
\ 'type': 'E',
|
||||
\ 'nr': -1,
|
||||
\ },
|
||||
\ ],
|
||||
\ ale_linters#fortran#gcc#Handle(357, [
|
||||
\ " In file :4",
|
||||
\ "",
|
||||
\ "write(*,*) b",
|
||||
\ " 1",
|
||||
\ "Error: Symbol ‘b’ at (1) has no IMPLICIT type",
|
||||
\ " In file :3",
|
||||
\ "",
|
||||
\ "write(*,*) a",
|
||||
\ " 1",
|
||||
\ "Error: Symbol ‘a’ at (1) has no IMPLICIT type",
|
||||
\ ])
|
||||
|
||||
After:
|
||||
call ale#linter#Reset()
|
||||
|
||||
|
||||
Execute(The fortran handler should parse lines from GCC 4.9.3 correctly):
|
||||
runtime ale_linters/fortran/gcc.vim
|
||||
|
||||
AssertEqual
|
||||
\ [
|
||||
\ {
|
||||
\ 'bufnr': 357,
|
||||
\ 'lnum': 3,
|
||||
\ 'vcol': 0,
|
||||
\ 'col': 12,
|
||||
\ 'text': "Symbol ‘a’ at (1) has no IMPLICIT type",
|
||||
\ 'type': 'E',
|
||||
\ 'nr': -1,
|
||||
\ },
|
||||
\ {
|
||||
\ 'bufnr': 357,
|
||||
\ 'lnum': 4,
|
||||
\ 'vcol': 0,
|
||||
\ 'col': 12,
|
||||
\ 'text': "Symbol ‘b’ at (1) has no IMPLICIT type",
|
||||
\ 'type': 'E',
|
||||
\ 'nr': -1,
|
||||
\ },
|
||||
\ ],
|
||||
\ ale_linters#fortran#gcc#Handle(357, [
|
||||
\ ":3.12:",
|
||||
\ "",
|
||||
\ "write(*,*) a",
|
||||
\ " 1",
|
||||
\ "Error: Symbol ‘a’ at (1) has no IMPLICIT type",
|
||||
\ ":4.12:",
|
||||
\ "",
|
||||
\ "write(*,*) b",
|
||||
\ " 1",
|
||||
\ "Error: Symbol ‘b’ at (1) has no IMPLICIT type",
|
||||
\ ])
|
||||
|
||||
After:
|
||||
call ale#linter#Reset()
|
||||
|
||||
|
||||
|
||||
Execute(The fortran handler should parse lines from GCC 6.3.1 correctly):
|
||||
runtime ale_linters/fortran/gcc.vim
|
||||
|
||||
AssertEqual
|
||||
\ [
|
||||
\ {
|
||||
\ 'bufnr': 337,
|
||||
\ 'lnum': 3,
|
||||
\ 'vcol': 0,
|
||||
\ 'col': 12,
|
||||
\ 'text': "Symbol ‘a’ at (1) has no IMPLICIT type",
|
||||
\ 'type': 'E',
|
||||
\ 'nr': -1,
|
||||
\ },
|
||||
\ {
|
||||
\ 'bufnr': 337,
|
||||
\ 'lnum': 4,
|
||||
\ 'vcol': 0,
|
||||
\ 'col': 12,
|
||||
\ 'text': "Symbol ‘b’ at (1) has no IMPLICIT type",
|
||||
\ 'type': 'E',
|
||||
\ 'nr': -1,
|
||||
\ },
|
||||
\ ],
|
||||
\ ale_linters#fortran#gcc#Handle(337, [
|
||||
\ "<stdin>:3:12:",
|
||||
\ "",
|
||||
\ "Error: Symbol ‘a’ at (1) has no IMPLICIT type",
|
||||
\ "<stdin>:4:12:",
|
||||
\ "",
|
||||
\ "Error: Symbol ‘b’ at (1) has no IMPLICIT type",
|
||||
\ ])
|
||||
|
||||
After:
|
||||
call ale#linter#Reset()
|
Loading…
Reference in New Issue
Block a user