[LTP] [RFC] Using shellcheck for shell make check

Petr Vorel pvorel@suse.cz
Tue Nov 30 11:01:02 CET 2021


Hi Richie, Cyril,
> Hello,

> Cyril Hrubis <chrubis@suse.cz> writes:

> > Hi!
> >> checkbashisms does not detect all things: e.g. not catching {1..$FILE_COUNT}
> >> [1]. Maybe we should reconsider using *also* shellcheck as Joerg suggested
> >> (keep checkbashisms).

> >> I don't like shellcheck output, but it can detects errors checkbashisms cannot
> >> detect (checkbashisms is regexp based, but shellcheck IMHO evaluates the code).
> >> Also it's configurable, thus ve could disable check we don't like or enable only
> >> what we want to check. Or we can run just --severity=warning or
> >> --severity=error. If you're not against it, I can have look into this.

> > Sounds good, the more automated checks we have the less we will spend on
> > review...

> We can't vendor in a Haskell program, so it will have to be an optional
> check. Still it looks nice.
Yes, I didn't plan to vendor it. But fortunately it's being packaged some of
major distros [1] [2].

> Tree-sitter also supports "Bash", which might be useful for LTP specific
> checks. That ofcourse is much higher hanging fruit.
Interesting, it might be worth to investigate. But yes, the most important goal
is IMHO have valid portable POSIX syntax (to catch errors checkbashisms does not
detect).

I'd have to think about LTP specific checks (the only I would come up now is
LTP-003 - shell library API have TST_ prefix" but not sure how to test naming of
shell API as any shell global variables are local).

Kind regards,
Petr

[1] https://pkgs.org/download/ShellCheck
[2] https://pkgs.org/download/shellcheck



More information about the ltp mailing list