Some checks failed
Detach Plugins / check (FlyGrep.vim) (push) Has been cancelled
Detach Plugins / check (GitHub.vim) (push) Has been cancelled
Detach Plugins / check (JavaUnit.vim) (push) Has been cancelled
Detach Plugins / check (SourceCounter.vim) (push) Has been cancelled
Detach Plugins / check (cpicker.nvim) (push) Has been cancelled
Detach Plugins / check (dein-ui.vim) (push) Has been cancelled
Detach Plugins / check (git.vim) (push) Has been cancelled
Detach Plugins / check (iedit.vim) (push) Has been cancelled
Detach Plugins / check (scrollbar.vim) (push) Has been cancelled
Detach Plugins / check (vim-chat) (push) Has been cancelled
Detach Plugins / check (vim-cheat) (push) Has been cancelled
Detach Plugins / check (vim-todo) (push) Has been cancelled
Detach Plugins / check (xmake.vim) (push) Has been cancelled
test / Linux (nvim, nightly) (push) Has been cancelled
test / Linux (nvim, v0.3.8) (push) Has been cancelled
test / Linux (nvim, v0.4.0) (push) Has been cancelled
test / Linux (nvim, v0.4.2) (push) Has been cancelled
test / Linux (nvim, v0.4.3) (push) Has been cancelled
test / Linux (nvim, v0.4.4) (push) Has been cancelled
test / Linux (nvim, v0.5.0) (push) Has been cancelled
test / Linux (nvim, v0.5.1) (push) Has been cancelled
test / Linux (nvim, v0.6.0) (push) Has been cancelled
test / Linux (nvim, v0.6.1) (push) Has been cancelled
test / Linux (nvim, v0.7.0) (push) Has been cancelled
test / Linux (nvim, v0.7.2) (push) Has been cancelled
test / Linux (nvim, v0.8.0) (push) Has been cancelled
test / Linux (nvim, v0.8.1) (push) Has been cancelled
test / Linux (nvim, v0.8.2) (push) Has been cancelled
test / Linux (nvim, v0.8.3) (push) Has been cancelled
test / Linux (nvim, v0.9.0) (push) Has been cancelled
test / Linux (nvim, v0.9.1) (push) Has been cancelled
test / Linux (true, vim, v7.4.052) (push) Has been cancelled
test / Linux (true, vim, v7.4.1689) (push) Has been cancelled
test / Linux (true, vim, v7.4.629) (push) Has been cancelled
test / Linux (true, vim, v8.0.0027) (push) Has been cancelled
test / Linux (true, vim, v8.0.0183) (push) Has been cancelled
test / Linux (vim, nightly) (push) Has been cancelled
test / Linux (vim, v8.0.0184) (push) Has been cancelled
test / Linux (vim, v8.0.1453) (push) Has been cancelled
test / Linux (vim, v8.1.2269) (push) Has been cancelled
test / Linux (vim, v8.2.2434) (push) Has been cancelled
test / Linux (vim, v8.2.3995) (push) Has been cancelled
test / Windows (nvim, nightly) (push) Has been cancelled
test / Windows (nvim, v0.3.8) (push) Has been cancelled
test / Windows (nvim, v0.4.2) (push) Has been cancelled
test / Windows (nvim, v0.4.3) (push) Has been cancelled
test / Windows (nvim, v0.4.4) (push) Has been cancelled
test / Windows (nvim, v0.5.0) (push) Has been cancelled
test / Windows (nvim, v0.5.1) (push) Has been cancelled
test / Windows (nvim, v0.6.0) (push) Has been cancelled
test / Windows (nvim, v0.6.1) (push) Has been cancelled
test / Windows (nvim, v0.7.0) (push) Has been cancelled
test / Windows (nvim, v0.7.2) (push) Has been cancelled
test / Windows (nvim, v0.8.0) (push) Has been cancelled
test / Windows (nvim, v0.8.1) (push) Has been cancelled
test / Windows (nvim, v0.8.2) (push) Has been cancelled
test / Windows (nvim, v0.8.3) (push) Has been cancelled
test / Windows (nvim, v0.9.0) (push) Has been cancelled
test / Windows (nvim, v0.9.1) (push) Has been cancelled
test / Windows (vim, nightly) (push) Has been cancelled
test / Windows (vim, v7.4.1185) (push) Has been cancelled
test / Windows (vim, v7.4.1689) (push) Has been cancelled
test / Windows (vim, v8.0.0027) (push) Has been cancelled
test / Windows (vim, v8.0.1453) (push) Has been cancelled
test / Windows (vim, v8.1.2269) (push) Has been cancelled
test / Windows (vim, v8.2.2434) (push) Has been cancelled
test / Windows (vim, v8.2.3995) (push) Has been cancelled
docker / docker (push) Has been cancelled
mirror / check (coding) (push) Has been cancelled
mirror / check (gitee) (push) Has been cancelled
mirror / check (gitlab) (push) Has been cancelled
117 lines
5.0 KiB
Plaintext
117 lines
5.0 KiB
Plaintext
Include: include/setup.vader
|
|
|
|
Execute (sh: shellcheck):
|
|
new
|
|
" Unless -s is specified, shellcheck checks shebangs on its own and issues a
|
|
" warning for unsupported dialects.
|
|
call setline(1, '#!/bin/sh')
|
|
let default_args = ['-fgcc', '-x']
|
|
AssertEqual default_args, neomake#makers#ft#sh#shellcheck().args
|
|
call setline(1, '#!/bin/dash')
|
|
AssertEqual default_args, neomake#makers#ft#sh#shellcheck().args
|
|
call setline(1, '#!/bin/bash')
|
|
AssertEqual default_args, neomake#makers#ft#sh#shellcheck().args
|
|
call setline(1, '#!/bin/ksh')
|
|
AssertEqual default_args, neomake#makers#ft#sh#shellcheck().args
|
|
|
|
" Shellcheck also checks for a directive denoting the appropriate shell
|
|
call setline(1, '#shellcheck shell=sh')
|
|
AssertEqual default_args, neomake#makers#ft#sh#shellcheck().args
|
|
call setline(1, '') " reset shebang for next tests
|
|
|
|
" If extension is .ksh, force 'ksh'.
|
|
silent file test.ksh
|
|
AssertEqual default_args + ['-s', 'ksh'], neomake#makers#ft#sh#shellcheck().args
|
|
|
|
" If extension is .sh, use variables to detect the dialect. (:h ft-sh-syntax)
|
|
silent file test.sh
|
|
let g:is_sh = 1
|
|
AssertEqual default_args + ['-s', 'sh'], neomake#makers#ft#sh#shellcheck().args
|
|
unlet g:is_sh
|
|
let g:is_kornshell = 1
|
|
AssertEqual default_args + ['-s', 'ksh'], neomake#makers#ft#sh#shellcheck().args
|
|
unlet g:is_kornshell
|
|
let g:is_posix = 1
|
|
AssertEqual default_args + ['-s', 'ksh'], neomake#makers#ft#sh#shellcheck().args
|
|
unlet g:is_posix
|
|
AssertEqual default_args + ['-s', 'bash'], neomake#makers#ft#sh#shellcheck().args
|
|
|
|
" Use 'bash' for everything else.
|
|
call setline(1, '#!/usr/bin/env foo')
|
|
silent file foo
|
|
AssertEqual default_args + ['-s', 'bash'], neomake#makers#ft#sh#shellcheck().args
|
|
silent file foo.bash
|
|
AssertEqual default_args + ['-s', 'bash'], neomake#makers#ft#sh#shellcheck().args
|
|
silent file foo.xxx
|
|
AssertEqual default_args + ['-s', 'bash'], neomake#makers#ft#sh#shellcheck().args
|
|
let g:is_sh = 1
|
|
AssertEqual default_args + ['-s', 'bash'], neomake#makers#ft#sh#shellcheck().args
|
|
unlet g:is_sh
|
|
let g:is_kornshell = 1
|
|
AssertEqual default_args + ['-s', 'bash'], neomake#makers#ft#sh#shellcheck().args
|
|
unlet g:is_kornshell
|
|
|
|
" The following should never happen in practice.
|
|
set ft=
|
|
AssertEqual default_args + ['-s', 'bash'], neomake#makers#ft#sh#shellcheck().args
|
|
set ft=nadda
|
|
AssertEqual default_args + ['-s', 'bash'], neomake#makers#ft#sh#shellcheck().args
|
|
bwipe!
|
|
bwipe test.sh test.ksh foo foo.bash
|
|
|
|
Execute (Test Neomake on errors.sh with shellcheck):
|
|
call g:NeomakeSetupAutocmdWrappers()
|
|
|
|
" From shellcheck 0.4.6.
|
|
let shellcheck_output = [
|
|
\ "errors.sh:3:1: warning: a appears unused. Verify it or export it. [SC2034]",
|
|
\ "errors.sh:3:3: note: Expressions don't expand in single quotes, use double quotes for that. [SC2016]",
|
|
\ "errors.sh:5:4: error: '(' is invalid here. Did you forget to escape it? [SC1036]",
|
|
\ "errors.sh:5:4: error: Parsing stopped here. Invalid use of parentheses? [SC1088]",
|
|
\ "errors.sh:5:4: error: Trying to declare parameters? Don't. Use () and refer to params as $1, $2.. [SC1065]",
|
|
\ ]
|
|
|
|
let maker = NeomakeTestsGetMakerWithOutput(neomake#makers#ft#sh#shellcheck(), shellcheck_output)
|
|
let maker.name = 'shellcheck'
|
|
|
|
new
|
|
edit tests/fixtures/errors.sh
|
|
let bufnr = bufnr('%')
|
|
CallNeomake 1, [maker]
|
|
AssertEqual len(g:neomake_test_finished), 1
|
|
AssertNeomakeMessage 'Running makers: shellcheck.'
|
|
AssertEqualQf getloclist(0), [{
|
|
\ 'lnum': 3, 'bufnr': bufnr, 'col': 1, 'valid': 1, 'vcol': 0, 'nr': 2034,
|
|
\ 'type': 'w', 'pattern': '', 'text': 'a appears unused. Verify it or export it.',
|
|
\ }, {
|
|
\ 'lnum': 3, 'bufnr': bufnr, 'col': 3, 'valid': 1, 'vcol': 0, 'nr': 2016,
|
|
\ 'type': 'I', 'pattern': '', 'text': 'Expressions don''t expand in single quotes, use double quotes for that.',
|
|
\ }, {
|
|
\ 'lnum': 5, 'bufnr': bufnr, 'col': 4, 'valid': 1, 'vcol': 0, 'nr': 1036,
|
|
\ 'type': 'e', 'pattern': '', 'text': '''('' is invalid here. Did you forget to escape it?',
|
|
\ }, {
|
|
\ 'lnum': 5, 'bufnr': bufnr, 'col': 4, 'valid': 1, 'vcol': 0, 'nr': 1088,
|
|
\ 'type': 'e', 'pattern': '', 'text': 'Parsing stopped here. Invalid use of parentheses?',
|
|
\ }, {
|
|
\ 'lnum': 5, 'bufnr': bufnr, 'col': 4, 'valid': 1, 'vcol': 0, 'nr': 1065,
|
|
\ 'type': 'e', 'pattern': '', 'text': 'Trying to declare parameters? Don''t. Use () and refer to params as $1, $2..',
|
|
\ }]
|
|
|
|
" Compare real output with expected one."
|
|
" if executable('shellcheck')
|
|
" let real_output = neomake#compat#systemlist('cd tests/fixtures && shellcheck -fgcc -x errors.sh')
|
|
" if real_output != shellcheck_output
|
|
" call neomake#log#error('expected output changed:')
|
|
" AssertEqual real_output, shellcheck_output
|
|
" endif
|
|
bwipe
|
|
|
|
Execute (shellcheck copies base maker):
|
|
let maker = neomake#makers#ft#sh#shellcheck()
|
|
AssertEqual maker.args, ['-fgcc', '-x', '-s', 'bash']
|
|
|
|
let maker.args = ['changed']
|
|
|
|
let maker = neomake#makers#ft#sh#shellcheck()
|
|
AssertEqual maker.args, ['-fgcc', '-x', '-s', 'bash']
|