2
1
Fork 0
mirror of https://git.savannah.gnu.org/git/gnuboot.git synced 2025-02-05 14:34:15 +01:00
gnuboot/tests/lint
Denis 'GNUtoo' Carikli 3faff837dd
resources: grub: config: (ab)use shellcheck to check it.
While the grub configuration file format is very different from real
shell scripts, the similarities are enough to make it pass shellcheck
with very few adjustements.

The advantage of using shellcheck here is that we can still detect
some issues such as variables that are referenced but not assigned.

For instance if we add 'echo "$test"' in the beginning of the
configuration file we then have:
    In resources/grub/config/grub.cfg line 24:
    echo "$test"
          ^---^ SC2154 (warning): test is referenced but not assigned
          (for output from commands, use "$(test ...)" ).

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2024-12-13 17:10:08 +01:00

78 lines
2.4 KiB
Bash
Executable file

#!/usr/bin/env bash
#
# Various code quality tests to avoid regressions in code quality.
#
# Copyright (C) 2023,2024 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
report()
{
ret=$?
message="$1"
if [ ${ret} -eq 0 ] ; then
echo "[ OK ] ${message}"
else
echo "[ !! ] ${message} failed"
exit ${ret}
fi
}
run_shellcheck()
{
for path in "$@" ; do
shellcheck -x "${path}" ; report "${path}"
done
}
printf "+---------------------+\n"
printf "| Running lint tests: |\n"
printf "+---------------------+\n"
run_shellcheck \
autogen.sh \
build \
download \
modify \
update \
resources/grub/config/grub.cfg \
resources/packages/coreboot/distclean \
resources/packages/descriptors/distclean \
resources/packages/grub/distclean \
resources/packages/i945-thinkpads-install-utilities/clean \
resources/packages/i945-thinkpads-install-utilities/distclean \
resources/packages/i945-thinkpads-install-utilities/download \
resources/packages/i945-thinkpads-install-utilities/module \
resources/packages/ich9utils/distclean \
resources/packages/memtest86plus/distclean \
resources/packages/payloads/distclean \
resources/packages/rom_images/distclean \
resources/packages/roms/distclean \
resources/packages/roms/download \
resources/packages/roms/test \
resources/packages/seabios/distclean \
resources/packages/src/distclean \
resources/packages/u-boot-libre/distclean \
resources/packages/website/distclean \
resources/scripts/misc/guix.sh \
resources/scripts/tasks/distclean.sh \
tests/checkpatch \
tests/distclean \
tests/lint \
website/build.sh \
website/check.sh
printf "+---------------------+\n"
printf "| Lint tests done |\n"
printf "+---------------------+\n"