From 25d2af0b2529006ba869a5906afae028f7b9f28e Mon Sep 17 00:00:00 2001 From: Gerry Agbobada <10496163+gagbo@users.noreply.github.com> Date: Wed, 25 Oct 2017 23:29:36 +0200 Subject: Handle multiple files localtion lists with gcc handler (#1034) Handle multiple files in the GCC handler. --- test/handler/test_clang_handler.vader | 12 +++------ test/handler/test_gcc_handler.vader | 43 +++++++++++++++------------------ test/handler/test_vint_handler.vader | 6 +++++ test/sign/test_linting_sets_signs.vader | 3 ++- 4 files changed, 31 insertions(+), 33 deletions(-) (limited to 'test') diff --git a/test/handler/test_clang_handler.vader b/test/handler/test_clang_handler.vader index d28b9eb8..278737a8 100644 --- a/test/handler/test_clang_handler.vader +++ b/test/handler/test_clang_handler.vader @@ -2,15 +2,11 @@ Execute(clang errors from included files should be parsed correctly): AssertEqual \ [ \ { - \ 'lnum': 3, + \ 'lnum': 1, + \ 'col': 1, + \ 'filename': './b.h', \ 'type': 'E', - \ 'text': 'Problems were found in the header (See :ALEDetail)', - \ 'detail': join([ - \ './b.h:1:1: error: expected identifier or ''(''', - \ '{{{', - \ '^', - \ '1 error generated.', - \ ], "\n"), + \ 'text': 'expected identifier or ''(''', \ }, \ ], \ ale#handlers#gcc#HandleGCCFormat(347, [ diff --git a/test/handler/test_gcc_handler.vader b/test/handler/test_gcc_handler.vader index 2f60390c..be9e90ee 100644 --- a/test/handler/test_gcc_handler.vader +++ b/test/handler/test_gcc_handler.vader @@ -2,14 +2,11 @@ Execute(GCC errors from included files should be parsed correctly): AssertEqual \ [ \ { - \ 'lnum': 3, + \ 'lnum': 1, + \ 'col': 1, + \ 'filename': 'broken.h', \ 'type': 'E', - \ 'text': 'Problems were found in the header (See :ALEDetail)', - \ 'detail': join([ - \ 'broken.h:1:1: error: expected identifier or ''('' before ''{'' token', - \ ' {{{', - \ ' ^', - \ ], "\n"), + \ 'text': 'expected identifier or ''('' before ''{'' token', \ }, \ ], \ ale#handlers#gcc#HandleGCCFormat(347, [ @@ -22,14 +19,11 @@ Execute(GCC errors from included files should be parsed correctly): AssertEqual \ [ \ { - \ 'lnum': 3, + \ 'lnum': 1, + \ 'col': 1, + \ 'filename': 'b.h', \ 'type': 'E', - \ 'text': 'Problems were found in the header (See :ALEDetail)', - \ 'detail': join([ - \ 'b.h:1:1: error: expected identifier or ''('' before ''{'' token', - \ ' {{{', - \ ' ^', - \ ], "\n"), + \ 'text': 'expected identifier or ''('' before ''{'' token', \ }, \ ], \ ale#handlers#gcc#HandleGCCFormat(347, [ @@ -43,17 +37,18 @@ Execute(GCC errors from included files should be parsed correctly): AssertEqual \ [ \ { - \ 'lnum': 3, + \ 'lnum': 1, + \ 'col': 1, + \ 'filename': 'b.h', \ 'type': 'E', - \ 'text': 'Problems were found in the header (See :ALEDetail)', - \ 'detail': join([ - \ 'b.h:1:1: error: unknown type name ‘bad_type’', - \ ' bad_type x;', - \ ' ^', - \ 'b.h:2:1: error: unknown type name ‘other_bad_type’', - \ ' other_bad_type y;', - \ ' ^', - \ ], "\n"), + \ 'text': 'unknown type name ''bad_type''', + \ }, + \ { + \ 'lnum': 2, + \ 'col': 1, + \ 'filename': 'b.h', + \ 'type': 'E', + \ 'text': 'unknown type name ''other_bad_type''', \ }, \ ], \ ale#handlers#gcc#HandleGCCFormat(347, [ diff --git a/test/handler/test_vint_handler.vader b/test/handler/test_vint_handler.vader index 8747979c..c542b4ea 100644 --- a/test/handler/test_vint_handler.vader +++ b/test/handler/test_vint_handler.vader @@ -10,12 +10,14 @@ Execute(The vint handler should parse error messages correctly): \ { \ 'lnum': 1, \ 'col': 1, + \ 'filename': 'gcc.vim', \ 'text': 'Use scriptencoding when multibyte char exists (see :help :script encoding)', \ 'type': 'W', \ }, \ { \ 'lnum': 3, \ 'col': 17, + \ 'filename': 'gcc.vim', \ 'end_col': 18, \ 'text': 'Use robust operators ''==#'' or ''==?'' instead of ''=='' (see Google VimScript Style Guide (Matching))', \ 'type': 'W', @@ -23,6 +25,7 @@ Execute(The vint handler should parse error messages correctly): \ { \ 'lnum': 3, \ 'col': 8, + \ 'filename': 'gcc.vim', \ 'end_col': 15, \ 'text': 'Make the scope explicit like ''l:filename'' (see Anti-pattern of vimrc (Scope of identifier))', \ 'type': 'W', @@ -30,6 +33,7 @@ Execute(The vint handler should parse error messages correctly): \ { \ 'lnum': 7, \ 'col': 8, + \ 'filename': 'gcc.vim', \ 'end_col': 15, \ 'text': 'Undefined variable: filename (see :help E738)', \ 'type': 'W', @@ -37,6 +41,7 @@ Execute(The vint handler should parse error messages correctly): \ { \ 'lnum': 8, \ 'col': 11, + \ 'filename': 'gcc.vim', \ 'end_col': 16, \ 'text': 'E128: Function name must start with a capital or contain a colon: foobar (see ynkdir/vim-vimlparser)', \ 'type': 'E', @@ -44,6 +49,7 @@ Execute(The vint handler should parse error messages correctly): \ { \ 'lnum': 9, \ 'col': 12, + \ 'filename': 'gcc.vim', \ 'end_col': 13, \ 'text': 'Use robust operators ''=~#'' or ''=~?'' instead of ''=~'' (see Google VimScript Style Guide (Matching))', \ 'type': 'W', diff --git a/test/sign/test_linting_sets_signs.vader b/test/sign/test_linting_sets_signs.vader index f9bd63b0..271540e2 100644 --- a/test/sign/test_linting_sets_signs.vader +++ b/test/sign/test_linting_sets_signs.vader @@ -20,7 +20,8 @@ Before: let l:actual_sign_list = [] for l:line in split(l:output, "\n") - let l:match = matchlist(l:line, 'line=\(\d\+\).*name=\(ALE[a-zA-Z]\+\)') + let l:match = matchlist(l:line, '\m\s*line=\(\d\+\).*name=\(ALE[a-zA-Z]\+\)') + if len(l:match) > 0 call add(l:actual_sign_list, [l:match[1], l:match[2]]) -- cgit v1.2.3