gnuboot/tests/checkpatch

48 lines
1.5 KiB
Bash
Executable File

#!/usr/bin/env bash
#
# 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 <https://www.gnu.org/licenses/>.
set -e
fail()
{
message="$1"
printf "[ !! ] scripts/checkpatch.scm test failed: %s\n" \
"${message}"
}
printf "+--------------------------------------+\n"
printf "| Running scripts/checkpatch.scm test: |\n"
printf "+--------------------------------------+\n"
topdir="$(dirname "$(dirname "$(realpath "$0")")")"
tmpdir="$(mktemp -d)"
test -f "${topdir}"/scripts/checkpatch.scm || fail "checkpatch.scm not found."
test -f "${topdir}"/resources/git/git || fail "resources/git/git not found."
patches="$("${topdir}"/resources/git/git format-patch --root -o "${tmpdir}")"
# shellcheck disable=SC2086
"${topdir}"/scripts/checkpatch.scm ${patches}
rm -rf "${tmpdir}"
printf "+---------------------+\n"
printf "| Running tests done: |\n"
printf "+---------------------+\n"