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:
|
" :21.34:
|
||||||
" Error: Expected comma in I/O list at (1)
|
" 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:message_pattern = '^\(Error\|Warning\): \(.\+\)$'
|
||||||
let l:looking_for_message = 0
|
let l:looking_for_message = 0
|
||||||
let l:last_loclist_obj = {}
|
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