#!/usr/bin/env sh rootdir=${PWD} # test to make sure the lint tests fail SPACE=' ' UNDERSCORE='_' # lint-stable-000-license-headers TESTFILE000a="${rootdir}/src/arch/x86/thread.c" TESTFILE000b="${rootdir}/src/arch/riscv/misc.c" TESTFILE000c="${rootdir}/src/lib/hardwaremain.c" # lint-stable-003-whitespace TESTFILE003="${rootdir}/src/acpi/sata.c" # lint-stable-004-style-labels TESTFILE004="${rootdir}/src/soc/nvidia/tegra124/spi.c" # lint-stable-005-board-status TESTFILE005a="${rootdir}/src/mainboard/google/storm/board_info.txt" # lint-stable-006-board-name TESTFILE006="${rootdir}/src/mainboard/ibase/mb899/Kconfig.name" # lint-stable-008-kconfig TESTFILE008="${rootdir}/src/lib/Kconfig" # lint-stable-009-old-licenses TESTFILE009="${rootdir}/src/superio/common/conf_mode.c" # lint-stable-010-asm-syntax TESTFILE010="${rootdir}/src/arch/x86/assembly_entry.S" # lint-stable-012-executable-bit TESTFILE012="${rootdir}/src/lib/libgcc.c" # lint-stable-013-site-local TESTFILE013="$(mktemp --tmpdir=site-local)" # lint-stable-016-non-ascii TESTFILE016="${rootdir}/src/lib/halt.c" # lint-stable-017-configs TESTFILE017="${rootdir}/configs/testconfig" # lint-stable-018-symlinks TESTFILE018="${rootdir}/src/testKconfig" # lint-stable-019-header-files TESTFILE019=${rootdir}/test # lint-stable-021-coreboot-lowercase TESTFILE021=${rootdir}/test # lint-stable-022-clang-format TESTFILE022=${rootdir}/test # lint-stable-023-filenames TESTFILE023=${rootdir}/test # lint-stable-024-kconfig-no-subsystem TESTFILE024=${rootdir}/test # lint-stable-026-line-endings TESTFILE026=${rootdir}/test # lint-stable-027-maintainers-syntax TESTFILE027="${rootdir}/MAINTAINERS" if [ "$1" = "--reset" ]; then echo "Resetting testfiles" echo "lint-stable-000-license-headers" git checkout "${TESTFILE000a}" "${TESTFILE000b}" "${TESTFILE000c}" echo "lint-stable-003-whitespace" git checkout "${TESTFILE003}" echo "lint-stable-004-style-labels" git checkout "${TESTFILE004}" echo "lint-stable-005-board-status" git checkout "${TESTFILE005a}" echo "lint-stable-006-board-name" git checkout "${TESTFILE006}" echo "lint-stable-008-kconfig" git checkout "${TESTFILE008}" echo "lint-stable-009-old-licenses" git checkout "${TESTFILE009}" echo "lint-stable-010-asm-syntax" git checkout "${TESTFILE010}" echo "lint-stable-012-executable-bit" git checkout "${TESTFILE012}" echo "lint-stable-013-site-local" git reset "${TESTFILE013}"; rm -vf "${TESTFILE013}" echo "lint-stable-016-non-ascii" git checkout "${TESTFILE016}" echo "lint-stable-017-configs" rm -vf "${TESTFILE017}" echo "lint-stable-018-symlinks" rm -vf "${TESTFILE018}" echo "lint-stable-019-header-files" git checkout "${TESTFILE019}" echo "lint-stable-021-coreboot-lowercase" git checkout "${TESTFILE021}" echo "lint-stable-022-clang-format" git checkout "${TESTFILE022}" echo "lint-stable-023-filenames" git checkout "${TESTFILE023}" echo "lint-stable-024-kconfig-no-subsystem" git checkout "${TESTFILE024}" echo "lint-stable-026-line-endings" git checkout "${TESTFILE026}" echo "lint-stable-027-maintainers-syntax" git checkout "${TESTFILE027}" else echo "Modifying files for linter testing" echo "lint-stable-000-license-headers" sed -i.bak 's|^/\*.*||' "${TESTFILE000a}" #sed -i.bak 's|^.*]SPDX-License-Identifier.*||' "${TESTFILE000b}" #sed -i.bak 's|^.*]GPL-2.0-only|GPL-2.0|' "${TESTFILE000c}" echo "lint-stable-003-whitespace" sed -i.bak 's/^$/ /' "${TESTFILE003}" echo "lint-stable-004-style-labels" sed -i.bak 's/^done:/ done:/' "${TESTFILE004}" echo "lint-stable-005-board-status" sed -i.bak 's/^Category:.*/Category: lint/' "${TESTFILE005a}" echo "lint-stable-006-board-name" rm -f "${TESTFILE006}" echo "lint-stable-008-kconfig" sed -i.bak 's|config MISSING_BOARD_RESET|config MISSINGBOARDRESET|' "${TESTFILE008}" echo "lint-stable-009-old-licenses" sed -i "s|^.*]SPDX-License-Identifier.*|\* for more details.\n \* You${SPACE}should${SPACE}have received a copy of the GNU General Public License\n \* along with this program; if not, write to the Free Software\n \* Foundation, Inc.|" "${TESTFILE009}" git add "${TESTFILE009}" echo "lint-stable-010-asm-syntax" sed -i "1s/^/.att${UNDERSCORE}syntax noprefix\n/" "${TESTFILE010}" git add "${TESTFILE010}" echo "lint-stable-012-executable-bit" chmod +x "${TESTFILE012}" echo "lint-stable-013-site-local" mkdir -p site-local git add -f "${TESTFILE013}" echo "lint-stable-016-non-ascii" sed -i.bak 's|halt(|halt'"$(echo "\007")"'(|' "${TESTFILE016}" echo "lint-stable-017-configs" make olddefconfig cp .config "${TESTFILE017}" echo "lint-stable-018-symlinks" rm -f "${TESTFILE018}" ln -s src/Kconfig "${TESTFILE018}" git add -f "${TESTFILE018}" # lint-stable-019-header-files # lint-stable-021-coreboot-lowercase # lint-stable-022-clang-format # lint-stable-023-filenames # lint-stable-024-kconfig-no-subsystem # lint-stable-026-line-endings echo "lint-stable-027-maintainers-syntax" sed -i.bak 's|src/cpu/x86/$|src/cpu/x86|' "${TESTFILE027}" fi