kumquat-buildroot/support/testing/tests
Ricardo Martincoski c5a3dfb9a4 utils/check-package: check all shell scripts
Currently only SysV init scripts are checked using shellcheck and a few
other rules (e.g. variable naming, file naming).

Extend the check using shellcheck to all shell scripts in the tree.
This is actually limited to the list of directories that check-package
knows that can check, but that list can be expanded later.

In order to apply the check to all shell scripts, use python3-magic to
determine the file type. Unfortunately, there are two different python
modules called "magic". Support both by detecting which one is installed
and defining get_filetype accordingly.

Keep testing first for name pattern, and only in the case there is no
match, check the file type. This ensures, for instance, that SysV
init scripts follow specific rules.

Apply these checks for shell scripts:
 - shellcheck;
 - trailing space;
 - consecutive empty lines;
 - empty last line on file;
 - newline at end of file.

Update the list of ignored warnings.

Do not add unit tests since no function was added, they were just
reused.
But expand the runtime test for check-package using as fixture a file
that generates a shellcheck warning.

Signed-off-by: Ricardo Martincoski <ricardo.martincoski@gmail.com>
[Arnout: support both variants of the "magic" module]
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
2023-02-08 13:31:06 +01:00
..
boot support/testing/tests/boot: new test cases for Grub 2022-07-23 19:04:41 +02:00
core support: fix flake8 error E741 ambiguous variable name 2021-10-18 22:31:11 +02:00
download boot, package, support, toolchain: switch to 2 spaces for the hash file 2022-07-28 23:05:23 +02:00
fs support/tests/cpio: extend runtime tests for extra dract modules 2023-02-06 22:46:35 +01:00
init support/tests: enable PPD, and thus TLPB, for systemd tests 2023-02-07 09:34:08 +01:00
package support/testing/tests/package/test_python_magic_wormhole.py: new runtime test 2023-02-07 14:01:05 +01:00
toolchain toolchain/toolchain-external/toolchain-external-bootlin: update to 2022.08 2023-02-06 22:26:24 +01:00
utils utils/check-package: check all shell scripts 2023-02-08 13:31:06 +01:00
__init__.py